模仿學習 (Imitation Learning) 與強化學習一樣,為了學習策略網(wǎng)絡,從而控制智能體。但是!兩者原理不同,
模仿學習向人類專家學習,目標是讓策略網(wǎng)絡做出的決策與人類專家相同。
強化學習利用環(huán)境反饋的獎勵改進策略,目標是讓累計回報最大化。
本文介紹模仿學習中最簡單和基礎(chǔ)的行為克隆(Behavior Cloning),并總結(jié)它與強化學習的區(qū)別與結(jié)合。
含義
行為克隆的目的是模仿人的動作,學出一個隨機策略網(wǎng)絡 π(a|s; θ)
或者確定策略網(wǎng)絡 μ(s; θ)
。雖然行為克隆的目的與強化學習中的策略學習類似,但是行為克隆的本質(zhì)是監(jiān)督學習(分類或者回歸),而不是強化學習。行為克隆通過模仿人類專家的動作來學習策略,而強化學習則是從獎勵中學習策略。
模仿學習需要一個事先準備好的數(shù)據(jù)集,由(狀態(tài),動作)這樣的二元組構(gòu)成,
其中sj 是一個狀態(tài),而對應的 aj 是人類專家基于狀態(tài) sj 做出的動作??梢园?sj 和 aj分別視作監(jiān)督學習中的輸入和標簽。
連續(xù)控制問題
動作空間 A 是連續(xù)集合,行為克隆用回歸的方法訓練確定策略網(wǎng)絡。
定義損失函數(shù):
損失函數(shù)越小,說明策略網(wǎng)絡的決策越接近人的動作。用梯度更新 θ:
離散控制問題
動作空間 A 是離散集合,行為克隆把策略網(wǎng)絡 π(a|s; θ) 看做一個多類別分類器,用監(jiān)督學習的方法訓練這個分類器。
行為克隆與強化學習對比
前面反復講過,行為克隆不是強化學習。強化學習讓智能體與環(huán)境交互,用環(huán)境反饋的獎勵指導策略網(wǎng)絡的改進,目的是最大化回報的期望。行為克隆的本質(zhì)是監(jiān)督學習,利用事先準備好的數(shù)據(jù)集,用人類的動作指導策略網(wǎng)絡的改進,目的是讓策略網(wǎng)絡的決策更像人類的決策。
行為克隆訓練出的策略網(wǎng)絡通常效果不佳。人類不會探索奇怪的狀態(tài)和動作,因此數(shù)據(jù)集上的狀態(tài)和動作缺乏多樣性。在數(shù)據(jù)集上做完行為克隆之后,智能體面對真實的環(huán)境,可能會見到陌生的狀態(tài),智能體的決策可能會很糟糕。行為克隆存在“錯誤累加”的缺陷。假如當前智能體的決策 at 不夠好。那么下一時刻的狀態(tài) st+1 可能會比較罕見,于是智能體的決策 at+1 會很差;這又導致狀態(tài) st+2 非常奇怪,使得決策 at+2 更糟糕。行為克隆訓練出的策略常會進入這種惡性循環(huán)。
強化學習效果通常優(yōu)于行為克隆。如果用強化學習,那么智能體探索過各種各樣的狀態(tài),嘗試過各種各樣的動作,知道面對各種狀態(tài)時應該做什么決策。智能體通過探索,各種狀態(tài)都見過,比行為克隆有更多的“人生經(jīng)驗”,因此表現(xiàn)會更好。
強化學習的一個缺點在于需要與環(huán)境交互,需要探索,而且會改變環(huán)境。 而在現(xiàn)實探索的代價有時是很大的,比如手術(shù)機器人和無人車。
行為克隆的優(yōu)勢在于離線訓練,可以避免與真實環(huán)境的交互,不會對環(huán)境產(chǎn)生影響。假如用行為克隆訓練手術(shù)機器人,只需要把人類醫(yī)生的觀測和動作記錄下來,離線訓練手術(shù)機器人,而不需要真的在病人身上做實驗。盡管行為克隆效果不如強化學習,但是行為克隆的成本低。可以先用行為克隆初始化策略網(wǎng)絡,而不是隨機初始化,然后再做強化學習,這樣可以減小對物理世界的有害影響。
本文內(nèi)容為看完王樹森和張志華老師的《深度強化學習》一書的學習筆記,十分推薦大家去看原書!