文章目錄
一、定義
我們已經知道,如果有足夠的數據,那麼我們可以進行模仿學習。但是,如果數據不足或者我們想引入目的性,我們就可以通過引入獎勵函數,來指導Agent的行爲.
1、馬爾可夫決策過程
關於Agent的序列行爲與環境狀態的相關變化,我們可以形式化地使用(馬爾可夫決策過程)Markov decision process
進行描述.
定義一:馬爾可夫決策過程
馬爾可夫決策過程是一個四元組:
其中:
- 表示狀態的集合。(狀態反映的是客觀世界)
- 表示行動的集合。
- 轉移算子。(一個條件概率的Tensor)
- :獎勵函數. (
2、部分馬爾可夫決策過程
有時候,如同前文所說的,一些時候,我們無法得到客觀世界的狀態,而只能得到觀測。因此,我們使用(部分馬爾可夫決策過程)partially pbserved Markov decision process
描述該過程:
定義二:部分馬爾可夫決策過程
部分馬爾科夫決策過程是一個六元組
其中:
- 表示狀態的集合。(狀態反映的是客觀世界)
- 表示行動的集合。
- 表示觀測的集合。
- 轉移算子。(一個條件概率的Tensor)
- 發射概率,即
- :獎勵函數. (
3、強化學習的目的
有了(部分)馬爾科夫過程的形式化定義,我們就能夠形式化地定義強化學習的目的了。先來看看強化學習的過程:
首先Agent根據策略
產生行動
, 然後當前狀態
和行動
共同產下一狀態
. 然後重複該過程。
強化學習的整個過程其實就是一個多了策略的馬爾科夫決策過程,這一過程可以形式化定義爲:
強化學習是希望Agent能夠學習到好的策略
如何衡量策略的好壞呢?應該結合獎勵函數
以及由該策略產生的狀態
和行動
序列來衡量。由此,我們得到強化學習的目的:
即學習到最優的參數, 從而得到最優策略,使得序列的總獎勵期望最高,其中爲狀態行動序列.
4、簡化表示
對聯合概率進行邊緣化,我們有.
即將其簡化表示爲各時間步的狀態和行爲的獎勵期望之和。我們再對概率圖模型進行簡單變化:
這就相當於一個由轉移概率決定的馬爾科夫鏈,熟悉MAMC採樣的同學肯定知道,基本所有的馬爾科夫鏈會有一個平穩分佈,且平穩分佈唯一。因此,當時,我們用下式表示強化學習的目的:
5、在意期望
特別值得注意的是,在強化學習中,我們在意的是獎勵函數的期望,而不是獎勵函數本身,因爲期望是平滑的,平滑的性質使得我們能夠採取梯度下降等方法進行學習。比如下方情形:
小車左轉獎勵爲1,右轉獎勵爲-1。如果專注獎勵函數本身,那麼它是離散的,不可微的。但是其期望. 是可微的。
二、強化學習算法
1、算法模塊總覽
強化學習可以分爲多類算法。具體的,有(1)不基於模型的算法. (2)基於模型的算法.
而不基於模型的算法又可分爲(1)基於價值的算法。(2)基於策略的算法。
無論是怎樣的算法,他們的結構都可以下方的三個模塊表示:
2、無模型、基於價值的算法
無模型,基於價值的算法可以由下圖表示:
其在黃色框根據策略 以及轉移算子 採樣,生成多條未來可能的行動和狀態序列。綠色框只是簡單計算所有序列的獎勵期望。藍色框使用梯度下降更新策略。然後重複該過程。這樣的方法也叫作policy gradients
.
3、有模型的算法
無模型、基於策略的算法可以由下圖表示:
其在黃色框根據策略採樣該時間Agent應該採取的行動。然後在綠色框計算得到, 最後在藍色框進行梯度下降更新策略。
各種算法各有優劣,還是需要看實際的情況。具體如何選擇,這裏就不贅述了。
三、Q函數與V函數
1、Q函數
先來看我們最終的強化學習的目標函數:
改寫該式:
我們定義Q函數爲:
也可寫爲:
其含義爲: 從狀態和行爲開始的所有獎勵和。
2、V函數
當然,我們也可以定義從狀態開始的所有獎勵和,即V函數:
3、Q函數與V函數的使用
(1) 當我們知道Q函數時,我們可以通過Q函數提高我們的策略。即:
(2) 當我們知道V函數和Q函數時,由兩個函數的定義,我們可以通過兩者大小關係修改策略,即使得:
四、總結
最後用一張圖總結深度強化學習的類別,筆者還未弄明白,先記下來吧: