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