David silver 强化学习 Lecture 6
课程主页: 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为求解上式的结果
最终得到如下算法:
收敛性: