1. 引言
2020年国家推出“双碳”政策,过去2010~2020年期间,由于国家处于“十二五”和“十三五”发展阶段,水泥使用需求大大增加,且每年都呈现上升趋势。通过模型预测水泥行业二氧化碳排放量将在2030年达到峰值,也就意味着水泥行业的二氧化碳排放量会不断地增加[1]。为了响应国家“双碳”政策,更应该注重纤维加筋的方式,减少水泥的用量,使用纤维代替一部分水泥的使用或者使用纤维加筋土替代水泥土。纤维加筋土是将纤维按照一定比例掺入土体中。
目前有较多学者使用神经网络对材料性能进行性能上的预测,在岩土领域有着广泛的应用。邵伟华等人使用纳米二氧化硅和稻草秸秆纤维混凝土进行试验,使用GA-BP神经网络进行强度预测,随着迭代次数的增加,训练样本、验证样本和测试样本的误差都随之减小,并且在初期减小速率极快,后期减小速率逐渐变缓,当神经元数量为5时误差最小。预测结果显示实际与预测值的相关数值为0.994,方差为0.985,平均误差为2.5%,可信度较高[2]。周世杰等人通过决策树、随机森林、支持向量机、ANN这四种算法对黏土三轴应力应变曲线进行预测,发现ANN的效果最好。ANN算法对黏土不同工况下的三轴硬化型和软化型应力-应变曲线均具有较好的适应性;对已知工况下黏土试样应力–应变曲线的拟合,模型预测值与试验值吻合较好,误差较小;对未知含水量和压实度水平下曲线的插值预测,预测曲线满足试验结果且符合理论认识[3]。刘俊麟等人通过使用烟花算法对含根土抗剪强度进行预测,比较了BP、PSO-BP、FWA-BP三种神经网络,发现FWA-BP神经网络误差最小,为7.44%,证明该算法用于预测含根土抗剪强度是可行的[4]。
纳米材料在土体改善方面具有较好的效果,不同纳米材料对土体均有一定程度的加强,掺入少量的纳米材料就能够显著改变土体性能,并且大多数纳米材料具有绿色、环保的特性,能够较大程度地保护自然。随着科技的发展,纳米材料的成本在不断地降低,纳米材料在岩土工程领域有着较为广阔的应用前景[5]。孙宏强通过向盐渍土中掺入木质素纤维、纳米二氧化硅及稻壳灰–石灰来加固硫酸钠盐渍土,发现土体强度随着掺量增加而增加;纳米二氧化硅改良后的土体孔隙更小[6]。曹宝花等人通过向黄土中掺入纳米材料改良黄土,发现改良后的黄土的强度与养护龄期成正相关,与含水率成负相关,并且在不同干密度情况下改良黄土会呈现应变软化和应变硬化两种情况;在纳米材料最优掺量下,改良黄土的表面孔隙体积明显减少,抗剪强度和抗压强度也有明显提升[7]。李沛达等人通过对玄武岩纤维加筋土进行试验发现玄武岩纤维的强度适用于强度很高的高速公路和一级公路[8]。根据前人的研究,玄武岩纤维和纳米二氧化硅共同掺入土体有可用于实际工程的可能性。但是复掺土的强度往往需要改变两者的配比进行试验得到每一种配比下的强度,从而得出最优的配比。加筋土强度与掺量并非线性关系,难以使用数学表达式来进行表达,本文旨在通过BP神经网络建立预测模型,通过单掺土体的剪应力-剪切位移曲线和最大强度来预测复掺土体的剪应力–剪切位移曲线和最大强度。
2. 神经网络的建立
2.1. 神经网络的原理
BP神经网络是一种按照误差进行反向传播的多层前馈神经网络,神经网络中包括输入层、输出层、隐藏层,其中隐藏层的个数和其中神经元的数量不确定,BP神经网络用于无法直接找出确定的函数关系式,或者难以找出函数关系式的情况。神经网络通过自身训练,学习某种规律,在获取输入值后输出与实际结果最为接近的结果。BP神经网络包括两个步骤,分别是正向传播和反向传播两部分。正向传播是输入的数值经过数个隐藏层进行非线性运算,最后输出结果。反向传播是指如果输出数值与实际数值有偏差,由于神经网络有多个参数,神经网络根据梯度下降法,寻找变化梯度最大的一个方向,朝着这个方向去更新参数,通过不断的更新参数来获取与实际值差距最小的、最优的一组参数,这个过程即反向传播。神经网络的表达式可以简单的如下表示,神经网络原理图见图1。
(1)
其中:Y为输出结果,y为输入的数据,w为权重矩阵,b为偏置矩阵,
为激活函数。
Figure 1. Neural network schematic
图1. 神经网络原理图
2.2. 神经网络的数学求解
1) 正向传播:
第n个输入向量进入神经元j中经过矩阵运算乘以权重矩阵得到诱导局部域
,再经过激活函数
得到在神经元j处的输出
(2)
(3)
2) 反向传播:
神经元j的输出值
,与期望值
之间的误差定义为
(4)
其中:
为期望向量
的第j个元素。
为了使得函数连续可导,采用均方根误差最小化,定义神经元j的瞬时误差为
(5)
将每一个神经元的瞬时误差累加,得到整个网格的总瞬时误差为
(6)
其中:C是包含输出层的所有神经元。
BP算法通过反复更新权重值使得
最小化,采用梯度下降法对权重矩阵
应用一个修正值
,该修正值正比于
,根据微分链式规则可以将该梯度表示为
(7)
式(6)两端对
进行微分得到
(8)
式(4)两端对
进行微分得到
(9)
式(3)两端对
进行微分得到
(10)
式(2)两端对
进行微分得到
(11)
将式(8)至(11)代入式(7)得到
(12)
则修正值
定义为
(13)
其中:
为学习率,负号表示梯度下降。
将式(12)带入式(13)
(14)
其中:
为局部梯度,局部梯度指明了权重所需要的变化。
(15)
1) 当神经元j为输出层时,已经给定了期望值,可以将式(4)代入式(15)得到
(16)
2) 当神经元j为隐层,k为输出层时,没有指定的期望值,隐层的误差需要根据所有与隐层神经元直接相连的神经元的误差反向传递决定。
局部梯度
重新定义为
(17)
网格的全部瞬时误差为
(18)
式(18)两端对
求偏导
(19)
(20)
对于输出层神经元k,其诱导局部域为
(21)
式(21)对
进行微分得到
(22)
将式(20)至(22)带入式(19)
(23)
将式(23)带入(17)得到隐层神经元j局部梯度
(24)
总结得到权重修正值 = 学习率 × 局部梯度 × 神经元j的输出信号。
2.3. 神经网络的数据
本文单掺土体的数据来预测复掺土体的数据,采用璩继立的玄武岩纤维和纳米二氧化硅加筋上海黏土的抗剪强度试验研究中的数据进行研究[9]。输入为纳米二氧化硅的掺量、玄武岩纤维的掺量、正应力的大小、应变、黏聚力、内摩擦角、纤维长度一共七个变量作为输入变量,应力作为输出变量。通过建立神经网络对复掺土体的剪应力–剪切位移曲线进行预测。输入的七个变量值由于用的是同一种上海粘土和同一种玄武岩纤维,所以玄武岩纤维长度和土体的黏聚力和内摩擦角在此处为恒定值,分别为15 mm,52.5 kPa,21.9˚。
2.4. 神经网络的训练
Python作为目前使用比较广泛、容易上手并且具有大量第三方库的编程程序,对编程能力较弱的人比较友好。本论文中的神经网络使用Python和第三方库Pytorch进行BP神经网络的编写。使用StandardScaler归一化对数据进行预处理,即将每一列数据进行均值为0方差为1的归一化,归一化后的数据范围为[−1, 1]。StandardScaler预处理公式如下:
(25)
其中:
为归一化后的数值,
为所有样本的均值,
为所有样本的方差,x为输入的数值。
激活函数选用双曲正切函数
作为激活函数[10],
的输出范围是[−1, 1],激活函数的公式如下:
(26)
激活函数相比于过去常用的sigmoid激活函数相比,
的均值是0,并且输出不止只有正值。但是
激活函数和sigmoid激活函数有着相同的缺点,即有幂函数会导致运算速度比较慢,而且在函数的两端都会产生梯度消失的情况。
采用Xavier初始化[11],Xavier初始化是一种适用于
激活函数的权重初始化方法。Xavier初始化能够使得正向传播激活值的方差保持不变,保持反向传播梯度值的方差不变,有效解决神经网络在正向传播时方差改变的问题,能够有效避免梯度爆炸和梯度消失的问题,因为在上述归一化中,输入的X经过
激活函数之后,有部分输出的数值出现在函数梯度较小处,为了避免出现梯度消失的问题,所以采用Xavier 初始化[11]。
损失函数使用平方差损失函数MSE Loss,平方差损失函数MSE Loss定义如下:
(27)
其中:y为真实值,
为神经网络输出的预测值,n是样本数量。MSE Loss衡量了真实数值与预测数值的平均差异的平方值。如果MSE Loss越小,则模型输出的预测数值和真实值差距越小,模型的可信度越高。
优化器采用Adam优化器,Adam优化器是目前最通用、最受欢迎的优化器。Adam优化器结合了AdaGrad算法和RMSProp算法[12],可以根据目标函数对每个参数进行矩估计,从而使得每个参数的特征不变,避免了噪声和梯度消失的问题,大大提升了模型的计算收敛速率,节省了计算机内存。给予模型更好的泛化能力。
对于隐层神经元的选取,在测试集上的性能指标,选取三个性能评估指标,分别是决定系数R2和均方根误差(RMSE)和绝对平均误差(MAE)[13]。
决定系数R2反应预测曲线和实际曲线的拟合程度,范围在[0, 1],值越接近1效果越好。公式如下
(28)
其中:
是预测值,
是均值,y是实际数值。
均方根误差(RMSE)反应预测值和实际值的差值的平方和的均值,值越小表示误差越小。
(29)
其中:n为样本数量
绝对平均误差(MAE)反应了预测值偏离实际值的程度,值越小表示误差越小。
(30)
学习率选择0.01,训练次数epoch选择1000次[13]。
把单掺土体80%数据作为训练集,20%的数据作为测试集,寻找最优的神经元数量,输入数量由于输入较多,参考他人文献,隐藏层数确定为3[14]。
根据前人的经验公式
(31)
其中:m为输入节点数,n为输出节点数,a为[1, 10]之间的常数,l为隐层的节点数量,即神经元数量范围为[8, 13]。
选取神经元数量使用两种方法进行:1) 使用20%的单一测试集对模型进行测试。2) 使用网格搜索法K折交叉验证进行测试。选用两种方法的原因如下:单一的测试集不能够全方面的评价神经网络,但是计算时间较短;使用网格搜索法K折交叉验证将数据集分成K份,每一份都当作测试集进行测试,能够全面的评估模型,但是耗时很长。本文结合两者的优缺点,先进行单一测试集测试,选取最优神经元范围,再使用网格搜索法K折交叉验证对最优范围的神经元进行全面的评估。不同神经元对应的神经网络在测试集上的训练结果见表1。
Table 1.Performance evaluation of different neurons
表1.不同神经元的性能评估
神经元数量 |
训练集R2 |
均方根误差 |
绝对平均误差 |
测试集R2 |
8 |
0.996 |
0.083 |
0.060 |
0.994 |
9 |
0.997 |
0.081 |
0.056 |
0.994 |
10 |
0.994 |
0.090 |
0.061 |
0.993 |
11 |
0.997 |
0.074 |
0.048 |
0.995 |
12 |
0.998 |
0.067 |
0.040 |
0.996 |
13 |
0.997 |
0.074 |
0.051 |
0.995 |
从表1中可以看出,当神经元数量为12的时候,测试集的均方根误差、绝对平方误差最小,测试集决定系数R2最大,当神经元数量从11层到12层的时候误差下降,在13层的时候误差再次上升,推测神经元为12的时候可能陷入测试集过拟合,不具有较好的泛化能力。为了进一步从神经元数为11、12、13中选取最优的神经元数量,使用网格搜索法对神经网络超参数进行搜索,采用K折交叉验证,此处取K = 5,训练轮数选择100次。网格搜索K折交叉验证的性能评估指标结果见表2:
Table2.K-fold cross validation performance evaluation
表2.K折交叉验证性能评估
神经元数量 |
根误均方差 |
绝对平均误差 |
测试集R2 |
11 |
0.037 |
0.157 |
0.954 |
12 |
0.042 |
0.164 |
0.952 |
13 |
0.065 |
0.206 |
0.925 |
从表2可以发现神经元数量为11时,误差最小,决定系数最大,故选取神经元数量为11,神经网络层数为3层,进行纤维土复掺强度的预测。
3. 预测结果
3.1. 剪应力–剪切位移曲线和最大值
使用BP神经网络预测的剪应力–剪切位移曲线见图2、图3、图4。具体数值见表3。最大值与预测值的对比图见图5。
Figure 2. Shear stress shear displacement curve under vertical stressP(P= 100 kPa)
图2. 垂直应力P下剪应力–剪切位移曲线(P= 100 kPa)
Figure 3. Shear stress shear displacement curve under vertical stressP(P= 200 kPa)
图3. 垂直应力P下剪应力–剪切位移曲线(P= 200 kPa)
Figure 4. Shear stress shear displacement curve under vertical stressP(P= 400 kPa)
图4. 垂直应力P下剪应力–剪切位移曲线(P= 400 kPa)
Table3.Maximum value data group
表3.最大值数据组
编号 |
纤维掺量(%) |
二氧化硅掺量(%) |
垂直应力/kPa |
真实值/kPa |
测试值/kPa |
最大值 误差(%) |
预测曲线R2 |
1 |
0.3 |
1 |
100 |
135.527 |
138.765 |
2.390 |
0.937 |
2 |
0.3 |
0.5 |
100 |
126.700 |
135.212 |
6.718 |
0.886 |
3 |
0.3 |
0.7 |
100 |
131.770 |
138.035 |
4.755 |
0.964 |
4 |
0.3 |
0.5 |
200 |
185.015 |
196.509 |
6.212 |
0.930 |
5 |
0.3 |
0.7 |
200 |
190.553 |
196.762 |
3.258 |
0.942 |
6 |
0.3 |
1 |
200 |
197.024 |
195.014 |
−1.020 |
0.962 |
7 |
0.3 |
0.5 |
400 |
262.771 |
272.410 |
3.668 |
0.828 |
8 |
0.3 |
0.7 |
400 |
263.253 |
274.569 |
4.299 |
0.902 |
9 |
0.3 |
1 |
400 |
269.757 |
271.510 |
0.650 |
0.938 |
10 |
0.5 |
0.5 |
100 |
121.197 |
130.739 |
7.874 |
0.932 |
11 |
0.5 |
0.7 |
100 |
131.184 |
134.525 |
2.547 |
0.975 |
12 |
0.5 |
1 |
100 |
142.798 |
146.178 |
2.367 |
0.960 |
13 |
0.5 |
0.5 |
200 |
166.910 |
178.434 |
6.904 |
0.917 |
14 |
0.5 |
0.7 |
200 |
169.266 |
171.955 |
1.588 |
0.971 |
15 |
0.5 |
1 |
200 |
195.349 |
204.544 |
4.707 |
0.916 |
16 |
0.5 |
0.5 |
400 |
257.420 |
254.102 |
−1.289 |
0.951 |
17 |
0.5 |
0.7 |
400 |
267.786 |
269.309 |
0.569 |
0.929 |
18 |
0.5 |
1 |
400 |
288.612 |
289.451 |
0.291 |
0.925 |
19 |
0.7 |
0.5 |
100 |
141.837 |
143.327 |
1.050 |
0.970 |
20 |
0.7 |
0.7 |
100 |
128.904 |
130.618 |
1.329 |
0.976 |
21 |
0.7 |
1 |
100 |
124.610 |
122.143 |
−1.980 |
0.928 |
续表
22 |
0.7 |
0.5 |
200 |
192.067 |
191.230 |
−0.436 |
0.967 |
23 |
0.7 |
0.7 |
200 |
180.126 |
185.310 |
2.878 |
0.974 |
24 |
0.7 |
1 |
200 |
162.512 |
169.746 |
4.452 |
0.930 |
25 |
0.7 |
0.5 |
400 |
293.824 |
295.637 |
0.617 |
0.922 |
26 |
0.7 |
0.7 |
400 |
275.841 |
280.615 |
1.731 |
0.932 |
27 |
0.7 |
1 |
400 |
262.672 |
256.499 |
−2.350 |
0.943 |
Figure 5. Comparison chart between predicted and actual values
图5. 预测值与真实值对比图
图2、图3、图4、图5中的黑色曲线为实际曲线,红色曲线为预测曲线。玄武岩纤维长度和土的内摩擦角和黏聚力为恒定值,表3中没有列出。从图2、图3、图4、图5和表3可以看出在掺量为玄武岩纤维掺量为0.3%和0.5%的情况下,复合加筋土体的峰值强度是随着纳米二氧化硅的含量增加而增加。在玄武岩纤维掺量为0.7%的情况下,复合加筋土的峰值强度随着纳米二氧化硅的掺量增加而下降,与原文的实验结果一致。使用BP神经网络预测最大值得到的结果和实际数据对比,误差在−2.350%到7.874%之间,误差可以接受。并且预测得到的剪应力-剪切位移曲线的R2基本都在0.9以上,拟合程度较高。并且通过对比,发现在玄武岩纤维掺量为0.5%纳米二氧化硅掺量为1.0%和玄武岩掺量为0.7%纳米二氧化硅掺量为0.5%的情况下,土体的强度最高,与原文得出的结论一致。
预测得到的剪应力–剪切位移曲线在应力等于0处应力不等于0,原因推测是神经网络每一层全连接层都是在进行矩阵运算,当其中一个输入等于0时,每经过一个隐层乘上权重矩阵
再经过
激活函数,到达第三个隐层求和输出,在矩阵乘法中有输入一个数为0,最后的输出结果不一定为0,并且含有偏置项b,求和结果也不一定为0。
3.2. 黏聚力和内摩擦角
限制于原文给出的数据,本文建立的神经网络模型并不能直接得到复掺土体的黏聚力和内摩擦角,通过间接计算土体的最大值强度来计算土体的预测黏聚力和内摩擦角。通过拟合曲线来计算两种最优配合比的黏聚力和内摩擦角。拟合曲线见图6,具体结果见表4。
Figure 6. Fitting curves for two optimal mix proportions
图6. 两种最优配合比的拟合曲线图
Table4.Comparison between actual and predicted values of cohesion and internal friction angle
表4.黏聚力和内摩擦角真实值与预测值对比
参数 |
0.7%纤维 + 0.5%二氧化硅 |
0.5%纤维 + 1.0%二氧化硅 |
真实值 |
拟合值 |
真实值 |
拟合值 |
黏聚力 |
89.85 |
91.12 |
96.15 |
103.72 |
内摩擦角 |
27.0 |
27.11 |
25.18 |
25.23 |
从表4可以看出,由BP神经网络得到的数值进行拟合计算黏聚力和内摩擦角与真实值差距不大,内摩擦角与实际内摩擦角几乎没有差距,黏聚力存在一些差距。0.7%纤维 + 0.5%二氧化硅的配合比黏聚力的误差为1.413%,0.5%纤维 + 1.0%二氧化硅配合比黏聚力误差为7.124%。其中对0.5%纤维 + 1.0%二氧化硅这一组配合比的黏聚力误差较大,但是7.124%的误差仍然在可接受范围内[15]。可以看出神经网络预测的数据具有较强的可靠性。
4. 结论
(1) 通过BP神经网络对纳米二氧化硅和玄武岩纤维复掺纤维土体进行强度预测,预测值和实际值误差在−2.350%到7.874%之间,预测的剪应力–剪切位移曲线最小的决定系数R2绝大部分都在0.9以上,可信度较高。说明纤维土的力学性能可以使用BP神经网络研究各个含量变化对纤维土力学性能的改变,能够通过单掺数据预测最佳的复掺配合比。
(2) 本文通过模拟剪应力–剪切位移曲线发现曲线在位移等于0处剪应力并不等于0,推测原因是由于矩阵乘法引起的。