日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【强化学习】Actor-Critic

發布時間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【强化学习】Actor-Critic 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • Actor-Critic算法
        • 概述
        • 可選形式
        • 算法流程
        • 小結

強化學習筆記,內容來自 劉建平老師的博客
?

Actor-Critic算法

概述

? Actor-Critic包括兩部分:演員(Actor)、評價者(Critic)。其中Actor使用策略函數,負責生成動作(Action)并和環境交互,而Critic使用價值函數,負責評估Actor的表現,并指導Actor下一階段的動作。在Policy-Gradient中,策略函數就是Actor,但是那里沒有Critic,當時使用了蒙特卡羅法來計算每一步的價值部分從而替代了Critic的功能,但是場景比較受限。因此現在使用類似DQN中用的價值函數來替代蒙特卡羅法,作為一個比較通用的Critic。

? 所以Actor-Critic算法中做了兩組近似:

? 策略函數的近似:
?
? 價值函數的近似:
?
? 也就是說,蒙特卡羅reinforce算法參數的參數更新公式(如下)中,vt的求取不再用蒙特卡羅法那樣采樣平均而是用近似價值函數求取。而分值函數部分?θlogπθ(s,a)不變。
?
? 通常使用Q網絡來近似價值函數,所以匯總來說,就是Critic通過Q網絡計算狀態的最優價值vt,而Actor利用vt這個最優價值迭代更新策略函數的參數θ,進而選擇動作,并得到反饋和新的狀態,Critic使用反饋和新的狀態更新Q網絡參數w,在后面Critic會使用新的網絡參數w來幫Actor計算狀態的最優價值vt。

?
?

可選形式

? Critic的評估點有多種選擇:

? a)基于狀態價值,這是上面使用的評估點,其策略函數參數更新的算法公式是:
?
? b)基于動作價值,在DQN中,一般使用的都是動作價值函數Q來做價值評估,其策略函數參數更新的算法公式是:
?
? c)基于TD誤差,δ(t)=Rt+1+γV(St+1)?V(St)或者δ(t)=Rt+1+γQ(St+1,At+1)?Q(St,At),其策略函數參數更新的算法公式是:
?
? d)基于優勢函數,A(S,A,w,β)=Q(S,A,w,α,β)?V(S,w,α),其策略函數參數更新的算法公式是:
?
? e)基于TD(λ)誤差,一般都是基于后向TD(λ)誤差δ(t)E(t),其策略函數參數更新的算法公式是:
?
? 對于Critic本身的模型參數w,一般都是使用均方誤差損失函數來做迭代更新,類似DQN系列中的迭代方法。

?
?

算法流程

(評估點基于TD誤差,Critic使用神經網絡來計算TD誤差并更新網絡參數,Actor也使用神經網絡來更新網絡參數)

輸入:迭代輪數T、狀態特征維度n、動作集A、步長α、β、衰減因子γ、探索率?、Critic網絡結構、Actor網絡結構

輸出:Actor網絡參數θ、Critic網絡參數w

? 1. 隨機初始化所有的狀態和動作對應的價值Q

? 2 .for i in [ 1, T ]:

? a)初始化S為當前狀態序列的第一個狀態,拿到其特征向量Φ(S)

? b)把Φ(S)輸入Actor網絡,得到輸出動作A,并由環境獲得新狀態S’、獎勵R

? c)把Φ(S)、Φ(S‘ )分別輸入Critic網絡,分別得到輸出的Q值V(S)、V(S’ )

? d)計算TD誤差 δ = R + γV(S′ ) ? V(S)

? e)計算均方差損失函數 ∑(R+γV(S′)?V(S,w))^2,梯度反向傳播更新Critic網絡參數w

? f)更新Actor網絡參數:
?
? (這里以TD誤差為評估點, 分值函數?θlogπθ(St,A)可以選擇softmax或者高斯分值函數 )
?
?

小結

? 基本版的Actor-Critic算法已經是一個很好的算法框架,但是離實際應用還比較遠。主要原因是這里有兩個神經網絡,都需要梯度更新,而且互相依賴,所以難以收斂。

? 目前改進的比較好的有兩個經典算法,一個是DDPG算法,使用了雙Actor神經網絡和雙Critic神經網絡的方法來改善收斂性。這個方法在從DQN到Nature DQN的過程中用過。另一個是A3C算法,使用了多線程的方式,一個主線程負責更新Actor和Critic的參數,多個輔線程負責分別和環境交互,得到梯度更新值,匯總更新主線程的參數。而所有的輔線程會定期從主線程更新網絡參數。這些輔線程起到了類似DQN中經驗回放的作用,但是效果更好。

總結

以上是生活随笔為你收集整理的【强化学习】Actor-Critic的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。