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