system: [SYSTEM]

user: 2. 经典BP神经网络在力学模型参数估计中应用 在岩土工程数值模拟分析中，首先需要确定岩土材料本构模型中的力学参数，经典BP神经网络某些为解决这些问题提供了强有力的技术手段。岩土材料是一种典型的非线性变形材料，其常用的岩土本构模型包括剑桥粘土模型(Cam-Clay)，此模型非常适用于正常固结粘土和弱固结粘土。Duncan-Chang双曲线模型是一种非线性弹性模型，包括E-B模型和E-µ模型。Lade-Duncan弹塑性模型是根据对砂土的真三轴试验结果，提出的适用于表征砂土类的真三轴压缩实验数据。清华弹塑性模型是另一种弹塑性模型。基于Janbu (1963)提出的经验公式，采用Mohr-Coulomb破坏准则，Duncan和Chang (1970)提出一个土体非线性双曲线本构模型，即著名的Duncan-Chang弹性非线性本构模型，与围压和土体抗剪指标相关的土体切线模量为： E t = k P a ( σ 3 P a ) n [ 1 − R f ( σ 1 − σ 3 ) ( 1 − sin ϕ ) 2 c cos ϕ + 2 σ 3 sin ϕ ] 2 (1) 式中c为土体的粘聚力， ϕ 为土体的内摩擦角，R f 为破坏比，P a 是用与 σ 3 和E i 相同的单位表示的大气压强，K、n为由实验确定的常数。因此，被估计的与土体变形模量相关的参数有5个，即K，n，R f ，c， ϕ ，5个参数。土体非线性弹性本构模型中含有两个独立的变量，一般经常采用切线弹性模量和和切线泊松比进行表征。因此，土体的另一个参数就是切线泊松比，它也是围压的函数。1980年Duncan通过用切线体积模量代替切线泊松比，提出了E-B模型： B t = K b P a ( σ 3 P a ) m (2) 与土体切线体积模量相关的参数有2个，即m，R b ，它们也是由实验确定。这样，与Duncan-Chang双曲线模型相关的被估计参数一共有7个。 图1. 不同围压条件下沙土三轴压缩应力–应变曲线 改性沙土在不同围压条件下三轴压缩应力–应变实验曲线、三轴压缩径向应变–轴向应变曲线，如图1和图2所示 [ 2 ]。这两组曲线是进行沙土Duncan-Chang弹性非线性本构模型参数估计的基础。 基于图1和图2的沙土应力和应变观测数据，建立了如图3所示的神经网络模型，用于反演估计沙土的Duncan-Chang弹性非线性本构模型中的7个参数。其中，神经网络输入层神经元的个数与图1和图2离散点的个数相一致， N i = 30 × 3 × 2 = 180 。隐含层神经元的个数取为 N h = 360 个，隐含层神经元的作用函数采用Sigmoid函数。输出层神经元的个数与被估计力学模型参数的个数相一致， N o = 7 。输出层神经元的作用函数采用线性函数。 图2. 不同围压条件下沙土三轴压缩径向应变–轴向应变曲线 图3. BP神经网络的拓扑结构 基于前人已有的关于沙土力学模型参数研究的先验信息，初步估计Duncan-Chang本构模型中的7个参数可能的区间范围。采用MATLAB软件，基于沙土的Duncan-Chang弹性非线性本构模型，以主应力差和轴向应变增量形式给出，随机建立了90个训练样本，即神经网络样本集；10个测试样本，即测试集。建立训练样本时可以认为，力学模型参数在可能区间符合均匀分布或者状态分布。神经网络训练时，定义如下均方误差(mean squared error)为目标函数 E ( w ) = 1 2 ∑ p = 1 P ( ∑ i = 1 N o ( y i p − o i p ) 2 ) (3) 式中 y i p 和 o i p 分别为神经网络输出层单元的实际输出和期望输出，P是训练样本的数目。在神经网络模型中经常采用的作用函数，包括Sigmoid作用函数 f ( S i g m a ) = 1 / [ 1 + exp ( − S i g m a ) ] (4) 式中Sigma表示神经元的输入求和，f表示神经元的输出。 ReLU作用函数：深度学习神经网络除了传统的sigmoid函数之外，使用了RELU (Rectified Linear Unit)函数。当输入大于0时，该函数的输出就是输入；而当输入小于0时，该函数的输出是0。 f ( S i g m a ) = max ( S i g m a ， 0 ) (5) 双曲正切函数(Tanh)作用函数 f ( S i g m a ) = exp ( S i g m a ) − exp ( − S i g m a ) exp ( S i g m a ) + exp ( − S i g m a ) (6) 线性作用函数 f ( S i g m a ) = S i g m a (7) 输出层神经网络任意神经元的输出表示为 y i = f o ( ∑ j = 1 N h ( μ i j z j + λ i ) ) (8) 式中m ij 为连接隐含层与输出层的权值；l i 为输出层的阈值，f o 为输出层神经元的作用函数；z为隐含层的输出，N h 为隐含层神经元的个数。隐含层任意神经元的输出表示为 z j = f h ( ∑ k = 1 N i ( v j k x k + η k ) ) (9) 式中v jk 为连接隐含层与输入层的权值；x k 为隐含层的阈值，f h 为隐含层神经元的作用函数。基于经典BP神经网络进行模型参数估计的步骤如下： 1) 基于先验信息，确定被估计力学模型参数的大致范围；随机产生训练样本集和测试集。当采用sigmoid作用函数时，输入数据需要进行归一化处理。输入数据的正规化(归一化normalization)处理，使得输入数据的值介于[−1，1]之间。 x k n = 2 { ( x k − x min ) / ( x max − x min ) } − 1 (10) 式中x kn 为归一化后的神经网络输入。 2) 基于Duncan-Chang弹性非线性本构模型，确定将要模拟的围压值，解析计算在不同力学模型参数随机组合条件下的应力–应变曲线，类似于图1和图2； Δ σ d = E t Δ ε a (11) 式中 Δ σ d 为偏应力增量， Δ ε a 为轴向应变增量。径向应变增量与轴向应变的关系为 Δ ε r = μ t Δ ε a (12) 式中 Δ ε r 为径向应变增量。 3) 建立BP神经网络模型，确定神经网络的拓扑结构，随机给神经网络权值和阈值赋初始值，设定神经网络收敛准则； 4) 将训练样本集中应力–应变数据作为神经网络的输入，而力学模型中的参数作为神经网络的期望输出。基于MATLAB软件或者其他软件平台，采用优化方法训练神经网络，例如Levenberg-Marquardt优化算法，Quasi-Newton优化算法，直至神经网络收敛，记录神经网络的权值和阈值； 5) 将测试集输入到已经训练好的神经网络，检验神经网络的泛化能力和预测精度。 6) 室内进行土体三轴压缩实验，记录不同围压条件下的应力–应变曲线。将这些观测数据代入到训练好的神经网络模型，神经网络的输出就是力学模型的参数，具体的实施步骤和方法详见参考文献 [ 3 ]。 尽管经典BP神经网络在模型参数估计问题中得到了广泛的应用，但是其存在着许多固有的缺陷。其一，目标函数可能无法收敛到全局最优解。根据神经网络目标函数的定义可以看出，实际上，神经网络目标函数寻优过程，就是一个关于权值极小化的广义最小二乘法。基于梯度下降法的神经网络训练学习过程，无法避开局部极小值问题。其二，超参数的选取方法缺少理论依据。其三，隐含层的层数和单元个数确定缺少理论依据。其四，较差的神经元之间初始权值，可能无法得到理想的结果。其五，在某些情况下，会出现梯度消失问题，无法继续进行迭代。