圖書館:带有经验回放的演员-评论家算法

{{vfd|沒有足夠的可靠資料來源能夠讓這個條目符合Wikipedia:關注度中的標準|date=2022/06/24}}

{{Notability|time=2022-05-25T01:09:01+00:00}} 帶有經驗回放的演員-評論家算法({{lang-en|Actor-Critic with Experience Replay}}),簡稱ACER。是2017年由DeepMind團隊在提出的算法。其論文發表在{{le|ICLR|International Conference on Learning Representations}}上。該文提出了一種基於深度強化學習Actor-Critic下帶有經驗回放的算法,能夠在變化的環境中取得不錯的效果,其中包括了57個Atari遊戲以及一些需要持續控制的問題。[1]

特色

強化學習中,環境交互需要付出極大的代價;這與普通的分類、回歸問題不同,會消耗大量的時間和系統資源。有效採樣({{lang-en|Sample Efficiency}})的方法可以使得算法在與環境交互較少的情況下獲得較好的結果。其中,為了提高有效採樣,使用經驗回放是一個很好的方法。而在強化學習中,如果採樣時所選取的策略{{lang-en|policy}}與選取動作時所用到的策略不同,我們將這種情況稱之為離軌策略({{lang-en|off-policy}})控制。

ACER就是一種離軌策略下的演員評論家算法({{lang-en|off-policy actor-critic}})。

理論依據

對於離軌策略而言,我們採樣所得到的軌跡是與同軌策略({{lang-en|on-policy}})不同的。這裏同軌是指採樣時所用的策略與選取動作時的策略相同。所以需要用到重要性採樣來對其進行調整。加上重要性採樣的權重後策略梯度可以被寫作 

據Off-Policy Actor-Critic稱,離線策略的策略梯度可以拆解為 [2]

過程

  1. 由於重要性採樣的參數 是一個比值,有可能非常大或者非常小,嚴重影響算法的穩定性,所以使用了帶有偏差矯正的重要性權重截斷技術,使得   ,其中 ,這樣的變換既不會產生額外的偏差,而且產生的兩項各自都是有界的,第一項 ,第二項 
  2. 動作值函數 的估計使用了回溯技術。 
  3. 以上的Q函數和V函數的估計使用了dueling network的結構。使用採樣的方法計算  這樣輸出的網絡為  
  4. 綜合前三項,最終得到了ACER的離線策略梯度解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \widehat{g_t}^{acer} = \bar{\rho_t}\nabla _{\phi _\theta(x_t)}\log f(a_t|\phi_\theta(x))[Q^ret(x_t,a_t)- V_{\theta_v}(x_t)]+\mathbb{E}_{a\sim\pi}([{{((}}\rho_t(a)-c}\over{\rho_t(a)}}]_+\nabla_{\phi_\theta(x_t)} \log f(a_t|\phi_\theta(x))[Q_{\theta_v}(x_t,a)-V_{\theta_v}(x_t)]} 通過寫出信賴域最優化問題  

 

直接解析求得最優解解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle z^* = \hat{g_t}^{acer}-max\{ 0,{{((}}k^T \hat{g_t}^{acer}-\delta}\over {||k||^2_2}} \}k}

得到參數更新公式解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle \theta\leftarrow \theta +{{((}}\partial \phi_\theta(x)}\over{\partial\theta}}z^*}

算法流程

算法1:對於離散動作情況下ACER的主算法

  1. 初始化全局共享參數向量 
  2. 設置回放率 
  3. 在達到最大迭代次數或者時間用完前:
    1. 調用算法2中的在線策略ACER
    2.  
    3. 對於 執行:
      1. 調用算法2中的離線策略ACER

算法2:離散動作下的ACER

  1. 重置梯度 
  2. 初始化參數  
  3. 如果不是在線策略:
    1. 從經驗回放中採樣軌跡 
  4. 否則,獲取狀態 
  5. 對於 執行:
    1. 計算  
    2. 如果是在線策略則
      1. 依據 執行動作 
      2. 得到回報 和新的狀態 
      3.  
    3. 解析失败 (语法错误): {\displaystyle \bar{\rho_i}\leftarrow min\{1,{{((}}f(a_i|\phi_{\theta'}(xi))}\over{\mu(a_i|x_i)}} \}}
  6.  
  7. 對於 執行
    1.  
    2.  
    3. 計算信賴域更新所需的:
      1. 解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): {\displaystyle g \leftarrow min \{ c,\rho_i(a_i)\} \nabla_{\phi_'(x_i)}\log f(a_i|\phi_{\theta'}(x_i))(Q^{ret}-V_i)+ \sum_a[1-{{((}}c}\over{\rho_i(a)}}]_+ f(a|\phi_{\theta'}(x_i))\nabla_{\phi_{\theta'}(x_i)}\log f(a|\phi_{\theta'}(x_i))(Q_{\theta'_v}(x_i,a_i)-V_i)}
      2.  
    4. 累積梯度解析失败 (语法错误): {\displaystyle \theta':d\theta'\leftarrow +{{((}}\partial \phi_{\theta'}(x_i)}\over{\partial\theta'}}(g-max\{ 0,{{((}}k^Tg-\delta}\over{||k||^2_2}}k \})}
    5. 累積梯度 
  8.  分別異步更新 
  9. 更新平均策略網絡: 

參考文獻

{{reflist}}

延伸閱讀

Category:算法

  1. ^ {{Cite journal |last=Wang |first=Ziyu |date=2017 |title=SAMPLE EFFICIENT ACTOR-CRITIC WITH EXPERIENCE REPLAY |url=https://arxiv.org/pdf/1611.01224.pdf |journal=ICLR}}
  2. ^ {{cite web |title=Off-Policy Actor-Critic |url=https://arxiv.org/pdf/1205.4839.pdf |website=arXiv |accessdate=2022-05-28}}