[課程筆記] 強化學習(李弘毅) L1. Policy Gradient

1. 強化學習的基本組件

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

2. Policy of Actor

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

 3. 以遊戲為例

  • Episode:
    • 遊戲開始
    • Actor 從環境得到觀察 s_t,做出行為 a_t,得到獎勵 r_t ,並不斷重複此循環
    • 遊戲結束
  • 每個 episode 可以計算總獎勵,actor 的目標就是要最大化這個總獎勵

4. Actor, Env, Reward 之間的關係 

  • 把 episode 過程中的 s, a 記錄下來,會得到一組 trajectory \tau = \left \{ s_1, a_1, s_2, a_2, ... , s_T, a_T \right \}
  • 每個參數為 θ 的 policy,都可能產生多種 trajectory (因為 policy 書出去有隨機性,環境也有隨機性)
  • 在給定 policy 參數 θ 下,可以計算出每一種 trajectory 發生的機率:
    • p(s_1) : actor 在遊戲一開始觀察到的環境狀態 (此項由環境所控制)
    • p_{\theta}(a_t | s_t) : actor 觀察到 s_t 時,採取行為 a_t 的機率 (此項由 policy 所控制)
    • p(s_{t+1}|s_t, a_t) : 當 actor 在觀察到 s_t 並採取行為 a_t 時,下個觀察得到 s_{t+1} 的機率 (此項由環境所控制)
  • 我們在更新 policy 時,所需要知道的是 policy 在參數 θ 下,總獎勵的期望值 : 

\bar{R}_{\theta} = \sum_{\tau}^{} R(\tau) p_{\theta}(\tau)

5. Policy Gradient 

  • 透過一連推導,可以得到 \bar{R}_{\theta} 對 θ 的梯度

  • 中間將期望值的計算,透過抽樣來近似 (因為在複雜情況下,我們不可能真的把所有 trajectory 都找出來)

  • 從最後一個式子可以得知,若一個 trajectory 的獎勵為正,則梯度會傾向提升該 trajectory  過程中所有特定決策的機率

  • 實際實作的方式是,使用參數 θ 的 policy 玩 N 次遊戲,透過這 N 次的結果來計算 \bar{R}_{\theta} 對 θ 的梯度近似值

6. RFL vs. 分類問題

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

7. 實作上會用到的 Tips

A. Add a baseline

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

 B. Assign suitable credit

  • 前面透過獎勵來更新參數時,考慮的是整個 trajectory 最後得到的總獎勵,忽略了 trajectory  中每個行為 a_t 所產生的獎勵 r_t
  • 但其實就算一個 trajectory 最終獎勵是高的,也不代表 trajectory 中的每個行為都是好的
  • 而且在一個路徑中,時間點 t 後面的行為,理論上與時間點 t 前面獲得的獎勵
  • 一般而言,行為的發生對未來獎勵產生的影響,是會隨著時間差距變大而影響變小的
  • 這時候可以在計算 \bar{R}_{\theta} 時,把每一項的路徑總獎勵 R(\tau^n) ,換成是每一項所影響而產生的獎勵,並乘上一個與時間相關的衰退項
  • 投影片中,橘紅色的框框是 Advantage Function A^{\theta}A^{\theta} 除了可以用上面提到的方法實現之外,也可以透過一個模型 (critic) 來實現。

參考:

  1. 李弘毅老師的強化學習開放課程 : DRL Lecture 1: Policy Gradient (Review)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值