集成学习和规划
集成学习和计划
这一节主要介绍基于模型的强化学习方法,也就是基于经验对环境建模,再根据建模得到的函数得到价值函数或者策略。这种方法的好处在于,学习价值函数或者策略不再需要和真实环境进行交互。前面介绍的方法都是免模型的方法,也就是不对环境建模,直接从经验中学习价值函数或者策略。
基于模型的强化学习
这个过程大体是这样的:首先通过和环境的交互得到一些经验,根据这些经验建立一个虚拟的对于环境的模型,在这个环境中planning得到价值函数或者策略函数。获得的策略函数在真实环境中acting,得到更多的经验。经验丰富模型。模型更新策略。。。。
基于模型的强化学习:
优点:
对环境建模过程是有监督的,学习高效
可以推理模型的不确定性
缺点:
首先学习一个模型,再构建价值函数。pipeline会导致误差累积
what is a model
M=<Pη,Rη>M = <P_{\eta}, R_{\eta}>M=<Pη,Rη> 表现了概率的转移和奖励
St+1∼Pη(St+1∣St,At)Rt+1=Rη(Rt+1∣St,At)\begin{equati ...
策略梯度算法
策略梯度算法
Introduction
策略目标函数
有限差分策略梯度
蒙特卡罗策略梯度
softmax 策略
高斯策略
策略梯度定理(Policy Gradient Theorem)
One-Step MDPs
n-Step MDPs
蒙特卡罗策略梯度
Actor-Critic 策略迭代
利用baseline减小方差 – Advantage Function Critic
Critic 使用不同 Time-Scale
Actors 中使用不同 Time-Scale
策略梯度算法
上一章中介绍了值函数的近似,这是一种通过获得v或者q函数从而得到策略的方式。但是对于选择最优策略这个问题来说,更自然的方式是直接求解策略。
这一节实际上对应了免模型控制那一部分,只不过我们这部分介绍用神经网络的方式对函数进行近似,从而求解。而免模型控制则不从神经网络的方式来求解问题,它一般采用适用于离散情况的价值函数,并采用greedy的方式求解最优策略。这一节则是用神经网络的方式对策略函数进行估计。
上节课我们参数化了价值函数:
V(s,w)≈V(s)Q(s,a,w)≈Q(s ...
值函数近似
值函数近似
Incremental methods
Linear Combination
Lookup table 表现为梯度更新的形式
实际中无监督的情况做近似
Monte-Carlo with Value Function Approximation
TD Learning with Value Function Approximation
Action Value Function Approximation
Convergence
Batch Methods
最小二乘法
LSMC
LSTD
LSTD(λ\lambdaλ)
convergence
LSPI
Deep Q-Network(DQN) + experience replay
值函数近似
前面我们介绍了免模型的预测和控制,但它们的求解和更新价值函数实际上都是查表操作。但是这种方式对于状态空间很大和状态空间连续的情况是不可行的,因此我们需要真正学习出一个函数,它的输入是状态,输出是它的价值,函数的学习可以通过神经网络来完成。也就是:
v^(s,w)=v(s)or q^(s,a,w)=q(s, ...
免模型控制
免模型控制
Generalised Policy Iteration With Monte-Carlo Evaluation (On-Policy)
ε\varepsilonε-greedy exploration
GLIE 蒙特卡罗控制
TD Control (On-Policy)
Sarsa
Off-Policy Learning
总结
免模型控制
免模型控制可以认为是前面介绍的免模型预测的延续。
免模型控制按照环境交互的策略和目标策略是否相同可以将方法分为两种:
On-policy: 环境交互策略和目标策略一致。就像古代皇帝微服私访,亲力亲为。
Off-policy: 环境交互策略和目标策略不同。就像古代皇帝,派多个官员了解民情。或者机器观察人如何和环境交互,从而学习,它不直接从环境中提取经验,而是从与环境交互的智能体提取经验。。
Generalised Policy Iteration With Monte-Carlo Evaluation (On-Policy)
策略迭代之前在动态规划的控制部分就介绍过。但是它是基于MDP的一种方法,也就是它是一 ...
免模型预测
免模型预测
蒙特卡罗学习
First-Visit Monte-Carlo Policy Evaluation
Every-Visit Monte-Carlo Policy Evaluation
增量形式的蒙特卡罗更新
时序差分学习
TD(0)
TD(λ\lambdaλ)
蒙特卡罗 vs 时序差分
免模型预测
前面介绍的方法假定我们已知状态转移函数和奖励函数,这在许多游戏的场景中是可行的。但是仍然存在部分场景,我们不能了解它的状态转移函数和奖励函数。
蒙特卡罗学习
蒙特卡罗方法是一种免模型的方法,也就是它不需要环境的状态转移函数以及环境的奖励函数。
蒙特卡罗方法利用完整的回合经验来学习,也就是利用采样样本学习。它的核心思想是利用均值估计期望。
由于这是一个预测任务,因此学习目标是学习给定策略的v函数。
我们之前定义的return和状态价值函数:
Gt=Rt+1+γRt+2+γ2Rt+3+...vπ(s)=Eπ[Gt∣St=s]\begin{equation}
\begin{aligned}
G_t &= R_{t + 1} + \gamma R_{t + ...
动态规划
动态规划
预测
同步备份
异步备份
控制
策略迭代
值迭代
策略迭代 vs 值迭代
总结
技巧
动态规划
动态表示的是一种问题有时间上的特性,问题一步一步的改变。
动态规划的基本思想是将一个大的问题分解成小的问题,再将小问题的答案结合起来得到最终结果。
动态规划用于解决具有以下两个性质的问题:
具有最优化子结构:可以将问题分解成小问题,分别解决从而解决最终问题
相同的子问题会多次出现,结果可以复用
马尔可夫决策过程(MDP)满足以上两个性质。
贝尔曼方程将问题递归的分解成子问题
价值函数存储和复用子问题的结论,从而获得最终价值函数
动态规划假定可以了解完整的环境信息,也就是假定它知道状态转移概率和奖励函数。也就是动态规划解决的是:如果我们知道状态转移概率和奖励函数,那么我们该如何找到状态价值函数和最优策略
动态规划的过程可以分为两部分:
预测:评估,也就是根据已知策略获得价值函数的过程
输入:
MDP <S,A,P,R,γ><S, A, P, R, \gamma><S,A,P,R,γ> 和策略 π\piπ
MR ...
有限马尔可夫决策过程
马尔可夫决策过程
马尔可夫决策过程(MDP)的介绍
马尔可夫过程
马尔可夫奖励过程
马尔可夫决策过程
马尔可夫决策过程
一个Agent包含3部分:
策略:action,是agent的behavior。目标
价值函数:评估。对未来做出估计,找到更好的策略
模型:agent对env的表示。根据模型做出计划。包含两部分:
转移概率
reward函数
根据有无价值函数可以将方法分为:策略梯度方法,基于价值函数的方法,actor-critic
根据有无模型可以将方法分为:有模型和无模型
预测:评估策略的价值
控制:寻找最优策略
马尔可夫决策过程(MDP)的介绍
MDP假设环境状态完全可观测。但是部分可观测问题可以转换成为MDP问题来解决。
马尔可夫过程
马尔可夫是一个无记忆的随机序列。它的状态满足马尔可夫性质。马尔可夫过程可以表示为<S,P><S, P><S,P>. S为状态集合,P为转移概率。
马尔可夫奖励过程
马尔可夫奖励过程是带有reward的马尔可夫过程。可以表示为<S,P,R,γ><S, P, R, \ ...
概览
EasyRL: 停止更新。
策略梯度
策略梯度
技巧
添加基线
分配合适的分数
REINFORCE:蒙特卡罗策略
策略梯度
强化学习有3个组成部分:演员,环境,奖励
一轮游戏可以叫做一个回合(episode)或者试验(trial)
游戏最终的总奖励(total reward)
一个完整的轨迹可以写成:T={s1,a1,s2,a2,...,st,at}T = \{s_1, a_1, s_2, a_2, ..., s_t, a_t\}T={s1,a1,s2,a2,...,st,at}
该轨迹的概率:
pθ(τ)=p(s1)pθ(a1∣s1)p(s2∣s1,a1)pθ(a2∣s2)...=p(s1)∏t=1Tpθ(at∣st)p(st+1∣st,at)\begin{equation}
\begin{aligned}
p_{\theta}(\tau)
&= p(s_1)p_{\theta}(a_1|s_1)p(s_2|s_1, a_1)p_{\theta}(a_2|s_2)...\\
&= p(s_1)\prod\limits_{t = 1}^T p_{\theta}(a_t|s_ ...
Q表格
Q表格
免模型预测
蒙特卡罗策略评估
时序差分
动态规划、蒙特卡罗以及时序差分
免模型控制
探索性初始化蒙特卡罗法
ε\varepsilonε-贪心蒙特卡罗算法
Sarsa:同策略时序差分控制
Q-learning:异策略时序差分控制
同策略 vs 异策略
总结
Q表格
上一章的马尔可夫决策过程说的是有模型情况下的预测和控制。这一章节的Q表格则是介绍了免模型情况下的预测和控制方法。
免模型预测
免模型说的是,不对环境的转移概率和奖励函数进行学习。
蒙特卡罗策略评估
上一章也简单介绍了蒙特卡罗策略评估的方法。简单来说就是对轨迹采样取平均作为期望值。下面会具体介绍。
一条轨迹的回报:
Gt=Rt+1+γRt+2+γ2Rt+3+...G_t = R_{t + 1} + \gamma R_{t + 2} + \gamma^2 R_{t + 3} + ...
Gt=Rt+1+γRt+2+γ2Rt+3+...
状态价值是s状态以后的轨迹回报的期望:
vT(s)=Eτ∼π[Gt∣st=s]v^T(s) = E_{\tau \sim \pi}[G_t|s_t = s] ...