強化學習淺談
一直對強化學習很感興趣,畢業前那會也嘗試著去學習,但因為當時感覺強化學習的公式晦澀難懂,沒能堅持下去。最近因工作需要,又重新開始啃強化學習的知識,發現有了新的體會,故在此記錄一下,以便以後隨時翻看查閱。
機器學習包含了三大分支,有監督學習(或半監督)、無監督學習和強化學習。同前兩者相比,強化學習具有如下特點,
(1) 沒有“supervisor”,只有“reward”訊號;
(2) 反饋訊號有時間延遲;
(3) 處理的是序列資料,而不是獨立同分布資料;
(4) 學習體的“action”影響其後續的資料輸入。
agent-environment互動機制
強化學習任務包含了兩大主體,Agent和Environment,這裡的Agent就是學習者,同時也是決策者。學習者通過和環境進行互動來實現目標,互動過程的框圖表示如下,
從圖中可以看出,這是一個序列化過程,在時刻t,學習體基於當前狀態 發出動作
其中,T表示最後的time step,也就意味著到時刻T學習體同環境的互動過程結束,我們把互動開始到結束的過程稱作一個”episode”,而且,當前episode結束後,學習體的狀態會被reset,從而開始一個新的episode,因此,所有的episode之間是相互獨立的。
表示折扣係數,當
時,我們可以認為這個學習體“目光短淺”,只考慮了眼前利益;當
接近於1時,我們可以認為這個學習體“目光長遠”,考慮了將來可能帶來的整體利益。
當學習體並不是隨機地產生可能的動作,而是經過對過去經歷的思考得來的時,我們可以把這樣的動作稱為策略policy。從數學的角度來講,策略就是由state到action的對映,它有兩種形式,“確定性策略”和“非確定性策略”,前者指給定狀態輸出唯一的確定性動作,後者指給定狀態輸出所有動作的概率,數學表示式為
。一旦確定了策略時,那麼學習體在每一個時刻都會按照該策略發出新的動作。
強化學習中的馬爾科夫過程
從上面的互動機制中可以看出,環境在收到action後會發生狀態轉移,此時大家應該會聯想到隨機過程課程中的狀態轉移圖,理論上來說,下一時刻的狀態應該與歷史所有狀態都有關係,然而,現實中很多的隨機過程都服從馬爾科夫性質(這裡有點類似於很多分佈都服從高斯分佈一樣),也即下一時刻的狀態僅與當前時刻狀態有關,而與歷史狀態無關,數學表示式如下,
基於上面的馬爾科夫一步轉移概率公式,可以得到關於環境的一切資訊,包括(1)(狀態, 動作)對應的瞬時獎勵的期望;(2)狀態轉移概率;(3)(狀態, 動作, 下一狀態)對應的瞬時獎勵的期望,它們的數學表示式分別如下,
後續、、、