【遷移強化學習】論文筆記 - 對複雜任務進行分解學習
本文是對Saintinder Pal Signh的論文Transfer of learning by composing solutions of elemental sequential tasks做的一些筆記和解讀,主要圍繞模型的提出、定義和數學解釋,略去了後續實驗的部分,原論文地址:
Transfer of learning by composing solutions of elemental sequential tasks此篇論文主要針對的場景是:
- 對於複合任務,可以按照時間順序被分解為一系列首尾相接的基礎任務
- 每個基礎任務都是一個完整的MDP過程,
- 每個基礎任務只有終態有獎勵(即「成功!」,可以認為此處的獎勵即為基礎任務的目標)
- 獎勵不衰減( )
- 不同基礎任務只有獎勵不同,但是擁有相同的狀態空間、動作空間和遷移函數(即在同一個世界)
- 每個狀態下的每個動作會產生一個固定的消耗,該消耗與當前所處任務無關
- Agent會被給予每個任務的id(即:Agent知道自己何時進入了哪個任務)
此時Agent需要學習的是:
- 每個基礎任務的價值函數
- 在複合任務中,如何根據當前所處任務選擇合適的
比如,我告訴Agent:
你要先拿起鑰匙,然後打開門,而後拾起箱子,最後將箱子放在指定的位置
於是我設計四個MDP過程
- 在成功開門時獲得獎勵
- 在將箱子放在指定位置時獲得獎勵
- 在拿起鑰匙時獲得獎勵
- 在拾起箱子時獲得獎勵
而後我告訴Agent,有個複合任務3142,並且讓它去學習。在一次次的迭代中,她將分別學會這四個任務,並且知道何時採取何種任務的解決方式
在論文中,作者提出雖然強化學習的Agent可以為每個任務學習一個單獨的模型,但是這種方式對於互相擁有相關性的任務是既費時又費內存的。
考慮到人類個體的行為往往是在一個統一的大環境(即系統動力學不變的情況下)中完成一系列的基礎任務( Elemental Task ),例如,「坐下」,「拿起物品」,就是兩個反覆出現在各種任務里的基礎子任務。於是作者對於強化學習,提出了類似的方案,來學習如何將基礎任務組合成統一的任務。
論文所採用的方法基於如下假設:
- 每個基礎任務都有自己的終止狀態
- 所有任務在其MDT(Markov Decision Task)當中擁有相同的狀態空間 和動作空間 和環境動力學(即遷移函數)
- 回饋函數 在任務之間有所區別 (可以理解為:不同的任務意味著在同一個世界裡需要完成不同的目標)
在這種情況下,作者定義:
- 對於任務 ,有 ,其中:
- 在這個回饋函數中有兩個關鍵項:
- 獎勵函數 ,任務 在狀態 下的獎勵,隨不同任務而不同
- 代價函數 ,在狀態 下採取動作 的代價函數,不隨不同任務變化
- 在這一獎勵函數中,我們假設 在 並非 的終態時為
接下來,作者提出,在這樣定義的 下,複合任務並非一個MDT,因為回饋函數不僅是關於狀態的函數,還是關於當前任務的函數,即 ,而非 ,於是作者用如下方法來讓最終的複合任務成為一個MDT:
- 想像一個設備,對於任何基礎任務,其檢測相應的基礎任務終態,記住每個基礎任務終態的第一次訪問
- 那麼這個設備,既可以被視為這個Agent的一部分,也可以被視為環境的一部分(這一點將在後文詳細解釋)
更具體的來講,對於由 個任務 順序組成的複合任務,擴展狀態空間 到 ,使得每個 都擴展了 個比特,每個比特代表一個任務(根據下文的定義,可以理解為當第 個任務執行完畢或正在執行時,第 位為1,否則為0)。 那麼狀態空間 和原來的動作空間 將為複合任務構建一個MDT,其中:
- 代價函數 依舊作用於原來的
- 而對於每個由一系列 構成的複合任務 ,其 定義成:
- 當 是某一 的終止狀態,並且對於上文所述的 比特擴展,第 (包括 ) 項為 ,且第 項為0時,
- 其他情況下,
- (即只有當達到某一任務的終止狀態並且這一終止狀態對應Agent正在執行的任務時,總任務才有獎勵)
從另一種視角看,也可以視作存在一種映射,通過去除標記任務的 個比特位,將複合任務的狀態空間 映射到基礎任務的狀態空間
於是作者定義了一種對於複合任務的約束,論文中提出的方法適用的MDT需要滿足:
- 每個基礎任務都有且僅有一個的終止狀態
- 對於所有基礎任務及複合任務,對於最優策略的無衰減總回饋的預期,對於所有的狀態都是有上下限的
- 代價函數 與當前正在執行的任務無關
- 對於每個基礎任務 , 對於所有的非終止狀態都是 。而對於每個複合任務 ,只有對於其中每個基礎任務的終態,其 ,其他情況下
接下來作者提出了複合Q-learning( Compositional Q-learning, 也稱 CQ-learning )的概念,在CQ-learning中定義了兩種Q值函數:
- : 在 原始狀態空間 中,對於 的Q值函數
- : 在針對複合任務 的 擴展狀態空間 中,對於其中任務 的Q值函數
考慮一個 的無衰減複合MDT,根據上面提到的約束,其Q值函數可以被定義為:
其中 是 的狀態擴展,而 是一個關於複合任務 和 的函數,其中 代表 中的第 個任務, 是一個與狀態和動作無關的函數。
那麼如果我們能夠擁有每個基礎任務的策略,Agent便只需要學習函數 即可學習到複合任務的行為方式,此處函數 接收兩個參數:現在在執行什麼複合任務,以及當前在執行的任務編號。
論文中對上面公式的證明:
===== ? ? ? =====
對於一個MDT: ,設其終態為 ,回饋函數為 :
根據上文提到的約束,對於所有 ,我們有
那麼設 為在 的最優策略 下,狀態從 一路轉移到 的預期總代價,有:
記得這裡因為 ,並且我們假定終態 在基礎任務中始終是可達的,所以Q值中始終有 這一項,而 則是從當前狀態到終態 的最優策略下,動作序列的總代價
那麼對於符合約束的複合任務 ,不失一般性地,我們假定對於 ,存在 使得
對於 ,設 為滿足下述條件的擴展狀態集
- 對於表示任務的擴展比特序列的那一部分,所有 的項都為 ,所有 的項都為
這裡可以理解為, 代表複合任務中所有 之前的任務所構成的狀態空間。注意雖然我們認為所有的基礎任務 擁有相同的狀態空間,但是對於複合任務的擴展狀態空間 ,相同的狀態 對應的 對於不同的任務是不同的。
並且設 對應相應的 ,令 對應任務終態 (即 擴展部分第 的項為 ,且第 的項為 ),
注意上面的兩個描述,對於 , 中的擴展部分,第 項為 ,而對於 ,第 項為 ,所以
那麼對於所有的 ,我們都有 ,且
根據定義,我們知道,要完成任務 ,Agent必須到達狀態 ,令 為在最優策略下從 到 的預期總代價,根據上文提到的 ,根據Bellman公式下Q值的定義我們有:
這其中, 代表在執行任務 時,最優策略下,在 狀態時採取的動作。
(註:這個公式當時我看了挺久,其實想明白了之後並不難理解,就是Bellman遞歸定義式下的Q-value公式,其中 即是上式中 在 下的映射,而 則是 在 下的特例)
根據最優子結構原則, ,
注意到
這一項與當前狀態 和當前動作 無關
令 ,於是推出:
===== ? ? ? =====
接下來還有一個問題,就是上面的方法需要由人類指定如何將複合任務分解為子任務,然而一個聰明的Agent應該能夠學習到如何自行在合成任務中判斷每個子任務。於是作者給出了一種叫做 CQ-L 的結構,基於Jacob於1991年提出的任務分解架構進行改進,實現了子任務的自動探測。
Jacob在1991年發布的兩篇論文(1,2)提出了一種模塊化的門控方法來進行多個任務的學習,其主要思路為:
- 對於預期學習 個任務的系統,有 個子系統 ,每個子系統對應一個門控單元
- 對於每個輸入,每個子系統 都給出一個輸出
- 系統的最終輸出為 ,論文2中對 做Softmax變換將之轉化為Gibbs分布
- 所有的子系統和門控單元都通過梯度同步更新
- 當某一子系統 呈現顯著的優勢時,更改門控網路的參數,使得 的分布更傾向於在該情況下選擇
Task decomposition through competition in a modular connectionist architecture: The what and where vision taskshttp://papers.nips.cc/paper/430-a-competitive-modular-connectionist-architecture.pdf
在本論文中作者指出,Jacob的方法只適用於非序列任務的監督學習,於是乎作者做了如下改進:
- 每個專家子系統,在作者的論文中被映射為一個獨立的Q-Value Approximator (Q-Module),來學習基礎任務的
- 相應的門控網路,接受擴展狀態 的擴展比特部分,以及相應的task command(論文中task command代表對相應任務目標的語義化描述)
- 額外增加偏置網路(Bias Network),與門控網路共享輸入,用以近似上文提到的
- 門控網路每個在每個時間 處都選擇一個 Q-module 的輸出 ,並將之與偏置網路近似的 相加,作為最終 值(以近似 )
整個架構的大體運行方式為,在 時刻:
- 對於當前任務與當前的相應狀態 ,根據歸一化後 的值作為概率選擇相應的Q-Module
- 對於選擇的Q-Module,設其當前輸出為 ,對於所有的 ,估計相應的 值並將之轉換為相應的Gibbs分布 ,進而選擇要執行的動作
- 執行動作後,根據系統的反饋,計算所有Q-Module的
- 設偏執單元的輸出為 ,令當前 的估計值為 ,那麼根據TD-learning,那麼在 時刻,我們可以計算出 時刻關於 的error為: ,那麼系統在 時刻的輸出也可以被定義為
這一系統的具體學習過程:
===== ? ? ? =====
我們認為每個Q-module的輸出 實際上是一個高斯分布 的均值, 而選擇 的概率由門控系統的輸出 決定:
系統在 時刻的輸出為 對應的預期輸出為
那麼第 個Q-Module產生預期輸出的概率為:
那麼如果我們的系統能夠輸出 ,另系統最終輸出預期Q值的(似然)概率為 ,選擇到 的後驗概率為:
鑒於系統的目標是最大化系統在當前任務下的 ,我們即可令 對各個 和 求導
則最終學習過程為:
===== ? ? ? =====
系統結構可以由下圖表達: