Page 190 - 《软件学报》2025年第9期
P. 190
胡思宇 等: 基于层重组扩展卡尔曼滤波的神经网络力场训练 4101
∑
e
∑ e+1
n i ⩽ N b && n i > N b, 则聚合操作将施加
合下一层的权重, 总的权重数量将超过该阈值. 用数学符号表示为
i=s i=s
2
在第 s–e 层上. 聚合后的权重作为一个整体, 在这种聚合方式下的误差协方差矩阵记为 P i , 其维度为 (n s +...+n e ) ,
参考图 4(b).
n 1 n 1
... ..
n s n s
P i
... ... N i
... P j
n e n e n s +...+n e ...
... ...
N j
P N b
n p n p
P j+1
N j+1
N ...
... ... N b ...
P j+k
N j+k
... n p −k×N b
...
n l n l
每一层的权重 全部聚合的权重 稠密 P 矩阵 N 每一层的权重 按层重组的权重 对角 P 矩阵
(a) 全局卡尔曼滤波 (b) 层重组卡尔曼滤波
图 4 全局卡尔曼滤波和层重组卡尔曼滤波示意图
拆分操作: 对于神经网络的第 p 层的参数量为 n p , 如果该层的参数量超过了预设的分块大小的阈值, 即
(P j ,P j+1 ,...,P j+k−1 ), 每
n p > N b , 则将该层划分为 (k +1) 个小块, 其中 k > 0. 其中前 k 块对应的误差协方差矩阵记为
2
2
一块的维度为 (N b ) , 第 ( k +1) 块对应的误差协方差矩阵记为 P j+k , 其维度为 (n p −k × N b ) , 参考图 4(b).
层重组卡尔曼滤波是全局卡尔曼滤波算法的一个近似, 预设的分块大小的阈值 N b 越大, 则建模的权重与权重
间的相关性更多, 理论上算法的精度越高. 因此目标函数可以写成公式 (10) 的形式, 即最大化分块阈值 N b , 等价于
最大化收敛精度. 同时需满足在上述聚合和拆分操作下得到的误差协方差矩阵 P = (P 1 ,P 2 ,...,P L ) 的内存占用需求,
如公式 (11) 所示. 该约束条件中的 #Bytes 表示数据在计算机存储中占据的字节数, 单精度的 #Bytes = 4, 双精度的
#Bytes = 8. 约束条件中的 2 倍的操作表示在 P 矩阵计算过程中 P 矩阵本身和其中间变量的占用, GMem 表示显存
大小.
max (10)
N b
( )
∑ L
s.t. 2× #Bytes× N i 2 ⩽ GMem (11)
i=1
为了验证该分块阈值性能模型的有效性, 我们挑选 MTP 方法在 11 个数据集上的表现进行论证说明. 如后文
图 5 所示, 根据建模的方法自适应选择分块阈值相比于预先人为设定分块阈值为 1 024 时, 在能量和原子受力的精
度上分别有 9、8 个体系更高 (图 5 中的曲线越低越好). 针对 H 2 O 数据集, 该模型的阈值选取比 1 024 在能量和力的
预测上都有很高的精度提升. Blocksize 的选取在 C、CuC 体系上有较大的差异, 该模型对 N b 的选取在均衡考虑能
量和力整体的精度比按 1 024 取 blocksize 占优. 我们认为在训练过程中能量和力的预测是一个相互权衡和制约的过
程, 不同 blocksize 的选取可能在训练过程中权重调节的大小产生差异, 导致最终能量和力的预测上产生一些偏置.
2.3 层重组卡尔曼滤波防止梯度爆炸证明
我们把神经网络记为公式 (12) 所示, 其中 θ t 表示权重, h 表示神经网络, x t 和 y t 分别表示输入数据和输出标
签, η t 是指测量系统中的高斯噪音, 服从均值为 0 方差为 R t 的正态分布. 根据基础的卡尔曼滤波理论 [53] , 我们可以
得到一系列的更新公式 (13)–公式 (16).
(12)
y t = h(θ t , x t )+η t
−2
−1
T −1
P t = λ P t−1 −λ P t−1 H a H t P t−1 L −1 (13)
t t t t
[ ]
−1
2
A t = λ H t P t−1 H t L +1 = E ϵ α 2 (14)
−1
T
t t t

