(十一)模仿学习

(十一)模仿学习  从之前的讨论看,都是有奖励的。哪怕是上一章的稀疏奖励,其实也有奖励。==假如任何奖励都没有怎么办?==本章介绍的就是这种情况的解决办法。什么时候任何奖励都没有。其实还挺常见的,以聊天机器人为例,聊的好不好很难定义奖励。解决这种情况的方法就是模仿学习  模仿学习(imitationlearning),有时也叫示范学习或者学徒学习。指有一些专家的示范,通过模仿这些专家来达到目的。专家的示范含义很广,比如在自动驾驶中,一个司机的行为就可以被称为专家的示范。  模仿学习中主要有两个方法:行为克隆和逆强化

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

  从之前的讨论看,都是有奖励的。哪怕是上一章的稀疏奖励,其实也有奖励。==假如任何奖励都没有怎么办?==本章介绍的就是这种情况的解决办法。
什么时候任何奖励都没有。其实还挺常见的,以聊天机器人为例,聊的好不好很难定义奖励。解决这种情况的方法就是模仿学习
  模仿学习(imitation learning),有时也叫示范学习或者学徒学习。指有一些专家的示范,通过模仿这些专家来达到目的。专家的示范含义很广,比如在自动驾驶中,一个司机的行为就可以被称为专家的示范。
  模仿学习中主要有两个方法:行为克隆和逆强化学习

  1.行为克隆

  其实行为克隆和监督学习一样的。它的思路就是完全复制专家的行为(克隆),专家怎么干它就怎么干。
  这种方法大多数情况下没有问题,但行为克隆会有问题

  问题一:特殊情况
  但专家的观测也是有限的。举个例子就是司机不会在能拐弯的时候去撞墙,所以对于撞墙下面的状态就没有示范了。但有的时候机器学习的时候会随机进入这种状态,无法处理。所以只观察专家行为是不够的,需要招数处理这种特殊情况。这个招数就叫做数据集聚合。
  希望收集更多样化的数据,并且包含最极端的情况。数据集聚合的思想很野蛮,就是让专家也处于这种极端的情况(我感觉说了和没说一样),有了这样的数据就能够进行处理了。

  问题二:会跑偏
  除了上面的问题,行为克隆还有一个问题就是可能学不到点子上。比如专家有多种形式的知识,本来想学习知识1,但实际学了知识2,而且内存空间有限,学完了知识2满了。这就彻底跑偏了。

  问题三:有误差
  在学习过程中,很难和专家一摸一样。但RL中是前面状态会影响到后面状态的。监督学习中独立分布没有问题,但这个里面可能就会越走越偏。
所以行为克隆并不能完全解决模仿学习的事情,就需要下面的方法

  2.逆强化学习

  之前介绍过需要模仿学习的原因就是因为获得不了奖励。而常规RL是从奖励函数出发去推导动作。逆强化学习的思路是先推导出一个奖励函数,再接着常规RL学习
  最大的问题就是:怎么利用专家行为推导奖励函数呢?
  首先专家和环境互动,会得到很多轨迹。从这些轨迹中推导奖励函数。要定一个奖励函数,这个奖励函数的原则就是专家得到的分数比演员分高。然后再修改奖励函数,最后使专家和智能体的得分一致,这个时候就认为是最佳的奖励函数。一个直观的问题是:怎么让专家得到奖励大过演员呢?
  实现手段是把奖励函数作为一个神经网络。训练的时候希望专家的输出的奖励越大越好,希望智能体输出的奖励越小越好。逆强化学习的框架如下:
在这里插入图片描述
  还有一种第三人称视角模仿学习,在这里简单提一下。之前介绍的都是第一人称,机器人是参与主体。我们希望它在旁边看人类做就能自己学会做,这对它来说是第三人称。把第三人称变成第一人称然后再学习的技术就叫做第三人称视角模仿学习。它的框架图如下:在这里插入图片描述
  模仿学习over!
  课后题如下:在这里插入图片描述
因作者水平有限,如有错误之处,请在下方评论区指正,谢谢!

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191716.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】

    ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】文章目录操作系统的发展史UnixMinixLinux操作系统的发展Minix没有火起来的原因Linux介绍Linux内核&发行版Linux内核版本Linux发行版本类Unix系统目录结构Linux目录用户目录命令行基本操作命令使用方法查看帮助文档helpman(manual)tab键自动补全history游览历史命令行中的ctrl组合键Linux命令权限管理列出目录的内容:ls显示inode的内容:stat文件访问权限修改文件权限:chmod修改文件所有者:chown修改文件所属组:chgrp文件.

  • 国产操作系统(Linux)技术流派[通俗易懂]

    国产操作系统(Linux)技术流派[通俗易懂]图1Linux发行版如上图所示目前主流的Linux发行版大体可以分为两类:一类是简称为RPM系,另一类是简称为DEB系。基中RPM系是以Redhat为代表,其主导发行的包括:服务器商业版:RedhatEnterpriseLinux服务器社区版:Centos社区版:FedoraCentos以它是来自于RedhatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。Fedora则是RedhatEnterpriseLinux是…

  • 禁止计算机更新,彻底禁止win10自动更新方法

    禁止计算机更新,彻底禁止win10自动更新方法现在基本每个小伙伴都用上Windows10的电脑,Windows10每隔一段时间会进行更新补丁,这个时候显得格外烦恼,很多用户都想要关掉,借助一些小工具来实现,但往往会发现,自动更新就像打不死的小强,不管怎么关闭,之后还是会自动更新,让用户非常不爽,win10关闭自动更新已经成为众多用户的难题,所以很多用户来问我怎么才可以把win10永久关闭自动更新,接下来,我就给大家介绍彻底禁止win10自动更…

  • 常见的嵌入式linux学习和如何选择ARM芯片问答

    常见的ARM嵌入式学习问答,设计者和学习者最关心的11个问题:1.      ARM嵌入式是学习硬件好还是学习软件好?2.      嵌入式软件和硬件,哪一种职位待遇更高?或者说,在设计中哪一个更重要?3.      学完51单片机后,想买ARM开发板继续学习,是买ARM7还是ARM9?4.      到底是学习哪种内核:ARM7、CORTEX-M3、COR

  • c++读取文本文件

    c++读取文本文件

  • 软件著作权 源码_python申请软件著作权

    软件著作权 源码_python申请软件著作权申请软件著作权时需要清除代码中的注释,可以通过word和Notepad++组合操作来快速的完成1。使用word的插入文件功能合并多个源代码文件,操作方法为:新打开1个word文件,在“插入”标签栏下找到“对象”点击右边的小三角下拉菜单里选择“文件中的文字…”,然后在跳出来的文件选择对话框里选择要合并的文件,如果对话框里没有显示出需要的文件,可能是文件类型过滤器选择的不对,更改为“所有文件…

发表回复

您的电子邮箱地址不会被公开。

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