1. 強化學習的基本組件

- Actor : 負責操縱行為 (我們可以控制調整)
- Env : 環境,Actor 行為會與之互動 (我們無法控制調整)
- Reward : Actor 在 Env 中做出特定行為時的獎勵 (我們無法控制調整)
2. Policy of Actor

- Actor 中具有 Policy,負責決定 Actor 在特定條件下的行為
- 若我們使用 NN 來實現 policy
,則:
- NN 參數 :
- NN 輸入 : actor 的觀察
- NN 輸出 : 根據輸入,得到所有可執行行為的機率分布
- NN 參數 :
- 最後Actor 所採取的行為是根據 policy 輸出的機率分布取樣得到 (而不是直接取機率最大的,這樣才會有隨機性)
3. 以遊戲為例

- Episode:
- 遊戲開始
- Actor 從環境得到觀察
,做出行為
,得到獎勵
,並不斷重複此循環
- 遊戲結束
- 每個 episode 可以計算總獎勵,actor 的目標就是要最大化這個總獎勵
4. Actor, Env, Reward 之間的關係

- 把 episode 過程中的 s, a 記錄下來,會得到一組 trajectory
- 每個參數為 θ 的 policy,都可能產生多種 trajectory (因為 policy 書出去有隨機性,環境也有隨機性)
- 在給定 policy 參數 θ 下,可以計算出每一種 trajectory 發生的機率:
: actor 在遊戲一開始觀察到的環境狀態 (此項由環境所控制)
: actor 觀察到
時,採取行為
的機率 (此項由 policy 所控制)
: 當 actor 在觀察到
並採取行為
時,下個觀察得到
的機率 (此項由環境所控制)
- 我們在更新 policy 時,所需要知道的是 policy 在參數 θ 下,總獎勵的期望值 :
5. Policy Gradient

-
透過一連推導,可以得到
對 θ 的梯度
-
中間將期望值的計算,透過抽樣來近似 (因為在複雜情況下,我們不可能真的把所有 trajectory 都找出來)
-
從最後一個式子可以得知,若一個 trajectory 的獎勵為正,則梯度會傾向提升該 trajectory 過程中所有特定決策的機率
-
實際實作的方式是,使用參數 θ 的 policy 玩 N 次遊戲,透過這 N 次的結果來計算
對 θ 的梯度近似值
6. RFL vs. 分類問題

- 這兩個任務其實本質上很類似
- 在分類問題中,模型根據輸入
,計算出分類正確答案
的機率,並透過梯度更新去最大化正確答案
的機率
- 在強化學習中,因為不知道輸入
的正確答案
,所以透過乘上獎勵作為正確答案的參考
7. 實作上會用到的 Tips
A. Add a baseline

- 透過前面提到的梯度會發現,我們在極大化獎勵期望值的時候,會根據獎勵大小鼓勵 actor 輸出合適的機率分布
- 如果獎勵全部都是正的,則被所有我們採樣到的情況,其機率分布會同時增加 (但有的增加的多,有的增加的少)
- 這樣會產生一個問題是,我們計算的獎勵期望值其實是近似 (因為沒有辦法窮舉所有情況),所以對於沒有被我們採樣到的情況,其機率會被抑制 (因為別人都增加,但他不增加)
B. Assign suitable credit

- 前面透過獎勵來更新參數時,考慮的是整個 trajectory 最後得到的總獎勵,忽略了 trajectory 中每個行為
所產生的獎勵
- 但其實就算一個 trajectory 最終獎勵是高的,也不代表 trajectory 中的每個行為都是好的
- 而且在一個路徑中,時間點 t 後面的行為,理論上與時間點 t 前面獲得的獎勵
- 一般而言,行為的發生對未來獎勵產生的影響,是會隨著時間差距變大而影響變小的
- 這時候可以在計算
時,把每一項的路徑總獎勵
,換成是每一項所影響而產生的獎勵,並乘上一個與時間相關的衰退項
- 投影片中,橘紅色的框框是 Advantage Function
,
除了可以用上面提到的方法實現之外,也可以透過一個模型 (critic) 來實現。
參考:
- 李弘毅老師的強化學習開放課程 : DRL Lecture 1: Policy Gradient (Review)
本文深入介绍了强化学习的基本组件,包括Actor、Env和Reward,以及Policy在Actor中的作用。通过神经网络实现的Policy决定Actor的行为,并在与环境的交互中获取Reward。在游戏场景中,Episode描述了Actor与Env的交互过程,目标是最大化总奖励。Policy Gradient方法用于更新Policy参数,使得高奖励的轨迹得到强化。文章还对比了强化学习与分类问题的相似性,并给出了实际应用中的两个技巧:Add a baseline以避免过度优化和Assign suitable credit来考虑每个行为对奖励的贡献。最后,讨论了Advantage Function在计算梯度中的作用。
3万+

被折叠的 条评论
为什么被折叠?



