【RLchina第六讲】Imitation Learning

简介: 【RLchina第六讲】Imitation Learning

本文与原视频部分内容有些出入,我觉得应该是老师讲错了。。。。不喜勿喷!

 监督学习的优化目标可以写成如下形式:


image.png


监督学习中最基本的假设就是训练集和测试集的数据分布是一致的,也就是常说的数据满足独立同分布。无监督学习主要是从数据本身发现一些规律,像聚类,特征提取这些。从大的方面来说,无监督学习可以给有监督学习做预处理。比如像自监督学习,编码器可以将高维数据压缩到低维空间:f ( x ) = z f(x)=zf(x)=z,解码器可以将低维数据进行还原:g ( z ) = x

  强化学习主要是处理高维的状态空间和高维的动作搜索空间的问题。


Imitation Learning


  模仿学习中,专家提供一个轨迹样例(demonstrations):


image.png


Behavior cloning


  在最简单的行为克隆算法中,我们可以将专家的数据拆分为类似监督学习的数据集:

  优化的目标就与监督学习无异了:


image.png

这里最大的问题在于,不同的策略收集到的轨迹数据是不一样的。如果我们用行为克隆算法学习到的策略去采样样本,这个样本的数据分布和一开始的数据分布是不一样的(因为有的时候我们会也会期望去用学习到的策略去采样样本)。

image.png

  • 理论的分析


  我们考虑一个T-step的强化学习问题,考虑T-step的平均奖励作为回报的优化目标,并且奖励回报的值在0-1之间:

image.png

 如果BC算法所学得的策略得到的动嘴,与最优动作之间的误差小于ϵ 的话:


image.png

 我们BC策略的回报边界为:


image.png

 那这个边界是怎么证明出来的呢?我们假设有如下的T步,每一步是具有一个概率ϵ 走错,如果全部不走错,得到的奖励是T/T

image.png

更好的方式是通过专家数据学习得到一个策略,然后拿到这个策略与环境交互,再对交互得到的数据惊醒专家的打标签评估。循环迭代。这类算法叫做DataSet Aggregation


Apprentice Learning


  从专家的数据中学习奖励函数。回顾贝尔曼方程有:

image.png

对于任何一个策略有:

image.png



我们是无法穷举所有的策略的,通常的做法可以分为以下几步:

image.png


值函数的计算方式可表示为:


image.png

算法可以表示为:

image.png


 上面的方法中,我们考虑的都是动作的分布,期望学习得到的策略与专家策略分布一致。如果我们把所有的状态和动作的轨迹看作一个数据,然后来计算两坨数据之间的分布的话,我们其实也能够得到求解上述问题的一个思路。


Generative Adversarial Imitation Learning


  调用一个判别器来判断数据是来自专家,还是来自生成的。生成器用来生成策略,并且这个生成器是用的强化学习的算法,用来与环境进行交互采样。生成器的值用来表示奖励函数。

  判别器的loss可以表示为:

image.png

奖励函数可以表示为:

image.png

 生成对抗模仿学习,逆强化学习,和基于熵的强化学习之间的关系可以参考A Connection between Generative Adversarial Networks, Inverse Reinforcement Learning, and Energy-Based ModelsLearning Robust Rewards with Adversarial Inverse Reinforcement Learning

  更高级的模仿学习的话,可能就是去学习一些无标注数据这样,比如像一个视频这样:更多的可以去参考伯克利,斯坦福,宾大联合发表:从观察和交互中学习预测模型

相关文章
|
4月前
|
存储 C语言 C++
|
4月前
|
算法 C语言 数据安全/隐私保护
C learning_6
C learning_6
|
4月前
|
存储 安全 程序员
C learning_5
C learning_5
|
4月前
|
存储 API 数据安全/隐私保护
C learning_7
C learning_7
|
4月前
|
C语言
|
4月前
|
存储 算法 Unix
C learning_8
C learning_8
|
4月前
|
编译器 C语言
C learning_1
C learning_1
|
4月前
|
存储 缓存 安全
C learning_4
C learning_4
|
4月前
|
存储 编译器 C语言
C learning_2
C learning_2
|
7月前
|
机器学习/深度学习 语音技术
“Zero-shot Learning”、“One-shot Learning”和“Few-shot Learning”
你知道吗?在机器学习的世界里,有一种名为“Zero-shot Learning”、“One-shot Learning”和“Few-shot Learning”的策略,它们主要是为了解决神经网络模型因为训练数据少,导致模型泛化能力差的问题。
62 1