Page 24 - 《爆炸与冲击》2025年第5期
P. 24
第 45 卷 柏劲松,等: 端到端机器学习代理模型构建及其在爆轰驱动问题中的应用 第 5 期
的训练后,由神经元权重表达的输出模式(如图 2 所示)就能较好地近似训练数据集中输入和输出的映
射关系。图 2 中箭头上的数字为权重,红色箭头和节点表示对输出的影响可以忽略的网络结构。图 2 同
时展现了神经网络结构的自组织性。神经网络持续将低维向量非线性映射到高维空间,不断寻找特征、
压缩数据,将模型参数放入高维空间中,它能在不同参数下生成模型,即神经网络本身可作为代理模型
使用。神经网络一般包括 3 部分,即显示层(输入变量)、隐示层和显示层(输出变量),隐示层的描述通
常包含隐示层的深度和宽度,如图 3 所示。
1.2 0.5
x 1
−0.4 −1.8
0.001 0.8
y 0.75 0.3
x 2 Input Output
0.003 1.1 −1.5
x 3 0.4
0.66 −0.005
图 1 神经元 图 2 由神经元权重表达的输出模式
Fig. 1 Neurons Fig. 2 Output pattern represented by neuron weights
影响机器学习代理模型精度的因素很多,包括数据、优化算法、网络结构等。机器学习所需的数据
分为 2 个子集:第 1 个子集被称为训练数据集,用于拟合代理模型;第 2 个子集称为测试数据,不在模型
训练过程中使用,而是作为代理模型行为的期望,用于测试训练完成的模型的预测能力。机器学习方法
中不同的优化算法也会对代理模型的计算结果产生影响,为了进一步说明,对比分析了 BFGS(Broyden-
Fletcher-Goldfarb-Shanno)和 ADAM(adaptive moment estimation)2 种算法。其中 BFGS 算法由 Broyden [19] 、
Fletcher [20] 、Goldfarb [21] 和 Shanno [22] 在 20 世纪 70 年代初提出,主要针对无约束优化问题,通过目标函数
和一阶导数构造出目标函数的曲线近似,具有收敛速度快的优点,是一种比较常用的牛顿算法。ADAM
算法是一种基于低阶自适应矩估计的随机目标函数的一阶梯度优化算法 [23] ,通过对梯度指数的加权平
均实现对网络的平滑处理、降低梯度的摆动幅度,适用于含大规模数据和参数的优化问题,相比于传统
梯度下降法,收敛速度更快、效果更好,能提高算法的整体性能。图 4 比较了爆炸加载波形的数值模拟
结果与 2 种优化算法的结果,其中:实线为模拟结果,虚线为算法优化结果。可以看出,相较于 BFGS 算
法,ADAM 算法的结果更接近数值模拟结果,因此,本文的机器学习均采用 ADAM 算法。深度神经网络
的超参数选择,特别是神经网络隐示层深度(d )和隐示层宽度(w )的取值,也会对代理模型的计算结果
h h
产生影响。这里以一个算例来进行说明。机器学习的数据来源于双变量函数 y =sinθ cosφ,其中:y 为函
1
1 1
数;θ 为第 1 个变量,θ ∈[−π/2, π/2];φ 为第 2 个变量,φ∈[−π/2, π/2]。输出数据维度为 200×200,使用 ADAM
1
1
优化算法获得基于神经网络的机器学习代理模型。选取 6 种不同 (d , w ) 组合,比较代理模型与解析解
h h
之间的差异,结果如图 5 所示,其中:实线表示解析结果,虚线表示代理模型的输出。表 1 给出了代理模
型与解析解之间的标准误差,可以看出,不同的超参数可能使代理模型的预测标准误差相差数倍。
x 1
Input variables x 2 Hidden layer width y Output variables
x 3
(a) BFGS (b) ADAM
Hidden layer depth
图 4 BFGS 和 ADAM 算法优化结果与模拟结果的比较
图 3 神经网络的几个概念 Fig. 4 Comparison of optimization results of BFGS and ADAM
Fig. 3 Several concepts of neural network algorithm with simulation results
051101-3