機器之心發布
作者:Luo Sainan
編輯:H4O
遷移學習通過將源任務學習到的經驗應用到目標任務,從而讓目標任務的訓練更靈活高效,也更貼近現實情況——往往要解決的目標問題可能很難直接學習,因為訓練數據不足或者無法直接與環境交互難以獲得訓練數據。因此將遷移學習應用到強化學習中,勢必能幫助強化學習更好地落地到實際問題。本文將從遷移學習、強化學習中的遷移學習、強化學習中的遷移技術最新進展三個部分向大家分享。
Part 1 遷移學習
一、遷移學習是什麼?
機器學習技術在許多領域取得了重大成功,但是,許多機器學習方法只有在訓練數據和測試數據在相同的特徵空間中或具有相同分布的假設下才能很好地發揮作用。當分布發生變化時,大多數統計模型需要使用新收集的訓練數據重建模型。在許多實際應用中,重新收集所需的訓練數據並重建模型的代價是非常昂貴的,在這種情況下,我們需要在任務域之間進行知識遷移 (Knowledge Transfer) 或遷移學習 (Transfer Learning),避免高代價的數據標註工作。
比如說,我們在一個感興趣的領域中有一個分類任務,但我們只在另一個感興趣的領域中有足夠的訓練數據,其中後者的數據可能在不同的特徵空間中或遵循不同的數據分布,我們希望能夠從後者中將知識進行遷移從而幫助完成前者的任務。現實生活中就有許多遷移學習的例子,比如說,掌握 C++語言有助於快速上手 Java、Python 等。人們可以聰明地應用以前學到的知識來更快更有效地解決新的問題,這就是一種遷移學習。
遷移學習的定義[1] 如下:給定一個源域 Ds 和學習任務 Ts,一個目標域 Dt 和學習任務 Tt,遷移學習致力於通過使用源域 Ds 和源任務 Ts 中的知識,幫助提升目標域 Dt 中的目標預測函數 f_T() 的學習,其中 Ds≠Dt,或者 Ts≠Tt。
二、遷移學習的三個主要研究問題
在遷移學習中主要研究以下三個問題:
遷移什麼如何遷移何時遷移
「遷移什麼」指的是跨域或跨任務遷移哪一部分知識。一些知識可能是特定於單個域或任務的,而一些知識可能在不同域之間是相同的,通過遷移知識的選擇可以幫助提高目標域或任務的性能。目前,遷移學習的內容主要可分為四類:實例遷移、特徵表示遷移、參數遷移、關係知識遷移。
在發現可以遷移的知識之後,需要開發學習算法來遷移知識,這就是「如何遷移」的問題。
而「何時遷移」指的是在什麼情況下可以進行遷移,在哪些情況下不應該遷移。在某些情況下,當源域和目標域彼此不相關時,強行進行遷移可能會失敗。而在最壞的情況下,它甚至可能損害目標域的學習表現,這種情況通常被稱為負遷移。當前有關「遷移什麼」和「如何遷移」的大多數遷移學習工作都暗含源域和目標域彼此相關這一假設。但是,如何避免負遷移仍舊是遷移學習領域受關注的問題。
三、遷移學習方法劃分
根據遷移學習的定義,表 1 中總結了傳統機器學習與各種遷移學習設置之間的關係,其中根據源域和目標域與任務之間的不同情況,將遷移學習分為三個類別:
歸納式遷移學習(Inductive Transfer Learning)無監督遷移學習(Unsupervised Transfer Learning)直推式遷移學習(Transductive Transfer Learning)
表 1:傳統機器學習與各種遷移學習設置之間的關係。
1. 在歸納式遷移學習設置中,無論源域和目標域是否相同,目標任務都與源任務不同。算法利用來自源域的歸納偏差幫助改進目標任務。根據源域中數據的不同情況,歸納式遷移學習進一步分為兩種情況:
1)源域中有很多帶標籤的數據。在這種情況下,歸納式遷移學習設置類似於多任務學習設置。但是,歸納式遷移學習設置僅旨在通過遷移源任務中的知識來實現目標任務中的高性能,而多任務學習則嘗試同時學習目標任務和源任務;
2)源域中沒有標籤數據。在這種情況下,歸納遷移學習設置類似於自學習。在自學習設置中,源域和目標域之間的標籤空間可能不同,這意味著不能直接使用源域的信息。
2. 在無監督遷移學習設置中,與歸納遷移學習設置類似,目標任務不同於源任務,但與源任務有關。然而,無監督的遷移學習側重於解決目標域中的無監督的學習任務,例如聚類,降維和密度估計。在這種情況下,源域和目標域中都沒有可用的標籤數據。
3. 在直推式遷移學習設置中,源任務和目標任務是相同的,而源域和目標域是不同的。在這種情況下,目標域中沒有可用的標籤數據,而源域中有許多可用的標籤數據。另外,根據源域和目標域之間的不同情況,我們可以進一步將直推式學習設置分為兩種情況:
1)源域和目標域之間的特徵空間不同;
2)源域和目標域之間的特徵空間相同,但輸入數據的邊際概率分布不同。
Part 2 強化學習中的遷移學習
一、描述強化學習中的遷移問題
強化學習是一種根據環境反饋進行學習的技術。強化學習 agent 辨別自身所處的狀態 (state),按照某種策略決定動作(action),並根據環境提供的獎賞來調整策略,直至達到最優。馬爾可夫決策 MDP(Markov Decision Process)是強化學習任務的標準描述,我們定義一個任務 M,用四元組< S , A , T, R>表示,其中 S 是狀態空間,A 是動作空間,T 是狀態轉移概率,R 是獎賞函數。state-action 空間 S×A 定義了任務的域,狀態轉移概率 T 和獎賞函數 R 定義了任務的目標。當強化學習的狀態動作空間 S×A 很大時,為了尋找最優策略,搜索過程非常耗時。此外,學習近似最優解所需的樣本數量在實際問題中往往令人望而卻步。無論是基於值的方法還是基於策略的方法,只要問題稍稍變動,之前的學習結果就會失效,而重新訓練的代價巨大。因此,研究者們針對強化學習中的遷移學習展開了研究,希望能夠將知識從源任務遷移到目標任務以改善性能。
二、對強化學習中的遷移進行分類
表 2:RL 中遷移學習的三個維度。每個遷移解決方案都是為特定設置設計的,傳輸某種形式的知識,追求某一目標。
關於強化學習中的遷移研究已經有很多,這些研究涉及到許多不同的遷移問題。由於在處理這一複雜而具有挑戰性的問題時採用的方法和思路大不相同,因此通常很難清晰地了解 RL 的當前最新技術。在 [2] 中,Lazaric A 從主要的遷移設置,遷移的知識種類以及遷移目標這三個方面,對強化學習中的遷移進行分類,如表 2 所示。
設定(setting):
根據源任務數量和與目標域之間的差異,強化學習中的遷移設定如圖1所示,有以下三種:
1)從單一源任務到目標任務的固定域遷移。任務域由其狀態-動作空間 S×A 決定,而任務的具體結構和目標由狀態轉移模型 T 和獎勵函數 R 決定。RL 中遷移學習的早期研究大多任務域是固定的且只涉及兩個任務:一個源任務和一個目標任務。
2)跨多個源任務到目標任務的固定域遷移。在這種情況下,任務共享相同的域,遷移算法將以從一組源任務中收集到的知識作為輸入,並使用它來改進在目標任務中的表現。
3)源任務和目標任務不同域遷移。在該設置中,任務有不同的狀態-動作空間,無論是在數量上還是範圍上。在這種情況下,大多數遷移方法都著重於如何定義源狀態-動作變量和目標變量之間的映射,以便獲得有效的知識遷移。
圖1: 根據源任務數量和與目標任務的任務域差異而定義的三種主要的遷移設定 (圖修改自 [2])
知識 (Knowledge):
1. 實例遷移 (Instance Transfer)。RL 算法依賴於從與 MDP 的直接交互中收集的一組樣本來為手頭的任務構建解決方案。這組樣本可以用於在基於模型的方法中估計 MDP 模型,或者在無模型方法中構建值函數或策略的近似。最簡單的遷移算法收集來自不同源任務的樣本,並將其重用於目標任務的學習。
2. 特徵遷移(Representation Transfer)。每種 RL 算法對於任務和解決方案都使用特定的表示,如神經網絡,或一組近似最優值函數的基函數。在不同任務的學習過程中,遷移算法通常會改變任務和解的表示形式以進行目標任務的學習。
3. 參數遷移(Parameter Transfer)。RL 算法有大量參數定義了初始化和算法行為。一些遷移方法根據源任務改變和調整算法參數。例如,如果某些狀態-動作對中的動作值在所有源任務中都非常相似,則可以據此將目標任務的 Q-table 初始化,從而加快學習過程。初始解決方案 (策略或值函數) 通常被用來在只有一個源任務的遷移設置中初始化算法。
目標 (Objective):
1. 學習速度的提升。學習算法的複雜性通常由實現所需性能所需的樣本數量來衡量。在實踐中,可以使用時間與閾值,面積比,有限樣本分析等來衡量學習速度的提升。通過設置閾值,並測量單任務和遷移算法需要多少經驗 (如樣本、片段、迭代) 來達到這個閾值,以判定遷移效果。面積比度量方法通過考慮遷移學習前後學習曲線下的區域進行度量。
2. 初始(JumpStart)提升。通過從源任務進行遷移,看 agent 在目標任務中的初始性能的提升來衡量遷移學習的效果。學習過程通常從假設空間中的隨機或任意的假設開始。根據環境的定義,所有的任務都來自同一個分布Ω。
3. 漸進(Asymptotic)提升。在大多數實際感興趣的問題中,最優值函數或策略的完美近似是不可能的。使用函數逼近技術,近似值越精確,收斂性越好。近似的準確率嚴格依賴於用於表示解決方案的假設空間的結構。該目標就是看遷移學習後,Agent 最終表現的提升。
Part 3 強化學習中的遷移應用最新進展
筆者整理了部分結合強化學習與遷移學習的最新技術研究,速覽如下:
《Transfer Learning For Related Reinforcement Learning Tasks Via Image-to-Image Translation(ICLR-2019)》
中文名:通過圖像到圖像翻譯的相關強化學習任務的轉移學習
論文連結:https://arxiv.org/abs/1806.07377
代碼連結:http://github.com/ShaniGam/RL-GAN
論文速覽:儘管深度 RL 在從原始像素中學習控制策略取得了巨大的成功,但是結果模型泛化能力太差。作者使用 Atari Breakout 遊戲 (打磚塊遊戲),證明了訓練後的 agent 難以應對小的視覺變化(比如說在背景上增加矩形圖案作幹擾,或者在背景上添加一些對角線,人類可以輕鬆適應這些小的變化,如圖 2)。
圖 2 :(a) 為原始版本的打磚塊遊戲,其餘為在背景上添加了一些小的視覺變化。(b) 添加固定藍色矩形幹擾,(c) 紅色矩形在三個固定位置閃現 (d) 綠色線條幹擾 (e) 對角線幹擾。
作者使用常見的遷移學習策略——微調,來應對這些視覺上的改變卻遭遇了慘敗。甚至從某種程度上來說,從頭開始對 agent 進行訓練比對經過訓練的 agent 進行微調還要更快。因此,作者建議通過添加專用組件來改善遷移學習,該組件的目標是學習在已知域和新域之間進行映射。作者提議將視覺遷移和動態遷移分開,agent 嘗試從新域到舊域進行類比:觀察新域中的一組狀態(圖像)後,代理可以學習將其映射到源域中相似熟悉的狀態,並根據其源域策略對映射狀態採取行動。
更具體地來說,給定具有訓練參數θ的訓練策略π(a|s;θ) 提出針對源域狀態 s∈S 的動作 a,希望從目標域狀態 t∈T 學習映射函數 G:T→S 這樣,通過應用策略π(a|G(t));θ) 與環境 T 進行交互。也就是尋求一個映射函數 G,該函數允許在與目標環境 T 交互時重用為源環境 S 學習的相同策略πθ。由於源域項目和目標域項目都是圖像,因此通過從 S 和 T 收集圖像集並使用 Unaligned GAN 直觀地映射它們之間的圖像來啟發式學習函數 G。作者將通過π(a|G(t));θ) 與環境相互作用獲得的分數用於 GAN 模型選擇和停止標準。
作者使用 unaligned GAN 創建映射,以將目標任務中的圖像轉換為源任務中的相應圖像。這種映射使得能夠在 Breakout 遊戲的各種變體之間以及 Road Fighter 遊戲的不同級別之間進行遷移。結果顯示,學習此映射比重新訓練更有效。作者給出了本文方法在兩種遊戲上的可視化效果,圖 3 給出 Breakout 上的可視化動圖。
此外,這篇論文的 review 也非常有意思,值得一看:https://openreview.net/forum?id=rkxjnjA5KQ
圖 3:Breakout 遊戲上的可視化動圖。視頻來源 https://www.youtube.com/watch?v=4mnkzYyXMn4&feature=youtu.be
《Transfer in Deep Reinforcement Learning using Knowledge Graphs》
中文名:使用知識圖譜的深度強化學習中的遷移
論文連結:https://arxiv.org/pdf/1908.06556.pdf
論文速覽:文字類冒險遊戲是一種玩家必須通過文本描述來了解世界,通過相應的文本描述來聲明下一步動作的遊戲(有點像大家比較熟知的橙光小遊戲)。教 agent 玩文字類冒險遊戲是一項具有挑戰性的任務,學習它的控制策略需要大量的探索。主要原因是大多數深度強化學習算法都是在沒有真實先驗的情況下針對任務進行訓練的,從本質上來說,agent 必須從與環境的交互中了解關於遊戲的一切。然而文字類冒險遊戲充分利用了常識知識(比如斧頭可以用來砍木頭)和一些類型主題(在恐怖題材的遊戲中,棺材裡可能會有吸血鬼等等),遊戲本身就是個謎,因此也導致了訓練效率低下。
知識圖是一個有向圖,由一組語義三元組(主體,關係,對象)構成。在本文中,作者探索使用知識圖和相關的神經嵌入作為域知識遷移的表示形式,以訓練文字類冒險遊戲的強化學習 agent,從而減少訓練時間並提高所學習控制策略的質量。作者在 KG-DQN 的基礎上展開他們的工作,探索知識圖和網絡參數的遷移。從靜態文本資源中提取出 graph,並使用它向 agent 提供特定領域的詞彙,對象能力等知識。agent 也能訪問遊戲解析器接收到的所有 action,通過提取解析器接收到的一系列模板(用 OBJ 標記替代 action 中的 object 或者名詞短語),將 OBJ 標記更換為遊戲給定詞彙中可能的 object 即可。DQN 網絡由兩個獨立的神經網絡構成,分別編碼 state 和 action,由最終的 state-action 對的 Q 值作為兩個網絡之間交互的結果,使用貝爾曼方程更新。
圖 5:KG-DQN 架構。
將知識圖從靜態文本資源遷移到 DQN 中的問題作者稱之為播種,KG-DQN 使用知識圖作為狀態表示,並對動作空間進行精簡,圖 X 是隨著時間的推移,通過 agent 的探索而建立起來的,當 agent 首次開始遊戲時,這個圖是空的,因此在 action 精簡過程中幫助不大。而從另一個來源種子化知識圖,比如同一故事類型的文本冒險遊戲,就可以給 agent 一個強的先驗。
圖 6 :播種知識圖示意。
此外,作者證明了可以使用 DQN 網絡參數權重有效地遷移知識,或者通過使用問答系統對網絡的各個部分進行預訓練,也可以將參數從源遷移到目標遊戲。這樣 agent 整體訓練速度更快(包括對源任務進行預訓練和訓練所需的情節數量),並且與未使用這些技術的 agent 相比,其收斂性能提高了 80%。作者的方法在多種計算機生成的和人工創作的遊戲中進行了測試,這些遊戲的域和複雜性各不相同,通過實驗作者得出結論,知識圖通過為 agent 提供不同遊戲的狀態和動作空間之間的更明確且可解釋的映射,從而使他們能夠在深度強化學習 agent 中進行遷移。
《Transfer of Temporal Logic Formulas in Reinforcement Learning(IJCAI-2019)》
中文名:強化學習中時序邏輯的遷移
論文連結:https://arxiv.org/pdf/1909.04256.pdf
論文速覽:將高層次知識從源任務遷移到目標任務是加快強化學習的有效方法。例如,命題邏輯和一階邏輯已被用作這種知識的表示。作者將事件時序至關重要的那些任務稱為時序任務(temporal tasks),通過邏輯可遷移性的概念具體化時序任務之間的相似性,並開發不同但相似的時序任務之間的遷移學習方法。作者首先提出一種推理技術,以從兩個 RL 任務收集的標記軌跡中,按順序析取正態形式提取度量間隔時序邏輯(MITL)公式。如果通過此推斷確定了邏輯可遷移性,作者為從這兩個任務推斷出的 MITL 公式的每個順序合取子式構造一個定時自動機。作者在擴展狀態下執行 RL,其中包括源任務定時自動機的位置和時鐘評估。然後,作者根據兩個任務在定時自動機的相應組件(時鐘,位置等)之間建立映射,並根據已建立的映射來遷移擴展的 Q 函數。最後,作者從遷移的擴展 Q 函數開始,對目標任務的擴展狀態執行 RL。兩個案例研究中的結果表明,根據源任務和目標任務的相似程度,通過在擴展狀態空間中執行 RL,可以將目標任務的採樣效率提高一個數量級。
圖 7:基於時序邏輯遷移的遷移學習方法工作流程圖。
《Value Function Transfer for Deep Multi-Agent Reinforcement Learning Based on N-Step Returns (IJCAI-2019)》
中文名:基於 N 步返回的深度多智能體強化學習的值函數遷移
論文連結:https://www.ijcai.org/proceedings/2019/0065.pdf
論文速覽:許多現實世界的問題,如機器人控制,足球比賽,都被建模為稀疏交互多 agent 系統。在具有稀疏交互的多 agent 系統中重用單 agent 知識可以極大地加速多 agent 學習過程。先前的工作依賴於互模擬度量(bisimulation metric)來定義馬爾可夫決策過程(MDP)的相似性以控制知識遷移。但是,互模擬度量的計算成本很高,並且不適用於高維狀態空間問題。在這項工作中,作者提出了一種基於新型 MDP 相似性概念的可擴展的遷移學習方法。首先根據 MDP 的 N 步返回值(NSR)定義 MDP 相似度。然後,作者提出了兩種基於深度神經網絡的知識遷移方法:直接值函數遷移和基於 NSR 的值函數遷移。作者在基於圖像的網格世界,MPE 和《吃豆人》遊戲中進行實驗。結果表明,所提出的方法可以顯著加速多 agent 強化學習,同時具有更好的漸近性能。
圖 8:直接值函數遷移網絡架構。
圖 9:基於 NSR 的值函數遷移網絡架構。
《Importance Weighted Transfer of Samples in Reinforcement Learning (ICML-2018)》
中文名:強化學習中樣本的重要性權重遷移
論文連結:https://arxiv.org/pdf/1805.10886.pdf
論文速覽:作者考慮從一組源任務中收集強化學習(RL)中的經驗樣本(即元組<s,a,s',r>)的遷移,以改善給定目標任務中的學習過程。大多數相關方法都集中於選擇最相關的源樣本來解決目標任務,但隨後使用所有遷移的樣本沒有再考慮任務模型之間的差異。在本文中,作者提出了一種基於模型的技術,該技術可以自動估計每個源樣本求解目標任務的相關性(重要性權重)。在所提出的方法中,所有樣本都通過批強化學習算法遷移並用於解決目標任務,但是它們對學習過程的貢獻與它們的重要性權重成正比。通過擴展監督學習文獻中提供的重要性加權結果,作者對提出的批 RL 算法進行了有限樣本分析。此外,作者將提出的算法與最新方法進行了經驗比較,表明即使在某些源任務與目標任務明顯不同的情況下,該算法也能獲得更好的學習性能,並且對負遷移具有非常強的魯棒性。
《StarCraft Micromanagement with Reinforcement Learning and Curriculum Transfer Learning》
中文名:強化學習和課程遷移學習進行星際爭霸微操
論文連結:https://arxiv.org/pdf/1804.00810.pdf
機器之心解讀:https://www.jiqizhixin.com/articles/2018-04-06-4
論文速覽:實時策略遊戲已成為遊戲人工智慧的重要領域。本文提出了一種強化學習和課程遷移學習方法,以控制星際爭霸微操中的多個單元。作者定義了一種有效的狀態表示形式,該表示形式可以消除遊戲環境中大型狀態空間所引起的複雜性。然後提出了一種參數共享的多 agent 梯度 Sarsa(λ)(PS-MAGDS)算法來訓練單元。單元之間共享學習策略,以鼓勵合作行為。
圖 10:星際爭霸微操場景中的 PS-MAGDS 強化學習圖示。
作者使用神經網絡作為函數逼近器來估算動作-值函數,並提出獎賞函數以幫助部隊平衡其行動和進攻。另外,使用遷移學習方法將模型擴展到更困難的場景,可以加快訓練過程並提高學習性能。在小規模場景中,部隊成功學習了如何以 100%的獲勝率與內置 AI 戰鬥並擊敗它。在大型方案中,課程遷移學習方法用於逐步訓練一組單元,並且在目標方案中顯示出優於某些 baseline 方法的性能。通過強化學習和課程遷移學習,訓練的單元能夠在《星際爭霸》微管理場景中學習適當的策略。
作者介紹
羅賽男,西安電子科技大學計算機科學與技術學院研究生,研究方向為網絡空間安全與機器學習,關注前沿技術,熱愛文字分享,希望能夠與大家一起學習,共同進步,( ` ) 比心!
參考文獻:
Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on knowledge and data engineering, 2009, 22(10): 1345-1359.——本文 Part 1 主要參考Lazaric A. Transfer in reinforcement learning: a framework and a survey[M]//Reinforcement Learning. Springer, Berlin, Heidelberg, 2012: 143-173.——本文 Part 2 主要參考Taylor M E, Stone P. Transfer learning for reinforcement learning domains: A survey[J]. Journal of Machine Learning Research, 2009, 10(Jul): 1633-1685.——本文 Part 2 主要參考
下方為筆者推薦的與遷移學習相關的資料:
遷移學習各個領域的最新論文 list 集,強推 :https://github.com/jindongwang/transferlearning/blob/master/doc/awesome_paper.md《綜合實踐指南:遷移學習及在深度學習中的應用》機器之心曾推出一篇來自清華大學的關於深度遷移學習綜述的解讀文章《綜述論文:四大類深度遷移學習》,這篇綜述定義了深度遷移學習並回顧了目前關於深度遷移學習的研究工作,感興趣的朋友可以去看看。
本文為機器之心發布,轉載請聯繫本公眾號獲得授權。