一种基于深度强化学习的传感器优化布置方法
技术领域
本发明涉及结构健康监测与振动测试技术领域,特别是涉及一种基于深度强化学习的传感器优化布置方法。
背景技术
在土木工程领域结构健康监测中,如何合理有效地布置传感器同时又可以满足经济性的要求,对于保证结构的安全性具有十分重要的作用。随着结构工程的不断发展,出现了越来越多的复杂结构,如大跨径桥梁、超高层建筑等。这些结构大多数体量巨大,自由度众多,需要布置众多测点,才能获取更多的结构动力信息。但是测点增多,所需的传感器数量和所配套的采集设备相应增多,仪器成本和数据分析工作量加大,因此研究如何将传感器布置在最佳位置上,用有限的传感器获取更完整、合理的数据,对结构健康监测具有重要的现实意义。基于这种现状,需要发展一种有效的传感器优化布置方法。
传统的传感器优化布置方法主要包括:序列法、非线性规划优化方法、推断算法、随机类方法、转换为凸优化问题等,这些方法在解决复杂结构传感器布置这类NP-Hard(非凸、高维)问题时存在计算复杂且效率较低等问题;转换为凸优化问题后输出结果关于测点是否布置传感器不能用{0,1}向量(0表示未布置传感器,1表示布置传感器)进行明确表示,而是采用0到1的小数进行表示,不利于实际问题的解决。
发明内容
本发明的目的是为了解决现有技术中传感器布置的问题。在实际工程结构的传感器布置中本发明所述方法可以有效地解决复杂工程结构传感器布置时目标函数非凸、高维的问题,同时该方法的输出结果可以实现{0,1}离散表示(0表示未布置传感器,1表示布置传感器),从而明确地为某一位置传感器是否布置提供决策支持。
本发明是通过以下技术方案实现的,本发明提出一种基于深度强化学习的传感器优化布置方法,所述方法包括:
步骤一、基于工程结构的相关设计信息,建立相关结构参数的先验概率分布;所述相关结构参数包括结构固有频率ω0、瑞利阻尼系数α与β、工程结构所受外力的振幅和频率a0与ω;
步骤二、基于贝叶斯理论和信息熵理论,利用互信息最大化基本理论建立传感器优化布置准则h(δ),其中δ表示传感器布置状态矩阵;
步骤三、基于传感器优化布置准则h(δ),利用基于深度强化学习的优化算法寻找其最优解;
步骤四、根据步骤三得到的优化效果,对优化算法中深度神经网络的相关参数进行调节;利用调参后的深度强化学习优化算法,进一步确定基于传感器优化布置准则h(δ)的最优解δ*,即传感器布置的最优位置。
进一步地,所述步骤二具体为:
步骤2.1、基于工程结构的设计信息得到相关结构参数向量θ
s=[ω
0αβa
0ω]的先验概率分布p(θ
s),随机抽样产生K个结构参数的样本
步骤2.2、基于每一个样本
的数值,利用结构动力学模态分析相关理论,计算结构的模态坐标q
j(t),其中t表示时间,j表示结构模态序号;
步骤2.3、得到模态坐标qj(t)后,在不同的振型下获得不同位置处的物理坐标xi(t);i表示自由度的序号,即结构布置传感器位置的序号;
步骤2.4、计算物理坐标x
i(t)在当前样本
下关于结构参数向量θ
s的梯度
其中n表示不同时间步数;
步骤2.5、利用等式
计算当前样本
下结构不同位置的Q值;p和q表示θ
s中向量元素的序号;Q为
组成的矩阵;N
t表示总时间步数;
步骤2.6、基于传感器布置状态矩阵δ,计算在传感器布置后的Q值,计算公式为
N
d表示结构的自由度数目;其中δ是由0、1构成的矩阵,0表示不布置传感器,1表示布置传感器;
步骤2.7、重复步骤2.2至步骤2.6,计算基于每一个样本
的Q(δ,θ
s)并保存这些值;
步骤2.8、最后对不同样本下的Q(δ,θs)值进行加权累加便能得到最终关于传感器优化布置准则的目标函数h(δ)=-∫logdetQ(δ,θs)p(θs)dθs。
进一步地,所述步骤三具体为:
步骤3.1、设计传感器布置初始状态、动作空间以及奖励函数;
步骤3.2、初始化各项训练参数;
步骤3.3、设计两个深度神经网络evaluate_net以及target_net,并初始化两个网络的参数θ;
步骤3.4、最初的传感器布置状态为St,基于深度神经网络evaluate_net的输出值q_eval与贪婪度ξ选择动作at;
步骤3.5、计算奖励值rt=-h(δt),基于动作at获得新的状态St+1;
步骤3.6、将序列(St,at,rt,St+1)保存到记忆库D中;
步骤3.7、重复步骤3.4至步骤3.6共n次,从而实现在记忆库中积累数据;
步骤3.8、随机抽取记忆库D中的数据(St,at,rt,St+1),此时传感器布置状态为St,基于深度神经网络evaluate_net的输出值q_eval与贪婪度ξ选择动作at;
步骤3.9、将下一步的传感器布置状态St+1作为深度神经网络target_net的输入,其输出值为q_next,通过argmax命令筛选出q_next值中的最大值,通过qtarget=rt+γmaxa′qnext计算得到q_target值;γ为奖励衰减;
步骤3.10、计算q_eval与q_target之间的误差值,然后利用RMSprop优化器最小化误差值,实现对evaluate_net网络参数θ的更新;
步骤3.11、此时将St+1的值赋给St,通过步骤3.4至步骤3.5产生新的序列(St,at,rt,St+1),将所述新的序列保存到记忆库D中;
步骤3.12、重复步骤3.8至步骤3.11共N次;N为训练回合数;
步骤3.13、最后输出每一次训练的奖励函数值并绘制目标值h(δ)的趋势图,取训练过程后段目标值h(δ)趋于稳定后的最小值以及所对应的传感器布置状态矩阵作为最优解δ*,即传感器的最优布置矩阵。
进一步地,所述步骤3.1具体为:
步骤3.1.1、传感器布置初始状态是由{0,1}构成的矩阵,其中传感器布置的个数是固定的;
步骤3.1.2、动作空间设计成每个动作改变一个位置的传感器布置状态,即每个动作表示矩阵中的一个0变为1,一个1变为0或者表示保持当前状态不变;
步骤3.1.3、奖励函数设计为目标函数的相反数r=-h(δ)。
进一步地,所述步骤3.4具体为:
步骤3.4.1、产生一个0到1的随机数,若该随机数大于ξ,则随机选择动作at;
步骤3.4.2、若该随机数小于等于ξ,则利用深度神经网络evaluate_net进行动作的选择,其中网络的输入为传感器布置状态St,网络的输出为所有动作对应的q_eval值;
步骤3.4.3、选择输出的所有q_eval值中的最大值对应的动作作为at。
进一步地,所述步骤3.9具体为:
步骤3.9.1、将St+1作为target_net网络的输入,输出则为所有动作对应的q_next值;
步骤3.9.2、深度神经网络target_net的参数更新是通过placeholder命令每隔一定训练次数将深度神经网络evaluate_net实时更新的参数θ复制到target_net网络中来实现的。
本发明的有益效果为:1、基于深度强化学习的优化算法可以利用深度神经网络强大的计算能力的优势,可以较好地解决较为复杂的土木工程结构传感器优化布置中存在的目标函数非凸、高维等问题;2、利用深度强化学习优化算法的输出结果可以实现结果的{0,1}离散表示,从而明确地为某一位置传感器是否布置提供决策支持;3、深度强化学习优化算法中采用了两个神经网络进行网络参数更新同时具有记忆库回放的机制,这两项措施可以打破训练数据之间的相关性,有效地提高网络的训练效率,进而减少优化算法的耗时。
附图说明
图1为本发明基于深度强化学习的传感器优化布置方法的流程图;
图2为本发明基于深度强化学习的优化算法的流程图;
图3为本发明优化算法中深度神经网络的示意图;
图4为本发明实施例中八层框架结构示意图;
图5为本发明针对八层框架结构进行传感器优化布置的结果图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为快速找到传感器布置的最优解从而提高寻找传感器优化布置位置的效率,本发明采用基于互信息的传感器优化准则并通过优化算法来寻找其最优解。首先需要建立基于互信息的传感器优化准则,其目标函数的输入是传感器布置状态矩阵,然后通过基于深度强化学习的优化算法快速有效地寻找目标函数的最优解。
基于以上要求,本发明利用深度强化学习理论来寻找传感器优化布置目标函数的最优解,将当前传感器布置状态作为神经网络的输入,输出端输出所有动作的奖励值。并采用强化学习奖惩反馈机制对神经网络的参数进行更新,利用记忆库回放机制减小数据之间的相关性,缩短训练时间从而提高优化效率。
结合图1,本发明提出一种基于深度强化学习的传感器优化布置方法,具体包括以下步骤:
步骤一、基于工程结构的相关设计信息,建立相关结构参数的先验概率分布;所述相关结构参数包括结构固有频率ω0、瑞利阻尼系数α与β、工程结构所受外力的振幅和频率a0与ω;
步骤二、基于贝叶斯理论和信息熵理论,利用互信息最大化基本理论建立传感器优化布置准则h(δ),其中δ表示传感器布置状态矩阵;
步骤三、基于传感器优化布置准则h(δ),利用基于深度强化学习的优化算法寻找其最优解;
步骤四、针对步骤三执行深度强化学习优化算法的收敛速度等优化效果,对优化算法中深度神经网络的相关参数进行调节;利用调参后的深度强化学习优化算法,进一步确定基于传感器优化布置准则h(δ)的最优解δ*,即传感器布置的最优位置。
所述步骤二中建立传感器优化布置准则h(δ)的具体过程:
步骤2.1、基于工程结构的设计信息得到相关结构参数向量θ
s=[ω
0αβa
0ω]的先验概率分布p(θ
s),随机抽样产生K个结构参数的样本
步骤2.2、基于每一个样本
的数值,利用结构动力学模态分析相关理论,计算结构的模态坐标q
j(t);其中t表示时间,j表示结构模态序号;
步骤2.3、得到模态坐标qj(t)后,在不同的振型下可以获得不同位置处的物理坐标xi(t);i表示自由度的序号,即结构布置传感器位置的序号;
步骤2.4、计算物理坐标x
i(t)在当前样本
下关于结构参数向量θ
s的梯度
其中n表示不同时间步数;
步骤2.5、利用等式
计算当前样本
结构不同位置的Q值;p和q表示θ
s中向量元素的序号;p=1,2,3,4,5;q=1,2,3,4,5;Q为
组成的矩阵;N
t表示总时间步数;
步骤2.6、基于传感器布置矩阵δ(其中δ是由0、1构成的矩阵,0表示不布置传感器,1表示布置传感器),计算在传感器布置后的Q值,计算公式为
N
d表示结构的自由度数目;
步骤2.7、重复步骤2.2至步骤2.6,计算基于每一个样本
的Q(δ,θ
s)并保存这些值;
步骤2.8、最后对不同样本下的Q(δ,θs)值进行加权累加便能得到最终关于传感器优化布置准则的目标函数h(δ)=-∫logdetQ(δ,θs)p(θs)dθs。
结合图2,所述步骤三中基于深度强化学习的优化算法寻找传感器优化布置准则h(δ)最优解的具体过程:
步骤3.1、设计传感器布置初始状态(observation)、动作空间(action)、以及奖励函数(reward);
步骤3.2、初始化各项训练参数(开始学习步数n,记忆库大小S,训练回合数N,学习率η,奖励衰减γ,贪婪度ξ等);
步骤3.3、结合图3,设计两个深度神经网络evaluate_net以及target_net,并初始化两个网络的参数θ(其中evaluate_net的网络参数通过RMSprop优化器进行更新,而target_net的网络参数通过每隔一定的训练次数复制evaluate_net的网络参数得到);
步骤3.4、最初的传感器布置状态为St,基于神经网络evaluate_net的输出值q_eval与贪婪度ξ选择动作at;
步骤3.5、计算奖励值rt=-h(δt)(深度强化学习优化算法中计算的是最大值,而传感器优化布置问题中寻找的是h(δ)的最小值),基于动作at获得新的状态St+1;
步骤3.6、将序列(St,at,rt,St+1)保存到记忆库D中;
步骤3.7、重复步骤3.4至步骤3.6共n次,从而实现在记忆库中积累数据;
步骤3.8、随机抽取记忆库D中的数据(St,at,rt,St+1),此时传感器布置状态为St,基于神经网络evaluate_net的输出值q_eval与贪婪度ξ选择动作at;
步骤3.9、将下一步的传感器布置状态St+1作为神经网络target_net的输入,其输出值为q_next,通过argmax命令筛选出q_next值中的最大值,通过qtarget=rt+γmaxa′qnext计算得到q_target值;γ为奖励衰减;
步骤3.10、计算q_eval与q_target之间的误差值,然后利用RMSprop优化器最小化误差值,实现对evaluate_net网络参数θ的更新;
步骤3.11、此时将St+1的值赋给St,通过步骤3.4至步骤3.5产生新的序列(St,at,rt,St+1),将此数据保存到记忆库D中(当记忆库数据满额时,新数据会覆盖旧数据);
步骤3.12、重复步骤3.8至3.11共N(训练回合数)次;
步骤3.13、最后输出每一次训练的reward值并绘制目标值h(δ)的趋势图,取训练过程后段目标值h(δ)趋于稳定后的最小值以及所对应的传感器布置状态矩阵作为最优解δ*(即传感器的最优布置矩阵)。
所述步骤3.1中设计基于深度强化学习算法中的传感器布置初始状态(observation)、动作空间(action)、以及奖励函数(reward)的方法:
步骤3.1.1、传感器布置初始状态(observation)是由{0,1}构成的矩阵,其中传感器布置的个数是固定的;
步骤3.1.2、动作空间(action)设计成每个动作改变一个位置的传感器布置状态(即每个动作表示矩阵中的一个0变为1,一个1变为0或者表示保持当前状态不变);
步骤3.1.3、奖励函数(reward)设计为目标函数的相反数r=-h(δ)。
所述步骤3.4的具体方法:
步骤3.4.1、产生一个0到1的随机数,若该随机数大于ξ,则随机选择动作at;
步骤3.4.2、若该随机数小于等于ξ,则利用神经网络evaluate_net进行动作的选择,其中网络的输入为传感器布置状态St,网络的输出为所有动作对应的q_eval值;
步骤3.4.3、选择输出的所有q_eval值中的最大值对应的动作作为at。
所述步骤3.9通过神经网络target_net输出q_next值以及神经网络target_net参数θ的具体方法:
步骤3.9.1、将St+1作为target_net网络的输入,输出则为所有动作对应的q_next值;
步骤3.9.2、神经网络target_net的参数更新是通过placeholder命令每隔一定训练次数将神经网络evaluate_net实时更新的参数θ复制到target_net网络中来实现的。
实施例
结合图4,针对八层框架结构进行传感器优化布置,利用优化算法寻找其中的两个最优位置进行传感器布置。工程结构的质量矩阵M与刚度矩阵K信息如下:
下面利用本发明中基于深度强化学习的优化算法来寻找传感器的最优布置位置:
所述步骤一具体为:基于工程结构的设计信息,建立相关结构参数(包括结构固有频率ω0、瑞利阻尼系数α与β、工程结构所受外力的振幅和频率a0与ω)的先验概率分布:
ω0~lnN(·|μ=2π,σ=0.25)
α~lnN(·|μ=0.1,σ=0.01)
β~lnN(·|μ=10-4,σ=10-5)
a0~N(·|μ=0,σ=0.4g)
ω~lnN(·|μ=2π,σ=0.25)
其中,g表示重力加速度。
所述步骤二具体为:得到上述结构参数的先验概率分布后,随机产生1000个结构参数样本θs,其中时间步数Nt=1000。然后基于贝叶斯理论和信息熵理论,利用互信息最大化基本理论建立传感器优化布置准则h(δ),其中δ表示传感器布置状态矩阵。
所述步骤三具体为:利用基于深度强化学习的优化算法寻找目标函数h(δ)的最优解,设计传感器布置初始状态为[00110000];初始化各项训练参数(开始学习步数n=200,记忆库大小S=200,训练回合数N=2000,学习率η=0.01,奖励衰减γ=0.8,贪婪度ξ=0.8,网络参数替换间隔q=80);设计两个结构形式相同的深度神经网络evaluate_net以及target_net,网络层数为4层,隐藏层的神经元个数均为32,输出层的神经元个数为13,激活函数均选用relu函数,evaluate_net更新参数的优化器选择RMSProp,target_net利用placeholder命令每隔80次训练回合将神经网络evaluate_net实时更新的参数θ复制到target_net网络中;基于这些算法的设计信息,利用优化算法得到目标函数的最优解的初步解。
所述步骤四具体为:上一步利用深度强化学习优化算法可以得到目标函数最优解的初步结果,针对其收敛速度等优化效果,可以对优化算法中深度神经网络的相关参数进行调节,调整后的参数为:开始学习步数n=200,记忆库大小S=200,训练回合数N=2000,学习率η=0.01,奖励衰减γ=0.5,贪婪度ξ=0.85,网络参数替换间隔q=60。利用调参后的深度强化学习优化算法,进一步确定基于传感器优化布置准则的最优解为[00010001],即传感器布置的最优位置序号为4和8。如图5所示,神经网络经过训练后,优化算法输出的reward值可以较好地集中在最优解附近,经过曲线拟合后可以得到目标函数优化的趋势。
以上对本发明所提出的一种基于深度强化学习的传感器优化布置方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。