增強學習 | Q-Learning


image

“價值不是由一次成功決定的,而是在長期的進取中體現”

上文介紹了描述能力更強的多臂賭博機模型,即通過多台機器的方式對環境變量建模,選擇動作策略時考慮時序累積獎賞的影響。雖然多臂賭博機模型中引入了價值的概念,但方法在建模過程中本質上是以策略為優化目標,因此又常被歸為基於策略的增強學習方法。

此外,增強學習方法還有基於價值以及基於模型兩類主要方法。本文介紹第二類,先從描述價值目標的Q函數開始,它也常稱之為Q-Learning方法。

最簡單的Q函數可用“狀態-動作”二維表(Q-Table)描述,其中行表示狀態s,列表示動作a,矩陣中的值表示特定狀態下執行某動作的回報值為r(s,a)。智能體Agent通過不斷更新並查找該表,找到當前狀態回報最高的動作執行。

為避免Q-Table陷入局部最優,即使得當前回報最高的結果能達到全局最優,需要通過訓練獲得累積回報,迭代更新Q-Table,使之能指導長期期望價值最大化的動作執行。

為便於計算,將Q-Table表示為Bellman遞推等式,拆分為當前回報和未來最大回報的和,即Q(s,a)=r(s, a)+b(max(Q(s’,a’))),其中s’表示s狀態在a行為作用下的下一狀態,而a’為s’狀態后所有可能的行為,b為價值累積過程中的打折系數,決定了未來回報相對於當前回報的重要程度。

同樣的,也可使用神經網絡對Q函數進行建模,其輸入為Agent環境狀態,輸出為使價值最大化的Agent動作。訓練過程中,初始Q(s,a)為0,訓練中Agent每行動一次,通過Bellman等式計算Q’(s,a),優化目標是使得Agent根據Q函數執行動作能獲得訓練過程中的最大價值回報,即Q(s,a)與Q’(s,a)的差異最小。

例如,OpenAI gym的FrozenLake問題,假設人要穿過一個4x4方格的冰湖(從S到G),有冰的地方(F)可以行走,無冰的洞(H)會掉入湖中。使用增強學習建模,其狀態空間為4x4的方格空間,動作為“上下左右”的移動,達到目標的回報價值為1,掉入洞中的回報價值為-1。

分別使用Q-Table和神經網絡Q函數對FrozenLake問題進行建模求解,可以發現神經網絡Q函數的學習方法,在同樣實驗迭代次數下可以探索出更多的“可行路徑”。

對代碼實現和實驗效果感興趣的朋友,可在數據小蝦米公眾號后台回復“代碼”,獲得源碼地址。


數據科學武林風起雲涌,
隨數據小蝦米共闖江湖~
weixin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM