1. 程式人生 > >強化學習導論(3)有限馬爾可夫決策過程

強化學習導論(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