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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

机器学习(三十三)——价值函数的近似表示

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习(三十三)——价值函数的近似表示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

價值函數的近似表示

之前的內容都是講解一些強化學習的基礎理論,這些知識只能解決一些中小規模的問題。很多價值函數需要用一張大表來存儲。當獲取某一狀態或行為的價值的時候,通常需要一個查表操作(Table Lookup),這對于那些狀態空間或行為空間很大的問題幾乎無法求解。

在實際應用中,對于狀態和行為空間都比較大的情況,精確獲得各種v(s)和q(s,a)幾乎是不可能的。這時候需要找到近似的函數。具體來說,可以使用線性組合、神經網絡以及其他方法來近似價值函數:

v^(s,w)≈vπ(s)q^(s,a,w)≈qπ(s,a)\hat v(s,w)\approx v_\pi(s)\\ \hat q(s,a,w)\approx q_\pi(s,a) v^(s,w)vπ?(s)q^?(s,a,w)qπ?(s,a)

其中w是該近似函數的參數。

線性函數

這里仍然從最簡單的線性函數說起:

v^(S,w)=x(S)Tw=∑j=1nxj(S)wj\hat v(S,w)=x(S)^Tw=\sum_{j=1}^nx_j(S)w_jv^(S,w)=x(S)Tw=j=1n?xj?(S)wj?

目標函數為:

J(w)=Eπ[(vπ(S)?x(S)Tw)2]J(w)=E_\pi[(v_\pi(S)-x(S)^Tw)^2]J(w)=Eπ?[(vπ?(S)?x(S)Tw)2]

更新公式為:

Δw=α(vπ(S)?v^(S,w))x(S)\Delta w=\alpha (v_\pi(S)-\hat v(S,w))x(S)Δw=α(vπ?(S)?v^(S,w))x(S)

上述公式都是基本的ML方法,這里不再贅述。

最簡單的一類線性函數,被叫做Table Lookup Features:

xtable(S)=(1(S=s1)?1(S=sn))x^{table}(S)=\begin{pmatrix} 1(S=s_1) \\ \vdots \\ 1(S=s_n) \end{pmatrix}xtable(S)=????1(S=s1?)?1(S=sn?)?????

則:

v^(S,w)=(1(S=s1)?1(S=sn))(w1?wn)\hat v(S,w)=\begin{pmatrix} 1(S=s_1) \\ \vdots \\ 1(S=s_n) \end{pmatrix}\begin{pmatrix} w_1 \\ \vdots \\ w_n \end{pmatrix}v^(S,w)=????1(S=s1?)?1(S=sn?)?????????w1??wn??????

Incremental Prediction Algorithms

事實上,之前所列的公式都不能直接用于強化學習,因為公式里都有一個實際價值函數vπ(S)v_\pi(S)vπ?(S),或者是一個具體的數值,而強化學習沒有監督數據,因此不能直接使用上述公式。

因此,我們需要找到一個替代vπ(S)v_\pi(S)vπ?(S)的目標函數。

MCΔw=α(Gt?v^(St,w))?wv^(St,w)\Delta w=\alpha (\color{red}{G_t}-\hat v(S_t,w))\nabla_w \hat v(S_t,w)Δw=α(Gt??v^(St?,w))?w?v^(St?,w)有噪聲、無偏采樣收斂至一個局部最優解
TD(0)Δw=α(Rt+1+γv^(St+1,w)?v^(St,w))?wv^(St,w)\Delta w=\alpha (\color{red}{R_{t+1}+\gamma\hat v(S_{t+1},w)}-\hat v(S_t,w))\nabla_w \hat v(S_t,w)Δw=α(Rt+1?+γv^(St+1?,w)?v^(St?,w))?w?v^(St?,w)有噪聲、有偏采樣收斂至全局最優解
TD(λ\lambdaλ)Δw=α(Gtλ?v^(St,w))?wv^(St,w)\Delta w=\alpha (\color{red}{G_t^\lambda}-\hat v(S_t,w))\nabla_w \hat v(S_t,w)Δw=α(Gtλ??v^(St?,w))?w?v^(St?,w)有噪聲、有偏采樣

上面公式中,紅色的部分就是目標函數。

對于q^(S,A,w)\hat q(S,A,w)q^?(S,A,w),我們也有類似的結論:

MCΔw=α(Gt?q^(St,At,w))?wq^(St,At,w)\Delta w=\alpha (\color{red}{G_t}-\hat q(S_t,A_t,w))\nabla_w \hat q(S_t,A_t,w)Δw=α(Gt??q^?(St?,At?,w))?w?q^?(St?,At?,w)有噪聲、無偏采樣收斂至一個局部最優解
TD(0)Δw=α(Rt+1+γq^(St+1,At+1,w)?q^(St,At,w))?wq^(St,At,w)\Delta w=\alpha (\color{red}{R_{t+1}+\gamma\hat q(S_{t+1},A_{t+1},w)}-\hat q(S_t,A_t,w))\nabla_w \hat q(S_t,A_t,w)Δw=α(Rt+1?+γq^?(St+1?,At+1?,w)?q^?(St?,At?,w))?w?q^?(St?,At?,w)有噪聲、有偏采樣收斂至全局最優解
TD(λ\lambdaλ)Δw=α(qtλ?q^(St,At,w))?wq^(St,At,w)\Delta w=\alpha (\color{red}{q_t^\lambda}-\hat q(S_t,A_t,w))\nabla_w \hat q(S_t,A_t,w)Δw=α(qtλ??q^?(St?,At?,w))?w?q^?(St?,At?,w)有噪聲、有偏采樣

下面給出各種算法的收斂特性。

預測算法的收斂性

On/Off-PolicyAlgorithmTable LookupLinearNon-Linear
On-PolicyMC
TD(0)
TD(λ\lambdaλ)
Gradient TD
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
Yes
On-PolicyMC
TD(0)
TD(λ\lambdaλ)
Gradient TD
Yes
Yes
Yes
Yes
Yes
No
No
Yes
Yes
No
No
Yes

Gradient TD中的Gradient指的是PBE(projected Bellman error)的梯度。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Z01jLDz1-1571014572380)(/images/img3/PBE.png)]

控制算法的收斂性

AlgorithmTable LookupLinearNon-Linear
Monte-Carlo Control
Sarsa
Q-learning
Gradient Q-learning
Yes
Yes
Yes
Yes
Yes’
Yes’
No
Yes
No
No
No
No

Yes’ = chatters around near-optimal value function

Batch Methods

前面所說的Incremental算法都是基于數據流的,經歷一步,更新算法后,我們就不再使用這步的數據了,這種算法簡單,但有時候不夠高效。與之相反,Batch Methods則是把一段時期內的數據集中起來,通過學習來使得參數能較好地符合這段時期內所有的數據。這里的訓練數據集Batch相當于個體的一段經驗。

Least Squares Prediction

假設存在一個價值函數的近似:v^(s,w)≈vπ(s)\hat v(s,w)\approx v_\pi(s)v^(s,w)vπ?(s)和一個經驗集D={<s1,v1π>,<s2,v2π>,…,<sT,vTπ>}\mathcal{D}=\{<s_1,v_1^{\pi}>,<s_2,v_2^{\pi}>,\dots,<s_T,v_T^{\pi}>\}D={<s1?,v1π?>,<s2?,v2π?>,,<sT?,vTπ?>},則Least Squares Error為:

LS(w)=∑t=1T(vtπ?v^(st,w))2LS(w)=\sum_{t=1}^T(v_t^{\pi}-\hat v(s_t,w))^2LS(w)=t=1T?(vtπ??v^(st?,w))2

使用LSE的Prediction被稱為Least Squares Prediction,針對不同方向衍生還出了LSMC、LSTD、LSTD(λ\lambdaλ)等算法。

LSE亦可推廣到Q函數,即所謂的LS Q-Learning。

Experience Replay

為了充分利用經驗集,我們還可以使用Experience Replay技術,即:隨機從D\mathcal{D}D中采樣<s,vπ><s,v^{\pi}><s,vπ>,然后使用SGD最小化LSE。

這一點和普通的監督學習很類似,梯度下降從原理上來說,本就不可能一個epoch就達到最優,而需要多跑幾個epoch,這里的Experience Replay也是類似的道理。

Experience Replay還可用來消除訓練數據間的相關性。例如,1個agent在1個episode中產生的experience就是相關的,<st,at><s_t,a_t><st?,at?>和和<st+1,at+1><s_{t+1},a_{t+1}><st+1?,at+1?>顯然存在著一定的邏輯關系。訓練數據間的相關性會影響算法收斂到最優解。

總結

以上是生活随笔為你收集整理的机器学习(三十三)——价值函数的近似表示的全部內容,希望文章能夠幫你解決所遇到的問題。

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