使用量子退火和因子分解机设计新材料
这篇文章是东京大学的一位博士生的毕业论文中的主要贡献。
结合了黑盒优化和量子退火,是融合的非常好的一篇文章,在此分享给大家。
python
https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.013319
论文中黑盒优化的概述
黑盒优化是一种迭代过程,适用于输入(材料结构)与输出(期望性能)之间的关系复杂或未知,且输出评估计算成本高昂的场景。在本文中,目标是设计具有高性能指标(FOM)的元材料,专门针对大气透明窗口(8-13 μm)的热辐射冷却。设计空间包含众多可能的材料配置,使得穷举评估变得不切实际。论文采用机器学习和量子退火来解决这一挑战,其中QUBO矩阵在量子退火优化中扮演核心角色。
FMQA算法由三个主要组成部分,如下图所示:
- 回归:因子分解机(FM)根据材料结构预测FOM值。
- 选择:量子退火器求解QUBO问题以选择下一个候选结构。
- 模拟 :通过RCWA计算所选结构的FOM,并用于更新模型。
QUBO矩阵是在选择步骤中推导出来的,它连接了机器学习模型与量子退火过程。以下我们详细说明如何实现这一过程。
第一步:将元材料结构表示为二进制变量
应用黑盒优化的第一步是将问题编码为适合优化的形式。目标元材料由二维网格(在 x − z x-z x−z平面上)组成,离散为边长1μm的正方形单元,具有 L L L层(沿 z z z方向)和 C C C列(沿 x x x方向)。每个单元可以填充 S i O 2 \mathrm{SiO}_2 SiO2、 S i C \mathrm{SiC} SiC或PMMA,但有一个约束:在每一层内,所有线都必须是相同的材料( S i O 2 \mathrm{SiO}_2 SiO2或 S i C \mathrm{SiC} SiC),而某些位置可以包含PMMA(无线)。
为了编码这个结构:
- 线的编码 :对于网格中 L × C L \times C L×C个位置中的每一个,二进制变量 q i , j q_{i,j} qi,j(其中 i i i是层, j j j是列)表示是否存在线(1)或者PMMA填充该位置(0)。
- 材料类型 :对于 L L L层中的每一层,附加的二进制变量 q i , mat q_{i,\text{mat}} qi,mat指定线材料:0表示 S i O 2 \mathrm{SiO}_2 SiO2,1表示 S i C \mathrm{SiC} SiC。
- 也就是说,最右侧的1列0和1的编码,是表示左侧3列中的1是选择了 S i O 2 \mathrm{SiO}_2 SiO2,还是 S i C \mathrm{SiC} SiC。
因此,二进制变量的总数为:
N = L × C + L = L ( C + 1 ) N = L \times C + L = L (C + 1) N=L×C+L=L(C+1)
例如,当 L = 6 L = 6 L=6且 C = 3 C = 3 C=3时,有 6 × ( 3 + 1 ) = 24 6 \times (3 + 1) = 24 6×(3+1)=24位,对应 2 24 = 16 , 777 , 216 2^{24} = 16,777,216 224=16,777,216种可能的配置。
向量 q = { q 1 , q 2 , ... , q N } \mathbf{q} = \{q_1, q_2, \ldots, q_N\} q={q1,q2,...,qN}表示整个结构,其中前 L × C L \times C L×C位编码线的放置,最后 L L L位编码每层的材料类型。
第二步:用因子分解机建模FOM
由于使用RCWA评估所有 2 N 2^N 2N种配置的FOM(在论文中定义为8-13μm范围内的发射率减去此范围外的惩罚项)是不可行的,因此使用机器学习模型来近似这种关系。论文采用因子分解机(FM) ,根据二进制变量 q \mathbf{q} q预测FOM。
FM定义为:
f ( q ) = ∑ i = 1 N w i q i + ∑ i = 1 N ∑ j = 1 N ∑ k = 1 K v i k v j k q i q j f(\mathbf{q}) = \sum_{i=1}^N w_i q_i + \sum_{i=1}^N \sum_{j=1}^N \sum_{k=1}^K v_{i k} v_{j k} q_i q_j f(q)=i=1∑Nwiqi+i=1∑Nj=1∑Nk=1∑Kvikvjkqiqj
其中:
- w i w_i wi:每个二进制变量 q i q_i qi的线性权重。
- v i k v_{i k} vik:捕捉变量间交互的潜在因子(大小为 K K K),在论文中 K = 8 K = 8 K=8。
- q i q_i qi:来自结构编码的二进制变量(0或1)。
- N = L ( C + 1 ) N = L (C + 1) N=L(C+1):变量总数。
这可以更紧凑地重写为:
f ( q ) = ∑ i = 1 N w i q i + ∑ i = 1 N ∑ j = 1 N ⟨ v i , v j ⟩ q i q j f(\mathbf{q}) = \sum_{i=1}^N w_i q_i + \sum_{i=1}^N \sum_{j=1}^N \langle \mathbf{v}_i, \mathbf{v}_j \rangle q_i q_j f(q)=i=1∑Nwiqi+i=1∑Nj=1∑N⟨vi,vj⟩qiqj
其中 ⟨ v i , v j ⟩ = ∑ k = 1 K v i k v j k \langle \mathbf{v}i, \mathbf{v}j \rangle = \sum{k=1}^K v{i k} v_{j k} ⟨vi,vj⟩=∑k=1Kvikvjk是因子向量 v i \mathbf{v}_i vi和 v j \mathbf{v}_j vj的点积。
关键细节 :FM被训练预测负FOM ( f ( q ) ≈ − FOM ( q ) f(\mathbf{q}) \approx -\text{FOM}(\mathbf{q}) f(q)≈−FOM(q)),因为量子退火器最小化目标,而目标是最大化 FOM。训练使用现有数据(初始结构及其RCWA计算的FOM)和Adam优化器来拟合 w i w_i wi和 v i k v_{i k} vik。
FM的二次形式自然与QUBO兼容,因为它包括线性项( ∑ w i q i \sum w_i q_i ∑wiqi)和成对交互项( ∑ i , j ⟨ v i , v j ⟩ q i q j \sum_{i,j} \langle \mathbf{v}_i, \mathbf{v}_j \rangle q_i q_j ∑i,j⟨vi,vj⟩qiqj)。
第三步:从训练好的FM推导QUBO矩阵
QUBO问题表达为:
H ( q ) = ∑ i = 1 N ∑ j = 1 N Q i j q i q j \mathcal{H}(\mathbf{q}) = \sum_{i=1}^N \sum_{j=1}^N Q_{i j} q_i q_j H(q)=i=1∑Nj=1∑NQijqiqj
其中 Q i j = Q j i Q_{i j} = Q_{j i} Qij=Qji(对称矩阵),且 q i ∈ { 0 , 1 } q_i \in \{0, 1\} qi∈{0,1}。量子退火器(D-Wave 2000Q)最小化这个哈密顿量以找到最优的 q \mathbf{q} q。
由于FM中的 f ( q ) f(\mathbf{q}) f(q)是预测的负FOM,QUBO目标设定为:
H ( q ) = f ( q ) \mathcal{H}(\mathbf{q}) = f(\mathbf{q}) H(q)=f(q)
最小化 H ( q ) \mathcal{H}(\mathbf{q}) H(q)因此找到具有最负预测FOM的 q \mathbf{q} q,对应于最高的实际FOM。
为了将 f ( q ) f(\mathbf{q}) f(q)映射到QUBO形式,考虑其展开:
f ( q ) = ∑ i = 1 N w i q i + ∑ i = 1 N ∑ j = 1 N ⟨ v i , v j ⟩ q i q j f(\mathbf{q}) = \sum_{i=1}^N w_i q_i + \sum_{i=1}^N \sum_{j=1}^N \langle \mathbf{v}_i, \mathbf{v}_j \rangle q_i q_j f(q)=i=1∑Nwiqi+i=1∑Nj=1∑N⟨vi,vj⟩qiqj
由于 q i q i = q i q_i q_i = q_i qiqi=qi(因为二进制变量满足 q i 2 = q i q_i^2 = q_i qi2=qi),将对角项( i = j i = j i=j)和非对角项( i ≠ j i \neq j i=j)分开:
- 对角项 : ∑ i = 1 N ( w i q i + ⟨ v i , v i ⟩ q i q i ) = ∑ i = 1 N ( w i + ⟨ v i , v i ⟩ ) q i \sum_{i=1}^N (w_i q_i + \langle \mathbf{v}_i, \mathbf{v}i \rangle q_i q_i) = \sum{i=1}^N (w_i + \langle \mathbf{v}_i, \mathbf{v}_i \rangle) q_i ∑i=1N(wiqi+⟨vi,vi⟩qiqi)=∑i=1N(wi+⟨vi,vi⟩)qi
- 非对角项 : ∑ i ≠ j ⟨ v i , v j ⟩ q i q j \sum_{i \neq j} \langle \mathbf{v}_i, \mathbf{v}_j \rangle q_i q_j ∑i=j⟨vi,vj⟩qiqj
在QUBO约定( ∑ i , j Q i j q i q j \sum_{i,j} Q_{i j} q_i q_j ∑i,jQijqiqj)中:
- 对于 i = j i = j i=j: Q i i q i q i = Q i i q i Q_{i i} q_i q_i = Q_{i i} q_i Qiiqiqi=Qiiqi,所以 Q i i = w i + ⟨ v i , v i ⟩ = w i + ∑ k = 1 K v i k 2 Q_{i i} = w_i + \langle \mathbf{v}i, \mathbf{v}i \rangle = w_i + \sum{k=1}^K v{i k}^2 Qii=wi+⟨vi,vi⟩=wi+∑k=1Kvik2
- 对于 i ≠ j i \neq j i=j: Q i j q i q j + Q j i q j q i = 2 Q i j q i q j Q_{i j} q_i q_j + Q_{j i} q_j q_i = 2 Q_{i j} q_i q_j Qijqiqj+Qjiqjqi=2Qijqiqj(因为 Q i j = Q j i Q_{i j} = Q_{j i} Qij=Qji),但FM项是 ⟨ v i , v j ⟩ q i q j \langle \mathbf{v}i, \mathbf{v}j \rangle q_i q_j ⟨vi,vj⟩qiqj,所以 Q i j = ⟨ v i , v j ⟩ = ∑ k = 1 K v i k v j k Q{i j} = \langle \mathbf{v}i, \mathbf{v}j \rangle = \sum{k=1}^K v{i k} v{j k} Qij=⟨vi,vj⟩=∑k=1Kvikvjk
因此,QUBO矩阵为:
Q i j = { w i + ∑ k = 1 K v i k 2 如果 i = j ∑ k = 1 K v i k v j k 如果 i ≠ j Q_{ij} = \begin{cases} w_i + \sum_{k=1}^K v_{ik}^2 & \text{如果 } i = j \\ \sum_{k=1}^K v_{ik} v_{jk} & \text{如果 } i \neq j \end{cases} Qij={wi+∑k=1Kvik2∑k=1Kvikvjk如果 i=j如果 i=j
在训练FM后, w i w_i wi和 v i k v_{i k} vik已知,允许直接计算 Q i j Q_{i j} Qij。
第四步:用量子退火求解QUBO
QUBO矩阵 Q Q Q被输入到D-Wave 2000Q量子退火器中,最小化 H ( q ) \mathcal{H}(\mathbf{q}) H(q)。解 q ∗ \mathbf{q}^* q∗代表预测具有最高FOM的下一个候选结构。退火器输出50个候选状态(num_reads = 50),在16毫秒的QPU时间内选择最低能量状态。然后通过RCWA评估此结构的FOM,将其添加到训练数据中,并重复该过程。
过程总结
以下是黑盒优化如何得出QUBO矩阵:
- 编码问题 :将元材料表示为 N = L ( C + 1 ) N = L (C + 1) N=L(C+1)个二进制变量。
- 训练FM :使用现有数据拟合FM,预测负FOM: f ( q ) = ∑ i w i q i + ∑ i , j ∑ k v i k v j k q i q j f(\mathbf{q}) = \sum_{i} w_i q_i + \sum_{i,j} \sum_{k} v_{i k} v_{j k} q_i q_j f(q)=∑iwiqi+∑i,j∑kvikvjkqiqj。
- 提取QUBO :从训练好的FM参数:
- Q i i = w i + ∑ k = 1 K v i k 2 Q_{i i} = w_i + \sum_{k=1}^K v_{i k}^2 Qii=wi+∑k=1Kvik2(对角线,线性+自交互项)。
- Q i j = ∑ k = 1 K v i k v j k Q_{i j} = \sum_{k=1}^K v_{i k} v_{j k} Qij=∑k=1Kvikvjk(非对角线,成对交互)。
- 优化:使用量子退火求解QUBO以选择下一个候选。
这种方法通过使用FM近似FOM并利用量子退火器处理QUBO问题的能力,有效地导航指数级设计空间( 2 N 2^N 2N个候选),克服了自动材料发现中的计算障碍。
这种方法展示了黑盒优化的强大应用,整合机器学习和量子计算来设计具有定制性能的复杂元材料,如增强的辐射冷却性能。
这篇文章给机器学习和量子退火的结合提供了新方向。
代码大家自己可以找一下,是公开的。