基本概念:
離散動作與連續動作是相對的概念,乙個是可數的,乙個是不可數的。
在 cartpole 環境中,可以有向左推小車、向右推小車兩個動作。在 frozen lake 環境中,小烏龜可以有上下左右四個動作。在 atari 的 pong 遊戲中,遊戲有 6 個按鍵的動作可以輸出。
但在實際情況中,經常會遇到連續動作空間的情況,也就是輸出的動作是不可數的。比如說推小車力的大小、 選擇下一時刻方向盤的轉動角度或者四軸飛行器的四個螺旋槳給的電壓的大小等等。
對於這些連續的動作控制空間,q-learning、dqn 等演算法是沒有辦法處理的,這時候就可以使用ddpg演算法進行實現。
ddpg(deep deterministic policy gradient): 在連續控制領域經典的rl演算法,是dqn在處理連續動作空間的乙個擴充。具體地,從命名就可以看出,deep是使用了神經網路;deterministic 表示 ddpg 輸出的是乙個確定性的動作,可以用於連續動作的乙個環境;policy gradient 代表的是它用到的是策略網路,並且每個 step 都會更新一次 policy 網路,也就是說它是乙個單步更新的 policy 網路。其與dqn都有目標網路和經驗回放的技巧,在經驗回放部分是一致的,在目標網路的更新有些許不同。
ddpg 的特點可以從它的名字當中拆解出來,拆解成 deep、deterministic 和 policy gradient。
deep 是因為用了神經網路;
deterministic 表示 ddpg 輸出的是乙個確定性的動作,可以用於連續動作的乙個環境;
policy gradient 代表的是它用到的是策略網路。reinforce 演算法每隔乙個 episode 就更新一次,但 ddpg 網路是每個 step 都會更新一次 policy 網路,也就是說它是乙個單步更新的 policy 網路。
思考題
請解釋隨機性策略和確定性策略。
答:對於隨機性的策略 πθ(at∣st) ,我們輸入某乙個狀態 s,採取某乙個 action 的可能性並不是百分之百,而是有乙個概率 p 的,就好像**一樣,根據概率隨機抽取乙個動作。
對於確定性的策略 μθ(st) ,其沒有概率的影響。當神經網路的引數固定下來了之後,輸入同樣的state,必然輸出同樣的 action,這就是確定性的策略。
對於連續動作的控制空間和離散動作的控制空間,如果我們都採取使用policy網路的話,分別應該如何操作?
答:首先需要說明的是,對於連續的動作控制空間,q-learning、dqn等演算法是沒有辦法處理的,所以我們需要使用神經網路進行處理,因為其可以既輸出概率值 πθ(at∣st) ,也可以輸出確定的策略 μθ(st) 。
要輸出離散動作的話,最後的output的啟用函式使用 softmax 就可以實現。其可以保證輸出是的動作概率,而且所有的動作概率加和為 1。
要輸出連續的動作的話,可以在輸出層這裡加一層 tanh啟用函式。其作用可以把輸出限制到 [-1,1] 之間。我們拿到這個輸出後,就可以根據實際動作的乙個範圍再做一下縮放,然後再輸出給環境。比如神經網路輸出乙個浮點數是 2.8,然後經過 tanh 之後,它就可以被限制在 [-1,1] 之間,它輸出 0.99。然後假設說小車的乙個速度的那個動作範圍是 [-2,2] 之間,那我們就按比例從 [-1,1] 擴放到 [-2,2],0.99 乘 2,最終輸出的就是1.98,作為小車的速度或者說推小車的力輸出給環境。
強化學習筆記
1.q learning與sarsa區別 lambda 就是乙個衰變值,他可以讓你知道離獎勵越遠的步可能並不是讓你最快拿到獎勵的步,所以我們想象我們站在寶藏的位置,回頭看看我們走過的尋寶之路,離寶藏越近的腳印越看得清,遠處的腳印太渺小,我們都很難看清,那我們就索性記下離寶藏越近的腳印越重要,越需要被...
強化學習筆記
policy iteration 隨機選擇乙個策略,交替做兩件事 策略評價,和策略改進,則可以得到最優的策略。其中,策略評價即policy evalution,為當前策略計算值函式v 策略改進即policy improvement,即給定乙個值函式,得到乙個改進的策略。value iteration...
強化學習 學習筆記
強化學習任務通常用馬爾可夫決策過程來描述 強化學習任務對應了四元組 強化學習的目標是在環境中不斷地嘗試而學得乙個 策略 policy 策略有兩種表示方法 確定性策略 表示為函式 隨機性策略 表示為概率 策略的優劣在於長期執行這一策略後得到的累積獎賞。強化學習任務中,學習的目的就是要找到能使長期累積獎...