0x1 強化學習簡介
強化學習(Reinforcement Learning, RL)是機器學習(Machine Learning, ML)的三大分支之一。在一個強化學習問題中, 有一個決策者, 我們通常稱之為智能體(agent), 它所交互的區域叫做環境(environment, env), 它所處的當前環境稱為狀態(state), agent觀察到的這個環境狀態稱為(observation,obs), agent會根據observation, 根據自己的策略(policy)執行動作(action), 根據agent的action, 給agent相應的獎勵(reward), 並同時進入到下一個state。就這樣不斷地重復, 直到env到達了一個終止狀態(terminal state)(注:有的環境不存在終止狀態)。agent在從開始到終止狀態中所獲得的reward之和。稱之為回報(return)。agent的目的, 就是優化自己的policy,使得它的return最大。在沒有特殊說明的情況下, 在本博客中提到的環境state等價於agent的observation,也就是env是完全可觀察環境。如圖, 是強化學習的狀態轉移圖。強化學習具有以下特點:
- 以reward作為監督信號
- 反饋具有延后性(不是及時的)
- 處理的數據為序列數據而非獨立同分布
0x2 MDP簡介
RL是建立在環境具有馬爾科夫性的假設上的,即下一個狀態的產生只取決於當前的狀態,而與之前的狀態無關。即
馬爾可夫決策過程(Markov Decision Process, MDP)正式描述了強化學習的決策過程, MDP可以定義為<\(S,A,P,R,\gamma\)>, 分別表示state集合、action集合、狀態轉化概率、reward函數、衰減率。RL的policy有兩種,確定性策略(deterministic policy)和隨機性策略(stochastic policy),前者表示對於一個策略\(\pi\),給定狀態\(s\),策略會給出一個動作\(a\), 記為\(\pi(s)=a\)。而后者對於一個策略\(\pi\), 給定狀態\(s\), 會給出執行動作空間里的每個動作的概率分布, 記為\(\pi(a|s)=\mathbb P[A_t=a|S_t=s]\), 在此,我們同時也假設了策略\(\pi\)也符合馬爾可夫假設,即此時采取動作\(a\)的概率只和當前的狀態\(s\)有關,而與其他要素無關。我們可以定義出環境轉移的概率為
在狀態\(s\)處執行\(a\)的轉移概率,可以定義為
使用策略\(\pi\),在狀態\(s\)處執行動作后的轉移概率,可以定義為
在狀態\(s\)處執行\(a\),能獲得的\(r\)的期望,可以定義為
使用策略\(\pi\),在狀態\(s\)處執行動作后能獲得的\(r\)的期望,可以定義為
我們使用狀態價值函數(value function) \(V_{\pi}(s)\)來衡量一個狀態s的好壞,其值為從狀態\(s\)開始的執行策略\(\pi\)的return的期望,表示為
我們使用動作狀態價值函數(Q function) \(Q_{\pi}(s,a)\)來衡量一個狀態\(s\)下采取特定\(a\)的好壞,其值為從狀態\(s\)開始執行特定\(a\)(與策略\(\pi\)無關)后,執行策略\(\pi\)的return的期望,表示為
0x3 貝爾曼期望方程與最優方程
貝爾曼期望方程(Bellman Expectation Equations), 將狀態值函數\(V(s)\)與動作值函數\(Q(s,a)\)、將當前的值函數\(V(s)\)與之后狀態\(V(s^{’})\)、將當前的動作值函數\(Q(s,a)\)與之后的動作的值函數\(Q(s^{’},a^{’})\)聯系起來。其整體過程可以用這張圖表示。
狀態值函數\(V(s)\)與動作值函數\(Q(s,a)\)的關系
聯系\(V(s)\)與\(V(s^{’})\)
將以上兩式相結合,立刻得到
聯系\(Q(s,a)\)與\(Q(s^{’},a^{’})\)
同理
最優價值函數
貝爾曼最優方程
貝爾曼最優方程是在貝爾曼期望方程的基礎上推理得到的。在策略\(\pi\)達到最優時,狀態價值函數V與動作價值函數Q取最大a是相等的
如果我們完全直到環境信息,則問題可以轉化為一個規划問題,通過動態規划求解,但大部分時候我們不知道轉移概率、reward函數,不能直接通過貝爾曼方程求解。