Elementary-Rl

Q-学习

随机梯度更新规则:

$$\hat{Q}_{\mathrm{opt}}(s,a) \leftarrow \hat{Q}_{\mathrm{opt}}(s,a) - \eta [\color{red}{\underbrace{\hat{Q}_{\mathrm{opt}}(s,a)}_\mathrm{prediction}} - \color{green}{\underbrace{(r + \gamma\hat{V}_{\mathrm{opt}}(s’))}_\mathrm{target}}]$$

这是死记硬背的办法:每个 $\hat{Q}_{\mathrm{opt}}(s,a)$ 有一个不同的值.

$\color{red}{问题就是}$ 无法泛化到未见过的状态/行动上

重新看看 Q-学习算法,从机器学习的角度来思考,你会发现我们仅仅是为每个 $(s,a)$ 对独立地处理了一下,记忆了其 Q-值.

换言之,我们不能进行泛化,而这点确实学习的最为关键的一点!

函数近似

$\color{red}{关键想法:线性回归模型}$
定义特征 $\color{blue}{\phi(s,a)}$ 和权重 $\color{blue}{\mathbf{w}}$:
$\hat{Q}_{\mathrm{opt}}(s,a;\mathbf{w}) = \color{blue}{\mathbf{w} \cdot \phi(s,a)}$

$\color{brown}{例子:过火山问题中的特征}$

  • $\phi_1(s,a) = \mathbf{1}[a=W]$
  • $\phi_2(s,a) = \mathbf{1}[a=E]$
  • $\phi_7(s,a) = \mathbf{1}[s = (5,*)]$
  • $\phi_8(s,a) = \mathbf{1}[s = (*,6)]$
  • 函数近似通过用一个权重向量和一个特征向量来参数化 $\hat{Q}_{\mathrm{opt}}$ 解决了上面的问题,这个其实和线性回归中一样.

  • 特征可以看成是状态-行动 $(s,a)$ 对的属性,可以作为在状态 $s$ 采取行动 $a$ 的质量的衡量.
  • 不过这样做的后果就是所有有着类似的特征的状态会有相似的 Q-值. 例如,假设 $\phi$ 包含特征 $\mathbf{1}[s=(*,4)]$. 如果我们在状态 $(1,4)$,采取行动 $\mathbf{E}$,并获得高奖励,那么采用函数近似的 Q-学习会将这个正的信号传播到在第 4 列的所有位置上采取任何行动.
  • 在这个例子中,我们在行动上定义特征(为了刻画向东移动通常是好的选择)而在状态上定义特征(为刻画第 6 列是最好要避开的事实,而第 5 行是好的移动位置)

$\color{blue}{算法:采用函数近似的 Q-学习}$
对每个 $(s,a,r,s’)$:
$\mathbf{w} \leftarrow \eta[\color{red}{\underbrace{\hat{Q}_{\mathrm{opt}}(s,a;\mathbf{w})}_\mathrm{prediction}} - \color{green}{\underbrace{(r + \gamma\hat{V}_{\mathrm{opt}}(s’))}_\mathrm{target}}] \color{blue}{\phi(s,a)}$

目标函数:
$$\min_\mathbf{w} \sum_{(s,a,r,s’)}\Big(\color{red}{\underbrace{\hat{Q}_{\mathrm{opt}}(s,a;\mathbf{w})}_\mathrm{prediction}} - \color{green}{\underbrace{(r + \gamma\hat{V}_{\mathrm{opt}}(s’))}_\mathrm{target}}\Big)^2$$

  • 现在我们就把线性回归搞成了一个算法. 这里,应用 RL 的随机梯度方法就有效了
  • 我们刚刚写下了最小平方目标函数,接着计算有关 $\mathbf{w}$ 的梯度而不是之前的 $\hat{Q}_{\mathrm{opt}}$. 链式法则处理剩下的事情了.

深度强化学习

定义:使用神经网络近似 $\hat{Q}_{\mathrm{opt}}$
可以玩 Atari 游戏[Google DeepMind, 2013]:

  • 最后 4 帧(图像)=> 3-层网络 => 控制杆
  • $\epsilon$-贪婪,使用 1 百万回放空间训练 1 千万帧的图像
  • 在某些游戏上(Breakout)达到人类水准的性能,在其他游戏上稍弱(space invaders)

  • 最近,由于深度学习的成功,又出现了对强化学习的兴趣. 如果某个人在一个模拟器上执行强化学习方法,那么就可以产生大量的数据,利于神经网络发挥作用.

  • 近期成功的故事来自 DeepMind,他们成功地训练出一个神经网络来表示玩 Atari 游戏的 $\hat{Q}_{\mathrm{opt}}$. 这里令人印象深刻的部分是不需要先验知识:神经网络简单地以原始图像作为输入并输出控制杆的选择.

了解未知世界

  • Epsilon-greedy:平衡探索和开发
  • 函数近似:可以泛化到未见的状态

Summary so far

  • 在线的设定: 在真实世界中学习和行动 learn and take actions in the real world!
  • 探索和开发的平衡 Exploration/exploitation tradeoff
  • 蒙特卡罗法 Monte Carlo: 从数据中估计转移概率、奖励和 Q-值 estimate transitions, rewards, Q-values from data
  • Bootstrapping: 更新依赖于估计而不是原始数据 update towards target that depends on estimate rather than just raw data

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2017 Universality All Rights Reserved.

UV : | PV :