楊高光
(上海交通大學(xué) 電子信息與電氣工程學(xué)院, 上海 200240)
在核電主控室的人機(jī)界面操作環(huán)境中,人為因素失誤已成為引發(fā)工業(yè)事故的主要因素[1]。許多經(jīng)驗(yàn)表明,提升工業(yè)自動(dòng)化水平是提升生產(chǎn)力、降低人員失誤的有效手段。同時(shí),人機(jī)界面輔助決策系統(tǒng)可以降低對(duì)專家的依賴水平,緩解人才需求難題。
在輔助決策系統(tǒng)上,傳統(tǒng)方法主要關(guān)注兩方面研究:一方面通過(guò)調(diào)整系統(tǒng)展示宏觀架構(gòu);另一方面利用計(jì)算機(jī)技術(shù)將現(xiàn)有的操作規(guī)程或者電廠組成架構(gòu)數(shù)字化和可視化。如為指揮中心提供緊急事故情況下的氣象、應(yīng)急響應(yīng)動(dòng)作模擬信息、電廠狀態(tài)判斷信息[2];通過(guò)建立故障樹為操作員提供可視化系統(tǒng)故障傳播途徑[3]。無(wú)論是調(diào)整信息展示架構(gòu),還是數(shù)字化和可視化操作規(guī)程,都沒有降低對(duì)于界面操作專家的依賴。本文主要關(guān)注于通過(guò)計(jì)算機(jī)技術(shù)學(xué)習(xí)專家操作策略,從而降低對(duì)于人機(jī)界面操作專家的依賴度。相比傳統(tǒng)輔助決策系統(tǒng),利用計(jì)算機(jī)學(xué)習(xí)專家操作策略,一方面可以提高工業(yè)自動(dòng)化水平,降低工業(yè)生產(chǎn)對(duì)于人力資源的需求,提升生產(chǎn)效率。同時(shí),計(jì)算機(jī)輔助決策系統(tǒng)在經(jīng)過(guò)實(shí)際驗(yàn)證后可作為智慧決策系統(tǒng),符合時(shí)代發(fā)展趨勢(shì);另外,實(shí)際生產(chǎn)中對(duì)于人類專家的培養(yǎng)往往消耗巨大成本,計(jì)算機(jī)輔助決策系統(tǒng)可降低對(duì)專家的依賴水平。本文通過(guò)基于Mujoco的仿真環(huán)境進(jìn)行實(shí)驗(yàn),驗(yàn)證了生成對(duì)抗模仿學(xué)習(xí)可以利用少量數(shù)據(jù)學(xué)得專家操作策略。文中首先介紹了將人機(jī)界面操作看作馬爾可夫決策過(guò)程的理論基礎(chǔ),然后依次從數(shù)據(jù)采集、策略表示和對(duì)操作策略的學(xué)習(xí)優(yōu)化方面介紹了系統(tǒng)模型從理論到學(xué)習(xí)的過(guò)程。最后,在Mujoco仿真環(huán)境驗(yàn)證了基于生成對(duì)抗模仿學(xué)習(xí)[4]來(lái)學(xué)習(xí)人機(jī)界面輔助決策系統(tǒng)的有效性。
人機(jī)界面輔助決策系統(tǒng)主要包括5個(gè)部分,如圖1所示。
圖1 人機(jī)界面輔助決策系統(tǒng)框圖
將專家在界面上的操作作為示范數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,學(xué)習(xí)專家在界面上的操作策略,利用學(xué)得的模型來(lái)為界面上的操作給出建議:提高人員操作的可靠性;降低人為因素失誤發(fā)生概率。
專家在界面上的操作過(guò)程可以看作是一個(gè)馬爾可夫決策過(guò)程,其中界面上顯示的數(shù)據(jù)用狀態(tài)s表示,所有狀態(tài)構(gòu)成一個(gè)狀態(tài)空間s∈S。專家在看到狀態(tài)s采取的動(dòng)作用a表示,所有動(dòng)作組成一個(gè)動(dòng)作空間A,則a∈A假設(shè)初始時(shí)刻為0,對(duì)應(yīng)的狀態(tài)和動(dòng)作記為s0,a0。專家在時(shí)刻t看到狀態(tài)st并且采取動(dòng)作at后由系統(tǒng)模型P(st+1|st,at)得到下一個(gè)狀態(tài)st+1。假設(shè)專家的操作策略表示為πE,即at=πE(st)。假設(shè)專家完成一項(xiàng)任務(wù)需要的時(shí)間長(zhǎng)度為T,那么專家每次進(jìn)行操作所遇到的狀態(tài)動(dòng)作序列可以表示為τ={(s0,a0),(s1,a1},…,(sT,aT)}。其中,τ稱為專家的操作軌跡或者示范軌跡。雖然這是一次完整的狀態(tài)動(dòng)作操作序列,但是這并不能表示這是專家的操作策略。因此,我們用多個(gè)專家的示范軌跡來(lái)表示專家的示范數(shù)據(jù):τdemo={τ0,τ1,…,τm-1},其中m表示示范樣本數(shù)據(jù)集大小。
由于專家可以從界面的各種符號(hào)標(biāo)記與大腦中記憶的相應(yīng)符號(hào)的含義,以及現(xiàn)場(chǎng)工藝流程的模塊連接方式相對(duì)應(yīng),因此人類專家可以通過(guò)界面上窗口相應(yīng)位置的符號(hào)、文字標(biāo)識(shí)、對(duì)應(yīng)的狀態(tài)數(shù)字或者圖形來(lái)獲取當(dāng)前現(xiàn)場(chǎng)狀態(tài)。但是計(jì)算機(jī)只能識(shí)別數(shù)字信息,不能夠識(shí)別界面上的標(biāo)識(shí),也不了解現(xiàn)場(chǎng)工藝流程。由于計(jì)算機(jī)和人類專家的這種認(rèn)知差異,我們?cè)诶糜?jì)算機(jī)進(jìn)行模仿學(xué)習(xí)時(shí)即不再是這種狀態(tài)讀取方式。受DeepMind星際爭(zhēng)霸啟發(fā),我們將所有界面展開成一個(gè)界面,即將服務(wù)器端傳入界面的所有狀態(tài)數(shù)據(jù)作為當(dāng)前狀態(tài),所有界面的控制指令作為當(dāng)前的動(dòng)作集,如圖2所示。
圖2 專家界面數(shù)據(jù)讀取和模仿學(xué)習(xí)數(shù)據(jù)讀取
常規(guī)界面顯示由于幅面限制,只能將數(shù)據(jù)分類在多層界面多個(gè)子界面顯示,而計(jì)算機(jī)模仿學(xué)習(xí)由于不需要在界面顯示狀態(tài)數(shù)據(jù),可以每次讀取全部狀態(tài)數(shù)據(jù)。
a.行為克隆
行為克隆(Behavioral Cloning,BC)算法是一種利用專家示范數(shù)據(jù)學(xué)習(xí)從環(huán)境狀態(tài)到專家動(dòng)作映射關(guān)系的一種模仿學(xué)習(xí)方法。雖然BC算法較為簡(jiǎn)單,但是卻對(duì)示范數(shù)據(jù)需求較大。BC算法是一種有監(jiān)督學(xué)習(xí)方法,利用線性規(guī)劃或者神經(jīng)網(wǎng)絡(luò)等方法學(xué)習(xí)從環(huán)境狀態(tài)到專家示范動(dòng)作之間的關(guān)聯(lián)。其常用的網(wǎng)絡(luò)結(jié)構(gòu)部分,如圖3所示。
圖3 GAIL模型結(jié)構(gòu)
以環(huán)境狀態(tài)s為輸入,將示范動(dòng)作a看作是環(huán)境狀態(tài)的函數(shù),如式(1)。
(1)
式中,wij表示權(quán)重系數(shù);si表示環(huán)境狀態(tài)變量單元。相對(duì)于生成對(duì)抗模仿學(xué)習(xí),這種模仿學(xué)習(xí)方式需要利用大量的示范數(shù)據(jù)擬合權(quán)重系數(shù)。(對(duì)BC算法的介紹,并且簡(jiǎn)要說(shuō)明BC和GAIL算法的區(qū)別。關(guān)于兩種算法的區(qū)別在實(shí)驗(yàn)分析部分會(huì)結(jié)合實(shí)驗(yàn)數(shù)據(jù)進(jìn)一步說(shuō)明)
b.生成對(duì)抗模仿學(xué)習(xí)
訓(xùn)練模型,如圖3所示。生成對(duì)抗網(wǎng)絡(luò)(GAIL)的網(wǎng)絡(luò)結(jié)構(gòu)主要包含兩部分:生成網(wǎng)絡(luò)πθ和判別網(wǎng)絡(luò)Dψ,兩者均采用全連接網(wǎng)絡(luò)。其中,生成網(wǎng)絡(luò)為目標(biāo)學(xué)習(xí)專家策略網(wǎng)絡(luò),用來(lái)生成學(xué)習(xí)策略:ag=πθ(sd);Dψ判別當(dāng)前策略為專家策略πE還是生成策略πθ。梯度上升用來(lái)增強(qiáng)對(duì)πθ和πE的分辨能力;梯度下降用來(lái)降低πθ和πE的誤差。πθ的因果熵為H(π),其中,πθ生成學(xué)習(xí)策略ag=πθ(sd)來(lái)對(duì)分辨網(wǎng)絡(luò)進(jìn)行欺騙,提升分辨網(wǎng)絡(luò)分辨能力的同時(shí)也提升生成網(wǎng)絡(luò)生成欺騙策略的能力。利用這個(gè)不斷博弈的過(guò)程使得生成網(wǎng)絡(luò)逐漸生成和專家策略一致的策略。當(dāng)ag=ad時(shí),πθ=πE。
專家的示范數(shù)據(jù)必然只是操作策略空間中的部分狀態(tài)動(dòng)作,往往不能夠包含全部特征。這時(shí),學(xué)習(xí)過(guò)程中必然會(huì)面臨當(dāng)前狀態(tài)不屬于示范狀態(tài)空間的情況。文獻(xiàn)[6]表明,當(dāng)前狀態(tài)不屬于狀態(tài)分布策略空間時(shí),采取均勻概率分布策略,即對(duì)所有動(dòng)作采取相同動(dòng)作概率,可以收獲最大信息熵。因此,以判別網(wǎng)絡(luò)的信息熵更新πθ和πE,最大最小化判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò),可以使得學(xué)得的πθ對(duì)τdemonstration中沒有的示范數(shù)據(jù)按照均勻概率分布處理如下。
πθ=πθ-π[ψlog(Dψ(s,a))]+πE[ψlog(1-Dψ(s,a))]
πE=πE+π[ψlog(Dψ(s,a))]+πE[ψlog(1-Dψ(s,a))]
以減小和專家界面操作策略的誤差。
Hopper控制界面,如圖4所示。
圖4 Hopper控制界面
本實(shí)驗(yàn)基于Mujoco平臺(tái)構(gòu)建的仿真模型作為界面控制對(duì)象,對(duì)比驗(yàn)證了GAIL和BC兩種算法在低維(跳躍機(jī)器人,Hopper。狀態(tài)空間11維,動(dòng)作空間3維)和高維(類人機(jī)器人,Humanoid。狀態(tài)空間376維,動(dòng)作空間17維)控制環(huán)境下進(jìn)行模仿學(xué)習(xí)的表現(xiàn)。(實(shí)驗(yàn)數(shù)據(jù)包含兩部分,低維環(huán)境實(shí)驗(yàn)和高維環(huán)境實(shí)驗(yàn))基于信賴區(qū)間最優(yōu)化方法(Trust Region Policy Optimization,TRPO)[5]算法在Openaigym平臺(tái)下學(xué)得的模型作為專家,從而為模仿學(xué)習(xí)提供示范數(shù)據(jù)。專家以在有限步驟內(nèi)獲得累計(jì)最大化獎(jiǎng)勵(lì)為目標(biāo),通過(guò)界面控制機(jī)器人運(yùn)動(dòng)。每次示范取最大步驟限制為1 000步,使得專家在界面上進(jìn)行1到50次示范。(實(shí)驗(yàn)數(shù)據(jù)樣本)將不同數(shù)量的專家示范數(shù)據(jù)用于GAIL和BC算法的模仿學(xué)習(xí)訓(xùn)練,并且以專家每次示范的平均獎(jiǎng)勵(lì)來(lái)對(duì)學(xué)得的模型進(jìn)行評(píng)價(jià)。(模型的評(píng)估標(biāo)準(zhǔn))其中,GAIL和BC算法的網(wǎng)絡(luò)模型均采用100個(gè)單元的雙層全連接網(wǎng)絡(luò),以tanh作為激活函數(shù)。兩種算法分別在兩種操作任務(wù)和不同訓(xùn)練樣本下學(xué)習(xí)的模型表現(xiàn),如圖5所示。
圖5 不同算法對(duì)應(yīng)不同訓(xùn)練樣本下學(xué)得模型的精度曲線(不同訓(xùn)練樣本的結(jié)果)
從圖5可以看出,當(dāng)使用單次操作示范數(shù)據(jù)來(lái)訓(xùn)練時(shí),BC算法在簡(jiǎn)單和復(fù)雜操作任務(wù)中所學(xué)得模型與專家模型的相似度表現(xiàn)均不到30%;而GAIL算法在復(fù)雜任務(wù)中使用單次示范數(shù)據(jù)時(shí)學(xué)得的模型與專家模型的相似度表現(xiàn)雖然只有91%,但是在簡(jiǎn)單操作任務(wù)中學(xué)得模型與專家模型的相似度可達(dá)96%。當(dāng)有10次專家示范數(shù)據(jù)時(shí),BC和Gail算法的模型都趨于穩(wěn)定。從利用10到50次示范數(shù)據(jù)訓(xùn)練效果看,BC算法在復(fù)雜任務(wù)中模仿學(xué)習(xí)的表現(xiàn)明顯不如簡(jiǎn)單操作任務(wù)。而GAIL算法無(wú)論是在簡(jiǎn)單操作任務(wù)還是在復(fù)雜操作任務(wù)中,都能夠達(dá)到99%的專家操作效果。由此可見,相比直接利用專家誤差進(jìn)行學(xué)習(xí),將判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò)結(jié)合,通過(guò)不斷自我對(duì)抗的學(xué)習(xí)方法不僅能夠?qū)W得更加接近專家操作策略的模型,還能夠應(yīng)對(duì)復(fù)雜環(huán)境。(不同訓(xùn)練數(shù)據(jù)樣本的結(jié)果對(duì)比分析,GAIL和BC算法的區(qū)別)
筆者提出了用生成對(duì)抗模仿學(xué)習(xí)的方法來(lái)構(gòu)建人機(jī)界面輔助決策系統(tǒng)的方法。生成對(duì)抗模仿學(xué)習(xí)可以通過(guò)最大熵優(yōu)化,以及生成網(wǎng)絡(luò)和分辨網(wǎng)絡(luò)的博弈降低對(duì)示范數(shù)據(jù)的依賴,從而可以僅利用少量專家示范數(shù)據(jù)來(lái)學(xué)得專家操作策略的分布函數(shù)。仿真結(jié)果表明:該方法具有數(shù)據(jù)利用率高、數(shù)據(jù)需求量小、學(xué)習(xí)精度高和學(xué)習(xí)模型穩(wěn)定等特點(diǎn)。