Skip to content

Latest commit

 

History

History
145 lines (100 loc) · 6.4 KB

行動者-評論者方法.md

File metadata and controls

145 lines (100 loc) · 6.4 KB

行動者-評論者方法

Agenda

Note

行動者-評論者方法

  • Value-Based Methods

    • 蒙地卡羅或者Q-learning。
    • 利用每個狀態或者狀態-動作配對的值,然後根據任何狀態,可以選擇具有最佳值的動作。
    • 針對數量有限的動作。
  • Policy-Based Methods

    • 直接從狀態映射到動作,不用擔心值的表示法,然後直接優化策略。
    • 當動作空間是連續性,或者需要隨機策略時使用。
    • 問題點: 很難計算策略到底有多好
  • Actor-Crtiic Methods

    • 透過值函數的概念,利用狀態或者狀態-動作配對的值,來評估一個策略的優劣。

760

更好的得分函數

  • 典型策略梯度更新規則所使用的得分函數。
    • 對於每個階段性任務,可以使用階段回報Gt作為得分函數的值。
    • Gt表示該階段後續時間內獲得的獎勵折扣和。
    • 每個階段完成後,就更新強化算法。

761

  • 但如果任務不是階段性任務該怎麼辦? 要什麼時候進行策略更新?
    • 需要更好的得分函數,在與環境互動時能夠在線計算的函數。
    • 將階段回報Gt換成當時狀態動作對的動作值。

762

  • 利用時間差分法迭代來更新動作值。
    • 該流程可以更策略更新同步執行,不需要等到整個階段完才執行。
    • 可以用於非階段或連續性任務。

763

兩個函數的逼近器

  • 對於大多數複雜的問題,都是需要處理連續狀態和動作空間。
    • 通過Q學習和函數逼近來估算動作值。

764

  • 動作值函數的更新規則,是delta_W來進行更新。
    • theta跟w是不同參數向量,但是他們很相似,分別表示一種函數的逼近。
    • theta表示策略Pi在給定狀態時採取某個動作的機率。
    • w表示該狀態採取該動作的值。

765

  • 先不管更新規則,只看函數。
    • Pi(行動者): 控制強化智能學習智能體的行為或動作方式。
    • q(評論者): 衡量這些動作的效果,即是對這個動作進行評價。
    • 行動者和評論者這兩個逼近器,可以單獨分別設計他們,或許可使用兩個神經網路。

766

行動者和評論者

  • 如何開發一個完整架構來訓練行動者和評論者
    • 一開始,行動者會遵守某個隨機策略來執行動作。
    • 評論者觀察該動作並提供回饋,告訴行動者這樣的動作有多糟糕。
    • 行動者根據反饋更新策略,並再次行動。
    • 評論者繼續提供再多回饋,並同時更新自己的備註或者值函數,以便提供更好的回饋。
    • 反覆持續此流程,直到行動者達到一定的標準,或者已經沒有什麼改進。

767

流程

  • 元件:

    • 策略逼近器Pi是由Theta參數化。
    • 值函數逼近器q是由w參數化。
  • 流程:

    • 每個時間步t,都會從環境抽樣當前狀態表示為St。
    • 行動者根據策略生成動作At
    • At送到環境產生下個狀態St+1跟獎勵Rt+1。
    • 評論者根據Rt+1計算行動者在狀態St採取動作At的q值。
    • 行動者根據這個q值來更新策略參數Theta。
    • 根據這些更新的參數,行動者產生下個動作At+1。
    • 最後評論者,更新自己的值函數。
    • 每個時間步,都重複此流程。

768

優勢函數

  • Policy update的不穩定性。
    • 雖然透過alpha學習率來控制梯度下降的步長(一次只走一小步)。
    • 但整個gradient大小會受到得分函數q^的影響,q^值可能變化很大,因為他是基於單個獎勵,這樣可能會導致學習步長不一致。

769

  • 利用優勢函數來解決得分函數q^的影響。
    • 假設q值抽樣來自某個分布(高斯分佈)。
    • 這個分布針對的是動作空間,因此預期值本質上就等同狀態值。
    • 新的得分函數(優勢函數) = 每個Q值 - 均值(狀態值)

770

  • 優勢函數
    • Q值: 在狀態s採取動作a預期可獲得的獎勵。
    • 優勢函數告訴我們在狀態預期之外,我們預期會獲得多少的額外獎勵。
    • 即我們採取該動作(而不是隨機任意動作)會獲得什麼。
    • 優勢函數不僅會穩定學習過程,而且可以更好的區分動作。

771

行動者-評論者方法與優勢函數

  • 利用優勢函數替換狀態動作值。

772

  • 最自然的方式就是定義另外一個狀態值函數v^,參數形式為w'。

773

  • 這表示評論者要學習兩個值函數的變化Q^, v^。
    • 實際上,透過TD誤差可以很好的估算優勢函數,如此一來,評論者只要學習一個值函數的變化v^。

774

總結

  • 行動者-評論者方法是一個基於策略方法的變形。
  • 行動者表示策略,評論者表示值函數,告訴行動者他的策略有多好。
  • 因為可以單獨分別選擇行動者跟評論者的表示法,讓我們在設計強化學習的智能體有更多的靈活性。