強化學習——Sarsa

一、什么是Sarsa

在強化學習中 Sarsa 和 Q learning及其類似荸百,這節(jié)內(nèi)容會基于之前所講的 Q learning。如果還不熟悉 Q learning 可以去看看滨攻。我們會對比 Q learning够话,來看看 Sarsa 是特殊在哪些方面。

Sarsa 的決策部分和 Q learning 一模一樣铡买,因為我們使用的是 Q 表的形式?jīng)Q策更鲁,所以我們會在 Q 表中挑選值較大的動作值施加在環(huán)境中來換取獎懲,但是不同的地方在于 Sarsa 的更新方式是不一樣的奇钞。

二澡为、Sarsa更新方式

與 Q-learning 一樣, 我們會經(jīng)歷狀態(tài) s1, 然后再挑選一個帶來最大潛在獎勵的動作 a2, 這樣我們就到達了狀態(tài) s2, 而在這一步, 如果你用的是 Q learning, 你會觀看一下在 s2 上選取哪一個動作會帶來最大的獎勵, 但是在真正要做決定時, 卻不一定會選取到那個帶來最大獎勵的動作, Q-learning 在這一步只是估計了一下接下來的動作值. 而 Sarsa 到做到, 在 s2 這一步估算的動作也是接下來要做的動作. 所以 Q(s1, a2) 現(xiàn)實的計算值, 我們也會稍稍改動, 去掉maxQ, 取而代之的是在 s2 上我們實實在在選取的 a2 的 Q 值. 最后像 Q learning 一樣, 求出現(xiàn)實和估計的差距 并更新 Q 表里的 Q(s1, a2)。

Sarsa 更新方式

三景埃、Sarsa 與 Q-learning 對比

Sarsa算法(on-policy):

Initialize Q arbitrarily // 隨機初始化Q表
Repeat (for each episode): // 每一次從開始到結(jié)束是一個episode
    Initialize S // S為初始位置的狀態(tài)
    Choose a from s using policy derived from Q(ε-greedy) 
    Repeat (for each step of episode):
        Take action a, observe r, s'
        Choose a' from s' using policy derived from Q(ε-greedy) 
        Q(S,A) ← Q(S,A) + α*[R + γ*Q(S',a')-Q(s,a)] //在Q中更新S
        S ← S'; a← a'
    until S is terminal //即到游戲結(jié)束為止

處于狀態(tài) s 時媒至,根據(jù)當前 Q 網(wǎng)絡(luò)以及一定的策略來選取動作 a顶别,進而觀測到下一步狀態(tài) s',并再次根據(jù)當前 Q 網(wǎng)絡(luò)及相同的策略選擇動作 a'拒啰,這樣就有了一個【 s驯绎,a,r谋旦,s'剩失,a' 】序列。

處于狀態(tài) s' 時册着,就知道了要采取哪個 a'拴孤,并真的采取了這個動作。動作 a 的選取遵循 ε-greedy 策略甲捏,目標 Q 值的計算也是根據(jù)策略得到的動作 a' 計算得來演熟。

Q-learning算法(off-policy):

Initialize Q arbitrarily // 隨機初始化Q表
Repeat (for each episode): // 每一次游戲,從開始到結(jié)束是一個episode
    Initialize S // S為初始位置的狀態(tài)
    Repeat (for each step of episode):
        Choose a from s using policy derived from Q(ε-greedy) //根據(jù)當前Q和位置S司顿,使用一種策略芒粹,得到動作A,這個策略可以是ε-greedy等
        Take action a, observe r // 做了動作A大溜,到達新的位置S'化漆,并獲得獎勵R,獎勵可以是1钦奋,50或者-1000
        Q(S,A) ← Q(S,A) + α*[R + γ*maxQ(S',a))-Q(s,a)] //在Q中更新S
        S ← S'
    until S is terminal //即到游戲結(jié)束為止

處于狀態(tài) s 時获三,根據(jù)當前 Q 網(wǎng)絡(luò)以及一定的策略來選取動作 a,進而觀測到下一步狀態(tài) s' 锨苏,并再次根據(jù)當前 Q 網(wǎng)絡(luò)計算出下一步采取哪個動作會得到 max Q 值,用這個 Q 值作為當前狀態(tài)動作對 Q 值的目標棺聊。這樣就有了一個【s伞租,a,r限佩,s' 】序列葵诈。

處于狀態(tài) s' 時,僅計算了 在 s' 時要采取哪個 a' 可以得到更大的 Q 值祟同,并沒有真的采取這個動作 a'作喘;動作 a 的選取是根據(jù)當前 Q 網(wǎng)絡(luò)以及策略(e-greedy),目標 Q 值的計算是根據(jù) Q 值最大的動作 a' 計算得來晕城。

從算法來看泞坦,這就是他們兩最大的不同之處了。因為 Sarsa 是說到做到型砖顷,所以我們也叫他 On-policy(在線學習)贰锁,學著自己在做的事情赃梧。而 Q learning 是說到但并不一定做到,所以它也叫作 Off-policy(離線學習)豌熄。如果你還不清楚 在線學習 和 離線學習授嘀,可以參看強化學習

四锣险、什么是 Sarsa(lambda)

之前所說的 Sarsa 是一種單步更新法蹄皱,在環(huán)境中每走一步,更新一次自己的行為準則芯肤,我們可以在這樣的 Sarsa 后面打一個括號巷折,說他是 Sarsa(0),因為他等走完這一步以后直接更新行為準則纷妆。如果延續(xù)這種想法盔几,走完這步,再走一步掩幢,然后再更新逊拍,我們可以叫他 Sarsa(1)。同理际邻,如果等待回合完畢我們一次性再更新呢芯丧?比如這回合我們走了 n 步,那我們就叫 Sarsa(n)世曾。為了統(tǒng)一這樣的流程缨恒,我們就有了一個 lambda 值來代替我們想要選擇的步數(shù),這也就是 Sarsa(lambda) 的由來轮听。

簡單的說骗露,Sarsa(0) 就是單步更新姨丈,Sarsa(n) 就是回合更新趣惠,如果你還不清楚什么是單步更新本鸣、回合更新端壳,可參看強化學習俩莽。

其實 lambda 就是一個衰變值困介,他可以讓你知道離獎勵越遠的步陨倡,可能并不是讓你最快拿到獎勵的步余掖,所以我們想象我們站在寶藏的位置鲫凶,回頭看看我們走過的尋寶之路禀崖,離寶藏越近的腳印越看得清,遠處的腳印太渺小螟炫,我們都很難看清波附,那我們就索性記下離寶藏越近的腳印越重要,越需要被好好的更新。和之前我們提到過的獎勵衰減值 gamma 一樣叶雹,lambda 是腳步衰減值财饥,都是一個在 0 和 1 之間的數(shù)。

以上內(nèi)容參考莫凡Python折晦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钥星,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子满着,更是在濱河造成了極大的恐慌谦炒,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件风喇,死亡現(xiàn)場離奇詭異宁改,居然都是意外死亡,警方通過查閱死者的電腦和手機魂莫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門还蹲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耙考,你說我怎么就攤上這事谜喊。” “怎么了倦始?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵斗遏,是天一觀的道長。 經(jīng)常有香客問我鞋邑,道長诵次,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任枚碗,我火速辦了婚禮逾一,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肮雨。我一直安慰自己嬉荆,他們只是感情好,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布酷含。 她就那樣靜靜地躺著,像睡著了一般汪茧。 火紅的嫁衣襯著肌膚如雪椅亚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天舱污,我揣著相機與錄音呀舔,去河邊找鬼。 笑死,一個胖子當著我的面吹牛媚赖,可吹牛的內(nèi)容都是我干的霜瘪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惧磺,長吁一口氣:“原來是場噩夢啊……” “哼颖对!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起磨隘,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缤底,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后番捂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體个唧,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年设预,在試婚紗的時候發(fā)現(xiàn)自己被綠了徙歼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳖枕,死狀恐怖魄梯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耕魄,我是刑警寧澤画恰,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站吸奴,受9級特大地震影響允扇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜则奥,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一考润、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧读处,春花似錦糊治、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至管闷,卻和暖如春粥脚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背包个。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工刷允, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓树灶,卻偏偏與公主長得像纤怒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子天通,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一泊窘、什么是強化學習 強化學習是一類算法,是讓計算機實現(xiàn)從一開始完全隨機的進行操作土砂,通過不斷地嘗試州既,從錯誤中學習,最...
    小道蕭兮閱讀 32,820評論 5 12
  • 一萝映、什么是Q_learning Q_learning是強化學習中的一個決策算法吴叶,如果你還不知道什么是強化學習,可以...
    小道蕭兮閱讀 23,546評論 0 11
  • 一. 增強學習簡介 1.1 什么是增強學習序臂? 機器學習的算法可以分為三類:監(jiān)督學習蚌卤,非監(jiān)督學習和增強學習。 增強學...
    阿阿阿阿毛閱讀 31,161評論 0 25
  • 以下內(nèi)容來源于一次部門內(nèi)部的分享奥秆,主要針對AI初學者逊彭,介紹包括CNN、Deep Q Network以及Tensor...
    yhthu閱讀 31,048評論 36 125
  • 既然從瓜子開了頭构订,寫吃就得一直吃下去 如果說回家有什么地方一定要去吃的侮叮,除了媽媽外婆的手藝,唯一能算是眷戀不舍的就...
    赤水告之閱讀 328評論 0 4