強化學習基礎系列(一):強化學習基本定義


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作為監督信號
  • 反饋具有延后性(不是及時的)
  • 處理的數據為序列數據而非獨立同分布

general transition of reinforcement learning

0x2 MDP簡介

RL是建立在​環境具有馬爾科夫性的假設上的,即下一個狀態的產生只取決於當前的狀態,而與之前的狀態無關。即

\[P[S_{t+1}|S_t] = \mathbb P[S_{t+1}|S_1,...,S_t] \]

​馬爾可夫決策過程(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\)有關,而與其他要素無關。我們可以定義出環境轉移的概率為

\[P_{ss^{'}} = \mathbb P[S_{t+1} =s^{'}|S_t=s] \]

在狀態\(s\)處執行\(a\)的轉移概率,可以定義為

\[P_{ss^{'}}^a = \mathbb P[S_{t+1} =s^{'}|S_t=s,A_t=a] \]

使用策略\(\pi\),在狀態\(s\)處執行動作后的轉移概率,可以定義為

\[P_{ss^{'}}^{\pi} = \sum_{a \in A} \pi(a|s)\mathbb P_{ss^{'}}^a \]

在狀態\(s\)處執行\(a\),能獲得的\(r\)的期望,可以定義為

\[R_{s}^a = \mathbb E[R_{t+1} = r|S_t=s,A_t=a] \]

使用策略\(\pi\),在狀態\(s\)處執行動作后能獲得的\(r\)的期望,可以定義為

\[R_{s}^{\pi} = \sum_{a \in A} \pi(a|s)R_{s}^a \]

我們使用狀態價值函數(value function) \(V_{\pi}(s)\)來衡量一個狀態s的好壞,其值為從狀態\(s\)開始的執行策略\(\pi\)的return的期望,表示為

\[V_{\pi}(s) = \mathbb {E}_{\pi}[G_t|S_t=s] \]

我們使用動作狀態價值函數(Q function) \(Q_{\pi}(s,a)\)來衡量一個狀態\(s\)下采取特定\(a\)的好壞,其值為從狀態\(s\)開始執行特定\(a\)(與策略\(\pi\)無關)后,執行策略\(\pi\)的return的期望,表示為

\[Q_{\pi}(s,a) = \mathbb {E}_{\pi}[R_{t+1} + \gamma(V_{\pi}(S_{t+1}))|S_t=s, A_t=a] \]

0x3 貝爾曼期望方程與最優方程

貝爾曼期望方程(Bellman Expectation Equations), 將狀態值函數\(V(s)\)與動作值函數\(Q(s,a)\)、將當前的值函數\(V(s)\)與之后狀態\(V(s^{’})\)、將當前的動作值函數\(Q(s,a)\)與之后的動作的值函數\(Q(s^{’},a^{’})\)聯系起來。其整體過程可以用這張圖表示。
Bellman Expectation Equations

狀態值函數\(V(s)\)與動作值函數\(Q(s,a)\)的關系

the relation between value function and q function

\[V_{\pi}(s)=\sum_{a \in A} \pi(a|s) Q_{\pi}(s,a) \]

the relation between q function and value function

\[Q_{\pi}(s,a)=R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a V_{\pi}(s^{'}) \]

聯系\(V(s)\)\(V(s^{’})\)

將以上兩式相結合,立刻得到

\[V_{\pi}=\sum_a \pi(a|s) (R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a V_{\pi}(s^{'})) \]

聯系\(Q(s,a)\)\(Q(s^{’},a^{’})\)

同理

\[Q_{\pi}(s,a)=R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a \sum_{a^{'} \in A} \pi(a^{'}|s^{'}) Q_{\pi}(s^{'},a^{'}) \]

最優價值函數

\[V^{*}(s)=\max_{\pi}V_{\pi}(s) \]

\[Q^{*}(s,a)=\max_{\pi}Q_{\pi}(s,a) \]

貝爾曼最優方程

貝爾曼最優方程是在貝爾曼期望方程的基礎上推理得到的。在策略\(\pi\)達到最優時,狀態價值函數V與動作價值函數Q取最大a是相等的

\[V^{*}(s)=\max_{a} Q^{*}(s,a) \]

\[Q^{*}(s,a)=R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a V^{*}(s^{'}) \]

\[V^{*}(s)=\max_{a}(R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a V^{*}(s^{'})) \]

\[Q^{*}(s,a)=R_{s}^a+\gamma \sum_{s^{'} \in S} P_{ss^{'}}^a \max_{a} Q^{*}(s^{'},a^{'}) \]

​如果我們完全直到環境信息,則問題可以轉化為一個規划問題,通過動態規划求解,但大部分時候我們不知道轉移概率、reward函數,不能直接通過貝爾曼方程求解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM