「模仿学习」很强大,但和「强化学习」有什么关系

「机器人圈」编译:嗯~阿童木呀、多啦A亮

在本文中,Statsbot团队请教计算机科学家VitalyKurin简要介绍模仿学习,并概述强化学习的基本知识。

生物有机体是及其复杂的。即使是诸如苍蝇或蠕虫这样相对简单的生物也是如此。他们不仅能够在现实世界中成功生存,而且对环境的变化有着极强的适应力。人类可以提前计划,亦可以根据新的信息改变我们的计划,我们还可以与他人合作,以便更有效地执行我们的计划。

科学以及诸如欧洲核子研究组织(CERN)或阿雷西沃天文台的巨大无线电望远镜等这样的项目都是人类协作和规划的艺术的完美印证。

所有试图创造一个具有更小的自主权的人造有机体的尝试都表明,多年的进化过程并不是徒劳的,而建立这样的有机体是一项艰巨的任务。

不错,我们承认,我们现在可以在国际象棋或围棋中击败最优秀的选手,我们可以在Atari2600的视频弹球中获得近似疯狂的分数,甚至,我们可以在扑克赛中挑战人类,从而使其破产。那么我们是否能打开一瓶香槟庆祝胜利?恐怕不能。

是的,机器学习最近取得了突破性进步。新的深度学习理念与旧版本的结合使我们能够在诸如计算机视觉、语音识别和文本翻译等许多领域得以进步。

强化学习也从它与深度学习的结合中受益匪浅。而对于深度强化学习的成功,想必你也早有耳闻,例如在Atari2600比赛中取得超越人类的成绩,战胜围棋高手,以及让机器人学习跑酷(parkou)。

但是,我们不得不承认,在现实世界中的成功运作要比玩游戏或太空入侵要困难得多。许多任务比这要难得多。想象一下,一个孩子在拥挤的市中心中间骑着自行车,或者一个人以每小时200英里的时速开着保时捷飞奔在高速公路上。面对这样的现实,我们必须承认,距离目标的实现,我们还有很远的路要走。

为什么我们还没有实现目标呢?

模仿学习并不是唯一一个利用人类数据的好方法。一些研究人员也称之为“学徒学习”(apprenticeshiplearning),而另外一些研究人员将其称为“从演示中学习”(LearningfromDemonstration)。从我们的角度来看,所有这些标题之间并没有实质性的区别,我们将从现在开始称其为模仿学习。

为了引入模仿学习,我们首先需要了解强化学习的基础知识。

强化学习

其实要得到强化学习的基本概念并不难。有一些智能体,我们希望这个智能体能够学习一些任务。假设,我们有一个Atari2600控制台,智能体可以访问操纵杆,可以看到屏幕上发生了什么。

假设,我们以每秒60次的速度给予智能体一个屏幕截图,并问它想要按什么按钮。如果我们的智能体表现出色,它可以看到它的分数在增加(正强化),否则我们可以给它一个惩罚作为负奖励(负强化)。渐渐地,通过尝试和错误,智能体开始明白,它最好避免去做一些行为,而做一些能给它带来奖励的事情。

常用强化学习的设置

我们可以以更为正式的数学方式描述上面的过程:我们可以描述上述的强化学习框架(观察—动作—获得奖励和下一个状态)作为马尔可夫决策过程(MDP):

其中:

S是一组状态,

A是一套动作,

R是奖励函数,

T是转换函数,

γ是贴现因子,权衡当前奖励和长远奖励之间的平衡。有一种普遍的观点认为,相较于遥远的未知,人类更喜欢当前的奖励,尽管有一些人认为这种观点是基于数学环境得出应该有所偏差。

我们还需要对用于下一节的策略函数进行定义,Policy是一个函数,它返回一个给定状态的动作:

而实际上,实际上,在解决MDP时我们的最终目标是学习这样一种策略,以便最大化我们的智能体的奖励。

举一个MDP的例子,圆圈代表状态,带有绿色标签的箭头是动作,红色标签是动作的奖励,而方块是终端状态。绿色数字标签是转换概率。

我们的学生现在从蓝色圆圈开始,学习对他来说,很难而且有些无聊。他决定打开一个Facebook应用程序,一旦他进入此状态,他可以退出或继续留在当前位置。然后,他学习越来越多的知识,最后决定去酒吧。

这个状态是一个更小的圆圈,因为现在有一个随机性的元素,基于学生在去过酒吧后忘记的知识量。然后,他可以学习更多知识,通过考试(+10的奖励),或者现在他可以选择睡觉并完成MDP。

DQN算法(深度Q网络)

整个方法建立在近似于所谓的Q函数的基础上,并基于此建立智能体的行为。Q函数的概念如下:它返回给你一个关于特定的行为和特定状态的整个预期的贴现奖励流,给定从下一个状态开始,我们将遵循策略π。它回答了这样一个问题:“在此状态下按此按钮究竟有何好处”?

Q函数遵循贝尔曼方程(Bellmanequation):

最后,贝尔曼的最优性原则如下:不能总是回顾过去,我们应该始终采取最高Q以最大化奖励流:

但是你可能会问,我们该怎么得到这样的Q函数呢?让我们来看一个例子:想象一下,你想要一杯咖啡(+20的奖励)和一台自动售货机里的巧克力(+10的奖励)。你的总奖励不能超过30。而且,如果你已经喝了咖啡,从现在起,它就不能超过10(对巧克力的奖励)。

想法是这样的:当前步骤和操作的Q值=下一个状态的最大Q值(因为我们的行为是最优的)+转换的奖励。二次目标函数的值变成:

首先,回放经验。VanillaQ-learning的想法是一步一步操作,从而获得奖励和下一个状态,然后根据这个转换更新近似函数参数。DQN的想法是进行转换,并将其保存在“重放内存”中——这是一个数组,用于存储最后10^6(<插入任何大数字>)个转换期间有关奖励的信息、转换前后的状态,以及判别事件是否已达到终端(游戏结束)或否。

有了回放经验,我们可以随机采样mini-batch,更有效地学习。

第一,每个转换可能潜在地用于几个权重更新,并且更有效地使用数据。

使算法更稳定的另一件事是DQN使用两个神经网络:第一个计算当前状态的Q值,第二个计算下一个状态的Q值。

你可以从具有目标的方程式中看出:两个不同的Q函数分别使用θ和θ'。每10000步,从学习参数θ复制参数θ',这有助于提高稳定性。

这里使用一个函数的出现的问题是,当我们更新权重时,Q(s,a)和Q(s',a')都会增加,这可能会导致振荡或策略散度。使用两个单独的网络在目标Q值的更新和计算之间增加了延迟,并减少这种情况。如果你对这些现象感兴趣,请阅读DQNNaturepaper中的“方法”部分。

好的,上面描述的一切听起来都很简单。如果还有一些你不明白的东西,请看DavidSilver的讲座,他完美地解释了这一切!

了解了这些,我们现在可以建立一个TrueAI吗?对不起,但我们不能。

强化学习的挑战

有几个问题阻碍我们建立一个能够在星际争霸II上击败ByuN(HyunWoo,韩国的一位星际争霸选手)的智能体,使自动驾驶汽车早日问世,以及给你的奶奶买个午餐后为她洗碗的机器人。

其中一个问题是,我们的智能体最后获得的奖励可能非常少。假设你下国际象棋,如果你输了,你怎么知道什么时候下的死招?此外,很有可能没有死招,而是几个平常的棋子挪动。

奖励稀疏性是阻碍我们击败“蒙提祖玛的复仇”游戏的一个问题,这是一个非常难的Atari2600游戏,尚未得到**。

什么是模仿学习?

模仿学习是通过在某种意义上模仿人类行为来暗示给予智能体关于世界的先前信息。

模仿学习不仅有助于我们解决样本效率低下或计算可行性问题,还可能使训练过程更加安全。我们不能把一辆自动驾驶汽车放在街道的中间,让它做任何它想要做的事情。我们不希望它危害周围的人,摧毁某人的财产或设备。对人类演示的数据进行预处理可能会使训练过程更快,避免不好的情况发生。

说了上面所有的一切,我们忘了一件事——数据。

训练模型需要一些数据。训练深度学习模型需要更多的数据。训练深度强化学习模型需要...好的,你明白了。

机器学习还远远没有建立一个能够解决或多或少复杂的现实世界任务的自主智能体;

模仿学习是使这些智能体更接近的可能解决方案之一;

我们还概述了强化学习的基础知识,特别是详细描述了强化算法之一的DQN。

...

【深度学习】神经网络介绍1神经元2**函数3感知机与多层网络4误差反向传播参考:周志华《机器学习》"神...

1、查看一下本地的bhz-parent项目,查看是否需要一些相应的变化,在这里需要修改pom.xml,然后提交到svn上(注意pom.xml里的聚合其他项目要注释掉,不然使用Jenkins构建会失败,主要是担心构建parent的时候,其他的依赖项目没有构建好,会报错,所以先注释掉,如果能保证顺序,不注释也没关系本地开发测试的时候再放开)如图所示:2...

本项目基于JDK1.8;OA系统涉及的组件和框架有:目录一:查看数据库,准备一个空的逻辑空间二:创建一个MavenWeb工程(1)创建一Maven工程(2)将当前工程设置为Web工程设置第一部分:web.xml保存目录:设置第二部分:web资源保存在哪儿:设置第三部分:web模块如何执行artifact:(3)IDEA配置Tomcat(4)最后的一点说明...

CentOS7目录结构,文件类型CentOS7目录结构,文件类型文件类型LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。普通文件:如文本文件、C语言源代码、Shell脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名...

Luke安装与使用2009年05月31日星期日00:361Luke简介Luke是一个方便宜的开发和诊断工具,它能访问Lucene建立好的索引同时也允许以如下的一些方式展示和修改内容:l按文档(Document)号或者词项浏览...

TCP是专门设计用于在不可靠的因特网上提供可靠的,端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流。UDPUDP想应用程序提供了一种发送封装的原始IP数据报的方法,并且发送时无需建立连接。是一种不可靠的连接。...

iuseEntityframeworkin.net4andusethisconnectioninproject:andshowthiserror:TheunderlyingproviderfailedonOpen.Idon'tknowwhyyougetthiserrorbutIusethisconnectionstringa...

Attheriskofpeoplenotbeinghappywithmeagain,IwillpostthecodethatIalreadyhave.PleaselookatthecommentsandletmeknowwhereIamgoingwrong.Yesthisishomework,yesIhavewatc...

TryingtoinstallfloodlightcontrollerinmininetDNSisnotconfiguredorthereisnoconnectivitywiththeInternet....

AnyoneknowhowmanybytesoccupyperfileinnamenodeofHdfsIwanttoestimatehowmanyfilescanstoreinsinglenamenodeof32Gmemory.Eachfileordirectoryorblockoccupiesabout150bytes...

IenabledthetemplatepathshintsonMagento,butIcanonlyseeitontheadminpage,Icannotseeitonthefrontend.Athemehasbeenused.AndtheMagentover.1.7.0.2Anyonehaveasolutionfor...

THE END
1.强化学习GAIL生成对抗模仿学习详解《Generativeadversarialimitation本文深入探讨了强化学习中的模仿学习,特别是生成对抗模仿学习(GAIL)的概念。通过对《Generative adversarial imitation learning》的解析,阐述了行为克隆、逆向强化学习(IRL)和GAIL的区别与联系。GAIL通过模拟专家轨迹,绕过IRL的复杂步骤,直接学习策略。文中还涉及熵正则化、示性正则化和GAIL的优化目标,以及如何利用生成对抗https://blog.csdn.net/weixin_37895339/article/details/82863379
2.关于「强化学习」和「模仿学习」的两篇文章模仿学习(Imitation Learning)完全介绍(一) 强化学习(Reinforcement Learning)知识整理 简书上编辑不了公式不能直接发这了。最后编辑于 :2017.12.05 03:50:01 ?著作权归作者所有,转载或内容合作请联系作者 2人点赞 杂七杂八 更多精彩内容,就在简书APP "觉得有用可以请我喝杯咖啡~"赞赏支持还没有人赞赏https://www.jianshu.com/p/48942d31d7b8
3.模仿学习(ImitationLearning)完全介绍腾讯云开发者社区模仿学习(Imitation Learning)完全介绍 在传统的强化学习任务中,通常通过计算累积奖赏来学习最优策略(policy),这种方式简单直接,而且在可以获得较多训练数据的情况下有较好的表现。 然而在多步决策(sequential decision)中,学习器不能频繁地得到奖励,且这种基于累积奖赏及学习方式存在非常巨大的搜索空间。https://cloud.tencent.com/developer/article/1144328
4.基于模仿学习与强化学习结合的自动驾驶训练方法及系统强化学习的优点是不需要专家数据,且能够通过反复学习获得较高的智能,上限较高。强化学习的缺点是在智能体刚开始训练时,探索花费的时间较长,且训练达到收敛整体所需的时间也较长。技术实现要素:6.本发明实施例提供了一种基于模仿学习与强化学习结合的自动驾驶训练方法及系统,以至少解决现有强化学习存在训练慢、收敛难的https://www.xjishu.com/zhuanli/55/202111532390.html
5.AI深度强化学习落地方法七步曲2——状态空间篇回报函数篇鉴于强化学习算法对优秀reward函数设计的依赖,学术界提出了很多方法改善这一状况。比如逆向强化学习,利用expert demonstration(专家示范)学习到reward函数,再用这个reward函数训练RL策略。此外,还有一大堆模仿学习的方法,干脆抛开reward直接拟合专家策略。以上方法的前提是要有专家数据,不具备普适性,这里就不多说了。 https://www.shangyexinzhi.com/article/4228946.html
6.元强化学习的研究与应用仿真结果表明,改进的元模仿学习算法能够快速实现新任务的学习,任务成功率显著提高。将元学习引入DRL的奖励函数塑造中,提出了基于匹配网络(Matching Network,MN)的元强化学习模型。将MN引入强化学习的奖励函数中,计算当前机器人的状态与已有演示之间的相似度并得到奖励值,减轻人工设置奖励函数对设计者的经验要求。奖励函数https://cdmd.cnki.com.cn/Article/CDMD-10290-1021774503.htm
7.逆强化学习和模仿学习51CTO博客已为您找到关于逆强化学习和模仿学习的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及逆强化学习和模仿学习问答内容。更多逆强化学习和模仿学习相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/0b1c1b72bafbacb.html
8.消退泛化强化正强化负强化惩罚模仿学习替代反应的-消退、泛化、强化、正强化、负强化、惩罚、模仿学习、替代反应的概念要想让一个新的条件反射持久存在,就得持续地把无条件刺激和条件刺激结合起来,否则条件反射就会逐渐削弱直至最终消失。这种条件性的刺激-反应之http://www.sdsgwy.com/article/html/88119.html
9.科学网—观察学习与替代强化父母、教师可能不只提供模仿的刺激,而且可能在儿童模仿行为时给予强化。其次,班杜拉发现,当成人的反应得到强化时,儿童更容易模仿成人的反应。换言之,儿童观察一名成人因某行为而受到表扬就更可能以同样的方式反应。班杜拉称之为替代强化,因为在这种情况下,学习者没有得到强化,而只是看到了强化。因此,强化和榜样作用一https://blog.sciencenet.cn/blog-2619783-1306057.html
10.社会学习理论–燕京理工学院为解决这—矛盾,于20世纪40年代经心理学家的努力,在美国开始提出了组合两种理论的优点,又独树一帜的社会学习理论。它是调和行为主义理论和认知理论的产物,主要观点是,人们倾向于模仿被强化的榜样行为。人类的社会行为和人格,主要是通过观察学习、模仿学习和自我调节过程以及榜样作用而形成。https://www.yit.edu.cn/?p=47519
11.动手学强化学习14.2 最大熵强化学习 142 14.3 Soft策略迭代 143 14.4 SAC 143 14.5 SAC代码实践 145 14.6 小结 154 14.7 参考文献 155 第三部分 强化学习前沿 第15 章 模仿学习 158 15.1 简介 158 15.2 行为克隆 159 15.3 生成对抗模仿学习 159 15.4 代码实践 160 https://www.ptpress.cn/bookDetails?id=UB7d4a1fc362a4a
12.清华北大等发布SelfPlay强化学习最新综述澎湃号·湃客TiKick 通过 WeKick 的自博弈数据进行模仿学习,再利用分布式离线强化学习开发了一个多智能体AI。TiZero将课程学习与自博弈结合,无需专家数据,达到了比TiKick更高的TrueSkill评分。 各场景类型比较与总结图 讨论 自博弈方法因其独特的迭代学习过程和适应复杂环境的能力而表现出卓越的性能,然而,仍有不少方向值得进一步https://www.thepaper.cn/newsDetail_forward_28688973
13.多智能体强化学习及其在游戏AI上的应用与展望引爆这波AI热潮的AlphaGo(Nature),采用了人类数据来做模仿学习27,获得了一个很好的初始化(imitation init),并结合了蒙特卡洛树搜索的方法优化效率,最后再使用Self-play进行强化学习的不断迭代,以将其提升到超越人类的水平。AlphaZero则在此基础上完全去除了对人类数据的依赖,完全依靠强化学习训练,并实现了在围棋,国际https://www.gameres.com/890381.html
14.头条文章图6 采用一只老鼠来模拟强化学习中的 Agent,其任务是走出迷宫,每走一步都有一个方法来衡量其走的好与坏,基本学习过程是当其走得好的时候就给其一定的奖励(如一块蛋糕)。通过这种方式, Agent在行动评价的环境中获得知识,改进行动方案以适应环境。 图6 强化学习的基本学习流程 https://card.weibo.com/article/m/show/id/2309404598738399395890
15.GitHubWDWSD/easy强化学习中文教程(蘑菇书),在线阅读地址:https://datawhalechina.github.io/easy-rl/ - WDWSD/easy-rlhttps://github.com/WDWSD/easy-rl
16.什么是深度学习?MicrosoftAzure了解深度学习的定义、深度学习的用途及其工作原理。获取有关神经网络和 BERT NLP 的工作原理及其优点的信息。https://azure.microsoft.com/zh-cn/overview/what-is-deep-learning