强化学习基础

Posted liuyunfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习基础相关的知识,希望对你有一定的参考价值。

概念

强化学习需要学习一个从环境状态到智能体行动的映射,称为智能体的一个策略,使得强化回报最大化。其环境通常采用 MDP 来定义。

马尔可夫决策过程:$MDP = { S, A, P, R } $

  • 状态转移的回报函数$R: S imes A imes S o R$
  • 状态转移的概率$P: S imes S imes A o [0,1],forall sin S, forall ain A sum_{s‘in S}P(s‘|s,a)=1$
  • 部分可观测 MDP :MDP+O+P(O|S),O 为观测结果集合

一个平稳策略是一个确定的、时间无关函数$pi:S o 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)=argmax_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}))$
  • $sleftarrow 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
  • $sleftarrow s‘, aleftarrow a‘$

扩展模型

随着状态空间维数的增加,动作空间的连续,计算复杂度指数增长,因此需要 V/Q 的低代价版本,通常的解决方案是函数逼近。

策略梯度方法

连续的动作空间使得$max_{a‘}Q(s‘,a‘)$变得不切实际,PG采用可导函数逼近$Q$和$pi$。

  • 把策略随机化、参数化:$pi(s,a, heta)=P{a_t=a|s_t=s, heta}$
  • 长期回报函数:$ ho(pi)=E[sum_tgamma^{t-1}r_t|s_0,pi]=sum_api(s_0,a)Q^pi(s_0,a)$
  • 梯度定理:$frac{partial ho}{partial heta}=sum_sd^pi(s)sum_afrac{partialpi(s,a)}{partial heta}Q^pi(s,a),d^pi(s)=sum_tgamma^tP{s_t=s|s_0,pi}$

找到逼近$Q^pi$的函数:$f_w:S imes A o R$

然后通过梯度下降法,找到长期回报函数的极值:$lim_{k oinfty}frac{partial ho(pi_k)}{partial heta}=0$

DQN

DQN采用神经网络逼近$Q^pi$函数,$f_w:S o A imes R$

损失函数为:$L_i( heta)=E_{s,asim ho}[y_i-Q(s,a; heta_i)]^2,y_i=E_{s‘simepsilon}[r+gammamax_{a‘}Q(s‘,s‘; heta_{i-1}]$

算法特点:在Q算法中更新Q的时候,从缓冲池中,提取小批量序列计算Q‘;并且每C步用Q‘更新Q。

AlphaGo

技术特点

  • 策略网络的有监督学习,得到权重初值
  • 策略网络的强化学习,只有最后一步有回报,然后强化每一步的策略
  • 基于策略网络,通过强化学习得到估值网络
  • 采用蒙特卡洛树来采样。

AlphaGo Zero

  • 放弃有监督学习,采用单一网络估计策略与价值,采用蒙特卡洛树来采样。

DDPG

针对连续动作空间

  • 回报函数:$J(pi_ heta)=int_S ho(s)int_Api_ heta(s,a)r(s,a)dads=E_{ssim ho^pi,asimpi_ heta}[r(s,a)$
  • DPG定理:$J(mu_ heta)=int_S ho^mu(s)r(s,mu_ heta(s))ds=E_{ssim ho^mu}[r(s,mu_theta(s))]$

采用了两个可优化部件:

  • Actor函数$mu$近似$pi$,利用采样梯度优化。
  • Critic 网络近似Q,损失函数:$L=frac{1}{N}sum_i(y_i-Q(s_i,a_i| heta^Q)^2,y_i=r_i+gamma Q‘(s_{i+1},mu‘(s_{i+1}| heta^{mu‘})| heta^{Q‘})$

 DDPG是采用了DQN 的训练技术的 DPG。

参考文献

  1. Mozer S, M C, Hasselmo M. Reinforcement Learning: An Introduction[J]. IEEE Transactions on Neural Networks, 1992, 8(3-4):225-227.
  2. 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.
  3. Simon Haykin, Neural Networks and Learning Machines (the 3rd edition), Pearson Eduction, Inc, 2009
  4. David L. Poole and Alan K. Mackworth: Artificial Intelligence: Foundations of Computational Agents, Cambridge University Press, 2010
  5. Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with Deep Reinforcement Learning[J]. Computer Science, 2013.
  6. 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.
  7. Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning[J]. Computer Science, 2015, 8(6):A187.
  8. Mnih V, Badia A P, Mirza M, et al. Asynchronous Methods for Deep Reinforcement Learning[J]. 2016.
  9. 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.
  10. Silver D, Schrittwieser J, Simonyan K, et al. Mastering the game of Go without human knowledge[J]. Nature, 2017, 550(7676):354-359.

 

以上是关于强化学习基础的主要内容,如果未能解决你的问题,请参考以下文章

强化学习基础介绍

强化学习基础

零基础强化学习强化学习中的有模型和无模型

中国mooc北京理工大学机器学习第三周:强化学习基础

强化学习基础

ChatGPT 使用 拓展资料:强化学习DQN 单模型双模型DoubleDQNDuelingDQN