1. 前言
在機器學習中,我們比較熟知的是監督式學習,非監督學習,此外還有一個大類就是強化學習。強化學習是機器學習的一個重要分支,是多學科多領域交叉的一個產物,它的本質是解決自動進行決策,並且可以做連續決策。
2. 強化學習定義
它主要包含五個元素,Agent(智能體),Environment(環境),State(狀態),Action(行動),Reward(獎勵),強化學習的目標就是獲得最多的累計獎勵。
強化學習經典圖:
這張圖很好的解釋了智能體和環境之間的相互作用。在某個時間步t,智能體處於狀態\(s_t\),采取動作\(a_t\)。然后環境會返回一個新的狀態\(s_{t+1}\)和一個獎勵\(r_{t+1}\)。獎勵處於\(t+1\)時間步是因為它是由環境在\(t+1\)的狀態\(s_{t+1}\)返回的,因此讓它們兩個保持一致更加合理。
2.1 強化學習例子
小孩想要走路,但在這之前,他需要先站起來,站起來之后還要保持平衡,接下來還要先邁出一條腿,是左腿還是右腿,邁出一步后還要邁出下一步。
小孩就是Agent,他試圖通過采取Action(即行走)來操縱Environment(行走的表面),並且從一個狀態State轉變到另一個狀態State(即他走的每一步),當他完成任務的子任務(即走了幾步)時,孩子得到Reward(給巧克力吃),並且當他不能走路時,就不會給巧克力。
如圖所示:
3. 強化學習和監督學習, 非監督學習的區別
3.1 強化學習和非監督學習的區別
非監督學習不是學習輸入到輸出的映射,而是學習出模式。例如在向用戶推薦新聞文章的任務中,非監督式會找到用戶先前已經閱讀過類似的文章並向他們推薦其一,而強化學習將通過向用戶先推薦少量的新聞,並不斷獲得來自用戶的反饋,最后構建用戶可能會喜歡的文章的“知識圖”。
3.2 強化學習和監督學習的區別
監督學習就好比你在學習的時候,有一個導師在旁邊指點,他知道怎么是對的怎么是錯的,但在很多實際問題中,有成千上萬種組合方式的情況,不可能有一個導師知道所有可能的結果。
而這時,強化學習會在沒有任何標簽的情況下,通過先嘗試做出一些行為得到一個結果,通過這個結果是對還是錯的反饋,調整之前的行為,就這樣不斷的調整,算法能夠學習到在什么樣的情況下選擇什么樣的行為可以得到最好的結果。
4. 強化學習的基本概念
- State(縮寫s)環境的狀態,t時刻環境的狀態\(s_t\)是它的環境狀態集中某一個狀態。
- Action(縮寫a)智能體的動作,t時刻個體采取的動作\(a_t\)是它的動作集中某一個動作。
- Reward(縮寫r)環境的獎勵,t時刻個體在狀態\(s_t\)采取的動作\(a_t\)對應的獎勵\(r_{t+1}\)會在t+1時刻得到。
- Policy(縮寫\(\pi\))個體的策略,它代表個體采取動作的依據,即個體會依據策略\(\pi\)來選擇動作。最常見的策略表達方式是一個條件概率分布\(\pi(a|s)\), 即在狀態s時采取動作a的概率。即\(\pi(a|s)=P(a_t=a|s_t=s)\).此時概率大的動作被個體選擇的概率較高。
- Value(縮寫v)個體在策略\(\pi\)和狀態s時,采取行動后的價值,一般用\(v_\pi(s)\)表示。這個價值一般是一個期望函數。雖然當前動作會給一個延時獎勵\(r_{t+1}\),但是光看這個延時獎勵是不行的,因為當前的延時獎勵高,不代表到了\(t+1\),\(t+2\),...時刻的后續獎勵也高。比如下象棋,我們可以某個動作可以吃掉對方的車,這個延時獎勵是很高,但是接着后面我們輸棋了。此時吃車的動作獎勵值高但是價值並不高。因此我們的價值要綜合考慮當前的延時獎勵和后續的延時獎勵。價值函數\(v\pi(s)\)一般可以表示為下式,不同的算法會有對應的一些價值函數變種,但思路相同。
- \(\gamma\)是模型要素,即獎勵衰減因子,在[0,1]之間。如果為0,則是貪婪法,即價值只由當前延時獎勵決定,如果是1,則所有的后續狀態獎勵和當前獎勵一視同仁。大多數時候,我們會取一個0到1之間的數字,即當前延時獎勵的權重比后續獎勵的權重大。
- \(P^a_{ss'}\)第七個是環境的狀態轉化模型,可以理解為一個概率狀態機,它可以表示為一個概率模型,即在狀態\(s\)下采取動作\(a\),轉到下一個狀態\(s'\)的概率,表示為\(P^a_{ss'}\)。
- \(\epsilon\)是探索率,這個比率主要用在強化學習訓練迭代過程中,由於我們一般會選擇使當前輪迭代價值最大的動作,但是這會導致一些較好的但我們沒有執行過的動作被錯過。因此我們在訓練選擇最優動作時,會有一定的概率\(\epsilon\)不選擇使當前輪迭代價值最大的動作,而選擇其他的動作。
以上8個就是強化學習模型的基本要素了。當然,在不同的強化學習模型中,會考慮一些其他的模型要素,或者不考慮上述要素的某幾個,但是這8個是大多數強化學習模型的基本要素。