《強化學習:原理與Python實現 》 —1.4.2 按算法分類
1.4.2 按算法分類
從算法角度,可以對強化學習算法作以下分類。
同策學習(on policy)和異策學習(off policy):同策學習是邊決策邊學習,學習者同時也是決策者。異策學習則是通過之前的歷史(可以是自己的歷史也可以是別人的歷史)進行學習,學習者和決策者不需要相同。在異策學習的過程中,學習者并不一定要知道當時的決策。例如,圍棋AI可以邊對弈邊學習,這就算同策學習;圍棋AI也可以通過閱讀人類的對弈歷史來學習,這就算異策學習。
有模型學習(model-based)和無模型學習(model free):在學習的過程中,如果用到了環境的數學模型,則是有模型學習;如果沒有用到環境的數學模型,則是無模型學習。對于有模型學習,可能在學習前環境的模型就已經明確,也可能環境的模型也是通過學習來獲得。例如,對于某個圍棋AI,它在下棋的時候可以在完全了解游戲規則的基礎上虛擬出另外一個棋盤并在虛擬棋盤上試下,通過試下來學習。這就是有模型學習。與之相對,無模型學習不需要關于環境的信息,不需要搭建假的環境模型,所有經驗都是通過與真實環境交互得到。
回合更新(Monte Carlo update)和時序差分更新(temporal difference update):回合制更新是在回合結束后利用整個回合的信息進行更新學習;而時序差分更新不需要等回合結束,可以綜合利用現有的信息和現有的估計進行更新學習。
基于價值(value based)和基于策略(policy based):基于價值的強化學習定義了狀態或動作的價值函數,來表示到達某種狀態或執行某種動作后可以得到的回報。基于價值的強化學習傾向于選擇價值最大的狀態或動作;基于策略的強化學習算法不需要定義價值函數,它可以為動作分配概率分布,按照概率分布來執行動作。
深度強化學習(Deep Reinforcement Learning,DRL)算法和非深度強化學習算法。如果強化學習算法用到了深度學習,則這種強化學習可以稱為深度強化學習算法。
值得一提的是,強化學習和深度學習是兩個獨立的概念。一個學習算法是不是強化學習和它是不是深度學習算法是相互獨立的(見圖1-7)。如果一個算法解決了強化學習的問題,這個算法就是強化學習的算法;如果一個算法用到了深度神經網絡,這個算法就是深度學習算法。一個強化學習算法可以是深度學習算法,也可以不是深度學習算法;一個深度學習算法可以是強化學習算法,也可以不是強化學習算法。對于強化學習算法而言,在問題規模比較小時,能夠獲得精確解;當問題規模比較大時,常常使用近似的方法。深度學習則利用神經網絡來近似復雜的輸入/輸出關系。對于規模比較大的強化學習問題,可以考慮利用深度學習來實現近似。如果一個算法既是強化學習算法,又是深度學習算法,則可以稱它是深度強化學習算法。例如,很多電動游戲AI需要讀取屏幕顯示并據此做出決策。對屏幕數據的解讀可以采用卷積神經網絡這一深度學習算法。這時,這個AI就用到了深度強化學習算法。
Python 深度學習 AI
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。