[課程筆記] 機器學習2021(李弘毅) L30.概述增強式學習(二)

B. Policy Gradient

1. How to control your actor

Version 0.

  • 上一課所提到重要性 A_n,可以使用當下獲得的獎勵 r_n 來代替
  • 這樣做的問題是,actor 變得短視近利,只考慮下一刻是否得到獎勵
  • 事實上,在每個 episode 中,actor 大部分行為影響的不只是當下獎勵,也會影響未來獲得的獎勵,這個現象又稱為 reward delay
  • 以 space invader 為例子,如果 actor 都只考慮當下的獎勵,則他只會學到不斷開火 (因為移動在當下無法獲得任何獎勵)

Version 1.

  • 除了 s, a 當下的獎勵外,也考慮了之後所有的獎勵,計算一個累積獎勵 (cumulated reward)
  • 這樣做的問題是,雖然 s, a 會影響所有之後產生的獎勵,但這個影響也不是相同的。影響的大小應該是會隨著時間而變小的

Version 2.

  •  除了 s, a 當下與之後所有的獎勵之外,也考慮了時間的影響 (影響大小會隨著時間而衰退)

Version 3.

  • 在某些情況下,可能沒有所謂該/不該做的行為,而是要挑最好的行為
  • 這時候,必須透過一個基線 b 來對獎勵正規化
  • 若獎勵低於 b,則表示該行為不好;若獎勵高於 b ,則表示是好的行為
  • 這時問題又來了,基線 b 該如何得到?

 2. Policy Gradient

  • Policy gradient 方法的過程:
    • 使用參數 \theta^0 初始化 actor
    • 使用一個 for loop,不斷地重複: 獲得數據→計算損失→更新參數
  • 在 for loop 中蒐集數據,每次蒐集數據都必須經歷許多個 s, a (因此RL過程很耗時)
  • 更新完參數後,就必須重新蒐集新的數據。這是因為使用參數為 \theta^ 0 的 actor 所蒐集到的數據,並不適用在參數為 \theta^1 的 actor 上

 3. On-policy vs. Off-policy

  • 當訓練時的 actor ,與蒐集數據時與環境互動的 actor 必須相同,這種方法稱為 On-policy
  • 若訓練時的 actor ,與蒐集數據時與環境互動的 actor 不同時,方法稱為 Off-policy
  • Off-policy 的好處是,蒐集的數據可以用在所有的 actor 上,因此不必每次更新參數後重新蒐集數據

4. Off-policy→Proximal Policy Optimization (PPO)

  • 可以用別的 actor 取得的數據來訓練自己
  • 前提是,必須知道自己與別人的差異,並想辦法修正這個差異

5. Collection Training Data: Exploration

  • 在蒐集數據時,對各種可能性進行探索是很重要的
  • 不斷嘗試才有可能找到更好的行為
  • 所以通常會對 actor 輸出的行為機率分布進行取樣,而不是直接取最大值,這樣才會帶有隨機性,增加 actor 行為的多樣性
  • 或是也可以在 parameter 上增加雜訊,或是將輸出的 entropy 加大

參考

  1. 李弘毅老師 -【機器學習2021】概述增強式學習 (Reinforcement Learning, RL) (二) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值