RL-Ch3-基于表格方法求解RL
本文不太完善,待寻到时间再细细修改。
前情回顾
MDP为(S,A,P,R, γ \gamma γ)五元组,在上一状态 s t s_t st采取动作 a t a_t at,会以一定的概率分布p进入下一状态 s t + 1 s_{t+1} st+1,同时产生一定的收益 r t r_t rt。

与环境交互过程会学习到P(transimision Probability matrix)函数 p ( s t + 1 , r t ∣ s t , a t ) p(s_{t+1},r_t|s_t,a_t) p(st+1,rt∣st,at)和R(Reward)函数 r ( s t , a t ) r(s_t,a_t) r(st,at),以此作为环境的描述。若事先通过虚拟环境获知了P和R函数,再应用于现实进行决策,则称这个系统是Model-Based的,反之则称该系统是Model-Free的。
- Model-Based:P/R函数已知(图1中的黑色主体图+红色部分)
- Model-Free:P/R函数未知(图1中的黑色主体图+绿色部分)
Q(Action-value)-table
在不同的状态采取不一样的行动会产生不一样的效果,而Q-func就是用于度量这种效果,由此也产生了Q-table的说法。

有限步Markov Chain的当前Q(动作状态)值为
G
t
=
R
1
+
.
.
.
+
R
T
G_t=R_1+...+R_T
Gt=R1+...+RT
无限步Markov Chain的当前Q(动作状态)值为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ G_t=R_{t+1}+\g…
以Cliff Walker这一经典游戏为例,讲解如何对实际情况建立Q表格。将地点划分为网格区域,每个方格有一个坐标位置,以左上角为原点,建立x、y轴正方向,则可得到一系列坐标,即状态state。上下左右为可采取的动作action。通过全部取零的操作完成Q表的初始化。然后通过一系列新算法进行后续Q表的更新。

时序差分学习(单步更新)
时许差分学习(Time Difference Learning)就是用下一时间步的V/Q值去近似当前时间步的V/Q值,不断迭代,得到最终的Q表。可分为**在线策略(on-policy)和离线策略(off-policy)**两类。
On Policy
图片来源CSDN
使用策略 π \pi π学习,并与环境进行交互产生经验,因为需要兼顾探索,所以 π \pi π并不稳定。典型的算法是Sarsa。
目标:用 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)逼近 G t G_t Gt
更新公式:
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)<--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)]
R t + 1 + γ Q ( s t + 1 , a t + 1 ) R_{t+1}+\gamma Q(s_{t+1},a_{t+1}) Rt+1+γQ(st+1,at+1)为 G t G_t Gt的真值
Q ( s t , a t ) Q(s_t,a_t) Q(st,at)为 G t G_t Gt的待更新值
式子中涉及的参数 ( s t , a t , R t + 1 , s t + 1 , a t + 1 ) (s_t,a_t,R_{t+1},s_{t+1},a_{t+1}) (st,at,Rt+1,st+1,at+1),故称此为Sarsa算法。
算法示意图:
Sarsa的伪代码

代码实操见RL-Code-Sarsa
Off Policy
典型的算法是Q-Learning。
目标策略: π \pi π–>用于学习最优策略
行为策略: μ \mu μ–>探索,与环境交互产生经验轨迹
Q-Learning伪代码

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)<--q(s_t,a_t)+\alpha[r_{t+1}+\gamma \max_aq(s_{t+1},a)-q(s_t,a_t)]
q(st,at)<−−q(st,at)+α[rt+1+γamaxq(st+1,a)−q(st,at)]
代码实操见RL-Code-QLearning
本文介绍了强化学习中基于表格方法的Q学习和Sarsa算法。通过Q-Table的概念,阐述了有限步和无限步Markov Chain的Q值计算,并以Cliff Walker游戏为例说明Q表的建立。接着,详细讲解了时序差分学习的在线策略(Sarsa)和离线策略(Q-Learning),包括各自的更新公式和算法流程。

1439

被折叠的 条评论
为什么被折叠?



