一、 时序差分法
通过学习后继状态s’的值函数来逼近当前状态值函数,实现对不完整轨迹的学习(因为仅估计后继状态s’)。
V
(
s
t
)
=
V
(
s
t
)
+
α
(
R
t
+
1
+
γ
V
(
s
t
+
1
)
−
V
(
s
t
)
)
V\left(s_{t}\right)=V\left(s_{t}\right)+\alpha\left(R_{t+1}+\gamma V\left(s_{t+1}\right)-V\left(s_{t}\right)\right)
V(st)=V(st)+α(Rt+1+γV(st+1)−V(st))
和MC相似,但MC的全局历史轨迹均值回报G用下式代替:
R
t
+
1
+
γ
V
(
s
t
+
1
)
R_{t+1}+\gamma V\left(s_{t+1}\right)
Rt+1+γV(st+1)
二、 Sarsa
在线策略:行为策略(一般为epsilon-greedy)和目标策略(一般为epsilon-greedy)相同。
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\left(s_{t}, a_{t}\right)=Q\left(s_{t}, a_{t}\right)+\alpha\left(R_{t+1}+\gamma Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t}, a_{t}\right)\right)
Q(st,at)=Q(st,at)+α(Rt+1+γQ(st+1,at+1)−Q(st,at))
过程:智能体根据行为策略P(a|s)服从 epsilon-greedy方法选择动作a,环境根据动作a给出状态跳转至s’,并给出立即回报Rt+1,智能体根据新的s‘根据策略P(a|s)服从 epsilon-greedy得出动作at+1,按照策略改进公式更新值函数。学习完后,智能体根据值函数表去索引最大值函数对应的行为作为最优策略。
三、 Q-learning
离线策略:行为策略(一般为epsilon-greedy)和目标策略(一般为greedy)不相同。
Q
(
s
t
,
a
t
)
=
Q
(
s
t
,
a
t
)
+
α
(
R
t
+
1
+
γ
max
Q
(
s
t
+
1
,
a
t
+
1
)
−
Q
(
s
t
a
t
)
)
Q\left(s_{t}, a_{t}\right)=Q\left(s_{t}, a_{t}\right)+\alpha\left(R_{t+1}+\gamma \max Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t} a_{t}\right)\right)
Q(st,at)=Q(st,at)+α(Rt+1+γmaxQ(st+1,at+1)−Q(stat))
过程:智能体根据行为策略P1(a|s)服从 epsilon-greedy方法从值函数表中选择动作a,环境根据动作a给出状态跳转至s’,并给出立即回报Rt+1,智能体根据新的s‘根据目标策略P2(a|s)服从greedy得出动作at+1,按照策略改进公式更新值函数。学习完后,智能体根据值函数表去索引最大值函数对应的行为作为最优策略。
注1:Q-learning是离线策略,但不同于离线MC需要进行重要性采样,所以Q-learning是RL进程中的一个重要离线算法。
注2:不管是Q-learning还是Saras,至始至终,都只有一个值函数表被优化,只不过优化值函数的策略和得出轨迹的策略是不是同一个策略,决定了他们是离线还是在线。