- AI自動化測試:技術原理、平臺搭建與工程實踐
- 騰訊TuringLab團隊
- 572字
- 2020-08-13 13:47:06
3.3.2 Actor-Critic
演員-評論家(Actor-Critic,AC)是得到廣泛應用的基于策略梯度的強化學習方法。演員-評論家的網絡結構如圖3-4所示。

圖3-4 演員-評論家的網絡結構示意
演員-評論家的網絡結構包括兩部分:演員(Actor)和評論家(Critic)。模型的輸入為狀態s,演員根據以下公式采用隨機梯度下降法更新隨機策略πθ(a|s)的參數:

并且使用評論家得到的動作值函數Qω(s,a)替代上式中未知的真實動作值函數Qπ(s,a)。演員輸出的狀態s和動作a一起輸入評論家中,由評論家使用TD策略評價算法來估計動作值函數Qω(s,a)≈Qπ(s,a)。簡單來說,演員-評論家的整個學習過程為演員產生動作,評論家對演員產生的動作進行打分,并生成TD估計誤差來同時指導演員和評論家進行更新。
我們在利用演員-評論家進行強化學習時,經常會從一個不同于πθ(a|s)的策略β(a|s)中采樣來估計策略梯度。因此,目標函數也會相應地修改為目標策略的值函數Vπ(s)在策略β的狀態概率分布Pβ(s)上求積分的形式:

對上式兩邊求偏導,并且丟棄和相關的一項,得到策略梯度:

演員-評論家使用動作策略βθ(a|s)來產生軌跡樣本。評論家利用這些樣本并且使用梯度時間差分(Gradient Temporal Difference,GTD)的方式估計狀態值函數Vv(s)≈Vπ(s)。演員根據上述公式采取隨機梯度下降法來更新策略參數θ。在計算時,用TD誤差δt=rt+1+γVv(st+1)-Vv(st)代替未知的動作值函數Qπ(s,a)。演員和評論家都使用重要性采樣權重來調整目標函數。因為事實上,動作是根據策略β而不是策略π來選擇的。
推薦閱讀
- Vue.js 3.x快速入門
- Python編程自學手冊
- Mastering NetBeans
- QTP自動化測試進階
- 單片機應用與調試項目教程(C語言版)
- 大學計算機基礎實驗指導
- Instant Nancy Web Development
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- Troubleshooting Citrix XenApp?
- AMP:Building Accelerated Mobile Pages
- 微前端設計與實現
- INSTANT Premium Drupal Themes
- Visual C++程序設計全程指南
- Moodle 3.x Developer's Guide
- JavaScript編程精解(原書第3版)