孔 樂,趙婷婷
(天津科技大學人工智能學院,天津 300457)
深度強化學習(deep reinforcement learning,DRL)[1]是一種以試錯機制與環(huán)境交互并最大化累積回報獲得最優(yōu)策略的機器學習范式.為得到最優(yōu)策略,DRL 要求智能體能夠對周圍環(huán)境有所認知、理解并根據任務要求做出符合環(huán)境情境的決策動作.目前,DRL 已在智能對話系統(tǒng)[2]、無人駕駛車[3-4]、存儲系統(tǒng)[5]、智能電網[6]、智能交通系統(tǒng)[7]、機器人系統(tǒng)[8]、航空航天系統(tǒng)[9]、游戲[10]及數字藝術智能系統(tǒng)[11]等領域取得突破性進展.
根據學習過程中環(huán)境模型是否可用,強化學習可分為模型化強化學習[12](model-based reinforcement learning,Mb-RL)和模型強化學習[12](model free reinforcement learning,Mf-RL).環(huán)境模型即系統(tǒng)動力學模型,是對狀態(tài)轉移函數的描述.Mf-RL 方法中,環(huán)境模型是未知的,智能體必須與真實環(huán)境進行大量交互獲得足夠多的訓練樣本才能保證智能體的決策性能.因此,Mf-RL 方法樣本利用率較低,如RainbowDQN 算法至少需要1 800 萬幀的訓練樣本或大約83 h 的訓練時間才能學會玩游戲,而人類掌握游戲所用時間遠遠少于此算法[13].盡管Mf-RL 方法在諸如游戲等虛擬決策任務中取得了良好的性能,但對于真實環(huán)境中的決策任務,收集充分的訓練樣本不僅需要大量時間與財力,樣本收集過程還對系統(tǒng)硬件配置提出了較高要求,甚至存在損壞智能系統(tǒng)的風險.另外,訓練樣本不足會導致智能體無法從少量訓練樣本中提取有用信息進行準確策略更新.相比之下,Mb-RL 方法在對環(huán)境精準建模后,智能體無需與真實環(huán)境互動就可以進行策略學習,可直接與環(huán)境模型交互生成所需訓練樣本,從而在一定程度上緩解強化學習在實際應用中學習效率低、樣本利用率低的問題.
模型化強化學習方法的基本思想是首先對環(huán)境動態(tài)建模,學習環(huán)境模型參數,當模型參數訓練收斂得到穩(wěn)定環(huán)境模型后,智能體便可直接與預測環(huán)境模型交互進行策略學習[14].整個過程中,僅在學習模型參數時需要一定訓練樣本,樣本需求量相對較小.然而,受環(huán)境噪聲、系統(tǒng)動態(tài)性等因素影響,預測的環(huán)境模型通常難以準確描述真實環(huán)境,即學到的環(huán)境模型與真實環(huán)境間存在模型誤差[15].使用存在模型誤差的環(huán)境模型生成數據進行策略學習將會產生更大誤差,最終導致任務失敗.為此,研究人員提出了一系列減小模型誤差、提高環(huán)境模型準確性的方法,如Dyna 模型化強化學習框架[16]、嵌入控制方法[17],基于神經網絡動力學和無模型微調的模型化深度強化學習方法(E2C)[18]、世界模型[19]等方法.其中,Dyna框架是Mb-RL 中最經典的學習模式,學習控制的概率推理方法(probabilistic inference for learning control,PILCO)[20]和基于最小二乘條件密度估計方法的模型化策略搜索算法(Mb-PGPE-LSCDE)[21]是Dyna 框架下經典的Mb-RL 方法.PILCO 方法已廣泛應用在機器人控制等領域,然而該方法將狀態(tài)轉移函數建模為高斯過程,且對回報函數也作了相應假設,這極大程度限制了它的實際應用;LSCDE 方法能夠擬合任意形狀的狀態(tài)轉移函數,但是當處理高維度狀態(tài)空間問題時存在模型表達能力不足的缺陷.
近年,針對不同的應用場景,研究者提出了一系列基于Mb-RL 的相關工作,如使用少量交互數據便可實現指定軌跡跟蹤任務的基于神經網絡動力學和無模型微調的模型化深度強化學習方法(MBMF)[18],支持圖像長期預測和復雜控制的嵌入控制方法(E2C)[17],易于復現、可實現快速學習并遷移至真實環(huán)境的世界模型方法[22],使用變分自編碼(variational autoencoder,VAE)[23]方法捕捉狀態(tài)轉移函數的方法等.上述相關工作在各自應用領域雖然已經取得較好成果,但是面向大規(guī)模復雜動態(tài)環(huán)境如何得到準確環(huán)境模型,仍是該領域亟待解決的問題.
生成對抗網絡(generative adversarial networks,GAN)[24]是Goodfellow 于2014 年提出的生成模型,它在數據生成方面取得巨大進展,并已廣泛應用于圖像風格遷移[25]、視頻預測[26]、自然語言處理[27]等領域.GAN 由生成器(generator,G)和判別器(discriminator,D)組成,生成器G 旨在生成趨近真實數據分布的偽造數據,判別器D 則旨在正確區(qū)分偽造數據和真實數據,二者在對抗中逐漸達到納什均衡.
本文借助GAN 在數據生成方面的優(yōu)勢,提出一種基于GAN 的環(huán)境模型學習方法.條件生成對抗網絡(conditional generative adversarial networks,CGAN)對生成器G 和判別器D 分別作了限定,是GAN 的變體之一,同樣具備GAN 的諸多優(yōu)勢[28].該方法是將CGAN 與Mb-RL 結合應用在學習狀態(tài)轉移模型上的首次嘗試.本文將CGAN 與擅長處理連續(xù)動作空間的策略搜索方法結合,提出一種基于CGAN 的模型化策略搜索方法.與傳統(tǒng)環(huán)境模型學習方法相比,該方法優(yōu)勢在于:傳統(tǒng)概率生成模型需要馬可夫鏈式的采樣和推斷,而GAN 避免了此類計算復雜度高的過程,在一定程度上提高了生成模型在學習環(huán)境模型中的應用效率;GAN 的對抗訓練機制可以逼近任意復雜的目標函數,使得在概率密度不可計算時,基于GAN 的環(huán)境模型學習方法依然適用.
強化學習是指智能體在未知環(huán)境中,通過不斷與環(huán)境交互,學習最優(yōu)策略的學習范式.智能體是具有決策能力的主體,通過狀態(tài)感知、動作選擇和接收反饋與環(huán)境互動.通常,智能體與環(huán)境的交互過程可建模為馬爾可夫決策過程(markov decision process,MDP)[29],一個完整的MDP 由狀態(tài)、動作、狀態(tài)轉移函數、回報構成的五元組(S、A、P、P0、R)表示,其中:S 表示狀態(tài)空間,是所有狀態(tài)的集合,st為t 時刻所處狀態(tài);A 表示動作空間,是所有動作的集合,at為t 時刻所選擇的動作;P 表示狀態(tài)轉移概率,即環(huán)境模型,根據狀態(tài)轉移概率是否已知,強化學習方法分為Mb-RL 和Mf-RL;P0表示初始狀態(tài)概率,是隨機選擇某一初始狀態(tài)的可能性表示;R 表示智能體的累積回報,rt為t 時刻的瞬時回報.
在每個時間步長t,智能體首先觀察當前環(huán)境狀態(tài)st,并根據當前策略函數決策選擇并采取動作at,所采取動作一方面與環(huán)境交互,依據狀態(tài)轉移概率p (st+1| st,at)實現狀態(tài)轉移,另一方面獲得瞬時回報rt,該過程不斷迭代T 次直至最終狀態(tài),得到一條路徑hn:=
強化學習的目標是找到最優(yōu)策略,從而最大化期望累積回報.當得到一條路徑后,便可計算該路徑的累積回報
其中0≤γ<1,決定回報的時間尺度.
累積回報的期望衡量策略好壞,累積回報期望為
策略搜索方法是一種策略優(yōu)化方法,該方法直接對策略進行學習,適用于解決具有連續(xù)動作空間的復雜決策任務[13],本文將使用策略搜索方法進行策略學習.
策略搜索方法的學習目的是找到可最大化累積回報期望值J(θ)的參數θ,即最優(yōu)策略參數θ*為
其中θ 是策略參數,累積回報期望J(θ)是策略參數θ的函數.
其中0≤γ1<,決定回報的時間尺度.
目前,最具代表性的策略搜索算法有PEGASUS[13]、策略梯度方法[30-31]、自然策略梯度方法[32]等.其中,策略梯度方法是尋找最優(yōu)策略參數最簡單、最常用的方法.鑒于策略梯度方法中的近端策略優(yōu)化方法(proximal policy optimization,PPO)的優(yōu)越性能,本文使用PPO 算法進行策略學習[33].
GAN 由生成器(generator,G) 和判別器(discriminator,D)組成,如圖1 所示,其中:黑色框圖為原始生成對抗網絡網絡結構,對生成器G 和判別器D 分別添加條件變量y 后(紅色虛線框圖),網絡結構為條件生成對抗網絡示意圖.生成器G 實現隨機變量假樣本數據G(z)的映射,z 通常為服從高斯分布的隨機噪聲,生成器G 的目的是使假樣本數據G(z)與真實數據x 高度相似.判別器D 接收真實數據x 或假樣本數據G(z)并輸出概率值,該概率值表征輸入數據是真實數據的幾率.若數據是真實數據,判別器D 輸出大概率;否則,判別器D 輸出小概率.
圖1 GAN結構示意圖Fig.1 Diagram of generative adversarial network
訓練過程中,生成器G 和判別器D 不斷交替更新模型參數,最終到達納什均衡.訓練過程可表示為關于值函數V(D,G)的極大化與極小化的博弈問題,其目標函數可表示為
式中:V(D,G)表示損失值;x 表示真實數據分布的采樣;z 表示隨機噪聲變量.
鑒于GAN 在數據生成方面的優(yōu)勢以及在強化學習領域取得的成功,本文擬用同樣具有優(yōu)秀數據生成能力的GAN 分支之一的CGAN 學習環(huán)境中的狀態(tài)轉移概率密度函數 PT(st+1| st,at).其中,CGAN(如圖1 所示)額外在生成模型G 和判別模型D 中引入條件變量y 對模型增加限定,用于指導數據生成過程.CGAN 的損失函數為
Mb-RL 方法需要首先學習得到精準的狀態(tài)轉移模型,策略學習階段便利用該模型生成所需樣本,減少智能體與環(huán)境的交互次數.
(2)利用CGAN 對狀態(tài)轉移函數pT(st+1| st,at)進行建模,使用第1 步搜集到的樣本進行模型的訓練.
(4)更新策略模型中的參數直至收斂,最終得到最優(yōu)策略π*.
Mb-RL 方法中,當狀態(tài)轉移模型能夠完全模擬真實環(huán)境時,智能體只需與學到的狀態(tài)轉移模型交互便可得到下一狀態(tài),從而減少智能體與真實環(huán)境的交互.因此,如何得到真實環(huán)境的狀態(tài)轉移函數是 Mb-RL 方法的關鍵.本文使用CGAN 捕捉真實環(huán)境的狀態(tài)轉移函數分布(圖2).
圖2 基于CGAN的環(huán)境模型學習方法Fig.2 Method of environment learning based on CGAN
狀態(tài)轉移函數中下一狀態(tài)st+1受當前狀態(tài)st和當前狀態(tài)下采取動作at的限定,是一個條件概率密度模型,表示為PT(st+1| st,at).因此,本文將當前狀態(tài)st和當前狀態(tài)下采取動作at作為CGAN 的條件變量y對生成器G 和判別器D 同時增加限定,指導下一狀態(tài)st1+生成.該條件變量y 和隨機變量z 同時作為生成器G 的輸入,此時生成器G 的輸出是當前狀態(tài)下st執(zhí)行動作at到達的下一狀態(tài)st+1.將該輸出與真實樣本數據連同條件變量y 同時輸入到判別器D 中,可估計一個樣本來自于訓練數據的概率.上述過程目標函數可表示為
在CGAN 模型訓練穩(wěn)定后,可直接將訓練穩(wěn)定的生成器G 作為環(huán)境預測模型,與智能體交互生成大量樣本數據用于策略學習.
1) 針對數控機床誤差耦合性的特點,首先通過提升小波分解機床誤差原始數據,從而可以有效準確地進行誤差預測;
綜上,本方法將CGAN 與PPO 結合尋找最優(yōu)策略,其中CGAN 將狀態(tài)動作空間模型化為狀態(tài)轉移模型(s′ | s, a),隨后利用學到的狀態(tài)轉移模型生成樣本用于PPO 的策略學習,從而得到最優(yōu)策略π*.
玩具問題能夠快速地驗證算法有效性,先將原始復雜問題轉化為簡單問題,再進行求解.本節(jié)將強化學習中的環(huán)境模型簡化為四核高斯分布,探索本文所提的基于CGAN 的環(huán)境模型學習方法在捕捉數據分布方面的能力.
本實驗將模擬實現基于CGAN 的環(huán)境模型學習方法的學習過程.實驗目的是使用基于CGAN 的環(huán)境模型學習數據分布,其中CGAN 中生成器G 和判別器D 的網絡模型均為多層感知機.實驗中各變量設置如下:變量y 代表CGAN 中的條件變量,該條件變量對應強化學習中t 時刻的狀態(tài)st和動作at,即[ st,at];x 為真實數據,對應強化學習中的下一狀態(tài)st+1.實驗從(0,1)區(qū)間隨機采樣得到條件y,經過二維轉移函數映射得到真實數據x.
其 中μ1=[5,35],μ2=[30,40],μ3=[20,20],μ4=[45,15],∑=[[30,0],[0,30]]且
最終得到的真實數據x 的分布是四核高斯混合分布.實驗初期,將真實數據x 歸一化到[-1,1],基于CGAN 的環(huán)境模型學習方法隨機選取條件變量集[ y1,y2,y3,…,yn]并通過公式(10)一一映射得到真實樣本數據集[ x1,x2,x3,…,xn],使用CGAN 對條件變量集和真實樣本數據集建模學習,訓練穩(wěn)定收斂后CGAN 中生成器G 可直接生成與真實樣本數據高度相似的數據分布.
為了分析本文所提算法在環(huán)境數據生成方面的能力,將本文所提出的基于CGAN 的環(huán)境模型學習方法與基于條件變分自編碼器(conditional variational autoencoder,CVAE)[23]的環(huán)境模型學習方法及相關工作MBMF 算法[18]所提出的使用神經網絡模型(neural network,NN)學習環(huán)境模型的方法進行對比實驗.
本實驗擬用基于CGAN 的環(huán)境模型學習方法在玩具問題中對指定形式的環(huán)境進行建模學習,實驗使用3 000 個條件變量y 以及對應的真實樣本數據x 對CGAN 訓練迭代5 000 次.測試階段,將在(0,1)區(qū)間選取500 個隨機數[ y1,y2,y3,…,y500]作為條件變量y 進行預測.
探索使用不同學習方法的學習過程.圖3 表示使用不同方法對環(huán)境進行學習的過程中得到的生成數據與對應真實數據間的誤差.模型訓練過程中,每迭代400 次對模型進行一次測試,計算測試結果與真實樣本數據[ x1,x2,x3,…,x500]的誤差.由圖3 可知,使用CGAN 方法的訓練初期,生成器G 與判別器D 在對抗中學習并不斷優(yōu)化自身,大約2 000 次迭代模型就可收斂到0.075,其學習收斂速度最快.此外,使用CGAN 方法學習環(huán)境模型的性能優(yōu)于使用CVAE 和NN 的方法,利用其得到真實數據與生成數據間的平均距離和方差明顯小于對比方法,且其性能也較穩(wěn)定.
圖3 學習過程中生成數據與真實數據間的誤差Fig.3 Errors in generative data and real data during the learning process
圖4 表示使用上述3 種方法預測的狀態(tài)轉移數據與真實數據間的均方差(mean squared error)對比結果.由圖4 可知,使用基于CGAN 生成數據的準確度明顯優(yōu)于CVAE 和NN 方法得到的數據.
圖4 不同預測方法狀態(tài)轉移數據與真實數據的均方差對比Fig.4 Mean squared errors in state transition data predicted by different methods and real data
真實數據分布、使用基于CGAN 的環(huán)境模型方法所得分布以及使用CVAE、NN 捕捉得到分布的對比結果如圖5 所示,每幅結果圖的中間部分表示在條件變量限定下的數據聯合分布,上側和右側分別表示數據在x 軸和y 軸的邊緣概率分布.在模型訓練穩(wěn)定后輸入為同一批隨機條件變量[ y1,y2,y3,…,y500]進行對比驗證.圖5(a)為真實數據分布;圖5(b)為同樣條件變量下使用基于 CGAN 的環(huán)境模型方法在CGAN 模型訓練穩(wěn)定收斂后,僅使用其中的生成器G 捕捉得到的數據預測分布;圖5(c)為使用CVAE方法進行模型訓練收斂后,在同樣條件變量下捕捉得到的數據預測分布;圖5(d)為使用NN 方法在模型訓練收斂后的數據預測分布.從圖5 可以看出,在相同條件變量的限定下,基于CGAN 的環(huán)境模型學習方法相比使用CVAE、NN 方法捕捉數據分布的方法,具有較好的表現性能,不僅可以生成與真實數據分布高度相似的樣本,高效地捕捉聯合分布,在捕捉邊緣概率分布方面也可得到較好結果.使用CVAE方法雖然可以學習到邊緣分布的大體分布是雙峰的,但并不能很好地捕捉到數據聯合分布,最終捕捉到的結果為三核高斯分布,且每個高斯核的數據相對集中.以上結果是由于CVAE 中使用的變分方法引入了決定性偏置,優(yōu)化的是對數似然下界而不是似然度本身,導致了變分自編碼器生成的實例比條件生成對抗網絡生成的更模糊,進而會導致概率較小的數據很難捕捉到.
圖5 不同方法的生成數據對比Fig.5 Comparison of data generated by different methods
綜上,本文所提的基于CGAN 的環(huán)境模型學習方法可以用來學習強化學習中的環(huán)境模型,并能夠取得較好結果,且能較快收斂.
本文將深度強化學習在實際應用中面臨的瓶頸問題作為研究背景,對已有模型化強化學習進行詳細研究,在條件生成對抗網絡的基礎上,提出一種基于條件生成對抗網絡的模型化策略搜索強化學習方法.該方法首先利用條件生成對抗網絡對環(huán)境中的狀態(tài)轉移函數進行學習,再利用經典策略學習方法尋找最優(yōu)策略.通過實驗驗證了該方法能夠很好地捕捉到狀態(tài)轉移函數的數據分布,為策略學習提供充足的學習樣本.