1
雷鋒網(wǎng) AI 科技評論按:本文的作者是來自加州大學(xué)伯克利分校人工智能實(shí)驗(yàn)室(BAIR)的博士生 Vitchyr Pong,他的主研方向?yàn)樯疃葟?qiáng)化學(xué)習(xí)。在本篇博客中作者介紹了自己發(fā)表于正在進(jìn)行的 ICLR 2018 的一項(xiàng)最新工作——時間差分模型(Temporal Difference Models),該模型屬于強(qiáng)化學(xué)習(xí)中的一種,并且很好地綜合了無模型方法與基于模型方法兩種策略各自的優(yōu)點(diǎn),雷鋒網(wǎng) AI 科技評論根據(jù)原文進(jìn)行了編譯。
假設(shè)你想從伯克利加州大學(xué)旁的房子騎行前往金門大橋。雖然這將會是一段風(fēng)景優(yōu)美的20英里騎行,但是卻存在一個嚴(yán)重的問題:你從來沒有騎過自行車!更糟糕的是,你剛搬來灣區(qū)所以你對這里一點(diǎn)都不熟悉,而你所能依賴的唯一工具就是一份制作精良的最新地圖。那么你該如何開始這趟旅程?
首先我們需要弄清楚自行車是怎么騎的。其中一種策略是進(jìn)行大量的學(xué)習(xí)和規(guī)劃,閱讀關(guān)于如何騎自行車的書籍,以及學(xué)習(xí)物理學(xué)和人體結(jié)構(gòu),規(guī)劃好你為了應(yīng)對每種擾動而做出的所有不同的肌肉運(yùn)動。這種方法盡管乍看之下非常系統(tǒng)和高級,但是對于任何學(xué)過自行車的人來說,他們都知道這種策略注定是要失敗的。事實(shí)上學(xué)習(xí)如何騎自行車只有唯一一種方法:嘗試和犯錯。因?yàn)橄耱T自行車這樣的任務(wù)實(shí)在是太過于復(fù)雜了,它遠(yuǎn)遠(yuǎn)超出了你所能規(guī)劃的范圍。
而一旦你學(xué)會了如何騎自行車,你又將如何前往金門大橋?你可以再次使用嘗試和犯錯策略(Trial-and-error strategy)。你開始嘗試著漫無目的地在周圍瞎轉(zhuǎn)了幾圈,看看是否能碰巧找到金門大橋??墒遣恍业氖?,采取這一策略會消耗你大量的時間。對于這樣的問題,規(guī)劃(Planning)就是一種來得更快的策略,并且只需要相當(dāng)少的現(xiàn)實(shí)世界的經(jīng)驗(yàn)(Real-world experience)和試錯(Trial-and-error)次數(shù)。在強(qiáng)化學(xué)習(xí)的術(shù)語中,這就是具有更好的采樣效率(Sample-efficient)。
剛剛這項(xiàng)思維實(shí)驗(yàn)雖然很簡單,但是它卻突出了人類智能的一些重要方面。對于某些任務(wù),我們會使用嘗試和犯錯的方法,而對于其它的一些任務(wù)我們則使用規(guī)劃的策略。強(qiáng)化學(xué)習(xí)(Reinforcement learning, RL)中似乎存在類似的現(xiàn)象。按照強(qiáng)化學(xué)習(xí)的說法,實(shí)驗(yàn)結(jié)果證明,一些任務(wù)更適合于無模型(嘗試和犯錯)方法,而另外一些任務(wù)則更適合于基于模型的方法(規(guī)劃)。
然而,騎自行車的類比也強(qiáng)調(diào)了這兩個系統(tǒng)并不是完全獨(dú)立的。特別是,說學(xué)騎自行車的過程只是試錯法的說法也是過于簡化。事實(shí)上,當(dāng)通過反復(fù)試錯學(xué)習(xí)騎車時,你也會采用一些規(guī)劃方法。也許你的初始計(jì)劃是「不要摔倒」,然后隨著你的進(jìn)步,你會制定更加雄心勃勃的計(jì)劃,比如「自行車向前走兩米卻不會摔倒」,最終,你的自行車騎行技巧開始變得嫻熟,所以你開始給自己制定一些非常抽象的計(jì)劃(「騎到路的盡頭」),在這個階段你所需要做的事情就是進(jìn)行規(guī)劃,而不需要再去擔(dān)心關(guān)于騎自行車的細(xì)節(jié)問題。通過這個過程,我們可以看到,這中間我們逐漸從無模型(嘗試和犯錯)策略過渡到基于模型(規(guī)劃)的策略。那么如果我們可以開發(fā)出能模擬這種行為的人工智能算法(特別是強(qiáng)化學(xué)習(xí)算法),該算法就有可能同時具備高性能(算法學(xué)習(xí)早期的時候采用試錯方法)和高采樣效率(之后切換到規(guī)劃方法來實(shí)現(xiàn)更加抽象的目標(biāo))的優(yōu)點(diǎn)。
這篇文章介紹了時間差分模型(Temporal difference model, TDM),它屬于強(qiáng)化學(xué)習(xí)的一種,并且能夠實(shí)現(xiàn)無模型和基于模型的強(qiáng)化學(xué)習(xí)之間的平滑過渡。在介紹時間差分模型之前,我們將首先介紹一個典型的基于模型的強(qiáng)化學(xué)習(xí)是如何工作的?
在強(qiáng)化學(xué)習(xí)算法中,我們有一些狀態(tài)空間 S 和動作空間 A。如果在時間 t 我們處于狀態(tài),然后采取動作
,我們將根據(jù)動態(tài)模型(Dynamics model)
轉(zhuǎn)移到新狀態(tài)
。然后我們的目標(biāo)是最大化之前所有達(dá)到過的狀態(tài)的獎勵之和:
?;谀P偷膹?qiáng)化學(xué)習(xí)算法假設(shè)我們已經(jīng)給出(或者學(xué)習(xí))動態(tài)模型 f。鑒于這個動態(tài)模型,現(xiàn)實(shí)中已經(jīng)存在有許多基于模型的算法。對于本文,我們考慮執(zhí)行以下優(yōu)化的方法來選擇一系列動作和狀態(tài)以最大化獎勵:
這個優(yōu)化函數(shù)將指導(dǎo)算法選擇一系列狀態(tài)和動作以最大化獎勵,同時還將確保軌跡是可行的。在這里軌跡可行意味著,每一個當(dāng)前狀態(tài)到下一個狀態(tài)的轉(zhuǎn)換都是有效的。例如,在下面的圖片中,如果你從 st 狀態(tài)開始并采取動作,則只有最上面一行的 st+1 狀態(tài)是可行的轉(zhuǎn)換。
在我們的自行車問題中,優(yōu)化結(jié)果可能產(chǎn)生如下圖這樣一條路線規(guī)劃,自行車從伯克利出發(fā)(右上角),最終到達(dá)金門大橋(左側(cè)中部):
雖然這在概念上而言挺好的,但是這個規(guī)劃在現(xiàn)實(shí)中卻不太現(xiàn)實(shí)?;谀P偷姆椒ㄔ诿恳淮螘r間步(Time step)使用模型 f(s, a) 來預(yù)測下一次的狀態(tài)。在機(jī)器人技術(shù)中,一個時間步長通常相當(dāng)于十分之一秒或百分之一秒。因此,對于最終規(guī)劃的更現(xiàn)實(shí)描述可能如下所示:
如果我們稍微思考一下自己在每天日常生活中是如何進(jìn)行規(guī)劃的,我們就會意識到我們計(jì)劃的時間更為抽象。我們并沒有規(guī)劃自行車在接下來的十分之一秒將所處的位置,而是制定了更長期的計(jì)劃,例如「我將走到路的盡頭」。此外,我們只有在開始的時候已經(jīng)學(xué)會了如何騎自行車,才能制定出這些時間抽象規(guī)劃(Temporally abstract plans)。正如前面所述,我們需要一些方法來(1)剛開始學(xué)習(xí)時采用試錯方法;然后(2)提供一種機(jī)制來逐步提高我們規(guī)劃的抽象程度。為此,我們引入了時間差分模型。
時間差分模型可以寫成 Q(s, a, sg, τ),這個函數(shù)的含義是,給定一個狀態(tài) s,動作 a 和目標(biāo)狀態(tài) sg,去預(yù)測智能體在 τ 時間步內(nèi)能夠在多大程度上去接近目標(biāo)。直觀而言,時間差分模型回答了這樣的問題「如果我要在 30 分鐘內(nèi)騎自行車前往舊金山,那么我能走到距離舊金山多遠(yuǎn)的距離?」。對于機(jī)器人技術(shù),測量接近程度的一種很自然的方法就是歐幾里得距離。
對于那些熟悉強(qiáng)化學(xué)習(xí)的人來說,事實(shí)證明時間差分模型可以被看做有限期馬爾科夫決策過程(Finite-horizon Markov Decision Process)中的目標(biāo)條件 Q 函數(shù)。因?yàn)闀r間差分模型只是另一個 Q 函數(shù),所以我們可以使用無模型(試錯法)算法對其進(jìn)行訓(xùn)練。我們使用深度確定性策略梯度(Deep deterministic policy gradient, DDPG)來訓(xùn)練時間差分模型,并追溯性地重新標(biāo)記目標(biāo)和時間范圍,以提高學(xué)習(xí)算法的采樣效率。雖然理論上講,任何 Q 學(xué)習(xí)算法都可以用來訓(xùn)練時間差分模型,但是我們發(fā)現(xiàn)這么做是更加有效的。讀者們?nèi)绾蜗胍私飧嗟募?xì)節(jié)請閱讀我們的論文。
如果我們完成了時間差分模型的訓(xùn)練之后,我們要如何使用它來進(jìn)行規(guī)劃呢?事實(shí)證明,我們可以通過以下優(yōu)化來進(jìn)行規(guī)劃:
直觀來看,該公式與基于模型的公式非常相似,都是選擇能夠最大化獎勵并且軌跡可行的一系列動作和狀態(tài)。而一個關(guān)鍵的區(qū)別就是我們只規(guī)劃每 K 個時間步,而不是對每個時間步進(jìn)行規(guī)劃。Q(st, at, st+K, K) = 0 的約束限制了軌跡的可行性。視覺上而言,針對每個時間步進(jìn)行規(guī)劃的情況就像下圖:
取而代之的是,我們可以針對這 K 個時間步直接進(jìn)行規(guī)劃,如下圖:
隨著 K 值的增大,我們將得到在時間上越來越抽象的規(guī)劃。在 K 個時間步之間,我們使用無模型方法來采取動作,從而允許無模型策略「抽象出」 達(dá)到目標(biāo)過程中的實(shí)現(xiàn)細(xì)節(jié)。對于騎車問題,采用足夠大的 K 值,最終優(yōu)化的結(jié)果可能會生成如下圖的一個規(guī)劃:
基于模型的規(guī)劃者可以被用于選擇時間抽象目標(biāo),而無模型算法則可以被用于實(shí)現(xiàn)這一目標(biāo)。
一個需要注意的點(diǎn)是,這個公式只能在每 K 個步驟中優(yōu)化獎勵。然而,許多任務(wù)只關(guān)心一些狀態(tài),例如最終狀態(tài)(比如說「達(dá)到金門大橋」),因此該方法依然能捕獲到各種各樣有趣的任務(wù)。
事實(shí)上,我們并不是第一個看到基于模型和無模型強(qiáng)化之間聯(lián)系的人。Parr'08 和 Boyan'99 特別相關(guān),盡管他們主要關(guān)注表格式和線性函數(shù)逼近器。在 Sutton'11 和 Schaul'15 中,在機(jī)器人導(dǎo)航和 Atari 游戲的背景下,還探索了訓(xùn)練目標(biāo)條件 Q 函數(shù)的想法。最后,我們使用的再次標(biāo)簽方案(Relabelling scheme)則是受到了 Andrychowicz'17 工作的啟發(fā)。
我們在五個模擬連續(xù)控制的任務(wù)和一個真實(shí)世界的機(jī)器人任務(wù)上測試了時間差分模型。其中一項(xiàng)模擬任務(wù)是訓(xùn)練機(jī)器人手臂將氣缸推送到目標(biāo)位置。下面展示了最終實(shí)現(xiàn)推動氣缸的時間差分模型策略和相關(guān)的學(xué)習(xí)曲線:
成功達(dá)成了目標(biāo)任務(wù)的時間差分模型策略
在學(xué)習(xí)曲線中,我們繪制了到達(dá)目標(biāo)最終距離(Final distance to goal)與環(huán)境采樣(Environment Samples)量之間的關(guān)系圖(曲線越低越好)。我們的模擬環(huán)境以 20 Hz 的頻率控制著機(jī)器人,這意味著模擬環(huán)境中 1000 個時間步等價于真實(shí)世界中的 50 秒。這種環(huán)境的動態(tài)模型相對容易學(xué)習(xí),這意味著基于模型的方法將取得優(yōu)良的表現(xiàn)。正如預(yù)期的那樣,基于模型的方法(紫色曲線)擬合得非??欤ù蠹s 30000 個時間步,或者說約 25 分鐘)并且效果也非常好。時間差分模型方法(藍(lán)色曲線)也可以快速擬合(大約 20000 步或者說約 17 分鐘)。無模型的深度確定性策略梯度(DDPG,不采用時間差分模型)基準(zhǔn)最終也解決這一任務(wù),但是它需要更多的訓(xùn)練樣本。而時間差分模型方法能夠如此之快地實(shí)現(xiàn)擬合的原因之一是,它的有效性是一種偽裝的基于模型的方法。
當(dāng)我們轉(zhuǎn)向運(yùn)動型任務(wù)時,無模型方法的結(jié)果看起來好多了,而運(yùn)動型任務(wù)的動態(tài)性更強(qiáng)。其中一項(xiàng)運(yùn)動型任務(wù)涉及訓(xùn)練一個四足機(jī)器人移動到特定位置。由此產(chǎn)生的時間差分模型策略(TDM)在下圖的左側(cè)做了展示,然后右側(cè)的曲線是相對應(yīng)的學(xué)習(xí)曲線。
正如我們使用嘗試和犯錯策略而不是規(guī)劃策略來學(xué)習(xí)騎自行車一樣,我們期望無模型方法在這些運(yùn)動型任務(wù)中的表現(xiàn)要比基于模型的方法來的更好。這正是我們在學(xué)習(xí)曲線中看到的:基于模型的方法在性能上保持平穩(wěn)。雖然無模型的 DDPG 方法學(xué)習(xí)速度更慢,但最終的性能卻優(yōu)于基于模型的方法。時間差分模型能夠快速學(xué)習(xí)(擬合)并獲得最佳的性能。在這篇論文中還進(jìn)行了更多的實(shí)驗(yàn)研究,包括訓(xùn)練一個真實(shí)世界中具有 7 自由度的鋸木工機(jī)器人來找到目標(biāo)位置。我們鼓勵讀者自己去閱讀論文!
時間差分模型為從無模型到基于模型的控制插值提供了一種形式化和實(shí)用的算法。但是,未來還有很多工作要做。首先,我們求導(dǎo)時假設(shè)環(huán)境和策略都是確定性的。而實(shí)際上,大多數(shù)環(huán)境下這些都是隨機(jī)的。即便它們是確定性的,在實(shí)踐中采用隨機(jī)策略也有令人信服的理由(可以參見這篇博客,里邊舉了一個例子)。然后如果把 TDM 擴(kuò)展到此設(shè)置將有助于實(shí)現(xiàn)把 TDM 應(yīng)用到更真實(shí)的環(huán)境中去。另外一個想法就是把 TDM 與可選的基于模型的規(guī)劃優(yōu)化算法(Alternative model-based planning optimization algorithms)相結(jié)合,這個算法我們在本篇論文中使用過。最后,我們希望將 TDM 應(yīng)用于真實(shí)世界的機(jī)器人身上去實(shí)現(xiàn)更難的挑戰(zhàn),比如運(yùn)動、操作,當(dāng)然還有騎自行車去金門大橋。
這項(xiàng)工作將在 ICLR 2018 上展示。想要了解更多關(guān)于 TDM 的信息,請查看以下鏈接,也歡迎你在溫哥華 ICLR 的海報展區(qū)中與作者們交流:
補(bǔ)充:我們之所以將該方法命名為時間差分模型是因?yàn)?,我們使用時間差分學(xué)習(xí)(Temporal difference learning)訓(xùn)練 Q,然后將 Q 作為模型使用。
Via TDM: From Model-Free to Model-Based Deep Reinforcement Learning,雷鋒網(wǎng) AI 科技評論編譯。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。