system: [SYSTEM]

user: 3. 基于神经网络的力学性能分析 实际的工程应用问题往往是非线性的，Gibson-Ashby及其修正的模型都不能很准确的刻画出np-Au的力学性能，反向传播(backpropagation， BP)神经网络研究方法已经广泛应用于材料科学研究的各个领域，然而用于np-Au力学性能定量研究的神经网络模型却未见有报道。究其原因在于影响np-Au力学性能的因素较多且定量化较为困难，而BP神经网络通过自身的自学习自适应性，不需要任何的先验函数或者既定公式，它直接作用于已经获得的样本数据，用训练好的网络模型进行np-Au力学性能的推理测试，从而对np-Au的力学性能进行准确的预报，减少了大量繁琐的步骤和工作量，缩短了研究时间，为np-Au的研究提供了新的思路和方法。 3.1. 人工神经网络的特点 人工神经网络对不确定的非线性关系可以不断学习和适应，来不断的完成自身网络，进而可以学习处理和识别相似的图像和数据，呈现出非常强的自主学习能力。 BP神经网络即目前神经网络模型中，运用的最多的、最具有代表性的误差反向传播多层前馈式网络。BP神经网络一般由输入层(Input layer)、隐藏层(Hidden layer)和输出层(Output layer)三层结构组成，隐层可以有一层或多层。BP算法包括信号的前向传播和误差的反向传播两个部分。正向传播即为输入信号通过隐藏层作用于输出神经元，经过非线性函数变换，产生输出信号。通过计算输出与期望输出的误差，则进入了反向传播过程：输出误差经由隐藏层向输入层逐层反向传播，逐层修改权重值，使得误差沿梯度方向下降，经过反复学习训练，最终获得一个使得误差尽量小的网络参数(权值和阈值)，训练结束。BP神经网络具有非常优秀的非线性映射能力，可以通过最简单的三层网络以极高的精度逼近非线性连续函数，对于工程上面临绝大多数的高度非线性映射和不确定性的实际问题有着良好的应用前景。然而，BP神经网络也有如下一些缺点，如：算法可能陷入局部极值，收敛速度慢，学习复杂性高等。 3.2. BP神经网络参数的选择 在实现NPG力学模型的过程中，需要自行设置的超参数一共有： 1) 隐藏层层数，设置为3层。一般的BP神经网络构输入层–隐藏层–输出层。隐藏层数的多少决定了神经网络的精度和计算量大小，然而实际问题的绝大多数均可以由三层BP神经网络来完成，任意的连续函数都可以使用其进行收敛运算。因此在建立NPG力学模型时采用三层神经网络； 2) 隐藏藏神经元的数量，设置为8。若隐含神经元数太少，会使神经网络误差过大，失去了模型建立的意义。隐含神经元数过多，会使得计算量过大训练时间太长甚至不能收敛从而形成死循环。一些经验公式可用于确定隐含层神经元m： m = { n + 0.618 ( n − t ) t − 0.618 ( t − n ) (1) m = n + t + α (2) m = n t (3) m = 2 n + 1 (4) 公式中n， t， α分别代表输入量个数、输出量个数和小于10的非负常数。 确定BP神经网络隐含层的方法一般除了上述的经验公式外还可以根据计算神经网络的均方根误差J来确定，具体的计算公式为： J = 1 m ∑ i = 1 m ( y ^ ( i ) − y ( i ) ) 2 (5) 公式中m为样本个数， y ^ 为期望输出值，y为BP网络实际输出值。经过多次计算得出当隐含层数神经元为8时，BP神经网络模型的均方根误差最小。因此，最终确定神经网络结构为2-8-1三层全连接BP神经网络结构如图2所示。 图2. NPG屈服强度BP网络模型 3) 训练样本和检测样本的划分比例，本文将总数据集60%的样本作为训练集； 4) 训练方法的选择，可以选择的训练方法有梯度下降法、RMSProp、Momentum和Adam优化算法等，本文采用梯度下降法对网络模型进行训练； 5) 训练次数，训练次数设定为5000次。 3.3. 样本数据 本文所搜集的数据均来自于实验，均为毫米尺寸NPG样品的微拉伸实验和纳米压痕实验所得。NPG的宏观弹性模量和流动应力依赖于韧带尺寸、相对密度和微观结构。本文总共搜集了34组数据，包括实际和模拟的NPG的相对密度、韧带尺寸、弹性模量和屈服强度。 对数据的统计分析情况如下： 1) 相对密度：指的是NPG的密度与密实块体金的密度之比，考虑了体积收缩效应。其中，通过脱合金制备和相场法模拟所得的NPG的相对密度都在20%~40%之间。 2) 韧带尺寸：如图3，某一纳米多孔金样品的韧带尺寸并不是统一的，常用韧带直径的平均值来表示韧带尺寸。不同的脱合金方法可以制造不同韧带尺寸的NPG，其中常用HNO 3 、HCl/NaOH对Au-Ag、Al-Au进行化学脱合金，其中Au-Ag脱合金所制得的NPG韧带大小平均值为15 nm，Al-Au所制得的韧带大小平均值在10~80 nm之间。 图3. 韧带直径分布示意 [ 9 ] 表1是对收集到的NPG样本数据的统计表，其中相对密度用小数表示，韧带尺寸用韧带直径表示，单位为nm，屈服强度的单位为MPa。 Table 1 Statistical table of NPG sample dat 相对密度 韧带直径(nm) 弹性模量(GPa) 最大值 0.35 65.3 86.79 最小值 0.2 20.0 8.27 样本均值 0.34 42.58 22.34 表1. NPG样本数据的统计表 3) 屈服强度，这里主要讨论实验所得的屈服强度数据。实验所得的屈服强度包括微拉伸所得和纳米压痕所得。纳米压痕中直接获得的数据是np-Au的硬度而非屈服强度，由于应力集中等，其与屈服强度之间的差异是可以预料的，所以需要对纳米压痕实验所得硬度数据进行处理。 在纳米压痕试验过程中，通常会对纳米多孔金属的行为进行假设：纳米多孔金属的压痕可以认为相当于多孔材料的正常压缩。对于相对密度小于0.3的泡沫材料，Wilsea等人 [ 15 ] 确定材料在压头穿透过程中不会横向膨胀，并会容纳施加的位移，因为孔隙只是在压头下方塌陷。这一行为对应于近似于零的塑性泊松比(塑性变形时压头下的横向应变与轴向应变之比)的假设，这将代表一种直至韧带塌陷和致密化完全可压缩的材料。这是一个典型的假设，即在塑性变形过程中，多孔结构不受周围环境的约束，所以，屈服强度通常被假定为与测量的硬度相等。一些计算研究发现，多孔材料的塑性泊松比接近于0，但这些研究中的相对密度范围一般在0.1以下。同时，随着塑性泊松比从0增加到0.5，硬度与屈服强度比从1迅速上升到3 (塑性流动过程中不可压缩的致密材料的典型特征：硬度与屈服强度之比接3)。综上所述，如果纳米多孔金属的纳米压痕直接等效于传统多孔材料压缩试验，那么对于单轴压缩的np-Au试样，应测量非常近似为零的塑性泊松比。 然而，这一假设并不成立。Volkert等人 [ 16 ] 报道，在压缩np-Au微柱时，测定了非零的泊松比：在测试前后分别测量微柱的直径，并假设在压缩过程中(试样变形主要为塑性)保持恒定，他们计算出平均塑性泊松比为0.20。此外，Nicolas等人的两项 [ 17 ] [ 18 ] 研究表明，在毫米尺度的拉伸和压缩试验中，连续测量到了弹性状态下的非零泊松比。在单晶np-Au的研究中，弹性下的平均弹性泊松比为0.22，这个值非常类似于由Volkert等人确定的0.20塑性泊松比。由于np-Au宏观极脆，无法直接测量毫米试样在拉伸作用下的塑性变形，因此无法通过拉伸试验确定塑性泊松比。根据Shaw等 [ 19 ] 报道的塑性泊松比与硬度-屈服强度比的演化关系，平均泊松比为0.22，表明np-Au的硬度-屈服强度比为2.65。 将该值作为校正因子，类似于文献 [ 20 ] 中较早的校正，将该因子应用于本研究中获得的纳米压痕结果，可以得到一组新的屈服强度值。这些新值可以与毫米级拉伸试验结果进行比较。 3.4. BP神经网络训练结果 用上述条件所形成的训练方案，建立相应的纳米多孔金的屈服强度(Yield Strength， YS)的BP神经网络模型，进行训练得到以下结果。 实验样本数据为微拉伸实验和纳米压痕实验所得，已经归一化处理，处理公式为： x scaled = x − x min x max − x min (6) 式中：x scaled 为归一化后的数据，x为样本数据，x min 和x max 分别样本最小值和最大值。 在神经元层数为3层(1层输入层，1层隐藏层，1层输出层)，隐藏层神经元数为8，训练集占总数据集60%，学习率为0.2。训练模型表示通过有标签样本来学习(确定)所有权重和偏差的理想值。在监督式学习中，机器学习算法通过检查多个样本并尝试找出可最大限度地减少损失的模型，损失是对糟糕预测的惩罚。也就是说，损失是一个数值，表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确，则损失为零，否则损失会较大，训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。本模型采用的是公式(5)，也就是均方差(或者L2)作为损失函数，在训练次数为5000次的条件下，训练得到训练集均方误差为0.0013101，损失曲线如图4，测试集均方误差为0.00290034。 图4. 训练集损失值变化 训练集损失值变化曲线如图4，其中(a)是损失曲线的整体下降趋势，(b)为损失值下降细节，可以见到，神经网络的损失值在训练初期下降很快，在训练不到100次的情况下，就从初始的~0.14下降到4 × 10 −3 以下，训练200次后损失值保持稳定并略有上升，但很快又降低，训练500次后，下降趋于平缓，收敛速度变慢。 图5是训练集数据的真实值和测试值的比较，其中蓝色圆点为真实值，红色折线为测试值的连线。图6是将训练好的神经网络参数用于测试集所得到的测试值和真实值的比较，其中蓝色线条为测试值构成的折线，橙色线条表示真实值。从图5可以看出，神经网络对训练集的拟合效果并不好，但相对来说，图6所示的测试集的拟合效果反而表现得不错，训练集和测试集的损失都在10 −3 数量级，误差都大于一般所要求的小于10 −5 。阅读表2，最小误差为3.0%，预测值的平均值非常接近真实值，但同时也看到误差绝对值最大达到了43.04%，回看训练数据，依旧可以发现第2、3、10、14组等数据在数据集中为孤例，若去除误差值在10%以上的孤例，可得到9.12%的误差，误差可降低6.24个百分点。从另一个方面来看，BP神经网络作为数据驱动方法的一个分支，其做出精准预测的基础是较大数量的样本数据，本文收集到的数据有限，可以从某种程度上对本文的方法进行验证，然而样本数据量偏少对本文的预测的准确性也有一定的影响。 图5. 训练集的真实值和测试值 图6. 测试集的真实值和预测值 Table 2 Comparison between predict value based on BP neural network and real value of yield strength for NP 本构参数 屈服强度 组别 相对密度 韧带直径(nm) 真实值 预测值 误差(%) 1 0.35 18.9 86.79 94.19 8.52 2 0.27 43.0 8.35 11.58 38.69 3 0.28 43.0 11.06 13.16 18.98 4 0.33 33.4 25.30 25.54 3.00 5 0.3 50.0 15.39 16.84 9.41 6 0.29 43.0 13.78 14.75 7.04 7 0.3 43.0 14.38 16.33 13.59 8 0.33 58.7 25.80 22.23 13.84 9 0.33 19.1 64.15 71.03 10.73 10 0.34 43.0 27.86 22.66 18.67 11 0.31 43.0 19.60 17.91 8.62 12 0.28 43.0 11.74 13.16 12.11 13 0.33 65.3 24.90 22.72 8.77 14 0.27 41.0 20.33 11.58 43.04 平均值 0.31 41.96 26.39 26.69 15.36 表2. BP神经网络模型NPG屈服强度预测值和真实值的比较 Xia [ 14 ] 和Nicolas [ 20 ] 的研究表明，屈服强度随韧带直径的变化呈幂律关系，与相对密度之间呈近似线性关系，Nicolas还给出了用微拉伸实验和纳米压痕实验数据推导所得的屈服强度公式： σ ∗ = 1 .939 σ s ( ρ ∗ ρ s ) 2 ， σ s = 0.0328 l − 0.551 (7) 式中*表示泡沫性能，s表示固体性能，ρ * /ρ s 为相对质量密度，l为韧带直径。 本文和文献 [ 17 ] 数据来源都是微拉伸实验和纳米压痕实验数据，同样对纳米压痕的数据都采用2.65的校正因子，表3中列出了通过公式(7)计算的屈服强度值，同时也列出了相同参数下利用BP神经网络预测的数据，通过表中的数据可以看出，本文BP神经网络的平均误差值为7.56%，而式(7)所预测的屈服强度误差平均值高达65.17%，也从一个侧面反映了BP神经网络的有效性。 Table 3 Comparison of result from equation and BP neural networ 本构参数 屈服强度 组别 相对密度 韧带直径(nm) 真实值 预测值 误差(%) 公式计算值 误差(%) 1 0.35 18.9 86.79 94.19 8.52 73.37 15.47 4 0.33 33.4 25.30 25.54 3.00 45.96 81.64 5 0.3 50.0 15.39 16.84 9.41 28.67 86.28 6 0.29 43.0 13.78 14.75 7.04 28.51 106.88 11 0.31 43.0 19.60 17.91 8.62 33.95 73.19 13 0.33 65.3 24.90 22.72 8.77 31.76 27.56 平均值 0.32 42.3 30.96 31.99 7.56 40.37 65.17 表3. BP神经网络和公式预测值对比