Q learning的算法剖析
1. Q-learning 算法复习(Review)
Q-learning 是典型的value-based 经典方法。它作为评价者Critic,可以评价actor的表现。
Critic 有如下特点:
- 评价者Critic不直接决定action
- 给一个actor的策略π,Critic 评价这个actor的好坏
- 当使用一个actor的策略π,在状态s后的累计奖励需要被估计
V
π
(
s
)
V_\pi(s)
Vπ(s)
(1) 如何去估计 V π ( s ) V_\pi(s) Vπ(s)?
- MC-based
基于蒙特卡洛的方法是作为一个观察者Critic ,观察策略与环境的互动,一直到一个Episode的结束 。
看到
S
a
S_a
Sa ,
Until the end of the episode, the cumulated reward is ?
看到
S
b
S_b
Sb ,
Until the end of the episode, the cumulated reward is ??
- TD-based
我们从以前的博客中知道,MC的方法需要等到episode结束后,进行计算,等待时间长(太慢了!),中间变化的方差比较大。TD方法能够从实时reward中估计、
(2) 再说MC和TD
(3) Q-learning
Q-learning 是一个 State-action value function
Q
π
(
s
,
a
)
Q_\pi(s,a)
Qπ(s,a)
表示的是当在一个actor的策略π中,状态s采取action a后的累计奖励的估计。
2. Q-learning 证明
- 给出 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a) 找到一个新的actor 策略π‘ ,它比π的策略要好
- 好的定义是:
新策略的选择;
注:新策略π‘不依赖于其他参数,只依赖于Q
但是这个方案不适用于连续的动作
那么,怎么证明新的策略会比以前的好呢?
2. Q-learning 中的神经网络设计
(1) Target Network
在Q-learning 中目标 Q π ( s t + 1 , a ) Q_\pi(s_{t+1},a) Qπ(st+1,a) ,我们设定目标Target
(2) 探索
在基于policy的 Q函数:
每次都会去餐厅吃喜欢的菜固然不错,但是有可能会错过很多美味。
于是我们有:
-
Epsilon Greedy
-
Boltzmann Exploration
3. Q-learning 中Replay Buffer
往日的记忆是今日的写照,可以指导我们。
从诗意到现实,记忆我们放在buffer中
在每个循环中:
- Sample a batch
- Update Q- function
4. Typical Q-Learning Algorithm
本专栏图片、公式很多来自David Silver主讲的UCL-Course强化学习视频公开课和台湾大学李宏毅老师的深度强化学习课程,在这里,感谢这些经典课程,向他们致敬!