目录
时序差分算法(TD)是强化学习中的核心和新颖的算法。
TD特点:
(1).无需完整的环境模型;
(2).bootstrap(判断一个状态的值要依赖其它状态的估计值)。
是 DP 和 MC 的结合。
policy evaluation: prediction problem.
control problem: find an optimal policy.
6.1 TD Prediction
问题描述
解释何为TD,TD 与 MC 以及 DP 的区别 。
1.TD 与 MC 的比较
相同之处:
TD 和 MC 都用经验来解决预测问题。也就是说估计
V
(
s
t
)
V(s_t)
V(st)
s
t
s_t
st(非终止态) 值的时候,都会用其之后遍历过的状态来估计
s
t
s_t
st的值。
都是 sample-backups。
不同之处:
(1)更新时刻(target):
MC:等到一个 episode 的终止状态时,将返回的累加奖励用于更新。
公式上的体现如下:
constant -
α
\alpha
α MC: $ V(s_t) \leftarrow V(s_t) + \alpha[R_t - V(s_t) ]$
MC 只有当
R
t
R_t
Rt知道了之后才对上述式子更新,也就是等到 episode 的终止状态的时候。
TD:不用等到一个 episode 的终止,下一个时刻(
t
+
1
t+1
t+1)就可以更新。
公式上的体现如下:
TD(0):
V
(
s
t
)
←
V
(
s
t
)
+
α
[
r
t
+
1
+
V
(
s
t
+
1
)
−
V
(
s
t
)
]
V(s_t) \leftarrow V(s_t) + \alpha[r_{t+1} + V(s_{t+1}) - V(s_t)]
V(st)←V(st)+α[rt+1+V(st+1)−V(st)]
TD 更新项为 r t + 1 + V ( s t + 1 ) r_{t+1} + V(s_{t+1}) rt+1+V(st+1),要用到下一个时刻的瞬时奖励和下一个时刻所处状态的估计值,所以下一个时刻就可以更新,而且从中可以看出 TD 是 bootstrap 的。
V π ( s ) = E π { R t ∣ s t = s } ( 6.1.1 ) = E π { ∑ k = 0 ∞ γ k r t + k + 1 ∣ s t = s } = E π { r t + 1 + γ ∑ k = 0 ∞ γ k r t + k + 2 ∣ s t = s } = E π { r t + 1 + γ V π ( s t + 1 ) ∣ s t = s } ( 6.1.2 ) \begin{aligned} V^\pi(s) &= E_\pi\{R_t | s_t=s\} \qquad(6.1.1)\\ &= E_\pi\{\sum_{k=0}^\infty \gamma^k r_{t+k+1} | s_t = s\} \\ &= E_\pi\{r_{t+1} + \gamma\sum_{k=0}^\infty \gamma^k r_{t+k+2} | s_t=s\} \\ &= E_\pi\{ r_{t+1} + \gamma V^\pi(s_{t+1}) | s_t =s\} \qquad(6.1.2) \end{aligned} Vπ(s)=Eπ{Rt∣st=s}(6.1.1)=Eπ{k=0∑∞γkrt+k+1∣st=s}=Eπ{rt+1+γk=0∑∞γkrt+k+2∣st=s}=Eπ{rt+1+γVπ(st+1)∣st=s}(6.1.2)
上述中 MC 的目标是(6.1.1),而 TD 的目标是 (6.1.2)。
Tabular TD(0) for estimating
V
π
V^\pi
Vπ
The backup diagram for TD(0)
例子(Driving Home example)解释:
Changes recommended by Monte Carlo methods in the driving home example
Changes recommended by TD methods in the driving home example
2.TD 与 DP的比较
不同之处:
DP:
full-backup,基于完整的所有后续节点。
TD:
sample-backup,只基于下一个采样的后续节点。
**3.TD 是 DP 和 MC 的结合** MC的目标是估计值是因为真实的状态期望值是不知道的,我们用采样的数据来代替真实的状态期望值。 DP 的目标是估计值是因为下一个状态的 state-value function是不知道的,我们采用当前对其的估计值来代替真实的期望值。 TD则是 采用采样的期望值估计和 利用当前的估计值来预测。 it samples the expected value and it uses the current estimate $V_t$ instead of the true $V^\pi$.
6.2 Advantages of TD Prediction Methods
问题描述
TD算法的优点。
TD 优于 DP 之处在于不须对模型有完整的掌握,即
P
s
s
′
a
P_{ss'}^a
Pss′a 和
R
s
s
′
a
R_{ss'}^a
Rss′a的分布不必事先完全知道。
TD 优于 MC 之处在于递增更新。
TD 与 MC 都收敛,那么谁的收敛速度更快呢?或者说谁学习得更快?
目前,数学上无证明。实际应用中,TD 比 constant-
α
\alpha
α MC 收敛快。
6.3 Optimality of TD(0)
问题描述
TD(0)算法的优点。
当采样数据少的时候,使用TD(0)算法,我们可以利用其特性反复使用可用的数据进行迭代训练。
batch updating:
updates are made only after processing each complete batch of training data.
batch MC: 计算的是最小化均方差
batch TD: 计算的是最大化似然估计。
TD 比 MC 快的原因在于 TD 计算的是真的确定性等价预测。
compute the true certainty-equivalence estimate.
6.4 TD Control
问题描述
如何利用TD思想来找寻最优策略? 主要介绍 on-policy 和 off-policy 下的两种典型算法,分别为Sarsa 算法和 Q-learning 算法。
我们考虑控制决策问题时,采用的基本思想仍是GPI。
1.Sarsa:On-Policy TD Control
学习的是 action-value function 而不是 state-value function。
我们考虑的是从 state-action pair 到 state-action pair 的转移,然后从中学习 state-value pairs的值。
Q
(
s
t
,
a
t
)
←
Q
(
s
t
,
a
t
)
+
α
[
r
t
+
1
+
γ
Q
(
s
t
+
1
,
a
t
+
1
)
−
Q
(
s
t
,
a
t
)
]
Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha[r_{t+1} + \gamma Q(s_{t+1},a_{t+1}) - Q(s_t,a_t)]
Q(st,at)←Q(st,at)+α[rt+1+γQ(st+1,at+1)−Q(st,at)]
当
s
t
+
1
s_{t+1}
st+1是终止状态时,规定
Q
(
s
t
+
1
,
a
t
+
1
)
Q_(s_{t+1},a_{t+1})
Q(st+1,at+1) = 0。
我们从五元组中就可以得到从某个状态到下一个状态的转移的信息。这也是Sarsa算法名称的由来。
Sarsa:An on-policy TD control algorithm.
2.Q-learning:Off-Policy TD Control
Q-learning(Watkin, 1989).
这一节讲述one-step Q-learning.
Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + 1 + γ max a Q ( s t + 1 , a ) − Q ( s t , a t ) ] Q(s_t,a_t) \leftarrow Q(s_t,a_t) + \alpha[r_{t+1} + \gamma \max\limits_a Q(s_{t+1},a) -Q(s_t,a_t)] Q(st,at)←Q(st,at)+α[rt+1+γamaxQ(st+1,a)−Q(st,at)]
Q-learning:An off-policy TD control algorithm.
The backup diagram for Q-learning
6.5 Actor-Critic Methods
问题描述
actor-critic method 的基本思想。
actor-critic method是 Policy Gradient(actor) 和 Function Approximation(critic) 的结合。
actor:the policy structure select actions.
基于概率选行为。
critic:the estimated value function critizes the actions.
基于 actor 的行为评判行为的得分。
actor 会根据 critic 的评分修改概率选行为的概率。
actor-critic 优点在于可以进行单步更新,但是缺点是critic 难以收敛。之后的 DDPG(Deep Deterministic Policy Gradient) 对其进行了改进。
所用到的公式:
TD error:
δ
t
=
r
t
+
1
+
γ
V
(
s
t
+
1
)
−
V
(
s
t
)
\delta_t = r_{t+1} + \gamma V(s_{t+1}) - V(s_t)
δt=rt+1+γV(st+1)−V(st)
Gibbs softmax method:
π
t
(
s
,
a
)
=
P
r
{
a
t
=
a
∣
s
t
=
s
}
=
e
p
(
s
,
a
)
∑
b
e
p
(
s
,
a
)
\pi_t(s,a) = Pr\{a_t=a| s_t=s\} = \frac{e^{p(s,a)}}{\sum_b e^{p(s,a)}}
πt(s,a)=Pr{at=a∣st=s}=∑bep(s,a)ep(s,a)
p
(
s
,
a
)
p(s,a)
p(s,a):actor 处于状态
S
S
S, 选择动作
a
a
a的概率。
其更新方式:
(1).
p
(
s
t
,
a
t
)
←
p
(
s
t
,
a
t
)
+
β
δ
t
p(s_t,a_t) \leftarrow p(s_t,a_t) + \beta\delta_t
p(st,at)←p(st,at)+βδt
(2).
p
(
s
t
,
a
t
)
←
p
(
s
t
,
a
t
)
+
β
δ
t
(
1
−
π
t
(
s
t
,
a
t
)
)
p(s_t,a_t) \leftarrow p(s_t,a_t) + \beta\delta_t(1-\pi_t(s_t,a_t))
p(st,at)←p(st,at)+βδt(1−πt(st,at))
6.6 R-Learning, Games, Afterstates, and Other Speical Cases
问题描述
对于不带折扣的连续任务,我们可以采用 R-Learning 算法。
Games, Afterstates
R-learning:An off-policy TD control algorithm for undiscounted, continuing tasks.
ρ
π
=
lim
n
→
∞
1
n
∑
t
=
1
n
E
π
{
r
t
}
\rho^\pi = \lim\limits_{n\rightarrow\infty} \frac{1}{n} \sum\limits_{t=1}^n E_\pi\{ r_t\}
ρπ=n→∞limn1t=1∑nEπ{rt}
6.9 Summary
TD思想的含义。
TD思想与DP、MC的比较。
TD思想的实现方式。(主要是Sarsa 和 Q-learning。 还有actor-critic method 和 R-learning)
第一版第六章:Richard S. Sutton and Andrew G. Barto.《An Introduction to Reinforcement Learning》
现已有第二版