強化學習入門(一)

2021-08-01 07:34:13 字數 2879 閱讀 9683

在強化學習中,環境狀態的轉移和環境反饋給agent的獎賞是不受agent個體控制的,agent只能通過選擇要執行的動作來影響環境,並通過觀察轉移後的狀態和環境反饋的獎賞值來感知環境,agent的強化學習過程即是通過不斷嘗試各種動作-狀態策略,並通過環境反饋的獎賞不斷調整策略,從而達到在某一環境狀態中agent能選擇最優的動作進而得到最大獎賞這一結果。最近我主要學習了free model思想的強化學習方法,顧名思義,由於在現實生活的強化學習任務重,環境狀態的轉移概率、獎賞函式往往都很難確定,甚至我們不清楚環境中存在多少的狀態,即狀態轉移概率t、獎賞函式r均未知,這種不依賴環境的建模即為free model。最典型的free model的模型有時序差分學習方法(td演算法),q-學習(q-learning)演算法。

在了解td學習和q學習時,需要先了解一些定義。強化學習中,學習環境的不同會有不同的學習策略。在馬爾科夫環境中,乙個重要的概念便是馬爾科夫決策過程(mdp)。

定義1 馬爾科夫決策過程:mdp包含乙個環境狀態集合s,agent的行為集合a,獎賞函式r,r(s,a,s』)表示agent在狀態s採用動作a使環境轉移至s』時獲得的瞬時獎賞值,狀態轉移函式t,t(s,a,s』)表示agent在狀態s採用動作a使環境狀態轉移到s』的概率。

mdp的本質是:mas環境中當前狀態向下一狀態轉移的概率t和瞬時獎賞r只取決於當前狀態和選擇的動作,而與歷史狀態和動作均無關。因此在已知狀態轉移概率t和瞬時獎賞函式r的mas環境中,可以採用動態規劃技術求解最優策略。而強化學習中,重點在於研究當轉移概率t和獎賞函式r未知的情況下,agent如何通過學習獲得最優的行為策略。目前通用的解決方案是採用迭代技術來調整當前狀態和下一狀態的值函式的估計值。

學習目標:(1)        

(2) 

(3) 

三種學習目標可以視情況選擇,其中(1)為無限折扣模型,即考慮agent從環境狀態st轉移到狀態st+1後所接受到的獎賞ri,並以某種形式的折扣累積在值函式中,γ為折扣因子;(2)為有限模型,即agent只考慮未來有限步h步的累積獎賞的和;(3)為平均獎賞模型,agent考慮長期平均獎賞值。

確定好學習目標,則可以根據下式確定最優行為策略,

狀態轉移函式未知,和不確定環境的獎賞值,是強化學習的主要特徵和難點。

考慮到目標函式,可以給出最優策略下的值函式定義為:

上述公式可以通過bellman迭代逼近最優策略下的函式值,即:

掌握上述內容便可以對td學習和q學習進行深入理解。

td學習

td演算法結合了蒙塔卡羅思想和動態規劃思想,由sutton於2023年提出,並證明當mas滿足馬爾科夫性質,且α絕對遞減的條件下,td演算法是絕對收斂的。agent在不需要mas模型的情況下可以利用估計的值函式進行迭代,是一中自適應的迭代演算法。根據agent獲得的瞬時獎賞值向後推移的步數,可將td演算法分為td(0)和td(λ)演算法,td(0)演算法是指agent獲得的瞬時獎賞值僅向後退一步,其狀態值函式計算公式為:

其中v(st)表示agent在t時刻訪問環境狀態st時估計的狀態值函式,同理,v(st+1)表示t+1時刻訪問環境狀態st+1時估計的狀態值函式,γ表示獎賞折扣,α表示學習速率,即迭代步長,rt+1表示agent從狀態st向狀態st+1轉移時獲得的瞬時獎賞值。td(0)演算法在學習過程如下:

(1) 初始化值函式v(st);

(2) agent在狀態,根據當前策略確定動作at,得到經驗知識和訓練樣例;

(3) 根據經驗知識修改狀態值函式v;

(4) 當agent訪問到目標狀態時,演算法終止一次迭代;

(5) 繼續從初始狀態開始新的迭代迴圈,直至學習結束。

由於td(0)演算法中agent獲得瞬時獎賞rt+1時只修改相鄰狀態的值函式估計,這就導致td(0)演算法的收斂速度比較慢。為提高收斂速度,sutton又提出了td(λ)演算法,即agent可以獲得的瞬時獎賞值可以向後退任意步,其狀態置值函式計算公式為:

其中e(s)表示狀態s的選舉度,即狀態s在mas中出現的頻率,在實際應用中e(s)可以通過以下方法計算:

其中,t表示agent的獎賞值受到前t步的影響,在歷史的t步中,如果當前狀態s被多次訪問,其選舉度e(s)的值就越大,也就說明其對當前獎賞值的貢獻最大。

q-學習

不同於td學習,學習過程考慮的是狀態s下agent能獲得的獎賞值,而不依賴狀態s下agent的動作a,其迭代過程利用估計的值函式v(s),q-學習是離策略的td學習,其學習過程考慮的是狀態-動作對的獎賞,其迭代過程中將q(s,a)作為估計函式。因此在迭代的過程中,q-學習中每一次的迭代都需要考察agent的每乙個行為,才能保證學習過程是收斂的。watkins等人已經證明,當α滿足一定條件,且mas環境為馬爾科夫環境時,q-學習是具有收斂性的。當q值函式的求解公式如下:

q*(s,a)表示agent在狀態s下採取動作a所獲得的最優獎賞折扣值的總和,t(s,a,s』)為狀態轉移函式,表示agent採取動作a後,mas環境狀態由s轉移至s』的概率。r(s,a,s』)表示agent選擇狀態-動作對(s,a)到達目標狀態s』時獲取的獎賞值。其最優策略為在狀態s下選用q值最大的行為。因此,q-學習中只需採用貪心策略選擇動作。q-學習的迭代步驟如下:

(1) 初始化動作價值函式q;

(2) 在狀態st下,agent根據貪心策略確定動作a,得到經驗知識和訓練樣例

(3) 根據經驗知識,修改q值,公式如下:

(4)agent訪問到目標狀態時,演算法終止一次迭代過程;

(5)重新從初始狀態開始新的迭代迴圈,直至學習結束。

最後,比較兩種演算法:

td學習

q-學習

值函式狀態值函式v(s)

動作值函式q(s,a)

收斂條件

馬爾科夫環境、

學習速率α絕對遞減

馬爾科夫環境、

選擇行為時採用貪心策略

選擇最優策略的過程

從經驗中學習

貪心策略,選擇當前狀態下能獲得最大q值的動作a

強化學習入門 的入門

強化學習是機器學習裡面非常重要的乙個派別。智慧型體 agent 會不斷執行一些操作,通過結果來學習,在不同的環境中分別應該採取怎樣的行動。以上幾點,在進入強化學習的複雜世界之前,可能還是有必要了解一下。這是個友好的引子 強化學習的中心思想,就是讓智慧型體在環境裡學習。每個行動會對應各自的獎勵,智慧型...

強化學習初入門

在網上搜尋了關於強化學習的一些部落格 與有監督學習 無監督學習類似的機器學習演算法 有監督學習是對有標籤的資料進行訓練從而對未知資料做 而強化學習是通過不斷在學習中實踐,在實踐中學習的計算決策過程。通過不斷地與環境互動,經過短期 長期的收益進行優化決策,獲取最大收益的過程。發現強化學習是乙個狀態不斷...

強化學習 強化學習基礎

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