在強化學習(二)馬爾科夫決策過程(mdp)中,我們討論了用馬爾科夫假設來簡化強化學習模型的複雜度,這一篇我們在馬爾科夫假設和貝爾曼方程的基礎上討論使用動態規劃(dynamic programming, dp)來求解強化學習的問題。
動態規劃這一篇對應sutton書的第四章和ucl強化學習課程的第三講。
對於動態規劃,相信大家都很熟悉,很多使用演算法的地方都會用到。就算是機器學習相關的演算法,使用動態規劃的也很多,比如之前講到的隱馬爾科夫模型hmm(二)前向後向演算法評估觀察序列概率,隱馬爾科夫模型hmm(四)維特比演算法解碼隱藏狀態序列, 都是動態規劃的典型例子。
動態規劃的關鍵點有兩個:一是問題的最優解可以由若干小問題的最優解構成,即通過尋找子問題的最優解來得到問題的最優解。第二是可以找到子問題狀態之間的遞推關係,通過較小的子問題狀態遞推出較大的子問題的狀態。而強化學習的問題恰好是滿足這兩個條件的。
我們先看看強化學習的兩個基本問題。
強化學習(三) MDP的動態規劃解法
那麼如何求解最優策略呢?基本的解法有三種 動態規劃法 dynamic programming methods 蒙特卡羅方法 monte carlo methods 時間差分法 temporal difference 動態規劃法是其中最基本的演算法,也是理解後續演算法的基礎,因此本文先介紹動態規劃法求...
強化學習(四)用蒙特卡羅法(MC)求解
在強化學習 三 用動態規劃 dp 求解中,我們討論了用動態規劃來求解強化學習 問題和控制問題的方法。但是由於動態規劃法需要在每一次回溯更新某乙個狀態的價值時,回溯到該狀態的所有可能的後續狀態。導致對於複雜問題計算量很大。同時很多時候,我們連環境的狀態轉化模型pp都無法知道,這時動態規劃法根本沒法使用...
深度強化學習 (三)DQN
強化學習是乙個馬爾科夫決策過程,它的目標是追求累計回報最大化max,值函式v s 是對狀態s能獲得的累計回報的估計,也就是v s e gt st s 根據貝爾曼方程v st 與v st 1 的關係為 v st e rt 1 r v st 1 st s 引入動作後有動作 值函式 q st,at q s...