強化學習基礎
概念
強化學習需要學習一個從環境狀態到智能體行動的映射,稱為智能體的一個策略,使得強化回報最大化。其環境通常采用 MDP 來定義。
馬爾可夫決策過程:$MDP = \{ S, A, P, R \} $
- 狀態轉移的回報函數$R: S\times A\times S \to R$
- 狀態轉移的概率$P: S\times S\times A \to [0,1],\forall s\in S, \forall a\in A \sum_{s‘\in S}P(s‘|s,a)=1$
- 部分可觀測 MDP :MDP+O+P(O|S),O 為觀測結果集合
一個平穩策略是一個確定的、時間無關函數$\pi:S\to A$
$Q^\pi(s,a)=\sum_{s‘\in S}P(s‘|s,a)[R(s,a,s‘)+\gamma V^\pi(s‘)]$,$\gamma$為折扣因子
$V^\pi(s)=Q^\pi(s,\pi(s)),V^\pi(s)$是狀態s下的回報期望值,$Q^\pi(s,a)$是狀態s下采取行動 a的回報期望值。
最優策略*:每個狀態選擇最大回報的動作。
- $V^*(s)=\max_aQ^*(s,a),\pi^*(s)=\arg\max_aQ^*(s,a)$
動態規劃
已知P時,強化學習為確定的動態規劃算法
- 值叠代:從V=0值開始,得到Q,最大化$\pi$,進而得到V的新值。
- 策略叠代:從隨機策略$\pi$和V=0值開始,解V或Q方程得到V與Q的新值,再計算新的策略。
未知 P 時,可用隨機算法估計 P ,兩個等價的逼近公式。
- 估計值公式:$A_k = \frac{1}{k}\sum v_k=A_{k-1} +\alpha_k(v_k-A_{k-1}),\alpha_k=\frac{1}{k},TD= v_k-A_{k-1}$稱為TD誤差。
- Robbins-Monro 隨機逼近公式:$A_k =(1-\alpha_k)A_{k-1}+\alpha_kv_k$
$Q(\lambda=0)$學習,$\lambda$為步數。重復以下步驟:
- 選擇執行一個動作a。為了保留探索的機會,$1-\epsilon$概率選擇非最大值。
- 觀察回報r和狀態 s‘
- $Q(s,a)\leftarrow Q(s,a)+\alpha(r+\max_{a‘}Q(s‘,a‘)-Q(s,a))$,策略a‘被選之後不一定執行,稱為off-policy
- 采用值叠代時,為$TD(\lambda):V(s_t)=V(s_t)+\alpha(r_{t+1}+\gamma V(s_{t+1}))$
- $s\leftarrow s‘$
$SARSA(\lambda=0)$學習,重復以下步驟:
- 執行一個動作a,觀察回報r和狀態 s‘
- 利用Q 的策略選擇 a‘
- $Q(s,a)\leftarrow Q(s,a)+\alpha(r+Q(s‘,a‘)-Q(s,a))$,策略a‘被選之後必然會執行,稱為on-policy
- $s\leftarrow s‘, a\leftarrow a‘$
擴展模型
隨著狀態空間維數的增加,動作空間的連續,計算復雜度指數增長,因此需要 V/Q 的低代價版本,通常的解決方案是函數逼近。
策略梯度方法
連續的動作空間使得$\max_{a‘}Q(s‘,a‘)$變得不切實際,PG采用可導函數逼近$Q$和$\pi$。
- 把策略隨機化、參數化:$\pi(s,a,\theta)=P{a_t=a|s_t=s,\theta}$
- 長期回報函數:$\rho(\pi)=E[\sum_t\gamma^{t-1}r_t|s_0,\pi]=\sum_a\pi(s_0,a)Q^\pi(s_0,a)$
- 梯度定理:$\frac{\partial\rho}{\partial\theta}=\sum_sd^\pi(s)\sum_a\frac{\partial\pi(s,a)}{\partial\theta}Q^\pi(s,a),d^\pi(s)=\sum_t\gamma^tP\{s_t=s|s_0,\pi\}$
找到逼近$Q^\pi$的函數:$f_w:S\times A\to R$
然後通過梯度下降法,找到長期回報函數的極值:$\lim_{k\to\infty}\frac{\partial\rho(\pi_k)}{\partial\theta}=0$
DQN
DQN采用神經網絡逼近$Q^\pi$函數,$f_w:S\to A\times R$
損失函數為:$L_i(\theta)=E_{s,a\sim\rho}[y_i-Q(s,a;\theta_i)]^2,y_i=E_{s‘\sim\epsilon}[r+\gamma\max_{a‘}Q(s‘,s‘;\theta_{i-1}]$
算法特點:在Q算法中更新Q的時候,從緩沖池中,提取小批量序列計算Q‘;並且每C步用Q‘更新Q。
AlphaGo
技術特點
- 策略網絡的有監督學習,得到權重初值
- 策略網絡的強化學習,只有最後一步有回報,然後強化每一步的策略
- 基於策略網絡,通過強化學習得到估值網絡
- 采用蒙特卡洛樹來采樣。
AlphaGo Zero
- 放棄有監督學習,采用單一網絡估計策略與價值,采用蒙特卡洛樹來采樣。
DDPG
針對連續動作空間
- 回報函數:$J(\pi_\theta)=\int_S\rho(s)\int_A\pi_\theta(s,a)r(s,a)dads=E_{s\sim\rho^\pi,a\sim\pi_\theta}[r(s,a)$
- DPG定理:$J(\mu_\theta)=\int_S\rho^\mu(s)r(s,\mu_\theta(s))ds=E_{s\sim\rho^\mu}[r(s,\mu_theta(s))]$
采用了兩個可優化部件:
- Actor函數$\mu$近似$\pi$,利用采樣梯度優化。
- Critic 網絡近似Q,損失函數:$L=\frac{1}{N}\sum_i(y_i-Q(s_i,a_i|\theta^Q)^2,y_i=r_i+\gamma Q‘(s_{i+1},\mu‘(s_{i+1}|\theta^{\mu‘})|\theta^{Q‘})$
DDPG是采用了DQN 的訓練技術的 DPG。
參考文獻
- Mozer S, M C, Hasselmo M. Reinforcement Learning: An Introduction[J]. IEEE Transactions on Neural Networks, 1992, 8(3-4):225-227.
- Sutton R S. Policy Gradient Methods for Reinforcement Learning with Function Approximation[J]. Submitted to Advances in Neural Information Processing Systems, 1999, 12:1057-1063.
- Simon Haykin, Neural Networks and Learning Machines (the 3rd edition), Pearson Eduction, Inc, 2009
- David L. Poole and Alan K. Mackworth: Artificial Intelligence: Foundations of Computational Agents, Cambridge University Press, 2010
- Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.
- Silver D, Lever G, Heess N, et al. Deterministic policy gradient algorithms[C]// International Conference on International Conference on Machine Learning. JMLR.org, 2014:387-395.
- Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. Computer Science, 2015, 8(6):A187.
- Mnih V, Badia A P, Mirza M, et al. Asynchronous Methods for Deep Reinforcement Learning[J]. 2016.
- Silver D, Huang A, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search.[J]. Nature, 2016, 529(7587):484-489.
- Silver D, Schrittwieser J, Simonyan K, et al. Mastering the game of Go without human knowledge[J]. Nature, 2017, 550(7676):354-359.
強化學習基礎