0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我们的「世界模型」可实现在其梦境中对智能体进行快速训练

mK5P_AItists 2018-04-02 09:58 次阅读

我们探索构建通用强化学习环境中的生成式神经网络模型。我们的世界模型(world model)可以以一种无监督的方式进行快速训练,以学习环境的压缩时空表征。通过使用从世界模型中提取的特征作为智能体的输入,我们可以对一个非常简洁且简单的策略进行训练,以解决所需的任务。我们甚至可以在一个完全由智能体本身的世界模型所生成的梦幻梦境中对智能体进行训练,并将此策略迁移回实际环境中。

人类根据他们使用有限的感官对世界的感知,开发出一个有关世界的心智模型。而我们所做的决策和行动都是基于这种内部模型的。系统动力学之父——Jay Wright Forrester将心智模型定义为:

我们脑海中所承载的有关周围世界的图像,只是一个模型。世界上没有一个人能够在其脑海中对全部的世界、政府或国家进行透彻的想象。他只是选择了概念,以及它们之间的关系,并用它们来表示真实的系统。(Forrester于1971年提出)

为了处理流经我们日常生活中的大量信息,我们的大脑学习对这些信息进行时空方面的抽象表征。我们能够观察一个场景,并记住有关它的一个抽象描述(Cheang和Tsao于2017年、Quiroga等人于2005年提出)。还有证据表明,我们在任何特定时刻所感知的事物,都是由我们的大脑基于内部模型对未来做出的预测所掌控的(Nortmann等人于2015年、Gerrit等人于2013年提出)。

理解我们大脑中的预测模型的一种方法是,它可能不是仅仅预测未来的一般情况,而是根据当前的运动动作预测未来的感官数据(Keller等人于2012年、Leinweber等人于2017年提出)。当我们面临危险时,我们能够本能地依据这个预测模型采取相应的行动,并执行快速的反射行为(Mobbs等人于2015年提出),而无需有意识地规划出行动计划。

我们所看到的事物是基于我们大脑对未来进行的预测(Kitaoka于2002年、Watanabe等人于2018年提出)

以棒球为例。一个击球手只有几毫秒的时间来决定该如何挥棒击球,让这要比视觉信号到达我们的大脑所需的时间短得多。他们之所以能够打出每小时115英里的快速球,是因为我们有能力本能地预测出球将何时何地走向何方。对于职业球员来说,这一切都是在潜意识中发生的。他们的肌肉在适当的时间和地点按照他们的内部模型的预测反射性地挥棒击球(Gerrit 等人于2013年提出)。他们可以迅速根据自身对未来的预测采取行动,而无需有意识地将可能的未来场景铺展开以进行规划(Hirshon于2013年提出)。

在许多强化学习(RL)(Kaelbling等人于1996年、Sutton和Barto于1998年、Wiering和van Otterlo于2012年提出)问题中,人工智能体也受益于具有良好的对过去和现在状态的表征,以及良好的对未来的预测模型(Werbos等人于1987年、Silver于2017年提出),最好是在通用计算机上实现的强大的预测模型,如循环神经网络(RNN)(Schmidhuber于1990、 1991年提出)。

大型RNN是具有高度表达性的模型,可以学习数据的丰富的时空表征。然而,在以往的研究中,许多无模型强化学习方法通常只使用参数很少的小型神经网络。强化学习算法常常具有信用分配问题(credit assignment problem)的局限性,这使得传统的强化学习算法难以学习大型模型的数百万个权重,因此,在实践中往往使用较小的网络,因为它们在训练期间能够更快地迭代形成一个良好的策略。

在这项研究中,我们构建了OpenAI Gym环境的概率生成模型。使用从实际游戏环境中收集的记录观测值对基于RNN的世界模型进行训练。对世界模型进行训练之后,我们可以使用它们来模拟完整的环境并训练对智能体进行训练

理想情况下,我们希望能够有效地对基于RNN的大型智能体进行训练。反向传播算法(Linnainmaa于1970年、Kelley于1960年、Werbos于1982年提出)可以用来对大型神经网络进行有效的训练。在这项研究中,我们通过将智能体分为一个大的世界模型和一个小的控制器模型,从而对大型神经网络进行训练以解决强化学习任务。首先,我们对大型神经网络进行训练,以无监督的方式学习智能体的世界模型,然后训练较小的控制器模型,学习使用这个世界模型执行任务。一个小型控制器让训练算法专注于小型搜索空间上的信用分配问题,同时不会以大的世界模型的容量和表现力为代价。通过智能体世界模型的视角对智能体进行训练,我们表明,它可以学习一个高度紧凑的策略以执行其任务。

虽然有大量关于基于模型的强化学习的研究,但本文并不是对该领域当前状态的评述(Arulkumaran等人于2017年、Schmidhuber于2015年提出)。相反,本文的目标是从1990—2015年关于基于RNN的世界模型和控制器组合的一系列论文中提炼若干个关键概念(Schmidhuber于1990年、1991年、1990年、2015年提出)。

我们证明了在模拟潜在空间梦境中训练智能体执行任务的可能性。这一方法拥有许多切实优点。例如,在运行计算密集型游戏引擎时,需要使用大量的计算资源来将游戏状态渲染到图像帧中,或计算与游戏不直接相关的物理量。相信我们都不情愿在现实环境中浪费训练智能体的周期,而是更乐意在模拟环境中尽可能多地训练智能体。此外,在现实世界中训练智能体的代价甚至更大,因此,渐进式地进行训练以模拟现实的世界模型可以更容易地尝试使用不同方法来训练我们的智能体。

此外,我们可以利用深度学习框架,在分布式环境中使用GPU,从而加速世界模型的模拟。将世界模型作为一个完全可微的循环计算图的好处在于,我们可以直接在梦境中使用反向传播算法对其策略进行微调,从而实现目标函数最大化(Schmidhuber于上世纪90年代提出)。

对视觉模型V使用VAE并将其作为独立模型进行训练也存在局限性,因为它可能会对与任务无关的部分观测进行编码。毕竟,根据定义来看,无监督学习不知道哪些是对当前任务有用的。例如,在Doom环境中,它在侧墙上复制了不重要的详细砖瓦图案,但在赛车环境中,它没有在道路上复制与任务相关的砖瓦图案。通过与预测奖励的M模型一起训练,VAE可以学习专注于图像中与任务相关的领域,但这里需要权衡的一点是,如果不进行重复训练,那么我们或许就不能有效地利用VAE再次执行新任务。

学习任务的相关特性也与神经科学有所关联。当受到奖励时,基本感觉神经元便会从抑制中释放出来,这意味着它们通常仅学习与任务相关的特征,而非任何特征,至少自在成年期是这样的(Pi等人于2013年提出)。

今后的工作可能会探讨如何使用无监督分割层(Byravan等人于2017年提出)来提取更好的特征表征,这与所学习的VAE表征相比具有更好的实用性和可解释性。

另一个令人关切的问题是,我们世界模型的容量有限。尽管现代存储设备可以存储使用迭代训练过程生成的大量历史数据,但我们基于长短期记忆网络(LSTM)(Hochreiter和Schmidhuber于1997年提出;Gers等人于2000年提出)的世界模型可能无法在其权重连接中存储所有记录的信息。虽然人类的大脑可以保存几十年甚至几个世纪的记忆(Bartol等人于2015年提出),但我们通过反向传播训练的神经网络容量有限,并受灾难性遗忘等问题的影响(Ratcliver 于1990年,French于1994年,Kirkpatrick等人于2016年提出)。如果我们希望智能体学会探索更复杂的世界,那么今后可以探索用更高容量的模型取代小型MDNRNN网络(Shazeer等人于2017年,Ha等人于2016年,Suarez等人于2017年,van den Oord等人于2016年,Vaswani等人于2017年提出),或加入外部记忆模块(Gemici等人于2017年提出)。

基于RNN的控制器与环境交互的古代绘图(Schmidhuber于1990年提出)

就像早期基于RNN的C-M系统一样(Schmidhuber等人于上世纪90年代提出),我们模拟了可能的未来时间步长,而没有从人类的层次化规划或抽象推理中获益,这往往忽略了不相关的时空细节。然而,更常见的“学会思考”(Schidhuber于2015年提出)方法并不局限于这种相当幼稚的方法。相反,它允许循环C学习循环M的子例程,并重用它们以任意的计算方式解决问题,例如,通过层次化规划或利用类似M的程序权重矩阵的其他部分。近期,One Big Net(Schmidhuber,2018年)扩展了C-M方法,它将C和M合并成一个网络,并使用类似Power Play的行为回放(Schmidhuber于2013,Srivastava等人于2012年提出)(其中教师网络(teacher net)的行为被压缩成学生网络(student net)(Schmidhuber于1992年提出)),以避免在学习新网络时忘记旧的预测和控制技能。这些具有更通用方法的实验在未来有待进一步研究。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4612

    浏览量

    92884
  • 计算机
    +关注

    关注

    19

    文章

    7494

    浏览量

    87947
  • 强化学习
    +关注

    关注

    4

    文章

    266

    浏览量

    11254
收藏 人收藏

    评论

    相关推荐

    【大语言模型:原理与工程实践】大语言模型的预训练

    训练数据时,数量、质量和多样性三者缺一不可。 数据的多样性对于大语言模型至关重要,这主要体现在数据的类别和来源两个方面。丰富的数据类别能够提供多样的语言表达特征,如官方知识型数据、口语化表达的论坛
    发表于 05-07 17:10

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    的应用。MAML算法通过二阶优化找到对任务变化敏感的模型参数,实现快速适应。上下文学习则引入了注意力机制,使模型能够根据当前场景动态调整行为策略。在预
    发表于 12-24 15:03

    选手SHOW|我们想做的,是让你卸下心防的AI

    「AI大学·未来课栈@成都栈」,与科大讯飞工作人员沟通,提到了这一问题,很快就得到了解决。”虚实梦境团队介绍道。人工智能虚拟医生语音识别准确率不高的解决方案是,将原先的通用语音识别模型
    发表于 07-09 09:15

      华为云深度学习服务,让企业智能从此不求人

    实践经验,相应也在实践过程对深度学习平台进行了很多优化,以降低内部使用深度学习平台进行模型训练的难度。
    发表于 08-02 20:44

    Pytorch模型训练实用PDF教程【中文】

    本教程以实际应用、工程开发为目的,着重介绍模型训练过程中遇到的实际问题和方法。在机器学习模型开发,主要涉及三大部分,分别是数据、模型和损失
    发表于 12-21 09:18

    基于Keras利用训练好的hdf5模型进行目标检测实现输出模型的表情或性别gradcam

    CV:基于Keras利用训练好的hdf5模型进行目标检测实现输出模型的脸部表情或性别的grad
    发表于 12-27 16:48

    模型是数字世界与物理世界连接的桥梁

    、开环、有跳舞辊、伺服电机调节等)的模型及其参数验证,然后封装为复用的共性组件,在应用开发,直接配置其模式、参数等,加速机器的配置,响应快速的市场变化需求。图4-建模仿带来的好处因
    发表于 05-01 08:44

    基于HarmonyOS开发的运动员智能训练系统

    ,展示在手机界面智能运动APP 使用了HUAWEI DevEco Studio 开发的,选择了JS语言进行编写,通过fetch方法请求华为云服务器中使用Spring Boot编写的数据接口,
    发表于 06-29 09:39

    智能维修训练系统模型的设计与实现

             介绍了基于事例的智能维修训练系统中学生模型的结构组成和实现方法。该
    发表于 09-15 10:11 14次下载

    如何使用NVIDIA TAO快速准确地训练AI模型

    利用 NVIDIA TLT 快速准确地训练人工智能模型的探索表明,人工智能在工业过程具有巨大的
    的头像 发表于 04-20 17:45 2810次阅读
    如何使用NVIDIA TAO<b class='flag-5'>快速</b>准确地<b class='flag-5'>训练</b>AI<b class='flag-5'>模型</b>

    什么是预训练 AI 模型

    训练 AI 模型是为了完成特定任务而在大型数据集上训练的深度学习模型。这些模型既可以直接使用,也可以根据不同行业的应用需求
    的头像 发表于 04-04 01:45 1451次阅读

    NLP的迁移学习:利用预训练模型进行文本分类

    迁移学习彻底改变了自然语言处理(NLP)领域,允许从业者利用预先训练模型来完成自己的任务,从而大大减少了训练时间和计算资源。在本文中,我们将讨论迁移学习的概念,探索一些流行的预
    发表于 06-14 09:30 454次阅读

    使用OpenVINO优化并部署训练好的YOLOv7模型

    在《英特尔锐炫 显卡+ oneAPI 和 OpenVINO 实现英特尔 视频 AI 计算盒训推一-上篇》一文我们详细介绍基于英特尔 独立显卡搭建 YOLOv7
    的头像 发表于 08-25 11:08 1524次阅读
    使用OpenVINO优化并部署<b class='flag-5'>训练</b>好的YOLOv7<b class='flag-5'>模型</b>

    python训练出的模型怎么调用

    在Python训练出的模型可以通过多种方式进行调用。 1. 模型保存与加载 在Python
    的头像 发表于 07-11 10:15 1950次阅读

    什么是大模型、大模型是怎么训练出来的及大模型作用

    ,基础模型。   大模型是一个简称,完整的叫法,应该是“人工智能训练模型”。预训练,是一项技
    的头像 发表于 11-25 09:29 1419次阅读
    什么是大<b class='flag-5'>模型</b>、大<b class='flag-5'>模型</b>是怎么<b class='flag-5'>训练</b>出来的及大<b class='flag-5'>模型</b>作用