David silver 强化学习 Lecture 5
课程主页:https://www.davidsilver.uk/teaching/
这里回顾David silver 强化学习 Lecture 5的课程内容,这一讲简单介绍了不基于模型的控制。
介绍
上一讲介绍不基于模型的预测,即对未知的MDP预测其价值函数;这一讲介绍不基于模型的控制,即对于未知的MDP优化其价值函数。
On-Policy Monte-Carlo Control
关于$V(s)$做策略提升需要MDP模型:
关于$Q(s,a)$做策略提升不需要模型
$\epsilon-$贪婪搜索
这里老师举了一个例子:
- 有两扇门在我们面前
- 打开左门得到$0$奖励,$V(\text{left})=0$
- 打开右门得到$+1$奖励,$V(\text{right})=+1$
- 打开右门得到$+3$奖励,$V(\text{right})=+2$
- 打开右门得到$+2$奖励,$V(\text{right})=+2$
- 我们是否选择了最好的门呢?
上述问题的答案显然是否定的,但是如果按照通常的方法则会一直选右门,为了解决这个问题,可以使用$\epsilon-$贪婪搜索:
- $\epsilon-$贪婪搜索是确保连续搜索的最简单方法
- 思路是以非零概率尝试所有$m$个动作
- 以$1-\epsilon$的概率选择贪婪动作
- 有$\epsilon$的概率随机选择一个动作
$\epsilon-$贪婪策略提升
关于$\epsilon-$贪婪搜索有如下定理:
定理
对于任意$\epsilon-$贪婪策略$\pi$,关于$q_\pi$的$\epsilon-$贪婪策略$\pi ‘$是一个提升,$v_{\pi^{\prime}}(s) \geq v_{\pi}(s)$
证明:
其中不等号是因为最大值大于等于所有值的加权和。
由上式可得
GLIE
GLIE的全称为Greedy in the Limit with Infinite Exploration
所有状态-动作对都经过了无数次探索,
策略收敛到贪婪策略
例如,$\epsilon-$贪婪是GLIE如果$\epsilon_k =\frac 1 k$
GLIE MC控制
利用$\pi:\left\{S_{1}, A_{1}, R_{2}, \ldots, S_{T}\right\} \sim \pi$采样$k$幕
在每一幕中,对每个状态$S_t$和动作$A_t$,
基于新的动作价值函数改进策略
上述方法的有效性由如下定理保证:
定理
GLIE MC收敛到最优动作价值函数,$Q(s, a) \rightarrow q_{*}(s, a)$
On-Policy Temporal-Difference Learning
- 自然的想法:在我们的循环中使用TD而不是MC
- 将TD应用于$Q(S, A)$
- 使用$\epsilon-$贪婪策略提升
- 实时更新
$\text{Sarsa}(\lambda)$
一个具体例子是$\text{Sarsa}(\lambda)$,思路如下:
伪代码为:
Sarsa的收敛性
Sarsa的收敛性由如下定理保证:
定理
Sarsa在如下条件下收敛到最优动作价值函数$Q(s, a) \rightarrow q_{*}(s, a)$
策略$\pi_t(a|s)$是GLIE序列
步长大小$\alpha_t$满足:
$n$步Sarsa
考虑如下$n$步回报:
定义$n$步回报
$n$步Sarsa根据$n$步Q回报更新$Q(s,a)$
$\text{Sarsa}(\lambda)$的前向视角
$\text{Sarsa}(\lambda)$和$\text{TD}(\lambda)$的思路一致,可以用下图表示:
$q^{\lambda}$回报结合了所有$n$步$Q$回报$q_t^{(n)}$
使用权重$(1-\lambda) \lambda^{n-1}$
$\text{Sarsa}(\lambda)$的前向视角(Forward-view)
$\text{Sarsa}(\lambda)$的反向视角
- 类似$\text{TD}(\lambda)$,首先定义合格轨迹:
对于每个状态$s$和动作$a$更新$Q(s,a)$
更新项正比于TD-误差$\delta_t$和合格轨迹$E_t(s,a)$
$\text{Sarsa}(\lambda)$算法
Off-Policy Learning
在遵循策略$\mu(a|s)$
的条件下,通过评估目标策略$\pi(a|s)$以计算$v_\pi(s)$或$q_\pi(s,a)$
为什么这很重要?
- 通过观察人类或其他智能体学习
- 重用旧策略$\pi_{1}, \pi_{2}, \ldots, \pi_{t-1}$带来的经验
- 在遵循探索性策略的同时学习最佳策略
- 遵循一项策略时了解多种策略
重要性抽样
Off-Policy MC的重要性抽样
通过$\mu$的回报评估$\pi$
根据策略之间的相似性得出权重回报$G_t$
在整个幕中乘以重要性抽样校正
根据校正回报更新价值
当$\pi$是非零但$\mu$是零时无法使用
重要性抽样可以大幅减少方差
Off-Policy TD的重要性抽样
使用$\mu$生成的TD目标来评估$\pi$
通过重要性抽样加权TD目标$R+\gamma V\left(S^{\prime}\right)$
只需要一次重要性抽样校正
比MC重要性抽样的方差小很多
策略只需要在一步中相似
Q-Learning
现在我们考行Off-Policy的动作价值$Q(s,a)$的学习
不需要重要性抽样
下一个动作根据行为策略选择$A_{t+1} \sim \mu\left(\cdot | S_{t}\right)$
但是我们考虑替代性的后续动作$A^{\prime} \sim \pi\left(\cdot | S_{t}\right)$
并将$Q\left(S_{t}, A_{t}\right)$更新为替代动作的价值
使用Q-Learning进行Off-Policy控制
现在,我们允许动作和目标策略都得到提升
目标策略关于$Q(s,a)$贪心
行为策略$\mu$关于$Q(s,a)$是$\epsilon -$贪心
那么Q-Learning的目标得到化简:
Q-Learning控制算法
根据之前讨论得到如下算法:
上述算法的有效性由如下定理保证:
定理
Q-learning控制收敛到最优动作价值函数:$Q(s, a) \rightarrow q_{*}(s, a)$
完整算法的伪代码如下: