1. 程式人生 > >強化學習系列1:強化學習簡介

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

2015年10月,AlphaGo在和歐洲冠軍進行的圍棋賽上獲得了5:0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。

1. 基本概念

強化學習(reinforcement learning)是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程(Markov Decision Process,MDP)。所謂馬爾科夫決策過程,指的是下一時刻的狀態僅由當前階段(包括狀態、決策)決定,不依賴於以往的狀態,用數學化的語言表達為:

  1. 問題是多階段決策過程,階段數為 I
    I
  2. 每個階段可能的狀態為集合 S i S_i
  3. 每個階段可以做的決策為集合 A
    i A_i
  4. 從當前階段狀態到下一階段狀態的轉移函式為 P P ,有 s
    i + 1 = P ( s i , a i ) s_{i+1}=P(s_i,a_i)
  5. 決策完成之後,當前階段對應的成本(或者獎賞)為 c i = C ( s i , a i ) c_i=C(s_i,a_i) 。求解變數為 a i a_i ,目標函式為最小化總成本(或者最大化總獎賞) Σ i I c i \Sigma_{i\in I}c_i

如果階段之間的轉移存在隨機性,那麼狀態轉移函式為轉移概率 p s i + 1 = P ( s i + 1 , s i , a i ) p_{s_{i+1}}=P(s_{i+1},s_i,a_i) ,求解變數為 a i = π ( s i ) a_i = \pi(s_i) ,當前階段期望成本為 c i = Σ s i + 1 C ( s i + 1 , s i , a i ) p s i + 1 c_i=\Sigma _{s_{i+1}}C(s_{i+1},s_i,a_i)p_{s_{i+1}} ,目標函式為最小化期望總成本 Σ i I c i \Sigma_{i\in I}c_i
模型在進行決策的時候有多種方法,這裡列舉常用的三種:

  • 確定性的貪婪策略 π ( s ) = arg max a q s , a \pi(s) = \arg\max_a q^*_{s,a}
  • ϵ \epsilon -greed策略:以 1 ϵ 1-\epsilon 的概率取最優策略,其他等概率。這樣可以平衡利用和探索( ϵ \epsilon 的部分)
  • 高斯策略:在連續系統中,行動為 a + ϵ a+\epsilon ,後面為零均值正態分佈的高斯隨機噪聲。

下面介再簡單描述一些重要概念:

  • 馬爾科夫過程(MP)
    MP可以用(S,P)序列表示,其中S表示環境狀態,而P表示概率轉移的邊。MP的前進過程用圖表示為:
    s t p s t s t + 1 \longrightarrow s_t \stackrel{p_{s_t}}{\longrightarrow} s_{t+1} \longrightarrow
  • 馬爾科夫決策過程(MDP)
    MDP是(S,A,P,R),多了一個決策A和回報R(跨時間的回報需要帶上折扣 γ \gamma ),可以看做是MDP比MP多出來的D(ecision)。MDP的目標是min G G = min Σ k γ k R k + 1 \Sigma_k \gamma^k R^{k+1} = min E π { Σ k γ k R k + 1 } E_{\pi}\{\Sigma_k \gamma^k R^{k+1}\} ,求解變數為 π \pi 。MDP的前進過程用圖表示如下:
    s t π s t a t , r t p s t , a t s t + 1 \longrightarrow s_t \stackrel{\pi_{s_t}}{\longrightarrow}a_t ,r_t\stackrel{p_{s_t,a_t}}{\longrightarrow} s_{t+1} \longrightarrow
  • 值函式
    MDP使用迭代的方法求解,定義狀態值函式 v v 狀態行為值函式 q q v v 的引數是s,而 q q 的引數是(s,a)。值函式的前進過程圖如下:
    v π ( s t ) π s t q π ( s t , a t ) , r t p s t , a