模型无关控制方法
模型无关的控制应用场景
一些能够被建模成马尔可夫决策过程的问题示例
电梯,平行泊车,船舶操纵,生物反应器,直升机,飞机物流,机器人行走,围棋对弈
对于大部分真实世界中的问题:
- MDP模型为未知,但能够从经验中采样
- MDP模型为已知,但规模太大难以直接使用,只能通过采样
模型无关的控制能够解决上述问题
在线策略和离线策略学习
两类模型无关的强化学习
-
在线策略学习(on-policy)
- Learning on the job
- 利用策略 π \pi π 的经验采样不断学习改进策略 π \pi π
-
离线策略学习(off-policy)
- Look over someone’s shoulder
- 利用另一个策略 μ \mu μ 的经验采样不断学习改进策略 π \pi π
状态值和状态-动作值
G t = R t + 1 + γ R t + 2 + ⋯ + γ T − 1 R T G_{t}=R_{t+1}+\gamma R_{t+2}+\cdots+\gamma^{T-1}R_{T} Gt=Rt+1+γRt+2+⋯+γT−1RT
状态值
马尔可夫决策过程的 状态值函数
V
π
(
S
)
V^{\pi}(S)
Vπ(S) 是指从状态
s
s
s 开始,执行策略
π
\pi
π 的期望累计奖励
V π ( s ) = E π [ G t ∣ S t = s ] V^{\pi}(s)=\mathbb{E}_{\pi}[G_{t}|S_{t}=s] Vπ(s)=Eπ[Gt∣St=s]
状态-动作值
马尔可夫决策过程的 状态-动作值函数
Q
π
(
s
,
a
)
Q^{\pi}(s,a)
Qπ(s,a) 是指从状态
s
s
s 开始,执行动作
a
a
a 之后,执行策略
π
\pi
π 的期望累计奖励
Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] Q^{\pi}(s,a)=\mathbb{E}_{\pi}[G_{t}|S_{t}=s,A_{t}=a] Qπ(s,a)=Eπ[Gt∣St=s,At=a]
贝尔曼期望方程
状态值函数 V π ( s ) V^{\pi}(s) Vπ(s) 可被分解为即时奖励加上后续状态的折扣值
V π ( s ) = E π [ R t + 1 + γ V π ( S t + 1 ) ∣ S t = s ] V^{\pi}(s)=\mathbb{E}_{\pi}[R_{t+1}+\gamma V^{\pi}(S_{t+1})|S_{t}=s] Vπ(s)=Eπ[Rt+1+γVπ(St+1)∣St=s]
状态-动作值函数 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a) 也能被类似的分解
Q π ( s , a ) = E π [ R t + 1 + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] Q^{\pi}(s,a)=\mathbb{E}_{\pi}[R_{t+1}+\gamma Q^{\pi}(S_{t+1},A_{t+1})|S_{t}=s,A_{t}=a] Qπ(s,a)=Eπ[Rt+1+γQπ(St+1,At+1)∣St=s,At=a]
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V^{\pi}(s)=\sum_{a \in A}{\pi(a|s)Q^{\pi}(s,a)} Vπ(s)=a∈A∑π(a∣s)Qπ(s,a)
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P s a ( s ′ ) V π ( s ′ ) Q^{\pi}(s,a)=R(s,a)+\gamma\sum_{s'\in S}{P_{sa}(s')V^{\pi}(s')} Qπ(s,a)=R(s,a)+γs′∈S∑Psa(s′)Vπ(s′)
模型无关的策略迭代
给定状态值函数 V ( s ) V(s) V(s) 和状态-动作值函数 Q ( s , a ) Q(s,a) Q(s,a) ,模型无关的策略迭代应使用状态-动作值函数
- 基于状态值函数 V ( s ) V(s) V(s) 的贪心策略改进需要建立马尔可夫决策过程模型
π n e w ( s ) = arg max a ∈ A { R ( s , a ) + γ ∑ s ′ ∈ S P s a ( s ′ ) V π ( s ′ ) } \pi^{new}(s)=\arg\max_{a\in A}\left\{R(s,a)+\gamma\sum_{s'\in S}{P_{sa}(s')V^{\pi}(s')}\right\} πnew(s)=arga∈Amax{R(s,a)+γs′∈S∑Psa(s′)Vπ(s′)}
我们不知道状态转移概率 P s a ( s ′ ) P_{sa}(s') Psa(s′) ,所以无法对其直接求解
- 基于状态-动作值函数 Q ( s , a ) Q(s,a) Q(s,a) 的贪心策略改进是模型无关的
π n e w ( s ) = arg max a ∈ A Q ( s , a ) \pi^{new}(s)=\arg\max_{a \in A}{Q(s,a)} πnew(s)=arga∈AmaxQ(s,a)
使用状态-动作值函数的广义策略迭代
策略评估: 蒙特卡洛策略评估,
Q
=
Q
π
Q=Q^{\pi}
Q=Qπ
策略改进: 贪心策略改进
贪心动作选择(Greedy Action Selection)示例
基于 Q ( s , a ) Q(s,a) Q(s,a) 的贪心策略改进是模型无关的
π n e w ( s ) = arg max a ∈ A Q ( s , a ) \pi^{new}(s)=\arg\max_{a \in A}{Q(s,a)} πnew(s)=arga∈AmaxQ(s,a)
如上图的例子
假如第一次选择左边的门且获得的观测奖励 = 0,那么很可能就会陷入局部最优
如果没有探索,策略将是次优的
ε − g r e e d y \varepsilon-greedy ε−greedy 策略探索
确保持续探索最简单的想法
所有m个动作都以非零概率进行尝试
- 以 1 − ϵ 1-\epsilon 1−ϵ 的概率,选择贪心动作
- 以 ϵ \epsilon ϵ 的概率,随机选择一个动作
π ( a ∣ s ) = { ϵ m + 1 − ϵ i f a ∗ = arg max a ∈ A Q ( s , a ) ϵ m o t h e r w i s e \pi(a|s)= \begin{cases} \frac{\epsilon}{m}+1-\epsilon & if\quad a^{*}=\arg\max\limits_{a\in A}{Q(s,a)} \\ \frac{\epsilon}{m} & otherwise \end{cases} π(a∣s)={mϵ+1−ϵmϵifa∗=arga∈AmaxQ(s,a)otherwise
ε − g r e e d y \varepsilon-greedy ε−greedy 策略改进
定理:
对于任意
ϵ
−
g
r
e
e
d
y
\epsilon-greedy
ϵ−greedy 策略
π
\pi
π ,关于
Q
π
Q^{\pi}
Qπ 的
ϵ
−
g
r
e
e
d
y
\epsilon-greedy
ϵ−greedy 策略
π
′
\pi'
π′是
π
\pi
π 的一个改进,即
V
π
′
(
s
)
≥
V
π
(
s
)
V^{\pi'}(s)\geq V^{\pi}(s)
Vπ′(s)≥Vπ(s)
蒙特卡洛控制
每个片段:
- 策略评估:蒙特卡洛策略评估, Q ≈ Q p i Q\approx Q^{pi} Q≈Qpi
- 策略改进: ε − g r e e d y \varepsilon-greedy ε−greedy 策略改进
比较蒙特卡洛控制和时序差分控制
时序差分(TD)学习相比蒙特卡洛(MC)有许多优点
- 更低的方差
- 在线策略
- 基于不完整的序列
自然的想法:在控制中,使用时序差分(TD)代替蒙特卡洛(MC)
- 使用时序差分来更新状态-动作值 Q ( s , a ) Q(s,a) Q(s,a)
- 使用 ε − g r e e d y \varepsilon-greedy ε−greedy 策略改进
- 使用时间步长更新状态-动作值函数
如何理解强化学习中的控制和预测这两个名词?
预测问题(Prediction)指的是求解在给定策略(policy)下的价值函数(value function)的过程
而控制问题指的是如何获得一个尽量好的策略来最大化累计奖励(accumulated return)
因此,强化学习的过程常常是在解决预测问题的基础上,进而解决控制问题
蒙特卡洛算法和时序差分算法的优势
MC的优势:
- 不需要建模value function
- 对价值的采样是无偏的(unbiased)
- 算法实现比较简单
TD的优势:
- 不需要整个episode采样,仅需要一个片段就可以学习,也可以在infinite horizon场景下工作
- 一般效果都比较好,应用比MC广泛
- variance比较低