SARSA時(shí)序差分學(xué)習(xí)方法

什么是SARSA

SARSA算法的全稱是State Action Reward State Action,屬于時(shí)序差分學(xué)習(xí)算法的一種,其綜合了動(dòng)態(tài)規(guī)劃算法和蒙特卡洛算法,比僅僅使用蒙特卡洛方法速度要快很多。當(dāng)時(shí)序差分學(xué)習(xí)算法每次更新的動(dòng)作數(shù)為最大步數(shù)時(shí),就等價(jià)于蒙特卡洛方法。

值函數(shù)更新公式的引入:多次試驗(yàn)的平均

SARSA的核心思想在于增量計(jì)算。在蒙特卡洛算法中,我們需要對(duì)Q函數(shù)\hat{Q}^{\pi}(s, a)進(jìn)行有效的估計(jì),假設(shè)第N次試驗(yàn)后值函數(shù)為\hat{Q}_{N}^{\pi}(s, a)的平均為:
\begin{aligned} \hat{Q}_{N}^{\pi}(s, a) &=\frac{1}{N} \sum_{n=1}^{N} G\left(\tau_{s_{0}=s, a_{0}=a}^{(n)}\right) \\ &=\frac{1}{N}\left(G\left(\tau_{s_{0}=s, a_{0}=a}^{(N)}\right)+\sum_{n=1}^{N-1} G\left(\tau_{s_{0}=s, a_{0}=a}^{(n)}\right)\right) \\ &=\frac{1}{N}\left(G\left(\tau_{s_{0}=s, a_{0}=a}^{(N)}\right)+(N-1) \hat{Q}_{N-1}^{\pi}(s, a)\right) \\ &=\hat{Q}_{N-1}^{\pi}(s, a)+\frac{1}{N}\left(G\left(\tau_{s_{0}=s, a_{0}=a}^{(N)}\right)-\hat{Q}_{N-1}^{\pi}(s, a)\right) \end{aligned}
其中\tau_{s_{0}}=s, a_{0}=a表示軌跡\tau的起始狀態(tài)和動(dòng)作為s, a

省卻以上公式的中間過程,我們可以將該公式簡(jiǎn)化為如下:
\hat{Q}_{N}^{\pi}(s, a)=\hat{Q}_{N-1}^{\pi}(s, a)+\frac{1}{N}\left(G\left(\tau_{s_{0}=s, a_{0}=a}^{(N)}\right)-\hat{Q}_{N-1}^{\pi}(s, a)\right)
在該公式中,值函數(shù)\hat{Q}^{\pi}(s, a)在第N次試驗(yàn)后的值\hat{Q}_{N}^{\pi}(s, a),即N次試驗(yàn)的平均等于前N-1次試驗(yàn)再加上一個(gè)增量。在該公式中,1/N可以表示成第N次試驗(yàn)相對(duì)于前N-1次試驗(yàn)的重要性

值函數(shù)更新公式的改進(jìn):權(quán)重參數(shù)的調(diào)整

更一般性的,我們可以將權(quán)重系數(shù)1/N改成一個(gè)比較小的正數(shù)\alpha,由此,以上公式可以被改寫成為以下:
\hat{Q}^{\pi}(s, a) \leftarrow \hat{Q}^{\pi}(s, a)+\alpha\left(G\left(\tau_{s_{0}=s, a_{0}=a}\right)-\hat{Q}^{\pi}(s, a)\right)
其中,增量\delta \triangleq G\left(\tau_{s_{0}=s, a_{0}=a}\right)-\hat{Q}^{\pi}(s, a)稱為蒙特卡洛誤差,表示真實(shí)的回報(bào)與期望回報(bào)之間的差距。

值函數(shù)更新公式的改進(jìn):累積獎(jiǎng)勵(lì)的計(jì)算

在上面的公式中,G\left(\tau_{s_{0}}=s, a_{0}=a\right)為一次試驗(yàn)的完整軌跡所得到的總回報(bào),為了提高效率,放寬模型的約束,可以借助動(dòng)態(tài)規(guī)劃算法來計(jì)算G\left(\tau_{s_{0}}=s, a_{0}=a\right),而不需要得到完整的軌跡。

s,a開始,采樣下一步的狀態(tài)和動(dòng)作\left(s^{\prime}, a^{\prime}\right),并得到獎(jiǎng)勵(lì)r(s,a,s^{\prime}),然后利用貝爾曼方程來近似估計(jì)函數(shù)G\left(\tau_{s_{0}}=s, a_{0}=a\right)。
\begin{aligned} G\left(\tau_{s 0}=s, a_{0}=a, s_{1}=s^{\prime}, a_{1}=a^{\prime}\right) &=r\left(s, a, s^{\prime}\right)+\gamma G\left(\tau_{s 0}=s^{\prime}, a_{0}=a^{\prime}\right) \\ & \approx r\left(s, a, s^{\prime}\right)+\gamma \hat{Q}^{\pi}\left(s^{\prime}, a^{\prime}\right) \end{aligned}
貝爾曼方程的思想精髓在于動(dòng)態(tài)規(guī)劃,即當(dāng)前值的計(jì)算依賴于上一時(shí)刻的值。對(duì)于無最終狀態(tài)的情況,我們定義了折扣率\gamma來重點(diǎn)強(qiáng)調(diào)現(xiàn)世的回報(bào)。

將以上公式結(jié)合,可以得到以下計(jì)算公式:
\hat{Q}^{\pi}(s, a) \leftarrow \hat{Q}^{\pi}(s, a)+\alpha\left(r\left(s, a, s^{\prime}\right)+\gamma \hat{Q}^{\pi}\left(s^{\prime}, a^{\prime}\right)-\hat{Q}^{\pi}(s, a)\right)
這種策略學(xué)習(xí)算法稱為SARSA算法。

通用SARSA算法框架:一個(gè)示例

一個(gè)通用的SARSA算法如下所示:

SARSA算法框架

該算法的大致邏輯如下:

  1. 運(yùn)行完一個(gè)回合即一個(gè)內(nèi)循環(huán)。
  2. 運(yùn)行直到Q函數(shù)收斂即為一個(gè)外循環(huán)。
  3. 運(yùn)行期間動(dòng)態(tài)更新Q函數(shù),并基于Q函數(shù)更新策略\pi(s)。

時(shí)序差分學(xué)習(xí)和蒙特卡羅方法的主要不同為:蒙特卡羅需要完整一個(gè)路徑完成才能知道其總回報(bào),也不依賴馬爾可夫性質(zhì);而時(shí)序差分學(xué)習(xí)只需要一步,其總回報(bào)需要依賴馬爾可夫性質(zhì)來進(jìn)行近似估計(jì)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. 增強(qiáng)學(xué)習(xí)簡(jiǎn)介 1.1 什么是增強(qiáng)學(xué)習(xí)? 機(jī)器學(xué)習(xí)的算法可以分為三類:監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)和增強(qiáng)學(xué)習(xí)。 增強(qiáng)學(xué)...
    阿阿阿阿毛閱讀 31,699評(píng)論 0 25
  • 深入淺出強(qiáng)化學(xué)習(xí)原理入門 第2章 馬爾可夫決策過程 馬爾可夫性, 當(dāng)前系統(tǒng)的下一個(gè)狀態(tài)僅與當(dāng)前狀態(tài)有關(guān),而與以往狀...
    迷途的Go閱讀 2,593評(píng)論 0 0
  • 概述 時(shí)序差分算法是一種無模型的強(qiáng)化學(xué)習(xí)算法。它繼承了動(dòng)態(tài)規(guī)劃(Dynamic Programming)和蒙特卡羅...
    倒著念閱讀 30,973評(píng)論 0 12
  • 看完《迷霧探險(xiǎn)2》的深度學(xué)習(xí)入門,又發(fā)現(xiàn)了一些不錯(cuò)的文章: 通俗易懂的深度學(xué)習(xí)發(fā)展介紹:從最基本的神經(jīng)網(wǎng)絡(luò)算法(單...
    臻甄閱讀 2,270評(píng)論 0 1
  • 轉(zhuǎn)眼就到七月,眼看著春暖花開轉(zhuǎn)瞬即逝,盛夏卻已經(jīng)過半,人生白駒過隙,我害怕自己還沒來得及想明白一些事情,卻已經(jīng)走到...
    繁花滿枝閱讀 381評(píng)論 0 0

友情鏈接更多精彩內(nèi)容