system: [SYSTEM]

user: 3. 深度学习神经网络在模型参数估计中应用 卷积学习神经网络模拟了生物的视觉功能，是一类包含卷积计算，具有深度结构的前馈神经网络，采用有监督和非监督学习方法完成网络的学习训练，利用逐层推理方法实现自我学习和推理的功能，克服深层结构训练学习的困难 [ 4 ]。卷积神经网络是深度神经网络的一个典型代表。深度神经网络已经被广泛应用于科学建模 [ 11 ]、模型参数估计 [ 12 ]、时变系统的荷载参数识别 [ 13 ]、工业产品特征提取 [ 14 ]、故障诊断 [ 15 ] 等工程领域。卷积神经网络主要是针对于二维图像识别而开发的，它的输入常常是二维图片。而岩土材料力学模型参数估计用到的数据是主应力差随轴向应变变化的一维数据系列，如图1和图4所示。因此，需要研究一维卷积神经网络的特性和处理方法。金列俊基于一维卷积神经网络模型，提出了钻杆故障诊断方法，实验验证了所提出方法的有效性、适应性和抗噪能力 [ 16 ]。朱锡祥开发了基于一维卷积神经网络的辨识方法，用于车载语音识别研究 [ 17 ]，韩林洁研究了基于一维卷积神经网络预测模型，进行轴承剩余寿命预测，并且进行了实验验证 [ 18 ]。 图4. 用于模型参数估计的卷积神经网络的拓扑结构 如图4所示，用于模型参数估计的卷积神经网络包括输入层、卷积层、池化层、全连接层和输出层组成。卷积神经网络是通过模仿动物或者人类的视觉原理来实现图像分类、识别的目的。其中，输入层输入的是多个图像信息，例如一幅256 × 256像素的图像。输入层可以处理多维数据，例如一维数组的时间序列，平面上的二位像素点。卷积层可以看作为输入样本与卷积核的内积运算，它应用了一个核函数，然后，经过作用函数计算后，得到特征映射图。卷积神经网络常用的作用函数包括sigmoid、tanh、ReLU等。卷积不是将函数作用在整个图像上，而是一次扫描图像的一个小窗口。卷积核的功能是对输入数据进行特征提取。池化层的作用在于减少卷积层产生特征图的尺寸。常用的池化方法包括，最大池化、平均池化以及LP池化。其中，LP池化是通过突出图像区域内的中央值而计算出新的特征图。最大值池化操作是在扫描区域中从每个通道中选取最大值。平均值池化操作使用平均值代替整个扫描区域。全连接层与多层感知器类似，通过作用函数计算出全连接层各单元的输出值。全连接层的作用是对提取的特征进行非线性回归，并传递给输出层。其输出层与经典的BP神经网络类似，通过作用函数计算出输出层各单元的输出值，输出层神经元的数目与被估计模型参数的数目相一致。 基于卷积神经网络模型，Chun用于锂电池电化学模型参数估计的训练数据包括：电池电压–时间曲线、电池电流–时间曲线、电池温度–时间曲线和SOC (state of charge)数据，这些数据都是基于锂电池正演计算模型(P2D， pseudo two-dimensional)得到的，数据的采样时间持续100 s，它们是待估计锂电池电化学模型参数的函数，被估计的P2D模型参数一共6个。训练样本数目72，000，测试样本数目1728。研究表明，模型参数的估计最大相对误差12.25%，最小的相对误差2.214% [ 8 ]。Shen研究了基于卷积神经网络模型锂电池电化学模型参数估计方法，目标函数采用了带有罚函数的正则化形式，训练数据包括：电池电压–时间曲线、电池电流–时间曲线、电池蓄电量–时间曲线。锂电池充电(放电)时间离散为25个时间步。Shen所建立的用于锂电池电化学模型参数估计的卷积神经网络共有28，000个参数，6000个神经元，包括5个卷积层，3个全连接层。Shen设定的卷积神经网络超参数值如下：动量项系数0.9，学习率0.01，目标函数中带有惩罚项网络权值正则化因子0.0001。数据中70%用作训练样本，30%用作测试样本。研究表明，预测的电池蓄电量最大相对误差3.52% [ 9 ]。 以图1所示的应力–应变曲线，在围压200 KPa时的一段数据作为卷积神经网络输入数据为例，讨论如何进行力学模型参数反演中卷积神经网络的卷积和池化运算。如图5(a)所示，卷积核初选如图5(b)所示，其中，卷积核类似于传统神经网络中的权值一样，在卷积神经网络训练过程中不断被优化；如果采用ReLU函数作为卷积层的作用函数，则经过一维卷积运算输出的特征图如图5(c)所示。 图5. 一维卷积运算 根据图5(c)卷积后输出的特征图，作为池化层的输入，如图6(a)所示，然后进行池化运算，即对于2 × 1的区域进行池化操作，得到的池化层输出如图6(b)所示。经过池化运算后的输出作为全连接层的输入，乘以池化层与全连接层的权值求和，再经过作用函数运算得到全连接层的输出。同样，池化层与全连接层的权值也是在卷积神经网络训练过程中不断被优化。最后，全连接层与输出层之间进行权值连接，输出层的输出就是所要估计的力学模型的参数。 图6. 一维最大池化运算 基于卷积神经网络估计力学模型参数的主要步骤如下： 1) 选定卷积神经网络的拓扑结构，确定卷积层、池化层的层数；选定核函数和池化方法；选取神经元的作用函数； 2) 选取神经网络学习的优化算法和目标函数，例如随机梯度搜索算法；确定神经网络中的超参数、收敛准则和最大迭代次数； 3) 基于解析或者数值模型，建立神经网络训练样本集和测试集； 4) 输入神经网络训练样本集，训练神经网络。卷积神经网络常常采用BP框架的随机梯度下降(stochastic Gradient descent)方法，完成神经网络的训练 [ 19 ]。 5) 输入神经网络测试集，测试神经网络； 6) 室内进行土体三轴压缩实验，记录不同围压条件下的应力–应变曲线。 7) 将实验数据输入神经网络，估计力学模型参数。将基于神经网络反演得到力学模型参数，代入到已知的力学模型，预测岩土材料的变形曲线，验证方法的有效性。 为了提高深度神经网络的性能，前人提出了一些针对神经网络固有缺陷的算法和方法，总结如下： 1) 学习率衰减方法。如果学习率过大，神经网络训练时，可能不收敛；相反，如果学习率过小，会使得神经网络的收敛速度变慢。该方法随着神经网络学习的进行(迭代)，学习率逐渐减小。该方法中典型的代表是AdaGrad算法，此算法会在学习过程中自适应调整学习率，并且使得权值增量较大的，学习率变小。 2) 目标函数的正则化方法 [ 5 ] [ 14 ]，该方法受Tikhonov正则化算法的启发，它也类似于罚函数方法，在均方误差(mean squared error)后面增加了一项 E ( w ) = 1 2 ∑ p = 1 P ( ∑ i = 1 N o ( y i p − o i p ) 2 ) + α W T W (13) 式中W为神经网络的权值矩阵， α 为正则化因子，它也是一个超参数，该参数越大，权重的惩罚就越大。 3) 神经网络训练目标函数除了均方误差之外，还有交叉熵误差作为目标函数 [ 6 ]，该方法可以提高基于梯度下降法搜索最优网络权值的收敛速度。 E ( w ) = − ∑ p = 1 P ∑ i = 1 N o o p k ln y p i (14) 4) 神经网络超参数优化方法。超参数，例如学习率(learning rate)，动量项(momentum)，隐含层神经元的个数。超参数往往需要进行多次尝试，以便找到一组合理的超参数 [ 7 ]。神经网络超参数(hyper parameter)优化问题，与其说是一门科学方法，倒不如说是一门艺术。为了获得比较合理的一组超参数，往往采用试错的方法，经过多次试凑得到。将数据集分为训练数据、验证数据和测试数据。其中，训练数据用于神经网络学习，确定神经网络的权值和阈值，而验证数据用于评估神经网络的超参数，而测试数据用于检验神经网络的泛化能力。超参数的优化问题，可以采用贝叶斯优化方法(Bayesian optimization) [ 7 ]。这可能是目前限制神经网络更广泛应用的一个瓶颈。 5) 神经网络初始权值选取的问题。较差的初始权值可能会导致神经网络学习失败。同时，为了防止神经网络初始权值均一化，初始权值应该随机产生。Xavier提出了使用标准差为1/N1/2的高斯分布进行权值初始化的方法，N表示神经元的个数。 6) 抑制过拟合、提高泛化能力的问题。为了解决该问题，Srivastava提出了随机删除神经网络单元方法(Dropout方法) [ 20 ]。在神经网络训练过程中，随机选择隐含层的神经元，将其删除(杀死)，使其不再传递信号。但是，随机删除某些神经单元方法，删除多少个，删除原则，缺少理论依据。 7) 深度学习输入数据的预处理方法，包括归一化方法、均值减法、均一化方法、白化方法等 [ 5 ] [ 21 ]。