人工智能

发布时间:2024-11-23 17:11

人工智能艺术:创作、音乐、设计等领域的人工智能应用 #生活常识# #科技前沿#

最新推荐文章于 2024-09-20 17:03:13 发布

u013250861 于 2021-01-09 01:09:32 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

Imitation Learning(模仿学习)是从给定的展示中进行学习。机器在这个过程中,也和环境进行交互,但是,并没有显示的得到 reward。在某些任务上,也很难定义 reward。如:自动驾驶,撞死一人,reward为多少,撞到一辆车,reward 为多少,撞到小动物,reward 为多少,撞到 X,reward 又是多少,诸如此类。。。另外,某些人类所定义的 reward,可能会造成不可控制的行为,如:我们想让 agent 去考试,目标是让其考 100,那么,这个 agent 则可能会为了考 100,而采取作弊的方式,那么,这个就比较尴尬了,是吧 ?我们当然想让 agent 在学习到某些本领的同时,能遵守一定的规则。给他们展示怎么做,然后让其自己去学习,会是一个比较好的方式。Imitation Learning(模仿学习)实用性非常高,假设有一个状况是,你不知道该怎么定义 reward,但是你可以收集到 expert 的 demonstration,你可以收集到一些范例的话,你可以收集到一些很厉害的 agent (比如说人) 跟环境实际上的互动,那你就可以考虑 Imitation learning 这个技术。

一、Behavior Cloning(行为克隆)

1、Dataset Aggregation 解决 “数据不全面” 问题

在这里插入图片描述

这种方法就是让一个agent去和环境交互,但是在交互的过程中一直有一个export进行指导,从而让export可以取得极端环境下的数据。举个例子:自动驾车,让一个agent进行驾车,之后安排一个export对agent进行指导,当agent进行极端环境的时候,export也会对其进行指导,从而收集到很多机端环境的数据,这样数据集就不再匮乏了。行为克隆的另一个缺点就是:agent会死学export的全部特征,这其中有对行为有利的特征,当然也存在对行为没有任何价值的特征,如果agent将所有的特征(无论有用还是无用的)都进行学习的话还好,但是有时候agent学习的特征是有一定容量限制的,同时agent是无法区分有用特征和无用特征的区别的,他可能只学习了无用的特征而忽略了有用的特征,就十分尴尬了。

2、Mismatch

行为克隆第三个缺点:在监督学习中,我们的数据都是符合独立同分布的,因此数据是无序的,但是在强化学习中,我们的动作存在顺序的不同了,比如 action a a a出现在不同的时刻,导致最终的 reward r r r 都是不同的,如果export的 action a a a 序列和 agent的序列是相同的话还好,但是如果不同的话,就何难match住了,会产出mismatch,因此训练也就无效了。
在这里插入图片描述

二、Inverse Reinforcement Learning (逆强化学习)-A kind of GAN

在 Inverse reinforcement learning 里面,我们没有 reward function,取而代之的是 expert demo trajectory事实上多数生活中的 case,我们都是没有 reward function 的。比如说,自驾车,撞到一个人,要扣 10000 分吗?撞到一个狗要扣多少分呢?今天我们丢很多现实的任务,是我们根本就不知道 reward function 长怎么样子。所以我们需要 inverse reinforcement learning 这个技术原来的 reinforcement learning 里面,我们有 reward function,有 environment。根据 reward function 还有 environment,用 reinforcement learning 技术找出最好的 actor,inverse reinforcement learning 技术,刚好是reinforcement learning反过来的,我们有 actor,我们虽然不知道最好的 actor 是什么,但是我们有专家,专家去玩了 N 场游戏,告诉我们说厉害的人玩这个游戏,看起来就是怎么样的。根据专家的 demo,还有 environment 透过一个叫做 inverse reinforcement learning 的技术,我们可以推出 reward function 应该长什么样子。把 reward function 推出来以后,你就可以根据你推导出的 reward function。再去 apply reinforcement learning 的方法,去找出最好的 actor。所以你是用 inverse reinforcement learning 的方法去推出 reward function,再用 reinforcement learning 的方法去找出最好的 actor。
在这里插入图片描述

1、inverse reinforcement learning 原理

它的原则就是:你的老师,就是那些 experts 他永远是对的什么意思,就是说,现在你一开始你有一个 actor,先随机的找出初始化一个 actor 出来然后去用这个 actor 去跟环境做互动,那这个 actor 会得到很多的 trajectory。会得到很多的游戏纪录,然后接下来啊,你比较 actor 的游戏纪录跟老师的游戏纪录,然后你订一个 reward function,一定要让老师得到的分数,比 actor 得到的分数高。就是先射箭,再画靶的概念,就是 expert 去玩一堆游戏,他有一堆游戏的纪录,然后 actor 也去玩游戏,也有游戏的纪录,那我们不知道 reward function 是什么,等他们都玩完以后,再订一个 reward function,订的标准就是,老师,就是这个 expert 得到的分数一定要比学生还要高学生说,好吧,虽然因为根据这个新的 reward,我是比较弱的。没关系,那我就再去学习,我想要 maximize 新的 reward functionactor 学到 maximize 新的 reward function 以后,他就再去跟环境互动,他就会得到新的 trajectory。他得到新的 trajectory 以后,他本来以为,他跟老师一样厉害了,但是不幸的就是,那个规则是会一直改的,当他变得跟老师一样厉害以后,我们再改一下规格,让老师算出来的分数,还是比较高,然后 actor 就只好很生气的,想办法学,想要跟老师做的一样好。就反复反复进行这个 process,最后,就可以找到一个 reward function这整个 process,我们用图示画来表示一下,有一个 expert,他有 N 笔游戏纪录,然后你有一个 actor,它也有 N 笔游戏纪录。然后你要订一个 reward function,让 expert 得到的分数,永远赢过 actor。然后你接下来,反正你去找一个 reward function,老师一定是好的,它一定是不好的,接下来根据这个 reward function,你可以去学这个 actor,根据这个 reward function,你可以去学这个 actor,让这个 actor 根据这个 reward function,可以得到最好的分数。但等这个 actor 做得比较好之后,这个规则又变了,然后这个 process又反复的循环,这个 process,你有没有觉得很熟悉呢?它跟 GAN 的 process,其实是一模一样的。
在这里插入图片描述

三、Third Person Imitation Learning

Imitation Learning & Domain-Adversarial Training,抽取最重要的因素,使得第三视角与第一视角看到的环境是一样的。
在这里插入图片描述

四、Imitation Learning 类比 Sentence Generation & Chat-bot

Sequence GAN 里,其实 Sentence Generation 或 Chat-bot 这件事情也可以想成是 Imitation Learning,即:机器在 imitate 人写的句子。你可以把写句子这件事情,你写下去的每一个 word都想成是一个 action,所有的 word 合起来就是一个 episodesentence generation 里面,你会给机器看很多人类写的文字,这个人类写的文字其实就是这个 expert 的 demonstration,每一个词汇,其实就是一个 action。你让机器做 Sentence Generation 的时候,其实就是在 imitate expert 的 trajectory。如果单纯用 Maximum likelihood 这个技术来 maximize 会得到 likelihood,这个其实就是 behavior cloning。做 behavior cloning 时,就是看到一个 state,接下来预测,我们会得到甚么样的 action,看到一个 state,有一个 Ground truth 告诉机器说甚么样的 action 是最好的。在做 likelihood 的时候也是一样,Given sentence 已经产生的部分,接下来 machine 要 predict 接下来要写哪一个 word 才是最好的。所以,其实 Maximum likelihood 在做这种 Sequence generation 的时候,Maximum likelihood 对应到 Imitation Learning 里面的 behavior cloning。那我们说光 Maximum likelihood 是不够的,我们想要用 Sequence GAN。其实 Sequence GAN 就是对应到 Inverse Reinforcement Learning。其实 Inverse Reinforcement Learning 就是一种 GAN 的技术。你把 Inverse Reinforcement Learning 的技术放在 Sentence generation或 Chat-bot 里面,其实就是 Sequence GAN 跟他的种种的变形。

模仿学习(Imitation Learning)介绍

网址:人工智能 https://www.yuejiaxmz.com/news/view/215340

相关内容

人工智能助手:电子产品的智能人工助手应用
人工智能应用
人工智能带来的问题,人工智能带来的问题作文
ai人工智能生活
人工智能让生活更智慧
LifeSmart :节约能源 = 人工智能 X 智能家居 ?
人工智能在智能家居中的应用
从工具使用到人工智能
《人工+智能=好故事
科普 || 人工智能应用于智能家居

随便看看