3分钟小视频,简介新工作:自纠偏两阶段训练、综合推演和数据-物理耦合驱动结构模拟
太长不看版
本研究提出了一种使深度神经网络模型拥有“自纠偏能力”的两阶段训练方法,可以有效纠正模型推演过程中的误差累积。通过在不同案例(复杂支撑模型案例与经典BoucWen滞回模型案例)、不同网络上开展分析,证明了本方法的有效性。最后,提出了“数据-物理耦合驱动”的结构响应分析方法,用神经网络代替有限元程序中的部分单元,并在OpenSEES中开展了程序实现。
数据、模型与程序开源
(1)本研究的基础数据集(以及课题组整理的其他一些相关数据、相应的说明文档)可以从下面的链接处下载。使用该数据集进行模型训练的示例性代码也附在同一链接中
(2)OpenSEES程序实现的代码和示例可以从下面的链接下载
(3)本数据集是由博士生徐永嘉、费一凡和顾燚等通过自主模拟、收集网络资料等形成的。使用数据、模型与代码时,可以引用:
研究背景
基于深度神经网络构建结构响应分析的代理模型,近年来得到很多研究者的关注。此类方法具有拟合能力强、端到端(无需人为干预中间过程)、可以取得“精度-效率”的良好平衡等优点,但也面临诸多问题。在很多案例中,网络的训练过程是并行性的(完整输入序列到完整输出序列的整体映射、Loss计算与反向传播),但推演却是逐步进行的。这一训练和推演的差异,可能导致神经网络的推演过程出现严重的“误差累积”问题,进而导致预测结果偏离真实值。在与有限元等时域逐步积分方法结合时,上述问题可能更加突出。因此,需要提出一种启发神经网络的训练方法,使网络具有一定的误差自纠偏能力,从而有效的纠正误差累积,获取准确的预测结果。
误差自纠偏的两阶段训练方法
传统结构分析方法中,通过反复迭代、收敛检查等手段,对误差进行纠正。但神经网络的训练过程的输入是无误差的真实值,推演过程也不包含上述环节,因此无法有效纠正误差累积(如图1所示)。同时,结构行为预测等属于复杂的高维时间序列回归问题,物理意义明确、输入输出映射关系唯一,既有的Mean-Teacher、大规模预训练等方法并不能很好的解决上述误差累积问题。
图1 误差累积情形示意图
本研究提出的两阶段自纠偏训练方法,核心是“给定有偏输入,启发网络认识误差并纠偏”。其基本思想可以概述如图2所示,详细过程可以描述如图3所示。具体而言:
1)End to End Stage(简称Stage-E)
采用经典有监督训练模式,开展从完整输入序列到完整输出序列的正向传播、Loss计算、反向传播和参数更新;其每一步的预测都是基于无偏差的真实输入、输出开展的。
2)Step by Step Stage(简称Stage-S)
逐步训练,纠正误差。完成Stage-E训练后,从某一初始时间步M开始,开展模型训练K步;其中,第X步训练(M<X≤M+K)时,第1至第M-1时间步的输出是真实值,而第M至第X-1时间步的输出均为存在误差的预测值;输入序列始终为真实值。
图2 两阶段误差自纠偏方法基本思路
图3 两阶段误差自纠偏方法具体流程
绝对-相对误差耦合的推演策略
一个长时间序列包括不同特征的区段,例如“峰”、“谷”等,如图4所示。而神经网络训练同样可以采用多种不同的Loss函数。其中,最常见的Loss函数之一是均方误差MSE,计算公式如图5所示。可以看出,MSE依据每一时间步偏差的“绝对值”计算得到。但对于序列中某些“谷”值区段而言,即使绝对误差不大,相对误差也可能很大。因此,若要更好的控制这些谷值区段的误差,宜采用基于相对误差的Loss函数MRSE(如图5所示)。
基于上述分析,本研究提出了“绝对-相对耦合”的推演策略。在峰值区段(绝对值大于某一阈值)上,基于MSE训练模型并开展推演;谷值区段(绝对值小于另一阈值)上,基于MRSE训练模型并开展推演;中间区段则对两者的推演结果进行插值。论文正文中对阈值等进行了详细讨论,在此不予赘述。
图5 两种Loss计算函数
方法验证
4.1 案例分析
本研究首先基于Huang提出的复杂支撑模型(如图6所示),构建了包含400个样本的数据集,并进行了标准化和随机划分(训练、验证和测试集分别包含320、40和40个数据样本)。随后,采用Zhang et al.构建的BoucWen数据集,作为典型滞回模型的代表性案例。详细数据集说明见正文开头处的链接和论文正文相应章节。
图6 复杂支撑模型
基于Transformer网络的训练和测试结果表明,仅采用Stage-E不能有效纠正误差累积,预测结果可能显著偏离实际。而仅采用Stage-S时,模型准确性接近或稍低于采用本研究两阶段训练方法的情况,但训练稳定性相对较低,获取最佳模型所需训练轮次更多。采用本研究提出的两阶段自纠偏训练策略,可以取得更好的综合表现。图7给出了两个典型案例,图8给出了Huang案例中两种训练策略的训练过程对比,图9给出了BoucWen案例上的交叉验证结果。
图7 典型案例(经典训练:仅有Stage-E)
图8 Huang案例不同训练策略训练过程对比
(策略2:仅Stage-S;策略3:本研究两阶段训练)
图9 BoucWen案例中5折交叉验证结果
同时,基于上述两个案例,本研究还开展了绝对-相对耦合推演方法的效果验证,发现该方法有利于进一步控制模型误差。较仅基于MSE训练模型并开展推演而言,耦合推演结果MSE最高下降27.1%,且相对误差中等(10%-30%)和较大(大于30%)的时间步占比均有显著下降(分别下降44.4%和64.7%)。
4.2 基于复杂网络的补充验证
图10 基于Pyramid-GA网络的补充验证
(经典训练:指仅Stage-E)
数据-物理耦合驱动的结构响应模拟
神经网络适合构建复杂行为的代理模型。对于简单的物理模型而言,构建代理模型带来的收益可能有限;而既有研究也提出了许多结构/构件/材料的物理模型。在实践中,一种合理的思路是结合数据驱动和物理驱动策略,提出数据-物理耦合驱动的结构模拟方法。其基本原则是:
(1)基于物理模型,模拟规律清晰、特征明确的组分的响应;
(2)基于深度神经网络,构建特征多样、规律复杂组分的响应代理模型。
本研究提出的两阶段训练方法,在神经网络的推演过程中,隐式的加入了误差纠偏过程,为其与有限元等时域逐步积分法的结合提供了重要支持。基于开源结构分析软件OpenSEES,本研究开展了上述思路的程序实现,方法框架如图11所示,技术路线如图12所示。该方法框架中,前三步为正常的模型训练(采用本研究提出的两阶段训练方法),第四步则是本节即将介绍的模型集成和耦合模拟。
图11 方法框架
图12 OpenSEES程序实现的技术路线
基于图12介绍的方法,将训练好的神经网络模型嵌入后,即可基于该模型,自定义与其响应行为一致的单元,包括twoNodeLink(有一定长度的弹簧单元,需定义单轴“位移-反力”材料属性)和自定义的uniaxialMaterial(新的单轴材料本构等)。若有多个维度,可以通过串/并联多个上述单元实现。相应的源代码和程序见本文起始部分的链接。
随后,基于包含Huang支撑模型的结构模型,开展了方法验证和案例分析。其中结构案例包含单层和双层支撑框架两种,单层支撑框架模型如图13所示,双层支撑框架模型的第二层和第一层一致。
图13 结构模型示意图
案例分析结果表明,两者的模拟精度较为一致,同时数据-物理耦合驱动模拟的耗时仅为5min(Linear-factorOnce算法)或2h(NewtonLineSearch算法);而LS-DYNA(精细有限元模型)耗时达到180h,为前者的90-2000倍。典型模拟结果如图14所示。
图14 典型耦合模拟案例
总结
本研究分析了经典模拟方法与神经网络训练的异同点,提出了具有误差自纠偏能力的两阶段训练方法,以及耦合MSE和MRSE的推演策略。案例分析表明,上述方法可以有效地控制整体误差、纠正误差累积。最后,本研究提出了“数据-物理耦合驱动”的结构模拟方案与技术路线,并基于OpenSEES开展了案例分析与程序实现。与精细有限元模型的对比表明,数据-物理耦合驱动的模拟方法可以在保持精度基本一致的情况下,显著提升模拟效率。