1. 程式人生 > >強化學習淺談

強化學習淺談

  一直對強化學習很感興趣,畢業前那會也嘗試著去學習,但因為當時感覺強化學習的公式晦澀難懂,沒能堅持下去。最近因工作需要,又重新開始啃強化學習的知識,發現有了新的體會,故在此記錄一下,以便以後隨時翻看查閱。
  機器學習包含了三大分支,有監督學習(或半監督)、無監督學習和強化學習。同前兩者相比,強化學習具有如下特點,
  (1) 沒有“supervisor”,只有“reward”訊號;
  (2) 反饋訊號有時間延遲;
  (3) 處理的是序列資料,而不是獨立同分布資料;
  (4) 學習體的“action”影響其後續的資料輸入。

agent-environment互動機制

  強化學習任務包含了兩大主體,Agent和Environment,這裡的Agent就是學習者,同時也是決策者。學習者通過和環境進行互動來實現目標,互動過程的框圖表示如下,


  從圖中可以看出,這是一個序列化過程,在時刻t,學習體基於當前狀態 S i 發出動作
A t
,環境做出迴應,生成新的狀態 S t + 1
和對應的回報 R t + 1 ,這裡需要強調一點,狀態S和回報R是成對出現的。學習體的目標就是,通過更加明智地執行動作,從而最大化接下來的累計獎勵 G t ,公式表示如下,

其中,T表示最後的time step,也就意味著到時刻T學習體同環境的互動過程結束,我們把互動開始到結束的過程稱作一個”episode”,而且,當前episode結束後,學習體的狀態會被reset,從而開始一個新的episode,因此,所有的episode之間是相互獨立的。 λ 表示折扣係數,當 λ = 0 時,我們可以認為這個學習體“目光短淺”,只考慮了眼前利益;當 λ 接近於1時,我們可以認為這個學習體“目光長遠”,考慮了將來可能帶來的整體利益。
  當學習體並不是隨機地產生可能的動作,而是經過對過去經歷的思考得來的時,我們可以把這樣的動作稱為策略policy。從數學的角度來講,策略就是由state到action的對映,它有兩種形式,“確定性策略”和“非確定性策略”,前者指給定狀態輸出唯一的確定性動作,後者指給定狀態輸出所有動作的概率,數學表示式為 π t ( a | s ) = P ( A t = a | S t = s ) 。一旦確定了策略時,那麼學習體在每一個時刻都會按照該策略發出新的動作。

強化學習中的馬爾科夫過程

  從上面的互動機制中可以看出,環境在收到action後會發生狀態轉移,此時大家應該會聯想到隨機過程課程中的狀態轉移圖,理論上來說,下一時刻的狀態應該與歷史所有狀態都有關係,然而,現實中很多的隨機過程都服從馬爾科夫性質(這裡有點類似於很多分佈都服從高斯分佈一樣),也即下一時刻的狀態僅與當前時刻狀態有關,而與歷史狀態無關,數學表示式如下,


基於上面的馬爾科夫一步轉移概率公式,可以得到關於環境的一切資訊,包括(1)(狀態, 動作)對應的瞬時獎勵的期望;(2)狀態轉移概率;(3)(狀態, 動作, 下一狀態)對應的瞬時獎勵的期望,它們的數學表示式分別如下,

P ( s , r   |   s , a ) = P r { S t + 1 = s , R t + 1 = r   |   S t = s , A t = a }

後續、、、