大家好,第一次寫系列技術文章,如果內容有錯誤或想討論都歡迎留言!
此系列主要以Reinforcement Learning: An Introduction這本Sutton著的聖經內容為主,當初看這本書的時候,常常要對裡面的數學公式思考許久,所以希望此系列文能用簡單易懂的數學幫助大家入門強化學習。
為了節省篇幅,此系列文不會教你建置環境與python語法!如果不懂的話網路上有許多很好的資源可以參考XD。
強化學習是機器學習中的一個分支,不同於監督式與非監督式學習,強化學習是透過與環境的互動中得到的回饋來學習行為。啟發於心理學裡的行為主義流派裡的操作制約。內容簡單來說就是受試者在與世界互動的過程中,會得到懲罰或獎勵,受試者會根據得到的回饋來決定下一步該做甚麼行為。而受試者的本能便會趨勢他最大化所有得到的獎勵。
注意這邊是所有得到的獎勵,而非當下得到的獎勵。
一個著名的例子就是史金納的操作制約實驗,將小白鼠放到一個箱子中,只要小白鼠按下按鈕,就會有食物掉下來(正強化)。而此實驗結果就是小白鼠會學會一直按按鈕便能得到無窮的食物。而該實驗有另一種形式,就是將小白鼠放入箱中,但只要小白鼠不按按鈕,箱子便會通電(正懲罰)。最後小白鼠也會學習到按著按鈕才不會被電。
而強化學習的基本精神就是依據此種學習行為,在強化學習中,我們有Agent(實驗中的小白鼠)來指定行為,與Environment(實驗中的箱子)進行互動,Environment便會回傳此行為適當的程度,也就是Reward(實驗中的食物或電擊),而經過一次次的互動後,我們的目標就是讓獲得的Reward最大化。
在上述的實驗中,有提到正強化與正懲罰,在強化學習中也有相同的概念。正強化相當於正Reward,正懲罰相當於負Reward。像是走迷宮,假設我們從起點走到終點就會得到Reward為1,而中途不管經過哪些點都為0。這樣會造成我們的Agent走的路徑不是最短路徑,有可能在迷宮中間繞了好幾圈才走到終點,但是得到的Reward皆為1。而好的Reward策略是將走的每一步都得到Reward值-1,所以Agent為了最大化Reward便會尋找最短路徑。
從這個走迷宮的例子可以看到,Reward的選擇,對結果有很大的影響。俗話說:好的Reward帶你上天堂。幸運的是,此系列文使用的環境gym很貼心的幫大家訂好Reward策略了!所以我們只要專注在演算法層面就ok了。
簡單介紹一下強化學習的緣由,明天就會正式進入強化學習中最重要的元素 Markov Decision Process~