CS294-112: Introduction to Reinforcement Learning

一、定義

我們已經知道,如果有足夠的數據,那麼我們可以進行模仿學習。但是,如果數據不足或者我們想引入目的性,我們就可以通過引入獎勵函數,來指導Agent的行爲.

1、馬爾可夫決策過程

關於Agent的序列行爲與環境狀態的相關變化,我們可以形式化地使用(馬爾可夫決策過程)Markov decision process進行描述.

定義一:馬爾可夫決策過程

馬爾可夫決策過程是一個四元組:
M={S,A,T,r}\mathcal{M}=\{\mathcal{S},\mathcal{A},\mathcal{T}, r\}
其中:

  • S:\mathcal{S}: 表示狀態的集合。(狀態反映的是客觀世界)
  • A:\mathcal{A}: 表示行動的集合。
  • T:\mathcal{T}:轉移算子。(一個條件概率的Tensor)
  • rr:獎勵函數. (r:S×AR)r: \mathcal{S} \times \mathcal{A} \to \mathcal{R})

在這裏插入圖片描述

2、部分馬爾可夫決策過程

有時候,如同前文所說的,一些時候,我們無法得到客觀世界的狀態,而只能得到觀測。因此,我們使用(部分馬爾可夫決策過程)partially pbserved Markov decision process描述該過程:

定義二:部分馬爾可夫決策過程
部分馬爾科夫決策過程是一個六元組

M={S,A,O,T,ϵ,r}\mathcal{M} = \{\mathcal{S}, \mathcal{A}, \mathcal{O}, \mathcal{T}, \mathcal{\epsilon}, r \}

其中:

  • S:\mathcal{S}: 表示狀態的集合。(狀態反映的是客觀世界)
  • A:\mathcal{A}: 表示行動的集合。
  • O:\mathcal{O}: 表示觀測的集合。
  • T:\mathcal{T}:轉移算子。(一個條件概率的Tensor)
  • ϵ:\mathcal{\epsilon}:發射概率,即p(otst)p(o_t|s_t)
  • rr:獎勵函數. (r:S×AR)r: \mathcal{S} \times \mathcal{A} \to \mathcal{R})
    在這裏插入圖片描述

3、強化學習的目的

有了(部分)馬爾科夫過程的形式化定義,我們就能夠形式化地定義強化學習的目的了。先來看看強化學習的過程:

在這裏插入圖片描述
首先Agent根據策略πθ(as)\pi_{\theta}(a|s)產生行動aa, 然後當前狀態ss行動aa共同產下一狀態ss'. 然後重複該過程。

強化學習的整個過程其實就是一個多了策略πθ(as)\pi_{\theta}(a|s)馬爾科夫決策過程,這一過程可以形式化定義爲:
pθ(s1,a1,...,sT,aT)=p(s1)Πt=1Tπθ(atst)p(st+1st,at)p_{\theta}(s_1,a_1,...,s_T, a_T)=p(s_1)\Pi_{t=1}^T\pi_{\theta}(a_t|s_t)p(s_{t+1}|s_t, a_t)
在這裏插入圖片描述
強化學習是希望Agent能夠學習到好的策略πθ(as)\pi_{\theta}(a|s)

如何衡量策略的好壞呢?應該結合獎勵函數以及由該策略產生的狀態行動序列來衡量。由此,我們得到強化學習的目的:

θ=argmaxθEτpθ(τ)[tr(st,at)]\theta^*=arg \max_{\theta}E_{\tau \sim p_{\theta}(\tau)}[\sum_tr(s_t,a_t)]

即學習到最優的參數θ\theta^*, 從而得到最優策略πθ(as)\pi_{\theta^*}(a|s),使得序列的總獎勵期望最高,其中τ=(s1,a1,...,sT,aT)\tau=(s_1, a_1, ..., s_T, a_T)爲狀態行動序列.

4、簡化表示

對聯合概率進行邊緣化,我們有θ=argmaxθEτpθ(τ)[tr(st,at)]=argmaxθt=1TE(st,at)pθ(st,at)[r(st,at)]\theta^*=arg \max_{\theta}E_{\tau \sim p_{\theta}(\tau)}[\sum_tr(s_t,a_t)] =arg \max_{\theta} \sum_{t=1}^TE_{(s_t, a_t) \sim p_{\theta}(s_t, a_t)}[r(s_t, a_t)].

即將其簡化表示爲各時間步的狀態和行爲的獎勵期望之和。我們再對概率圖模型進行簡單變化:
在這裏插入圖片描述
這就相當於一個由轉移概率p((st+1,at+1)(st,at))p((s_{t+1}, a_{t+1})|(s_t,a_t))決定的馬爾科夫鏈,熟悉MAMC採樣的同學肯定知道,基本所有的馬爾科夫鏈會有一個平穩分佈,且平穩分佈唯一。因此,當TT \to \infty時,我們用下式表示強化學習的目的:
在這裏插入圖片描述

5、在意期望

特別值得注意的是,在強化學習中,我們在意的是獎勵函數的期望,而不是獎勵函數本身,因爲期望是平滑的,平滑的性質使得我們能夠採取梯度下降等方法進行學習。比如下方情形:
在這裏插入圖片描述
小車左轉獎勵爲1,右轉獎勵爲-1。如果專注獎勵函數本身,那麼它是離散的,不可微的。但是其期望E(r)=θ+(1θ)=2θ+1E(r)=-\theta+(1-\theta)=-2\theta+1. 是可微的。

二、強化學習算法

1、算法模塊總覽

強化學習可以分爲多類算法。具體的,有(1)不基於模型的算法. (2)基於模型的算法.

而不基於模型的算法又可分爲(1)基於價值的算法。(2)基於策略的算法。

無論是怎樣的算法,他們的結構都可以下方的三個模塊表示:

在這裏插入圖片描述

2、無模型、基於價值的算法

無模型,基於價值的算法可以由下圖表示:

其
其在黃色框根據策略 πθ(as)\pi_{\theta}(a|s)以及轉移算子 p(ss,a)p(s'|s,a)採樣,生成多條未來可能的行動和狀態序列。綠色框只是簡單計算所有序列的獎勵期望。藍色框使用梯度下降更新策略。然後重複該過程。這樣的方法也叫作policy gradients.

3、有模型的算法

無模型、基於策略的算法可以由下圖表示:

在這裏插入圖片描述
其在黃色框根據策略πθ(atst)\pi_{\theta}(a_t|s_t)採樣該時間Agent應該採取的行動。然後在綠色框計算得到st+1s_{t+1}, 最後在藍色框進行梯度下降更新策略。

各種算法各有優劣,還是需要看實際的情況。具體如何選擇,這裏就不贅述了。

三、Q函數與V函數

1、Q函數

先來看我們最終的強化學習的目標函數:

t=1TE(st,at)pθ(st,at)[r(st,at)]\sum_{t=1}^TE_{(s_t, a_t) \sim p_{\theta}(s_t, a_t)}[r(s_t, a_t)]

改寫該式:
在這裏插入圖片描述

我們定義Q函數爲:

在這裏插入圖片描述
也可寫爲:
在這裏插入圖片描述
其含義爲: 從狀態s1s_1和行爲a1a_1開始的所有獎勵和。

2、V函數

當然,我們也可以定義從狀態s1s_1開始的所有獎勵和,即V函數:
在這裏插入圖片描述

3、Q函數與V函數的使用

(1) 當我們知道Q函數時,我們可以通過Q函數提高我們的策略。即:
在這裏插入圖片描述
(2) 當我們知道V函數和Q函數時,由兩個函數的定義,我們可以通過兩者大小關係修改策略,即使得:
在這裏插入圖片描述

四、總結

最後用一張圖總結深度強化學習的類別,筆者還未弄明白,先記下來吧:
在這裏插入圖片描述

五、參考文獻

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