强化学习之模仿学习

强化学习之模仿学习原文链接:https://blog.csdn.net/weixin_37895339/article/details/82863379前文是一些针对IRL,IL综述性的解释,后文是针对《Generativeadversarialimitationlearning》文章的理解及公式的推导。通过深度强化学习,我们能够让机器人针对一个任务实现从0到1的学习,但是需要我们定义出reward函数,在很多复杂任务,例如无人驾驶中,很难根据状态特征来建立一个科学合理的reward。人类学习新东西有一个重要的


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原文链接:https://blog.csdn.net/weixin_37895339/article/details/82863379

前文是一些针对IRL,IL综述性的解释,后文是针对《Generative adversarial imitation learning》文章的理解及公式的推导。

  1. 通过深度强化学习,我们能够让机器人针对一个任务实现从0到1的学习,但是需要我们定义出reward函数,在很多复杂任务,例如无人驾驶中,很难根据状态特征来建立一个科学合理的reward。
  2. 人类学习新东西有一个重要的方法就是模仿学习,通过观察别人的动作来模仿学习,不需要知道任务的reward函数。模仿学习就是希望机器能够通过观察模仿专家的行为来进行学习。
  3. OpenAI,DeepMind,Google Brain目前都在向这方面发展。

[1] Model-Free Imitation Learning with Policy Optimization, OpenAI, 2016

[2] Generative Adversarial Imitation Learning, OpenAI, 2016

[3] One-Shot Imitation Learning, OpenAI, 2017

[4] Third-Person Imitation Learning, OpenAI, 2017

[5] Learning human behaviors from motion capture by adversarial imitation, DeepMind, 2017

[6] Robust Imitation of Diverse Behaviors, DeepMind, 2017

[7] Unsupervised Perceptual Rewards for Imitation Learning, Google Brain, 2017

[8] Time-Contrastive Networks: Self-Supervised Learning from Multi-View Observation, Google Brain, 2017

[9] Imitation from Observation/ Learning to Imitate Behaviors from Raw Video via Context Translation, OpenAI, 2017

[10] One Shot Visual Imitation Learning, OpenAI, 2017

模仿学习

  1. 从给定的专家轨迹中进行学习。
  2. 机器在学习过程中能够跟环境交互,到那时不能直接获得reward。
  3. 在任务中很难定义合理的reward(自动驾驶中撞人reward,撞车reward,红绿灯reward),人工定义的reward可能会导致失控行为(让agent考试,目标为考100分,但是reward可能通过作弊的方式)。
  4. 三种方法:
    a. 行为克隆(Behavior Cloning)
    b. 逆向强化学习(Inverse Reinforcement Learning)
    c. GAN引入IL(Generative Adversarial Imitation Learning)
  5. 行为克隆
    有监督的学习,通过大量数据,学习一个状态s到动作a的映射。
    在这里插入图片描述
    但是专家轨迹给定的数据集是有限的,无法覆盖所有可能的情况。如果更换数据集可能效果会不好。则只能不断增加训练数据集,尽量覆盖所有可能发生的状态。但是并不实际,在很多危险状态采集数据成本非常高。
  6. 逆向强化学习
    RL是通过agent不断与environment交互获取reward来进行策略的调整,最终得到一个optimal policy。但IRL计算量较大,在每一个内循环中都跑了一遍RL算法。
    在这里插入图片描述
    IRL不同之处在于,无法获取真实的reward函数,但是具有根据专家策略得到的一系列轨迹。假设专家策略是真实reward函数下的最优策略,IRL学习专家轨迹,反推出reward函数。
    在这里插入图片描述
    得到复原的reward函数后,再进行策略函数的估计。
    RL算法:
    在这里插入图片描述
    IRL算法:
    在这里插入图片描述
    在给定的专家策略后(expert policy),不断寻找reward function来使专家策略是最优的。(解释专家行为,explaining expert behaviors)。具体流程图如下:
    在这里插入图片描述
  7. 生成对抗模仿学习(GAN for Imitation Learning)
    我们可以假设专家轨迹是属于某一分布(distribution),我们想让我们的模型也去预测一个分布,并且使这两个分布尽可能的接近。
    在这里插入图片描述
    算法流程如下:
    在这里插入图片描述
    Discriminator:尽可能的区分轨迹是由expert生成还是Generator生成。
    在这里插入图片描述
    Generator(Actor):产生出一个轨迹,使其与专家轨迹尽可能相近,使Discriminator无法区分轨迹是expert生成的还是Generator生成的。
    在这里插入图片描述
    其算法可以写为:
    在这里插入图片描述

生成对抗模仿学习(Generative Adversarial Imitation Learning)

GAIL能够直接从专家轨迹中学得策略,绕过很多IRL的中间步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191738.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 玩客云 青龙面板_青龙京东签到

    玩客云 青龙面板_青龙京东签到玩客云安装青龙面板实现京东签到薅羊毛

    2022年9月18日
  • 滑动窗口算法学习

    滑动窗口算法学习最近做了几道有关滑动窗口的算法,在此总结一下。滑动窗口就像描述的那样,可以理解成是一个会滑动的窗口,每次记录下窗口的状态,再找出符合条件的适合的窗口可以使用滑动窗口来减少时间复杂度经典滑动窗口题目给一组大小为n的整数数组,计算长度为k的子数组的最大值比如:数组{1,2,3,4,5,7,6,1,8},k=2,那么最终结果应该是7+6=13最大。最简单的是使用两层遍历,通过所有情况找…

    2022年10月24日
  • 一加6手机图片中的文字如何识别?[通俗易懂]

    一加6手机图片中的文字如何识别?[通俗易懂]一加6手机很多人都想买吧?买了手机的朋友手机里就有很多照片,一加6手机图片中的文字如何识别?文字识别都是识别大量的文字,减轻办公人员负担的。1在手机上输入PDF阅读器,然后开始识别相册图片的文字2打开就是这样的界面,找到倒数第2个的小功能3选择拍照识别中的相册,接下来添加图…

    2022年5月1日
  • python爬虫-数据解析(xpath)

    python爬虫-数据解析(xpath)

    2021年4月16日
  • 西门子PLC-1200 SCL语言开发学习笔记 (一)

    西门子PLC-1200 SCL语言开发学习笔记 (一)一、简介和背景PLC一般使用梯形图开发,但是梯形图适合电工使用而不是程序员使用,对我们来说开发困难,门槛高,幸好PLC的开发标准还带了类pascal的高级语言,在西门子这里叫SCL语言,这对于我们程序员来说门槛就很低了。要开发好复杂PLC逻辑,梯形图困难重重,市场上要价颇高,而使用SCL语言则非常合适处理复杂逻辑以及运算。二、新建SCL程序块在博图软件的项目视图中,便有添加新快,双击推荐使用FB模块,便于存放变量,语言选择SCL三、变量的创建和访问在打开…

    2022年8月31日
  • 测试一下博客行吗

    测试一下博客行吗;;;;;;;;;——————-iK7VUYG0yF6lS3QNNmW4Gw==tRymiHsi9AbKpr3tTFXxup1GFhuX0czs73gSv/E7b5c=uk29oXxJxAg+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=eIWSkIow/vo+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=pcL609

    2022年7月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号