強化學習系列 2 Q Learning

2021-07-31 11:34:00 字數 1695 閱讀 9797

q-learning決策過程:

假設我們的行為準則已經學習好了, 現在我們處於狀態s1, 我在寫作業, 我有兩個行為 a1, a2, 分別是看電視和寫作業, 根據我的經驗, 在這種 s1 狀態下, a2 寫作業 帶來的潛在獎勵要比 a1 看電視高, 這裡的潛在獎勵我們可以用乙個有關於 s 和 a 的 q **代替, 在我的記憶q**中, q(s1, a1)=-2 要小於 q(s1, a2)=1, 所以我們判斷要選擇 a2 作為下乙個行為. 現在我們的狀態更新成 s2 , 我們還是有兩個同樣的選擇, 重複上面的過程, 在行為準則q 表中尋找 q(s2, a1) q(s2, a2) 的值, 並比較他們的大小, 選取較大的乙個. 接著根據 a2 我們到達 s3 並在此重複上面的決策過程. q learning 的方法也就是這樣決策的.

q-learning更新過程:

根據 q 表的估計, 因為在 s1 中, a2 的值比較大, 通過之前的決策方法, 我們在 s1 採取了 a2, 並到達 s2, 這時我們開始更新用於決策的 q 表, 接著我們並沒有在實際中採取任何行為, 而是再想象自己在 s2 上採取了每種行為, 分別看看兩種行為哪乙個的 q 值大, 比如說 q(s2, a2) 的值比 q(s2, a1) 的大, 所以我們把大的 q(s2, a2) 乘上乙個衰減值 gamma (比如是0.9) 並加上到達s2時所獲取的獎勵 r (這裡還沒有獲取到我們的棒棒糖, 所以獎勵為 0), 因為會獲取實實在在的獎勵 r , 我們將這個作為我現實中 q(s1, a2) 的值, 但是我們之前是根據 q 表估計 q(s1, a2) 的值. 所以有了現實和估計值, 我們就能更新q(s1, a2) , 根據 估計與現實的差距, 將這個差距乘以乙個學alpha 累加上老的 q(s1, a2) 的值 變成新的值.

但時刻記住, 我們雖然用 maxq(s2) 估算了一下 s2 狀態, 但還沒有在 s2 做出任何的行為, s2 的行為決策要等到更新完了以後再重新另外做. 這就是 off-policy 的 q learning 是如何決策和學習優化決策的過程.

q-learning 整體演算法

每次更新我們都用到了 q 現實和 q 估計, 而且 q learning 的迷人之處就是 在 q(s1, a2) 現實 中, 也包含了乙個 q(s2) 的最大估計值, 將對下一步的衰減的最大估計和當前所得到的獎勵當成這一步的現實, epsilon greedy 是用在決策上的一種策略, 比如 epsilon = 0.9 時, 就說明有90% 的情況我會按照 q 表的最優值選擇行為, 10% 的時間使用隨機選行為. alpha是學習率, 來決定這次的誤差有多少是要被學習的, alpha是乙個小於1 的數. gamma 是對未來 reward 的衰減值. 

q-learning 中的 lambda

重寫一下 q(s1) 的公式, 將 q(s2) 拆開, 因為q(s2)可以像 q(s1)一樣,是關於q(s3) 的, 所以可以寫成這樣, 然後以此類推, 不停地這樣寫下去, 最後就能寫成這樣, 可以看出q(s1) 是有關於之後所有的獎勵, 但這些獎勵正在衰減, 離 s1 越遠的狀態衰減越嚴重. 我們想象 qlearning 的機械人天生近視眼, gamma = 1 時, 機械人有了一副合適的眼鏡, 在 s1 看到的 q 是未來沒有任何衰變的獎勵, 也就是機械人能清清楚楚地看到之後所有步的全部價值, 但是當 gamma =0, 近視機械人沒了眼鏡, 只能摸到眼前的 reward, 同樣也就只在乎最近的大獎勵, 如果 gamma 從 0 變到 1, 眼鏡的度數由淺變深, 對遠處的價值看得越清楚, 所以機械人漸漸變得有遠見, 不僅僅只看眼前的利益, 也為自己的未來著想.

強化學習系列1 強化學習簡介

2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...

強化學習 強化學習基礎

為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...

強化學習 1 1 0 強化學習介紹

abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...