王鵬遠(yuǎn)
(北方工業(yè)大學(xué)機(jī)械與材料工程學(xué)院,北京 100144)
將高強(qiáng)鋼板材通過(guò)漸進(jìn)成型方式制成變截面構(gòu)件,在輕量化工程應(yīng)用中具有現(xiàn)實(shí)意義[1]。北方工業(yè)大學(xué)研制的定模動(dòng)輥成型裝備,將具有特定輪廓的軋輥?lái)樞蚪M合,對(duì)金屬板材進(jìn)行沿模具型面漸進(jìn)成型,從而得到變化的橫截面形狀,是一種節(jié)能高效的變截面輥彎成型設(shè)備,如圖1所示[2]。在金屬成型過(guò)程中,運(yùn)動(dòng)加速度對(duì)材料的成型質(zhì)量以及成型過(guò)程有著較大影響,所以減小加速度峰值,增加運(yùn)動(dòng)的平穩(wěn)性是需要研究的裝備性能優(yōu)化問(wèn)題。文中以加速度為目標(biāo)函數(shù),開(kāi)展定模動(dòng)輥成型機(jī)的動(dòng)力學(xué)優(yōu)化。
圖1 定模動(dòng)輥成型機(jī)三維模型
定模動(dòng)輥成型裝備機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化涉及裝備伺服電機(jī)、傳動(dòng)裝置、輥模機(jī)構(gòu)與成型板材復(fù)雜系統(tǒng),構(gòu)成復(fù)雜,影響因素多,屬于高耦合、多極值、多優(yōu)化變量的優(yōu)化問(wèn)題。傳統(tǒng)的優(yōu)化方法如牛頓法等,適合凸函數(shù)優(yōu)化,無(wú)法在多極值的優(yōu)化問(wèn)題中取得良好效果[3]。粒子群算法是源于對(duì)鳥(niǎo)群的研究提出的一種群體智能優(yōu)化方法,具有并行性、魯棒性、記憶性等優(yōu)點(diǎn)而在優(yōu)化領(lǐng)域有著廣泛應(yīng)用[4]。
近些年來(lái),人工智能的興起提供了一種新的優(yōu)化思路。目前比較火熱的自動(dòng)駕駛,機(jī)器人自動(dòng)學(xué)習(xí),以及以AlphaZero為代表的棋類(lèi)智能軟件,都應(yīng)用到深度強(qiáng)化學(xué)習(xí)[5]。深度強(qiáng)化學(xué)習(xí)是一種自動(dòng)學(xué)習(xí)最優(yōu)策略的機(jī)器學(xué)習(xí)方法,它采用概率模型或者策略函數(shù)輸出動(dòng)作與環(huán)境交互,用動(dòng)作值函數(shù)計(jì)算該動(dòng)作的值,通過(guò)不斷與環(huán)境交互找到動(dòng)作值最大的最優(yōu)動(dòng)作[6]。與粒子群迭代尋優(yōu)方法相比,深度強(qiáng)化學(xué)習(xí)方法輸出的動(dòng)作之間關(guān)聯(lián)性較小,能夠更充分地探索環(huán)境,找到更優(yōu)動(dòng)作。
深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法是應(yīng)用于連續(xù)動(dòng)作空間的深度強(qiáng)化學(xué)習(xí)算法,在連續(xù)動(dòng)作空間中有著良好表現(xiàn)[7]。LIANG等[8]利用DDPG算法對(duì)電力市場(chǎng)進(jìn)行建模,分析電力市場(chǎng)均衡問(wèn)題;RODRIGUEZ-RAMOS等[9]將DDPG算法應(yīng)用到無(wú)人機(jī)著陸。機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化屬于高位連續(xù)動(dòng)作空間問(wèn)題,本文作者采用DDPG算法對(duì)定模動(dòng)輥彎?rùn)C(jī)電系統(tǒng)進(jìn)行動(dòng)力學(xué)優(yōu)化。
強(qiáng)化學(xué)習(xí)是解決動(dòng)作與環(huán)境交互生成的馬爾可夫決策過(guò)程(Markov Decision Process,MDP)問(wèn)題的一類(lèi)算法,其基本結(jié)構(gòu)如圖2所示[6]。
圖2 強(qiáng)化學(xué)習(xí)框架
強(qiáng)化學(xué)習(xí)首先包括2個(gè)基本的交互對(duì)象:智能體(Agent)與環(huán)境(Environment)。Agent能夠感知環(huán)境的狀態(tài)來(lái)選擇動(dòng)作,并根據(jù)環(huán)境反饋的獎(jiǎng)勵(lì)來(lái)調(diào)整策略實(shí)現(xiàn)決策與學(xué)習(xí)的功能;環(huán)境能夠接收Agent選擇的動(dòng)作并改變其狀態(tài),并反饋給Agent對(duì)應(yīng)的獎(jiǎng)勵(lì)。
Agent與環(huán)境交互學(xué)習(xí)的動(dòng)態(tài)過(guò)程就是一個(gè)MDP。MDP包括以下幾個(gè)要素:
(1)狀態(tài)空間S={s0,s1,…,si},表示環(huán)境所有狀態(tài)信息的集合。
(2)動(dòng)作空間A={a0,a1,…,ai},表示Agent所有動(dòng)作的集合。
(4)獎(jiǎng)勵(lì)函數(shù)R(st,at)用來(lái)描述Agent選擇動(dòng)作的獎(jiǎng)勵(lì),獎(jiǎng)勵(lì)函數(shù)的設(shè)置與要實(shí)現(xiàn)的目標(biāo)一致。
策略π(s)是Agent根據(jù)狀態(tài)s選擇動(dòng)作a的依據(jù)。策略分為確定性策略(Deterministic Policy)與隨機(jī)性策略(Stochastic Policy)2種。確定性策略是指對(duì)于一個(gè)狀態(tài),策略只會(huì)輸出一個(gè)動(dòng)作,即每一個(gè)狀態(tài)s都對(duì)應(yīng)唯一的一個(gè)確定動(dòng)作a;隨機(jī)性策略則是指對(duì)于一個(gè)環(huán)境狀態(tài)s,Agent可以選擇多個(gè)動(dòng)作,每個(gè)動(dòng)作對(duì)應(yīng)一個(gè)概率,這些動(dòng)作的概率相加之和等于1:
(1)
強(qiáng)化學(xué)習(xí)的目標(biāo)是找到一個(gè)最優(yōu)的動(dòng)作,使得Agent在狀態(tài)s下得到的累積期望獎(jiǎng)勵(lì)最大;因此強(qiáng)化學(xué)習(xí)的目標(biāo)轉(zhuǎn)換為Agent學(xué)習(xí)到一個(gè)最優(yōu)的策略,使得Agent由該策略得到的動(dòng)作、累積期望獎(jiǎng)勵(lì)最大。
設(shè)Agent基于策略π與環(huán)境交互得到的一條軌跡為
τ={s0,a0,r1,s1,a1,r2,…,st-1,at-1,rt,st,…}
則這條軌跡的累積期望獎(jiǎng)勵(lì)定義為
(2)
其中:0<γ<1表示折扣系數(shù)。
為了定量描述策略π反饋的累積期望獎(jiǎng)勵(lì)的大小,定義2個(gè)價(jià)值函數(shù):狀態(tài)值函數(shù)與狀態(tài)-動(dòng)作值函數(shù)。狀態(tài)值函數(shù)Vπ(s)表示Agent在狀態(tài)s下采用策略π得到的累積期望獎(jiǎng)勵(lì)。其定義如下:
γVπ(s′)]
(3)
其中:s為當(dāng)前時(shí)刻狀態(tài);a為在s下Agent遵循策略π得到的動(dòng)作;s′為s下一時(shí)刻的狀態(tài)。
式(3)也叫作狀態(tài)值函數(shù)的貝爾曼方程。通過(guò)狀態(tài)值函數(shù)的貝爾曼方程,當(dāng)前狀態(tài)的值函數(shù)可以通過(guò)下一時(shí)刻狀態(tài)的值函數(shù)計(jì)算。
動(dòng)作-狀態(tài)值函數(shù)Qπ(s,a)也叫Q函數(shù)或動(dòng)作值函數(shù),表示在狀態(tài)s下,Agent遵循策略π,依據(jù)動(dòng)作概率選擇動(dòng)作a得到的累積期望獎(jiǎng)勵(lì)。Qπ(s,a)的定義如下:
(4)
將公式(3)與公式(4)對(duì)比可得:Vπ(s)就是在狀態(tài)s、Agent遵循策略π下,對(duì)所有動(dòng)作Qπ(s,a)的期望。所以Vπ(s)與Qπ(s,a)二者之間的關(guān)系為
(5)
將公式(5)代入公式(4)得到Qπ(s,a)的貝爾曼方程:
(6)
其中:a′為Agent在s′下遵循策略π選擇的動(dòng)作。
基于能量守恒定律得到五道次定模動(dòng)輥彎成型機(jī)的動(dòng)力學(xué)模型[10]:
j=1,2,…,11
(7)
在成型過(guò)程中,五道次定模動(dòng)輥成型裝備X向運(yùn)動(dòng)大機(jī)架運(yùn)動(dòng)的平穩(wěn)性與材料的最終成型質(zhì)量直接相關(guān)。因而,選擇大機(jī)架的加速度為優(yōu)化對(duì)象,減小加速度的峰值降低速度的波動(dòng)程度,提高運(yùn)動(dòng)的平穩(wěn)性。所以,優(yōu)化目標(biāo)函數(shù)為
(8)
選定定模動(dòng)輥成型裝備機(jī)電系統(tǒng)參數(shù)作為設(shè)計(jì)變量[11],其取值范圍如表1所示。
表1 設(shè)計(jì)變量及其取值范圍
定模動(dòng)輥成型裝備機(jī)電系統(tǒng)動(dòng)力學(xué)的強(qiáng)化學(xué)習(xí)模型定義如下:
(1)環(huán)境L。將定模動(dòng)輥成型裝備的動(dòng)力學(xué)方程定義為強(qiáng)化學(xué)習(xí)的環(huán)境。
(2)動(dòng)作空間A。將8個(gè)優(yōu)化變量定義為動(dòng)作a。
(3)狀態(tài)空間F。將動(dòng)作a代入到環(huán)境L中,通過(guò)龍格-庫(kù)塔法求解動(dòng)力學(xué)方程得到加速度峰值f=L(a),加速度峰值f定義為狀態(tài)。
(4)獎(jiǎng)勵(lì)函數(shù)τ。優(yōu)化目標(biāo)是降低加速度峰值,因此,加速度峰值減小越多則獎(jiǎng)勵(lì)應(yīng)該越大。所以,獎(jiǎng)勵(lì)函數(shù)定義為:τi=f0-fi,f0表示定模動(dòng)輥成型裝備未優(yōu)化時(shí)狀態(tài),fi表示任意一組動(dòng)作對(duì)應(yīng)的狀態(tài)。
在強(qiáng)化學(xué)習(xí)算法族中,深度確定性策略梯度(DDPG)算法是深度神經(jīng)網(wǎng)絡(luò)在強(qiáng)化學(xué)習(xí)算法中的一個(gè)成功應(yīng)用,它在連續(xù)高維動(dòng)作空間問(wèn)題有著良好表現(xiàn)[7]。DDPG算法是一個(gè)基于確定性策略梯度的無(wú)模型、演員-評(píng)論家算法。演員-評(píng)論家算法包含一個(gè)策略函數(shù)和一個(gè)動(dòng)作值函數(shù):策略函數(shù)作為一個(gè)演員,生成動(dòng)作并與環(huán)境交互;動(dòng)作值函數(shù)作為一個(gè)評(píng)論家,對(duì)演員的表現(xiàn)進(jìn)行評(píng)價(jià)并指導(dǎo)演員的后續(xù)動(dòng)作。
DDPG算法采用2個(gè)深度神經(jīng)網(wǎng)絡(luò)T(f,a|θT),μ(fθμ)分別近似動(dòng)作值函數(shù)Tμθ(f,a)、策略函數(shù)μθ。其中,θT、θμ分別表示T(f,a|θT)、μ(f|θμ)的參數(shù)。
定義T(f,a|θT)損失函數(shù)為
(9)
其中:yi=ri+γTμθ[si+1,μθ(si+1)],γ表示折扣。所以,為了最小化損失函數(shù)L(θT),利用梯度下降法更新T(f,a|θT)的參數(shù)θT[12]:
θT←θT-λ?θTL
其中:λ為學(xué)習(xí)率。
T(f,a|θT)關(guān)于θμ的梯度為
(10)
SILVER等[13]證明公式(10)為確定性策略梯度。μ(f|θμ)的目標(biāo)是最大化T(f,a|θT),因此參數(shù)θμ按照梯度上升法更新:
θμ←θμ-λ?θμJ
(11)
文中采用前饋全連接神經(jīng)網(wǎng)絡(luò)表示μ(f|θμ)與T(f,a|θT)。由第1.2節(jié)可得,策略函數(shù)的輸入為狀態(tài)f,輸出為動(dòng)作a。因此,策略網(wǎng)絡(luò)μ(f|θμ)的輸入層為1個(gè)神經(jīng)元,輸出層為8個(gè)神經(jīng)元。隱藏層采用兩層,神經(jīng)元分別為400、300。所以,μ(f|θμ)第二層的輸入為
K2=ω1,2z2
(12)
第二層輸出為
P2=g(K2)
(13)
μ(f|θμ)第三層輸入為
K3=ω2,3P2+z3
(14)
第三層輸出為
P3=g(K3)
(15)
μ(f|θμ)輸出層的輸入為
K4=ω3,4P3
(16)
輸出層的輸出為
y=l(K4)
(17)
動(dòng)作值函數(shù)計(jì)算環(huán)境在狀態(tài)f與動(dòng)作a下得到的期望累積獎(jiǎng)勵(lì),因而動(dòng)作值函數(shù)的輸入為f與a,輸出為動(dòng)作值Tμθ(f,a)。所以,動(dòng)作值網(wǎng)絡(luò)T(f,a|θT)的輸入層為9個(gè)神經(jīng)元,輸出層為1個(gè)神經(jīng)元,隱藏層同樣采用兩層,神經(jīng)元分別是400、300。輸出層沒(méi)有激活函數(shù),直接輸出神經(jīng)網(wǎng)絡(luò)計(jì)算出的動(dòng)作值。
在上面神經(jīng)網(wǎng)絡(luò)各層之間,g( )與l( )分別為神經(jīng)網(wǎng)絡(luò)層的激活函數(shù)。神經(jīng)網(wǎng)絡(luò)中每層神經(jīng)元的輸入可以表示為:H=ωTx+b。激活函數(shù)在神經(jīng)網(wǎng)絡(luò)中目的是引入非線性因素,提高神經(jīng)網(wǎng)絡(luò)的非線性逼近能力。因此每個(gè)神經(jīng)元的輸出為u=f(z),f( )表示激活函數(shù)。
T(f,a|θT)與μ(f|θμ)的隱藏層采用ReLU函數(shù)作為激活函數(shù),因此:
g(x)=ReLU(x)=max(0,x)
(18)
神經(jīng)網(wǎng)絡(luò)在反向梯度傳遞時(shí),很容易發(fā)生梯度消失,相比較于其他激活函數(shù),ReLU函數(shù)計(jì)算速度快,解決了梯度消失問(wèn)題,因此采用ReLU函數(shù)作為中間層的激活函數(shù)。
T(f,a|θT)輸出層不采用激活函數(shù),直接輸出動(dòng)作值網(wǎng)絡(luò)的計(jì)算結(jié)果;μ(f|θμ)的輸出層則采用tanh函數(shù):
(19)
tanh函數(shù)將神經(jīng)元的輸出限定在[-1,1]之間,因此策略網(wǎng)絡(luò)輸出的動(dòng)作值在[-1,1],所以采用區(qū)間變換,將動(dòng)作值從[-1,1]轉(zhuǎn)換到原區(qū)間。
設(shè)動(dòng)作a=[a1,…,a8]第i個(gè)優(yōu)化變量ai的原取值范圍為[m,n],因此區(qū)間變換公式為
(20)
(21)
MNIH等[15]最先證明,采用經(jīng)驗(yàn)緩存和目標(biāo)神經(jīng)網(wǎng)絡(luò)凍結(jié)可以提高神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率以及魯棒性。經(jīng)驗(yàn)緩存指建立一個(gè)經(jīng)驗(yàn)池D將wi={fi,ai,τi,fi+1}作為一組數(shù)據(jù)存儲(chǔ)到D內(nèi),D={w1,w2,…,wR}。當(dāng)D存滿(mǎn)數(shù)據(jù)時(shí),采用隨機(jī)抓取的方法在D內(nèi)抓取數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),隨后Agent繼續(xù)與環(huán)境交互生成新的數(shù)據(jù)存入經(jīng)驗(yàn)池D內(nèi)覆蓋舊數(shù)據(jù)。
設(shè)神經(jīng)網(wǎng)絡(luò)每次訓(xùn)練從經(jīng)驗(yàn)池D抓取N個(gè)wi。由T(f,a|θT)的損失函數(shù)可得,yi為目標(biāo)動(dòng)作值。因此建立目標(biāo)策略網(wǎng)絡(luò)μ′(f|θμ)與目標(biāo)動(dòng)作值網(wǎng)絡(luò)T′(f,a|θT′)計(jì)算yi。所以,第i個(gè)目標(biāo)動(dòng)作值:
(22)
(23)
策略網(wǎng)絡(luò)的更新為
(24)
目標(biāo)神經(jīng)網(wǎng)絡(luò)的作用是計(jì)算目標(biāo)動(dòng)作值,如果目標(biāo)動(dòng)作值與實(shí)際動(dòng)作值采用一個(gè)神經(jīng)網(wǎng)絡(luò)計(jì)算,則當(dāng)神經(jīng)網(wǎng)絡(luò)參數(shù)更新時(shí),目標(biāo)動(dòng)作值也會(huì)發(fā)生改變導(dǎo)致神經(jīng)網(wǎng)絡(luò)最終無(wú)法收斂。因此建立目標(biāo)神經(jīng)網(wǎng)絡(luò)μ′(f|θμ′)與T′(f,a|θT′),μ′(f|θμ′)與T′(f,a|θT′)參數(shù)θμ′、θT′會(huì)在一定的時(shí)間內(nèi)保持不變,當(dāng)主網(wǎng)絡(luò)更新一定的次數(shù)后,目標(biāo)網(wǎng)絡(luò)的參數(shù)會(huì)采用軟更新的方法,如公式(25)所示,ξ為軟更新系數(shù)。
(25)
所以,基于MDP的DDPG算法進(jìn)行定模動(dòng)輥機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化的流程為:
第一步:初始化神經(jīng)網(wǎng)絡(luò)參數(shù)θμ、θT、θμ′=θμ,θT′=θT。
第二步:初始化經(jīng)驗(yàn)池D大小R。
第三步:For episode=1 toP:
第四步:初始化動(dòng)作噪聲ψ。
第五步:Fort=1 toK:
第六步:μ(s|θμ)基于狀態(tài)fi輸出動(dòng)作ai,將μ(f)=ai+ψ代入到動(dòng)力學(xué)方程,采用龍格-庫(kù)塔法求解動(dòng)力學(xué)方程得到狀態(tài)fi+1,用獎(jiǎng)勵(lì)函數(shù)τ(f,a)計(jì)算τi。
第七步:將wi儲(chǔ)存到經(jīng)驗(yàn)池D。
第八步:if 經(jīng)驗(yàn)池=TRUE:
更新Q(s,a|θT):
θT←θT-λ?θTL
更新μ(s|θμ):
θμ←θμ+λ?θμJ
更新μ′(s|θμ′)Q′(s,a|θQ′):
θμ′←ξθμ-(1-ξ)θμ′
θT′←ξθT-(1-ξ)θT′
End if
End for
End for
文中采用前饋全連接神經(jīng)網(wǎng)絡(luò)。上述優(yōu)化過(guò)程中,神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)、層數(shù)、權(quán)重等參數(shù)如表2所示,其中N(0,0.1)表示高斯分布。DDPG算法其余參數(shù)設(shè)置如表3所示。
表2 神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置
表3 DDPG算法參數(shù)設(shè)置
基于DDPG算法得到的T(f,a|θT)與μ(f|θμ)的訓(xùn)練過(guò)程,以及每輪次總獎(jiǎng)勵(lì)值變化如圖3、圖4、圖5所示。
圖3 μ(f|θμ)訓(xùn)練過(guò)程 圖4 T(f,a|θT)訓(xùn)練過(guò)程
圖5 每輪次獎(jiǎng)勵(lì)值
由圖3可得:隨著Agent不斷學(xué)習(xí),算法找到的策略的動(dòng)作值也在不斷上升。在0~5 000次,動(dòng)作值從-10上升到0,在5 000~40 000次動(dòng)作值從1上升到6左右。圖4中動(dòng)作值網(wǎng)絡(luò)的損失值在0~5 000次下降得非常迅速,在5 000次后逐漸收斂到0。圖5顯示的是每輪次的獎(jiǎng)勵(lì)值之和,由圖5可得:在0~25輪次中,獎(jiǎng)勵(lì)值的變化幅度最大,在25輪次之后,獎(jiǎng)勵(lì)值基本穩(wěn)定在150左右,表明算法已經(jīng)收斂。
DDPG算法優(yōu)化前后的8個(gè)變量取值如表4所示。
表4 設(shè)計(jì)變量?jī)?yōu)化結(jié)果
優(yōu)化前后得到的加速度圖像對(duì)比如圖6所示。
圖6 優(yōu)化結(jié)果對(duì)比
由圖6可得:優(yōu)化后的加速度曲線整體比優(yōu)化前減小,在0~2 s內(nèi)的加速度峰值由0.062 9 m/s2降低到0.055 2 m/s2。這表明基于強(qiáng)化學(xué)習(xí)方法的動(dòng)力學(xué)優(yōu)化有著顯著的優(yōu)化效果。
文中基于強(qiáng)化學(xué)習(xí)“試錯(cuò)”學(xué)習(xí)最優(yōu)策略的思想,采用DDPG算法對(duì)五道次定模動(dòng)輥彎?rùn)C(jī)電系統(tǒng)進(jìn)行動(dòng)力學(xué)優(yōu)化,研究可得:
(1)深度強(qiáng)化學(xué)習(xí)方法在多參數(shù)、多極值、多優(yōu)化變量的優(yōu)化問(wèn)題中有著良好表現(xiàn),能夠應(yīng)用于機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化工程問(wèn)題。
(2)通過(guò)采用深度強(qiáng)化學(xué)習(xí)方法優(yōu)化輥彎成型設(shè)備,提高了設(shè)備的運(yùn)行性能,為工業(yè)大批量生產(chǎn)提供了理論依據(jù)。
(3)以定模動(dòng)輥彎成型機(jī)為對(duì)象,驗(yàn)證深度強(qiáng)化學(xué)習(xí)在機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化的應(yīng)用效果,建立了機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化的一般馬爾科夫決策模型,為機(jī)電系統(tǒng)動(dòng)力學(xué)優(yōu)化提供新的優(yōu)化思路與方法。