文章目录
1、强化学习
强化学习是学习一个最优策略(policy),可以让本体(agent)在特定环境(environment)中,根据当前的状态(state),做出行动(action),从而获得最大回报(G or return)。
2、强化学习的术语
学习任务可分为两类:
- 情节性任务(episodic tasks):指(强化学习的问题)会在有限步骤下结束。比如:围棋。
- 连续性任务(continuing tasks):指(强化学习的问题)有无限步骤。一个特征是:没有结束。比如:倒立摆。
学习的方法:
- on-policy方法(on-policy methods):评估的策略和优化的策略是同一个。
- off-policy方法(off-policy methods):评估的策略和优化的策略不是同一个。意味着优化策略使用来自外部的模拟数据。
三种算法:
- 预测算法(predication algorithms):计算每个状态的值 v(s),然后预测(可以得到最大回报的)最优行动。
- 控制算法(control algorithms):计算每个状态下每个动作的值 q(s,a) 。
- 策略梯度方法(Policy Gradient):计算策略 π ( a ∣ s , θ ) \pi(a|s,\theta) π(a∣s,θ)。
学习的方法:
- 列表方法(tabular methods):指使用表格存储每个状态(或者状态-动作)值。
- 近似方法(approximation methods):指使用一个函数来逼近状态(或者状态-动作)值。
- 基于模型的方法(model-base methods):通过模型来模拟。可以模拟动作,获得(状态或者动作)值。如:动态规划方法。
- 无模型的方法(model-free methods):使用试错法(trial-and-error)来获得(状态或者动作)值。
模型(model):环境的模型。可以模拟环境,模拟行动的结果。
引导性(bootstrapping):(状态或者动作)值是根据其它的(状态或者动作)值计算得到的。
采样性(sampling):(状态或者动作)值,或者部分值(比如:奖赏)是取样得到的。
注:引导性和采样性并不是对立的。可以是采样的,并且是引导的。
3、强化学习算法的分类
算法类别 | 是否需要模型 | 引导性 | 情节性任务 | 连续性任务 |
---|---|---|---|---|
Dynamic Programming(DP) | Y | Y | - | - |
Monte Carlo(MC) | N | N | √ \surd √ | × \times × |
Temporal-Difference(TD) | N | Y | √ \surd √ | √ \surd √ |
Policy Gradient | N | Y | √ \surd √ | √ \surd √ |
如果有一个模型,可以获得值函数 v(s) 或者 q(s,a) 的值 → 动态规划方法
如果可以模拟一个完整的情节 → 蒙特卡罗方法
如果需要在模拟一个情节中间就要学习策略 → 时序差分方法
4、有限马尔卡夫决策过程
马尔卡夫决策过程理论定义了一个数学模型,可用于随机动态系统的最优决策过程。
强化学习利用这个数学模型将一个现实中的问题变成一个数学问题。
agent 和 environment 不断交互,这个过程中伴随着 state、reward 和 action 的变化。agent 交互的最终目标:最大化它在长期内获得的总回报,即获得的标量信号(reward)的累积的期望值的最大化。
有限马尔卡夫决策过程的基本概念:
- state 状态
- action 行动
- reward 奖赏
- Returns 回报
- The Markov Property 马尔可夫特性
- state-value function 状态值函数
- action-value function 动作值函数
- optimal state-value function 最优状态值函数
- optimal action-value function 最优动作值函数
- Bellman optimality equation 贝尔曼最优方程
5、动态规划
Dynamic Programming(DP) 指一组可以用来计算最优策略的算法。动态规划是基于模型的方法。
动态规划的基本概念:
- Policy Evaluation 策略评估
- Policy Improvement 策略改进
- Policy Iteration 策略迭代:每个迭代都涉及 policy evaluation 和 policy
improvement,因此计算量很大。 - Value Iteration 值迭代
- Generalized Policy Iteration(GPI) 广义策略迭代:GPI
是一个强化学习的核心思想,影响了几乎所有的强化学习方法。
6、蒙特卡罗方法
蒙特卡罗方法是一种估计值函数和找到最优策略的学习方法。
蒙特卡罗预测:
- first-visit MC method:第一次访问状态s的回报平均值来估计 v π ( s ) v_\pi(s) vπ(s)。
- every-visit MC method:所有访问状态s的回报平均值来估计 v π ( s ) v_\pi(s) vπ(s)。
蒙特卡罗控制:
- Monte Carlo ES:从一个特定起始点的蒙特卡罗方法。
- on-policy methods:例如 On-policy first-visit MC control (for ϵ-soft policies)
- off-policy methods:几乎所有的 off-policy methods 都使用了 importance sampling (重要性抽样),抽样方法有普通重要性抽样和加权重要性抽样。
7、时间差分方法
TD learning 是蒙特卡罗思想和动态规划(DP)思想的结合。
TD 预测:
- Tabular TD(0) for estimating v π v_\pi vπ:计算 v(s) 的单步TD算法。
TD 控制:
- Sarsa: On-Policy TD Control:计算 q(s,a) 的单步TD算法。
- Q-learning: Off-Policy TD Control:是一个突破性算法。但是存在一个最大化偏差(Maximization
Bias)问题。 - Double Q-learning:解决了最大化偏差(Maximization Bias)问题。
8、多步时间差分方法
Multi-step TD 方法对MC方法和TD(0)方法进行了推广,且表现更佳。
预测:
- n-step TD Prediction:计算 v(s) 的多步TD算法。
控制:
- n-step Sarsa:计算 q(s,a) 的多步TD算法。
- Off-policy n-step Sarsa for estimating:考虑到重要性样本,把ρ带入到Sarsa算法中,形成一个off-policy的方法。
- The n-step Tree Backup Algorithm:每步都求动作值的期望值。
- n-step Q( σ \sigma σ):结合了Sarsa(importance sampling), Expected Sarsa, Tree Backup算法,并考虑了重要性样本。
9、基于模型的算法
Planning and Learning with Tabular Methods
random-sample one-step tabular Q-planning:通过从模型中获取奖励值,计算 q(s,a) 。
Tabular Dyna-Q:包括 planning, acting, model learning 和 direct RL 这些过程。
Prioritized sweeping for a deterministic environment:提供了一种性能的优化,只评估那些误差大于一定值θ的策略价值。
10、近似预测方法
近似预测:使用已知策略 π \pi π 生成的经验来逼近值函数 v π v_\pi vπ,且值函数是一种以权重向量 θ ∈ R n \theta \in \R^n θ∈Rn 的参数化函数形式,用 v ^ ( s , θ ) ≈ v π ( s ) \hat{v}(s,\theta) \approx v_\pi(s) v^(s,θ)≈vπ(s) 表示。
Gradient Monte Carlo Algorithm for Approximating:蒙特卡罗方法对应的近似预测方法。
Semi-gradient TD(0) for estimating:单步TD方法对应的近似预测方法。半梯度的原因是TD(0)和 n-steps TD计算状态值的公式不是精确的(而蒙特卡罗方法是精确的)。
n-step semi-gradient TD for estimating:多步TD方法对应的近似预测方法。
Least-Squares TD:最小二乘TD算法
线性方法中特征结构:
- 多项式基(Polynomials Basis)
- 傅里叶基(Fourier Basis)
- 粗编码(Coarse Coding)
- 块编码(Tile Coding)
- 径向基函数(Radial Basis Functions)
非线性函数近似:
- 人工神经网络(ANNs)
11、近似控制方法
近似控制是求策略的动作值函数, q ^ ≈ q π \hat{q} \approx q_\pi q^≈qπ ,表示为权重向量 θ \theta θ 的参数化函数。
Episodic Semi-gradient Sarsa for Control:单步TD的近似控制方法。(情节性任务)
Episodic semi-gradient n-step Sarsa for estimating:多步TD的近似控制方法。(情节性任务)
Differential Semi-gradient Sarsa for Control:单步TD的近似控制方法。(连续性任务)
Differential semi-gradient n-step Sarsa for estimating:多步TD的近似控制方法。(连续性任务)
12、有效跟踪
有效跟踪(Eligibility traces)与TD和MC方法进行统一和概括。有效跟踪提供了一种在线实现蒙特卡罗方法的方法,以及在没有episodes的情况下实现连续问题的方法。还提供了一种简练的算法机制,具有显著的计算优势。该机制是一个短期记忆向量,有效跟踪 e t ∈ R n e _t \in \R^n et∈Rn,与长期的权向量 θ t ∈ R n \theta _t \in \R^n θt∈Rn 并存。
λ-return:计算 G t G_t Gt
TD(λ):第一个使用eligibility traces的算法
True Online TD(λ):真正的在线 TD(λ) 算法
13、策略梯度方法
策略梯度方法中,可以使用任何方式对策略进行参数化,只要 π ( a ∣ s , θ ) \pi(a|s,\theta) π(a∣s,θ) 可微,即 ▽ θ π ( a ∣ s , θ ) \bigtriangledown_{\theta}\pi(a|s,\theta) ▽θπ(a∣s,θ) 存在且总是有限。
REINFORCE: Monte Carlo Policy Gradient:基于蒙特卡罗方法的策略梯度算法。
REINFORCE with Baseline:带基线的蒙特卡洛方法的策略梯度算法。
Actor-Critic Methods:带基线的TD方法的策略梯度算法。
Actor-Critic with Eligibility Traces (episodic):带基线的TD方法的策略梯度算法 + 有效跟踪(Eligibility traces)
Actor-Critic with Eligibility Traces (continuing):基于TD方法的策略梯度算法。(连续性任务)