强化学习笔记 all in one

基础概念

强化学习和监督学习的区别:

  1. 强化学习输入的样本是序列数据,监督学习的样本之间相互独立
  2. 没有明确的监督者,通过奖励机制进行学习,但回馈可能是长期的,模糊的

一些强化学习的演示视频中,ai会做一些人类看来无意义的动作,正是这种“玄学”的回馈机制导致的

  • actor: 行为主体
    • action则可分为离散和连续,例如2d游戏中走格子迷宫就是一个典型的离散动作空间
  • observaton o /states s: 观测与状态
    • 观测到的情况o和现实情况(状态s)其实有可能不同,假设可以观察到全景,rl则成为一个马尔科夫决策过程
  • policy π: 行为策略
    • 带有参数θ
  • reward:反馈
    • baseline: 避免总是正值的reward,增加的偏置值,例如取期望
  • episode: 一轮行动
  • trajectory τ: \(\tau=\{s_{1},a_{1},s_{2},a_{2},\cdots,s_{T},a_{T}\}\)
  • 折扣γ: 直觉上,最开始的训练回馈可能更重要,越往后则训练收益越小,所以对每步的回馈需要乘以一个 \(\gamma^{t-1}\),t为训练次数,这个超参数也可以用于控制训练策略偏短期还是偏长期

流程: env(s1)->actor(a1)->env(s2)……
$\begin{array}{l}{{p_{\theta}(\tau)}}{{{}=p(s_{1})p_{\theta}(a_{1}|s_{1})p(s_{2}|s_{1},a_{1})p_{\theta}(a_{2}|s_{2})p(s_{3}|s_{2},a_{2})\cdots}} \\ =p(s_{1})\prod_{t=1}^{T}p_{\theta}(a_{t}|s_{t})p(s_{t+1}|s_{t},a_{t})\end{array}$

同一轮中每对(s,a)产生一个reward,其期望为: \(\bar{R}_{\theta}=\sum_{\tau}R(\tau)p_{\theta}(\tau)=E_{\tau\cap P_{\theta}(\tau)}[R(\tau)]\)

取梯度

$$ \begin{align*}{r l}{\nabla{\bar{R}}_{\theta} \\ =\sum_{\tau}R(\tau)\nabla p_{\theta}(\tau)}&{{} \\ =\sum_{\tau}R(\tau)p_{\theta}(\tau){\frac{\nabla p_{\theta}(\tau)}{p_{\theta}(\tau)}}} \\ &=\sum_{\tau}R(\tau)p_{\theta}(\tau){\nabla}l o g p_{\theta}(\tau) \\ &=E_{\tau \sim p_{\theta}(\tau)}[R(\tau)\nabla l o g p_{\theta}(\tau)]\approx\frac{1}{N}\sum_{n=1}^{N}R(\tau^{n})\nabla \log p_{\theta}(\tau^{n}) \\ &={\frac{1}{N}}\sum_{n=1}^{N}\sum_{t=1}^{T_n}R(\tau^{n})\nabla l o g p_{\theta}(a_{t}^{n}|s_{t}^{n}) \end{align*} $$

类似于机器学习的梯度下降,我们通过梯度计算寻找最大化reward的参数