強化學習導論(3)有限馬爾可夫決策過程

本章我們介紹有限馬爾可夫決策過程(Finite MDPs),這個問題和賭博機一樣涉及到評估的反饋,但這裏還多了一個方面--在不同的情況作出不同的選擇。MDPs是經典的序列判定決策模型,就是說,你不是作出一個選擇就會馬上獲得reward,和賭博機不一樣,賭博機你只要搖一次臂即可立刻獲得reward,而MDPs就像下象棋,你只有結束了對局你纔會獲得reward,但下象棋從開始到結束涉及到很多個行動,也就是要做出很多次選擇才最終到對局結束。因此說MDPs的獎勵是延遲的,同時MDPs還有一個即時的權值用來幫助當前決策。在賭博機情景中,我們對每一個行爲a作出評估值Q(a)(原文這裏是q(a),我認爲評估值應該是Q,真實值纔是q),而在MDPs情境中,我們則需要對行爲a和狀態(state)s,作出評估Q(s,a),也可以我們估計每個給定最佳動作選擇的狀態的V(s)值。

    MDPs有嚴格的數學模型,我們介紹她的關鍵點比如返回值,值函數以及貝爾曼等式,我們想通過應用來傳遞有限馬爾可夫的結構,像所有人工智能一樣,都有其應用的範圍。

3.1  代理器-環境(Agent–Environment)交互

    我們把能夠學習且做決策的對象稱爲agent,比如在無人駕駛中,車就是agent,提供給agent學習和交互的地方就叫Environment,代理器不斷在環境中交互學習,而環境則給代理器反饋並提供一些狀況給代理器,環境中包含有一些獎勵,代理器就要在環境中實現獎勵最大化。

    大部分我們的代理器都是離散行動的,比如一次作出一個選擇,就像下象棋,一次行一步,令t爲步數t=1,2,3,...;每一步代理器都會獲取環境狀態(state)的信息,St ∈ S,一系列行爲之後,代理器會獲得這些行爲的reward之和Rt+1,然後繼續尋找新的state,MDPs的決策過程如下:


    有限馬爾可夫決策過程由有限個狀態,行爲和獎勵(S,A and R)組成,隨機變量Rt和St具有定義良好的離散概率分佈,只依賴於先前的狀態和動作,隨機值s和r在t步發生的概率爲:


對所有s`,s,r,a,這個等式中等號上的點提醒我們是一個定義(在本例中是函數p),而不是一個與前面定義一致的事實。這個函數p:S×R×S×A→[0,1]是一個對於四個參數來說是普遍確定,式子中間那個“|”是在概率論中是條件概率,但在這裏是提醒我們p是指每個s和a的概率:

四個參數函數p給出的概率完全刻畫了有限MDP的動態性質,從這個式子裏,我們可以計算任何可能對環境瞭解的東西,比如狀態轉移概率(state-transition probabilities)

我們也能通過兩個值S,A→R計算state–action的期望reward:

或者狀態→行爲→下一個狀態的期望reward:

    在本書中,我通常使用式子3.2,其他式子偶爾都很方便,MDP框架很抽象也很靈活,能夠應用到很多種不同的情況,舉個例子,在低級應用中,我們控制施加在機器人手臂上的電壓來操縱手臂,在高級應用中,可以是是不吃午飯,還是去學校。同樣的,state也有很多種,一個代理器可能處於不確定某個對象在哪裏,或者只是在某種明確的意義上感到驚訝的狀態,類似地,有些動作可能完全是心理或計算的,舉個例子,有些動作可能控制代理選擇思考什麼,或者集中注意力,總的來說,行動可以是我們想學做的任何決定,而state可以是我們所知道的任何可能有用的決策。

    代理和環境之間的邊界通常不等同於機器人或動物身體的物理邊界,機器人及其傳感硬件的電機和機械連接通常應被視爲環境的一部分,而不是部件的一部分,同樣,如果我們將MDP框架應用於人或動物,則肌肉、骨骼和感覺器官應被視爲環境的一部分,獎勵也可能在自然和人工學習系統的物理身體內計算,但被認爲是外部的代理。我們遵循的一般規則是,任何不能由代理隨意改變的東西都被認爲是外部環境的一部分,例如,代理經常知道它的獎勵是如何作爲其操作的函數和它們被接受的狀態來計算的,但我們總是認爲獎勵計算是外部的,因爲它定義了面向代理的任務,因此必須超出其任意更改的能力,事實上,在某些情況下,代理可能知道其環境如何工作,仍然面臨困難的強化學習任務,正如我們可能確切地知道像厄爾諾·魯比克的魔方這樣的拼圖如何工作,但仍然無法解決它,代理-環境邊界代表代理的絕對控制的限制,而不是其知識的限制。

    MDP框架是一個相當抽象的目標導向的學習交互問題,它提出了什麼的感覺,記憶中的細節,和控制裝置,不管目的是試圖實現的,任何問題的學習目標導向行爲可以歸結爲三個信號來回傳遞劑和其環境之間:一個信號來表示代理人的選擇(行動),一個信號代表作出選擇的基礎(狀態),和一個信號來定義代理人的目標(獎勵),他的框架可能不足以有效地代表所有的決策學習問題,但它已被證明是廣泛的有用和適用

   當然,每個任務的特定狀態和行爲都會有很大的差異,他們的表示會直接影響性能,在強化學習中,與其他類型的學習一樣,這種表現選擇目前比藝術更具藝術性,在這本書中,我們提供了一些關於表達狀態和行爲的好方法的建議和例子,但是我們的主要焦點是一旦選擇了表達方式,學習如何表現的一般原則。

例子3.1 生物感應器    假設正在應用強化學習來確定生物反應器(用於生產有用化學物質的大量營養物和細菌)的瞬時溫度和攪拌速度這樣的應用中的動作可能是目標溫度和目標攪拌速度,這些速度被傳遞到較低級別的控制系統,然後直接激活加熱元件和馬達以達到目標這些狀態可能是熱電偶和其他感官讀數,可能是過濾和延遲,再加上象徵性的輸入和目標化學品,獎勵可能是對生物反應器產生有用化學物質的速度的瞬間測量注意在這裏每個狀態是傳感器讀數和符號輸入的列表或向量,每個行爲是由目標溫度和攪拌速度,這就是典型結構化表示的狀態和行爲的強化學習任務。另一方面,獎勵總是單一的數字

例子3.2 拾放機器人   考慮使用強化學習來控制機器人手臂在重複性拾放任務中的運動如果我們想要學習快速平滑的動作,學習代理將不得不直接控制電機,並且獲得關於機械聯動的當前位置和速度的低延遲信息,在這種情況下的動作可能是施加到每個關節處的每個電動機的電壓,並且這些狀態可能是關節角度和速度的最新讀數,對於成功拾取和放置的每個對象,獎勵可能是+1,爲了鼓勵平穩的運動,在每個時間步驟上,可以給出一個小的負面獎勵,作爲運動的瞬間“急動”的函數。

課後習題3.3    考慮駕駛的問題, 您可以根據加速器,方向盤和制動器來定義動作,即身體與機器相遇的位置或者你可以把它們定義得更遠 - 比如橡膠在路面上的位置,考慮到你的行爲是輪胎扭矩,線路的哪一個位置是優先於另一個位置的?偏好一個地點比另一個地點更重要,還是自由選擇?


3.2   目標和獎勵

    目標既是agent的目標,代理器完成目標就會獲得獎勵,獎勵reward這個東西,前面已經講了很多了,這裏就略過。

3.3   返回和情節(Returns and Episodes)

   到目前爲止,我們已經非正式討論了學習的目的,我們已經說過,代理人的目標是最大限度地獲得長期的累積獎勵這要如何正式定義?如果每一步的獎勵累加,Rt+1 , Rt+2 , Rt+3 , . . .那麼我們希望最大化精確這個序列的哪個方面,通常來說,我們力求最大化預期回報,用Gt表示回報,回報既是獎勵之和:

T是最後一步,當agent-environment交互自然地分解成子序列時,我們稱之爲Episodes,就好象在玩迷宮遊戲時候,通過迷宮或者任何形式的重複交互。我作個比喻,就好像下象棋,Episode就好像一局對決,一旦一方被將軍那麼這局Episode結束,然後環境會重置,到下一個Episode,就好象下棋,一局結束後,重新擺好棋子繼續,上一局遊戲和這一局遊戲是相互獨立的。因此,這些事件都可以被認爲是以相同的終端狀態結束,對不同的結果有不同的回報,這種情節的任務被稱爲情節任務(episodic tasks)。

    另一種情況,有時候,我們會遇到沒有終結的任務,比如無人駕駛就沒有任務限制,車一直開,它就一直學,沒有說到什麼一個地方又重置什麼的,這類任務叫連續任務(continuing tasks),當應用continuing tasks的時候,式子3.7就不能運用了,因爲continuing tasks是沒有時間限制的,所以它的T是無限大的,那永遠無法獲取Gt在本書中,我們通常使用概念上稍微複雜一點但在數學上更簡單的返回定義。

    現在,我們添加一個概念:折扣(discounting),根據這種方法,代理人試圖選擇行動,以便在未來收到的折扣獎勵的總和最大化,折扣回報函數:

γ是折扣率,區間爲[0,1],折扣率決定了未來獎勵的現值,如果現在獲取一個未來第K步的獎勵(是獲取將來的獎勵),那麼折扣率就爲γ的K+1次方,如果γ小於1,那麼式子3.8就會收斂到有限個,如果γ等於0,代理器只會看到最近的reward,在這種情況下,它的目標是學習如何選擇At,以使Rt+1最大化,如果每個代理人的行爲都隻影響直接的獎勵那麼代理人可以通過分別最大化每個直接獎勵來最大化式子(3.8),但總的來說,爲了最大限度地獲得即時獎勵,可以減少獲得未來獎勵的機會,從而減少回報,當γ爲1,回報目標更強烈地考慮到未來的回報代理器變得更有遠見。

課後練習3.5  平衡槓,這個任務的目的是對沿着軌道移動的推車施力,以保持鉸接在推車上的杆不會掉落如果杆從垂直方向跌落超過給定角度,或者手推車跑離軌道,則失敗,每次失敗後,電杆都會重置爲垂直位置,這個任務可以被視爲偶發事件,其中自然事件是反覆嘗試平衡極點,每一步都會獲得獎勵,直到杆跌下該Episode結束,在這種情況下,永久的成功平衡意味着無限的回報或者,我們可以使用貼現來將極點平衡視爲一項持續的任務。在這種情況下,每次失敗的獎勵爲-1,其他時間爲零,在任何一種情況下儘可能長然後每次的回報將與-γ的K次方有關,其中K是失敗之前的步數,通過保持極點平衡爲最大化回報。


3.4 Episode任務和連續任務的統一表達方法

    前面的章節中,介紹了兩種強化學習任務,一種是Episode任務,一種是連續任務。前一種情況在數學上更容易,因爲每個動作隻影響在該集中隨後收到的有限數量的獎勵,本書中往往都涉及兩種問題,因此,建立一個表示方法使我們能夠同時精確地討論兩種情況就很有用。

   首先Episode任務需要添加一些新的表達方式,目前每一個Episode都有一些列的步驟,我們從零開始累計步數,於是我們不得不把狀態St,i來代替St其中t是步數,而i是第i個Episode,於此類推,同樣有At,i,Rt,it,i,Ti等等,這樣我們就把獨立的Episode連在一起,於是我們在想一個泛化的,因此我們不會給Episode編號,不然那將太多符號,因此我們更傾向用St。

   我們需要另外一個公約來獲得一個包含EpisodeEpisodeEpisodeEpisodeEpisodeEpisodeEpisodeEpisodeEpisodeEpisode任務和持續任務的符號,我們已經將回報定義爲在一個案例(3.7)中有限數量的項目的總和,而在另一個案例(3.8)中是無限多個項目的總和,這些可以統一考慮到EpisodeEpisodeEpisode終止是進入一個特殊的吸收狀態,只轉換到自己,只產生零回報,如下圖的state轉換:

   這裏實心方塊表示對應於情節結束的特殊吸收狀態,從S0開始,我們的reward序列是:+1,+1,+1,0,0....,這樣我們就會有兩種累計方式,一種是我們只要前三個reward,因爲後面的reward一直爲0,第二種方法就是一直無限累加,根據3.8式子,在不需要的時候使用忽略情節編號的慣例,包括如果總和保持定義則γ= 1的可能性(例如,因爲所有的事件終止),或者,我們也可以寫回報爲

包括T =∞或γ= 1的可能性(但不是兩者同時),在本書的其餘部分,我們使用這些約定來簡化符號,並表達情節和持續任務之間的密切相似之處。(稍後,在第十章中,我們將介紹一個既是連續又沒有折扣的表述。)

3.5  策略和值函數

   幾乎所有的強化學習算法都涉及到估計值函數 - 狀態(或狀態 - 行爲對)的函數,這些函數估計代理處於給定狀態的好處(或者在給定狀態下執行給定動作有多好),在這裏,“有多好”的概念是根據未來可預期的回報來定義的,或者更確切地說,就預期回報而言當然,代理人未來可能會收到的回報取決於將要採取的行動,因此,價值函數是根據特定的行爲方式來定義的,稱爲策略(policies),策略是state中選擇行爲的概率映射,簡單來說就是在不同state中選擇適合行爲的模型,如果代理在時間t遵循策略π(注意,這裏π不是3.14那個,這裏指策略),π(a|s)是s和a的每個選擇的概率分佈,強化學習方法指定了代理人的策略如何由於其經驗而改變,策略π裏面的狀態s的值Vπ(s),我們把有限馬爾可夫決策過程的Vπ定義爲:

其中Eπ[·]表示隨機變量的期望值,假設該代理器遵循策略π,t是步數,注意到最後一個state的值爲0,Vπ稱爲策略π的狀態值函數(vπ the state-value function for policy π),同樣,我們定義了在一個策略π下的狀態s中的行動的價值,記爲qπ(s, a),作爲從s開始的期望收益,採取行動a,之後遵循策略π:

qπ稱爲策略π行爲值函數(qπ the action-value function for policy π)

值函數vπ和qπ可以從經驗估計,比如說,如果一個主體遵循策略π並且對於每個遇到的狀態維持一個平均值,那麼這個平均值就會收斂到狀態值Vπ如果爲每個狀態下的每個動作保留單獨的平均值,那麼這些平均值將類似地收斂到動作值qπ(s, a),我們把這種蒙特卡羅方法稱爲估計方法,因爲它們涉及對許多實際隨機樣本進行平均回報,在強化學習和動態規劃中使用的價值函數的一個基本特性是它們滿足遞歸關係,類似於我們已經爲返回而建立的遞歸關係(3.9),對於任何政策π和任何狀態s,以下一致性條件成立s的值及其可能的後繼狀態的值:

最後一個等式,有兩個累加函數,一個是狀態的累加,另一個是獎勵的累加。等式3.14是Vπ貝爾曼等式(Bellman),

開始於s state是最高的節點,經過策略π後可以選擇一些行爲,比如圖中中間有3個行爲,對於每一個節點之後,經過reward和p函數環境反饋下一個s`,Bellman方程在所有可能性上取平均值,每個方法通過概率的備份圖表進行加權,s必須等於下一個state s`加上預期reward。

日常深推公衆號:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章