强化学习笔记5:无模型控制 Model-free control

适用于:

  • MDP model 未知:经验的采样可以获取
  • MDP model 已知:无法使用(e.g.原子级动力学),采样可以使用

策略、非策略学习:

  • On-policy:动作采样来自policy \(\pi\)
  • Off-policy:采样来自采样μ 或 来自于其他策略\(\pi\),

On-policy MC control

贪婪策略梯度法如果用V(s),需要MDP已知
对于已知MDP,可以通过策略迭代的方法,DP到最优策略

要实现不基于模型的控制,需要满足两个条件:

  • 引入q(s,a)函数,而不是v(s)
  • 探索,避免局部最优,引入\(\epsilon\),使\(\pi\)以小概率随机选择剩余动作,避免每次都选择已知较优动作

model-free policy using action-value function

用Q(s,a),不需要已知MDP

每个箭头对应一个段,Prediction一次,Control一次

GLIE MC control(Greedy in the Limit with Infinite Exploration)

保证试验进行一定次数是,所有a-s状态都被访问到很多次

随实验次数进行,减小\(\epsilon\)值

ON-policy TD learning

  • TD与MC control 区别,希望引入TD的特性到on-policy learning

Sasra

Sasra(one-step)

由贝尔曼公式推导

算法实现过程

要保证Q值收敛,需要服从下列2个条件

  • 策略符合GLIE特性
  • 计算步长满足如图:

n-step Sarsa

与TD(λ)类似,扩展q的视野

Forward view Sarsa(λ)

Backward view Sarsa(λ)

在正向视角中,迭代一次Q值,需要完整的一次episode
为了解决这个问题,引入迹的概念,实现incremental update

算法流程

Attention:迹E是属于episode的,切换episode后,E要归零

Off-policy learning

  • 需求

    • 从人类和其他agents的表现中学习
    • 从old policies \(\pi_1, \pi_2...\)中学习
    • 从随机策略中,学习到最优策略
    • 从一个策略中,学习到多个策略
  • 采样不同分布
    \[
    \begin{aligned}
    \mathbb{E}_{X \sim P}[f(X)] &=\sum P(X) f(X) \\
    &=\sum Q(X) \frac{P(X)}{Q(X)} f(X) \\
    &=\mathbb{E}_{X \sim Q}\left[\frac{P(X)}{Q(X)} f(X)\right]
    \end{aligned}
    \]

off-policy MC learning

引入了概率缩放系数,判断两个策略动作概率函数

  • 缺点:
    • 方差会增加
    • \(\mu =0\)无法计算

off-policy TD learning

利用期望分布的概念,在更新目标前x一个系数,对当前策略的置信度

  • 优点:
    • 低方差
    • 单步策略需要相似

Q-learning

特点

  • 采用Q(s,a) instead of V(s)
  • 不需要重要性采样 系数
  • 下次动作用 \(A_{t+1} ∼ μ(·|S_t)\)
  • 动作服从策略 as \(A′ ∼ π(·|S_t)\)

更新方程如下
\[
Q\left(S_{t}, A_{t}\right) \leftarrow Q\left(S_{t}, A_{t}\right)+\alpha\left(R_{t+1}+\gamma Q\left(S_{t+1}, A^{\prime}\right)-Q\left(S_{t}, A_{t}\right)\right)
\]

off-policy control with Q-learning

在学习过程中:

  • Q值的Update Target 被优化,target policies是\(\epsilon-greedy\)的
  • Actor 执行的策略\(\pi\)被优化,执行\(\epsilon-greedy\)

采用下式更新策略:
\[
\pi\left(S_{t+1}\right)=\underset{a^{\prime}}{\operatorname{argmax}} Q\left(S_{t+1}, a^{\prime}\right)
\]

Q-learning target 简化为:
\[
\begin{aligned}
& R_{t+1}+\gamma Q\left(S_{t+1}, A^{\prime}\right) \\
=& R_{t+1}+\gamma Q\left(S_{t+1}, \underset{a^{\prime}}{\operatorname{argmax}} Q\left(S_{t+1}, a^{\prime}\right)\right) \\
=& R_{t+1}+\max _{a^{\prime}} \gamma Q\left(S_{t+1}, a^{\prime}\right)
\end{aligned}
\]

迭代使\(Q(s,a) \rightarrow q_* (s,a)\)
Attention:在迭代过程中,动作采用\(\epsilon-greedy\)策略,保证对位置环境的探索

算法流程

总结

DP TD的关系


Q-learning 和 SARSA区别

区别在于:

  • Q-learning:

    • update: \(greedy\)策略,评估过程的A'没有实际执行
    • control:\(\epsilon-greedy\)策略
  • SARSA:更新和执行都用\(\epsilon-greedy\)策略

posted @ 2020-08-27 15:08  Tolshao  阅读(452)  评论(0编辑  收藏  举报