课程主页: https://www.davidsilver.uk/teaching/

这里回顾David silver 强化学习 Lecture 6的课程内容,这一讲简单介绍了价值函数的近似。

Value Function Approximation

  • 前几节介绍的方法都是使用查表法计算价值函数,即对每个状态计算$V(s),Q(s,a)$

  • 大型MDP中,状态太多,不太可能穷举所有状态,一个思路是使用函数近似价值函数,即

    • 从可见状态到不可见状态
    • 使用MC或TD学习更新参数w

Which Function Approximator?

现在要对函数近似器进行选择,由于使用梯度方法进行优化,比较好的近似器为

  • 特征的线性组合
  • 神经网络

其实第一种是第二种的特殊情形。

Gradient Descent

  • 假设$J(\mathrm w)$是关于参数向量$\mathrm w$的可微函数

  • 定义梯度为

  • 要找到局部最小值,$\mathrm w$的改变量为

    $\alpha$为步长参数

Value Function Approx. By Stochastic Gradient Descent

  • 我们的目标是找到$\mathrm w$,使得下式达到最小值

  • 利用梯度下降的方法可得

  • 随机梯度下降法使用(单)样本方差代替期望方差

Feature Vectors

  • 使用特征向量表示状态

Linear Value Function Approximation

  • 考虑线性形式的价值函数

  • 那么

Table Lookup Features

查表法其实是一种特殊特征产生的结果

那么

Incremental Prediction Algorithms

之前的方法中我们假设已知$v_{\pi}(S)$,但是实际中这并不可知,我们可以使用之前介绍的方法对$v_{\pi}(S)$进行估计

  • $\text{MC}$

  • $\text{TD}(0)$

  • $\text{TD}(\lambda)$

    前向视角

    反向视角

动作价值函数的情形类似:

  • $\text{MC}$

  • $\text{TD}(0)$

  • $\text{TD}(\lambda)$

    前向视角

    反向视角

Gradient Temporal-Difference Learning

$\text{TD}$并不能保证收敛,具体情况如下:

Batch Reinforcement Learning

随机梯度下降法由于一次只使用一个样本,所以训练效率不高,更好的是批量方法,这也是后续介绍的重点。

Stochastic Gradient Descent with Experience Replay

  • 假设让智能体和环境交互,收集到数据集$\mathcal D$

  • 均方误差为

    目标是最小化上述误差。

  • 可以重复如下操作:

    • 采样

    • 使用sgd

  • 返回

上述方法是DQN的基础:

DQN in Atari

Atari的输入为之前4帧的像素值,整体网络架构如下:

然后利用Experience Replay方式更新:

  • 根据$\epsilon-$贪心的策略执行动作$a_t$

  • 将$\left(s_{t}, a_{t}, r_{t+1}, s_{t+1}\right)$存储到内存$\mathcal D$

  • 从$\mathcal D$中采样$\left(s, a, r, s^{\prime}\right)$

  • 关于之前固定的参数$w^-$计算Q-learning目标

  • 最优化MSE误差

  • 利用sgd进行优化

Linear Least Squares Prediction

这部分介绍价值函数为线性函数的特殊情形,

在该情形下可以直接求解:

Linear Least Squares Prediction Algorithms

将对价值函数的估计加入到Linear Least得到如下公式:

LSMC:

LSTD:

LSTD($\lambda$):

收敛性如下:

Least Squares Q-Learning

动作价值函数也有对应的结果,这里介绍Least Squares Q-Learning

  • 考虑更新规则

  • LSTDQ为求解上式的结果

最终得到如下算法:

收敛性: