社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

演讲实录丨图灵奖获得者 Yoshua Bengio 独家分享 《深度学习:从系统一到系统二》

中国人工智能学会 • 4 年前 • 563 次点击  


8月29日至30日,由中国科学技术协会、中国科学院、南京市人民政府为指导单位,中国人工智能学会、南京市建邺区人民政府、江苏省科学技术协会主办的主题为“智周万物”的2020年中国人工智能大会(CCAI 2020)在江苏南京新加坡·南京生态科技岛举办。在29日大会主旨报告环节,加拿大蒙特利尔大学教授、2018年图灵奖获得者、蒙特利尔学习算法研究所(Mila)主管Yoshua Bengio为我们带来了题为“深度学习:从系统一到系统二”的精彩演讲。

Yoshua Bengio
加拿大蒙特利尔大学教授
2018年图灵奖获得者
蒙特利尔学习算法研究所(Mila)主管



以下是 Yoshua Bengio 演讲实录:

我将告诉你们深度学习或深度学习2.0的下一个可能阶段。


首先,我给大家讲讲我是如何对机器学习、人工智能和神经网络产生兴趣的,以及我如何开始研究的。在阅读了几篇关于神经网络的论文后,我意识到有一个假设,我可以称之为令人惊叹的假设,可能有几个简单的原则可以提高智能水平,并且这些目标将建立在学习的基础上。因此,这些将是人类智能、动物智能的共同之处,并与我们的合作伙伴一起建造智能机器。


这些原理非常简单,可以用物理定律来描述。这与80年代的主流方法截然不同,当时的主流方法认为智能来自于大量的知识。取而代之的是,这一假设依赖于一小套用来获取知识的通用机制。现在,基于神经网络的人工智能和机器学习方法是 从我们对大脑的一些了解得到灵感的。该计算基于大量简单的、自适应的计算单元的协同。


我们关注的是表征的概念。特别值得一提的是分布式表征的概念,这是我在职业生涯中一直致力于解决的问题。比如说,我为语言建模和机器翻译研究单词表征的概念。


因此,在深度学习方法中,我们认为智能是由三个主要因素组合而来的,一个我们想要优化的目标或奖励函数,一个近似的优化或学习规则,它将修改概括性权重,以近似最大化目标奖励,和初始架构,也就是神经网络结构;以及所代表的函数成本的参数化。


我们可以应用学习规则并执行端到端的学习,其中所有系统的不同部分都被相应调整,为相对于全局目标相互帮助。现在,如果我试着往前看一点,当前的神经网络和当前的机器学习中可能会遗漏什么?


让我印象深刻的是,除了训练分布之外,我们对泛化没有很好的理解。当我们研究学习理论时,我们讨论的是对测试集的优化。但这样就用到了与训练数据相同的分布。我们需要更好的理论来思考如泛化以修改分布或分布外模块化。事实上,这也是一个实际问题,因为使用在一些数据训练工业系统,然后在现实世界中部署的工业系统时,通常你在环境中部署它们的情况与你训练它们的环境有很大的不同。


所以我要谈的一个有趣的问题是,人类如何处理这些新奇情况。这其中的一个方面是,我们能够以某种强大的方式重新利用我们已有的知识,而目前的机器学习在这方面做得并不是很好。


难道这不是很擅长将知识模块化成可重复使用的部分吗?


因此,将各个部分组合在一起的概念实际上与组合性的概念联系在一起,这是一个非常强大的概念,如果你做得正确的话,它可以获得某种指数级的优势。组合性在机器学习和深度学习中已经以不同的形式存在,而深度学习正是在分布式表示的概念中出现的。我们有这样的概念,表征中表示的任何特征子集都可以存在或处于活跃状态。


这实际上给了你一个指数优势,就像我们几年前所展示的,就像前进式分段线性激活组成的网络。这一个指数优势,来自组合性。事实上,我们将各层功能叠加在一起。而且那也存在于我们今天使用的标准深度学习。但可能缺少的是另一种形式的组合性,人类利用了这一点,特别是在语言中,在这种情况下,这通常被称为系统性概括或系统性。


这是我们用来做类比来执行抽象推理的东西。那么让我们再多看一下这个。因此,能够通过重组现有概念和知识来解释新的观察结果的概念在语言中非常、非常普遍,并且已经在语言学中得到了研究。但在其他领域也是如此,比如在2015年莱克等人的照片中,你可以看到,你对不同类型车辆的知识可以让你理解这张你以前从未见过的新图像。


因此,系统性概括的强大之处在于,即使我们看到的新组合实际上在训练分布中是零概率的,我们仍然能够做到这一点。只是我们谈论的东西太新奇了,在训练分布的情况下是永远不会发生的。有时甚至可能是根据物理定律不可能发生的事情。想想我们读科幻小说时的情景。或者有时只是因为有一些潜在的变量,比如你已经学会了某个国家的驾驶规则,现在改变这些潜在变量。或者你必须在不同的国家驾驶,那里的交通规则不同。不知何故,你可以做到归纳。


但是,关于人类能够做到这一点的途径,非常有趣。我会回到很多方面,那就是他们似乎需要有意识的处理和注意才能做这些事情。不幸的是,当前的机器学习和深度学习,在许多领域都是最先进的,并没有很好地处理这个分布中的上述变化。对这一现象的大量实验和分析是我今天分享的工作的基础。


所以首先,让我们回到人类。人类似乎在唤起人们有意识地注意来处理这些新奇或罕见的情况。有了这种有意识的关注,我们可以在线重组适当知识,来解决问题。我们可以推理。我们可以想象新的问题解决方案。当我们这样做时,我们的行为方式与我们的直觉和习惯方式不同,比如买车。


这与系统一和系统二认知的概念有关,丹尼尔·卡纳曼因这方面的工作而获得诺贝尔奖,他在《思考快与慢》一书中解释了这一点。所以让我们试着把这两种认知过程分开。所以你有系统一的能力,在那里你使用直觉。你可以做一些事情。你甚至可以很快做出正确的决定。它发生在无意识的水平上。对你来说,很难理清大脑中发生了什么,让你可以说这是正确的事情。当你做一些习惯性行为时,比如开车回家,你就会一直这样做。


你在使用关于这个世界的知识。但这是一种你无法明确接触到的知识形式。很多都是隐性的。如果我们看看目前的深度学习,这通常是目前DL擅长的地方。当你开车回家的时候,有人可以和你说话。这没什么大不了的。你能够以某种方式,在同一时间,做这项习惯性的任务,并把你的注意力集中在另一件事上,另一个人在说的东西。


另一方面,处理两项任务。


看起来我们的大脑要走一系列的步骤。这就是我们呼吁解决更多逻辑思维问题的原因。我们需要更多的时间才能想出答案。我们有意识地这样做,这样我们就可以用自然语言向别人解释我们是如何得出这个答案的。


例如,当我们提出算法时的操作模式。我们做计划的时候,我们进行推理的时候,在这里被运用的那种知识,包括我们可以口头解释给别人的形式的明确知识。这种能力是我们希望拥有的深度网络。神经网络也能很好地处理,因为我们操纵这些我们与之交流的高级语义概念,这样它们就可以重组,提供一种力量。


分布外的概括能力。现在,当人类这样做时,他们会利用这种有意识的注意力。注意力是一种新的工具,是深度学习的工具箱。在过去的几年里,它变得非常成功。我们开始将注意力用于机器翻译。这是一场巨大的革命。这真的改变了游戏规则。它允许计算同时集中在几个元素上。如果你用软注意力,通过反向传播方式,你可以学会把焦点放在什么地方。


从神经科学的角度来看,有趣的是注意力就像一块内部肌肉。这就像是内部决定,不是关于我们要在外部世界做什么,而是我们如何在大脑内分配我们的计算。


神经网络中注意机制的另一个有趣的方面是,我们从传统的方式,即神经网络只对向量进行操作,并将一个向量转换为下一个向量,下一层,如此进行下去,转变为对集合进行操作的体系结构。一组对象,一组键值对,就像我们在机器翻译中所做的那样,现在自然语言处理中的所有地方都用到的转换器,在许多NLP任务中都能达到最先进的水平。


因此,这些注意力机制恰好也是当前意识理论的核心。C代表意识,在神经科学中不再是禁忌,但由于某种原因,在人工智能中它仍然是。我认为现在是时候让我们看看认知科学在意识方面取得的进展,看看我们是否能从那里获得灵感,以便建立新的机器学习架构和训练框架。所以在这些理论中,关于意识的主导理论之一被称为全局工作空间理论。1988年,Baars和其他人开始提出这个理论。像Deheaene的团队极大地扩展了这一概念。


这一理论的基本思想是什么?你的大脑是由许多不同的专能或模块组成的,它们需要以连贯的方式进行沟通,以便找到新问题的解决方案。它的工作方式似乎是在意识处理过程中存在瓶颈。你可以通过注意到,在任何时候,你的记忆,你的有意识的注意力,都只专注于几个元素,就可以体验到这一点。


所以这些选定的元素,以及这些元素的赋值,是通过这个瓶颈传播到整个大脑皮层的。这些值存储在短期记忆和条件中,感知和行动都非常强烈。我们用意识处理的这类任务似乎与我之前谈到的系统二能力有关。


我们可能需要这样一个瓶颈的原因之一是,有意识处理允许我们对可能性进行一种连贯的模拟。这就是我们想象事物时发生的事情。然而,与电影不同的是,这种模拟在每一步只涉及一些抽象的概念,瓶颈和一致的处理允许确保参与模拟的大脑皮层的不同部分正在产生相互一致和连贯的配置。


让我们回到另一种方式来思考这个问题,这与可言化的知识和不可言化的知识的概念有关。所以在我们的大脑里,就像我说的,当我谈到系统一和系统二的时候,看起来我们都有隐性的知识,很难用语言表达。


我们拥有可以用语言表达的知识,我们用这些知识有意识地对他人进行推理、计划和解释我们的推理和计划。这些都是可以通俗易懂的推理,思想可以与语言紧密地联系在一起,似乎是我们的思想与语言之间的一种紧密联系。


这里有一个关于这两种知识的假设。它们识别到了世界的不同方面。从系统二的角度,即由系统二识别的内容,符合一些假设和先验条件,而系统一识别的内容无需符合这些条件。因此,如果你在机器学习中使用先验知识,通常我们会认为它们或多或少是正确的。但实际上,如果有一些假设可以很好地适用于世界的某些方面,一些应该涉及到理解世界的变量,也许这些先验知识对其他方面没有真正的意义。


如果是这样的话,将知识分成两类是合理的,对吗?满足假设的那种,不满足假设的那种。因此,对于世界上不满足假设的方面,你可以使用你的系统一来处理那些你可以利用这些先验来获得更好的概括。


我会试着让你们信服有更好的分布外泛化能力。第一,如果我们相信这个假设,你要做的第一件事是澄清你在系统中也发现了什么假设,但在系统一中没有。所以我列出了这些假设的清单。这份名单可能需要改进,优先考虑的事项可能需要增加。你可以把它们看作是我一开始谈到的一套原则的一部分。但是这些原理对于高水平对称变量,对于系统二的知识都是有效的。因此,我将首先快速介绍一下这些假设。然后我会更详细地介绍其中的几个。这将是我的演讲。


第一个假设是“有意识的优先”,我在2017年的一篇论文中谈到的。


即,那些我们希望深度学习在表示的顶层发现的高级语义变量,它们有一个共同的分布。如果我们把联合分布表示为因子图,这个联合分布在某种程度上会更精确,我会解释,这些应变量的图是非常稀疏的。我会举几个例子来说明为什么这是有意义的。


但基本上,只要想想自然语言,我们有一句话涉及到这些高度可变的时候,这句话就是关于世界的陈述。但是,该语句描述了较高级别之间的一些依赖关系,只涉及少数变量,因此具有稀疏性,对吗?依赖关系一次涉及的变量很少。


我想提出的下一个假设是,那些具有对称变量的高水平变量,它们与因果有关。如果你想一想语言中的单词,它们大多是给我们讲讲行动在世界上的智能体、人、动物和事物,干预世界,通过他们的行动改变世界上的事物。这些文字还告诉我们这些代理人的行动或执行行动的意图。所以这些智能体通过这些行动造成了一些事情的发生。然后它们将通过这些行动产生效果。


这些效果通常会超越本身的物体。对吗?所以这些物体,我们可以把它们看作是可控制的实体。实体可以控制这些对象。当然,物体之间可能发生的关系是,我推动的东西推动了另一个东西。好吧。我要告诉你们的下一个假设不是变量的性质,不是这些变量的联合分布,而是联合解决方案在现实世界中往往会发生什么变化。

我们的想法是,这些变化通常是由智能体做某事引起的,或者我们称之为干预。如果是这样的话,主体一次只能变化一个方面,这意味着在所有这些高级语义变量的巨大图形模型中,我们可以用词来命名,只有极少数会相关地描述这样的变化,描述这样的干预。同样,我们可以用自然语言以某种方式证实这一假设,因为我们可以用一句话或几句话来描述世界上的各种变化,同样,通过结构组合,这些句子只涉及几个变量。通常只有一个变量会被修改。然后可能会有一些影响。所以这实际上是一个非常有力的假设,我提出的这个假设将帮助我们应对分布的变化。


除了第一个假设,它告诉我们,高级知识被分解成与这些依赖关系相对应的小片段,一次只涉及几个变量,并且你可以用新的方式重新组合这些知识。我已经提到了这个假设,几乎就是在谈论一种变量,一种语义变量,在我们正在寻找的高级表示与语言、句子、单词等之间有一个简单的映射。在我们想要建立的系统中,有一个简单的映射,思想,和它们的表示。现在,为了能够重新组合这些知识,那些依赖关系,那些变量,我们需要对我们的图形模型做些什么。


我们需要在分享之前引入某种形式的概念,这是我们可以从经典的人工智能中引入的东西之一,就是规则和变量。所以规则被描述为几个变量之间的依赖关系。这些变量不一定是实际的对象。它们可能是抽象的,对吗?这就是变量的意思。所以这里有一种互动的形式。


然后,你可以组合这些以新方式描述依赖关系的知识,而不仅仅是一些固定的结构,比如标准的SLAP图形模型。这就是我的假设。然后还有一个额外的假设,它与表示本身有关。所以请记住,我感兴趣的是世界是如何变化的。现在的问题是,随着世界的变化,什么会发生变化?


我提到了变量的某些值可能会更改,或者某些依赖项可能会改变。但对这些变量含义的定义应该是稳定的。因此,考虑一下有一个编码器,它将组的像素级描述映射到对象类别这样的语义级表示。该映射应该是稳定的。因此,随着我们看到更多的数据,它会发生变化,但它应该会收敛。


然而,由于主体的干预,解释世界的一些潜变量的值可能是非平稳的。最后,最后一个,我将没有太多时间在演讲中谈到的,是关于人类推理的方式和人类理性的方式,这有助于他们进行信用赋值。


所以为了解释我们观察到的,会让我改变我的行为的方式,以及那些有意识的推理和信用赋值,它们只涉及几个元素,同样,类似于第一个假设。所以很短的因果链。所以再说一次,当我们教学的时候,你应该在这样那样的情况下做出不同的行为,因为某些事发生了。同样,自然语言用来解释这些事情,并且只涉及因果链条中的几个变量或元素。


那么让我们看看第一个关于因子图的稀疏性的问题,联合分布。这是因子图,在底部。你有两种类型的节点。有代表变量的圆圈。这些深色方块表示这些变量之间的相关性,在行话中也称为因子图中的因子。因此,联合分布是由这些因素的归一化乘积得到的。所以每个因子都与一个势函数相关联,该势函数将因子所关联的变量的值作为自变量。这是一个因子图。理论上,你可以有涉及所有变量的因素。


它不会是一个非常稀疏的因子图。人类用显性知识构建的因子图是非常稀疏的。再说一次,回到自然语言,这是证据来源。如果我说如果我把球掉在地上,它就会掉到地上。你注意到,该句子仅涉及这些单词或短语上的几个单词,每个单词或短语对应于某个高级语义概念。有趣的是,你可以用这样的句子,陈述依赖关系,抛出球的动作,以及球稍后的位置之间的依赖关系。


因此,例如,它正在预测球将落在哪里。这里令人惊讶的是,这个预测对很多句子来说都是正确的,即使这个预测涉及的变量很少,我在这里只根据少数几个变量来预测球的位置,以便在我扔下球之后预测它的位置。然而,如果不做这样的假设,你会想象,如果你想要预测一个随机变量,你会有很多随机变量大型联合分布中。要预测一个变量,通常需要以所有其他值为条件。


如果以一个较小的子集为条件就足够了,那么图中就有这样的结构。这个结构能让你更好地进行概括。但是,这个假设并不需要对所有的变量都成立,这些变量对理解意识很重要。它们只需要是真的就行了。例如,这些类型的假设在像素级别不起作用。如果要基于另外四到五个像素去预测一个像素,你会发现非常困难。


你可能想要挑选附近的像素,但概率预测仍然很差。相反,如果不是预测像素,而是预测这些可以从像素导出的高校验。换句话说,如果你改变或呈现,那么你可能会得到一个靠谱的预测。


所以这告诉我们,当我们强制这个假设时,我们也强制实施了一些与假设一致的表示。现在,只需要快速注意一下,那些高级变量,当你们发现它们在某种程度上分离像素的时候,我会很高兴的,对吧?他们分离因子。但他们不是独立的。不像最近很多关于分离变异因子的工作,这些高的变量是通过一个稀疏因子图的结构来依赖的,但是它们并不是独立的。


现在,我在这里谈论的知识表示是一种声明性表示。但你的大脑正在做的是推理,换句话说,给出一些信息,其中一些变量,你在对其他变量做出预测。推理机制是一种计算。现在,将知识分解成与声明性形式中的不同依赖项相对应的小块,就如何执行推理而言,还不清楚如何将其转换为知识的一种分解。


但是,如果我们看看人类是如何对这些知识进行推理的,也许我们会有一个线索,我们可以使用一个顺序的过程来进行推理,注意力一次集中在那个图表的一个元素上,或者只关注几个相互联系的元素。


因此,在这种情况下,推理机制也构造成这些部分。但是你,取决于你所看到的推理链的类型,你将会经历这个链,以不同的顺序组合不同的片段,例如。因为这张图不是链条,对吗有很多小路穿过它。这启发了我们设计推理机制,这就是神经网络。它们被用来推论,预测事情,给出其他事情。为此,我们设计了一种递归网络形式,我们称之为递归独立机制。


所以不是有一个大的状态变量,从t到t+1,所有的隐藏单元都连接到其他单元,我们有一个稀疏的模块结构,每个模块内的这些循环模块是完全连接的。但是在模块之间,有一些注意力机制来控制这些模块如何以稀疏的方式相互交谈。我们在最近要投稿的或正在进行的论文,研究了这些问题。关于这些我要说几句。但首先,即使是基本RIM,它似乎也是有用的,并在许多使用递归网络的地方提供了改进。


例如,这显示了通过将LSTM替换为RIM而获得的改进。我们可以先学习Atari games上的PPO基线这里所有高于零的东西都意味着进步。每个竖条都对应于一个Atari games。现在,这项工作的一个令人兴奋的扩展是这些RIMS是一个真正直接受到来自意识科学的全球工作空间理论的启发,在这个理论中,允许模块相互通信的方式是通过我前面提到的这个瓶颈。


瓶颈是工作空间是工作存储器,其中使用注意,允许所选模块写入该工作存储器。然后工作存储器的内容被广播给每个人,所有的模块。


我们发现,这种对RIMS的添加导致了比常规RIMS更好的性能和比LSTM更好的性能。以及涉及强化学习和建模序列(例如,弹跳球的序列)的多个设置中的其他方法。我提到的这些实验也是正确的,像添加任务一样,这些实验的有趣之处在于,使用这些架构的主要优势之一是,当你在测试分布之外的模型时。


例如,这就像是比他们在训练中看到的更长的序列。这似乎是有道理的。因为发生的情况是,RIM不同模块将被动态地选择,使用一种学习的注意力机制,该机制根据输入来决定哪些模块将是相关的。


因此,自然能够组合已经存在的模块。但在其他方面,当你面对新的输入时。现在RIMS的一个方面是我们关注的仅仅是架构。但另一件有趣的事是,如果我们想要外分布泛化,就是我们改变目标函数,也许使用元学习之类的东西,我们会在得到更好的结果。所以元学习的想法,思考元学习的一种方式是有不同的学习时间尺度。


例如,强化学习中的单个事件构成了一种快速更新的内部循环,例如,模块参数的内部循环,这些变化发生得非常迅速。虽然知识有更一般的方面,也是可以学习的,但在某种外部循环中速度会更慢。


其想法是将控制此外部循环的参数视为更新频率较低的元参数。如果使用类似哺乳动物的东西,则可以通过在内环中执行的计算来反向裁剪外环的目标函数。


现在,我们正在将这些想法应用到RIMS上。在强化学习场景中,你有一系列任务,我们提出的Baby AI框架展示了最后一个I Clear 2019事实上,我们发现将更好的学习添加到RIMS中,所以元学习版本是红色的。y轴是收益值。你想让曲线尽可能快地上升,并梦想你有规则RIMS。在蓝色中,体系结构就像LSTM体系结构,没有模块性,也没有太多的知识。


我们在这些实验中清楚地看到了模块性和元学习的优势。这是肯尼·马丹和其他人最近的研究工作。好吧。让我们快速谈谈其他的先决条件吧。我不会像第一个花那么多时间在这上面。


首先,关于因果关系。所以我们在这个研究项目中想要做的是,真的,但我说的是共同发现什么是语义变量的正确表达空间。你可以想象有这样一种n/4的潜在解码器,原始输入和输出的映射就像像素和低级运动动作。往返于这个高级语义空间。因此,我们想要发现这些正确的因果变量,它们可以将数据解释为高级表示。


在我们学习这些变量的表示的同时,我们也想要发现它们的因果关系,比如一个变量如何可以成为因果关系图中可以表示的另一个变量的直接因果父项。这也说明了干预问题。所以我们可以在这里做的一件事是,在这个图中有一些节点,它们对应于主体的操作,它们随后引起一些变化。


所以我们也想学习这一点。那我们要怎么做呢?这是一个悬而未决的问题,但我要说几句我们做过的有价值的工作。


首先,因为我们考虑的是因果关系,因为我们考虑的干预措施有数据,其中如果一切都是静态的,就像我们通常训练我们的机器存在以进行深度学习一样,比如一个对象,一个条件,等等,不会帮助我们弄清楚这些因果依赖关系,以及不同的变量可能如何对应于主体和世界的可控方面,依此类推。


所以,我们真的应该看看学习场景,这些场景涉及到一个在不同年龄的作用下可能会发生变化的环境。所以这是一个重要的方面。现在有趣的是,只要你一开始考虑智能体,就会有自由裁量权在分配过渡过程中发生变化的概念。


因为由于智能体的行动,特别是多智能体的情况,就像图中的那样,世界以一种不静止的方式改变,一旦你进入有危险怪物的地方或有大量现金的地方,你的生活就永远改变了。所以这是动物必须面对的问题。因此,进化在大脑的学习机制中建立起来,这种分布外泛化的能力。那么让我们来谈谈一些具体关于我们如何利用分布中的这些变化来学习好的表示法。


这就是他们改变局部化在这个高级表示空间中的分布的想法。所以考虑这个问题的一种方式是,我们有一个从原始输入到语义空间的东西。当世界上有什么变化时,首先,因为其中一个符号或者可能只有几个符号发生了变化。


正如我所说的,这是通常会发生的事情。让我们看看。我们给你举个例子。所以如果我戴上墨镜,在像素水平上,一切都变了。但在语义高级空间,我只做了一点改动。Yoshua戴的是墨镜。如果这个关于变化的回归假设成立,那么理解这些变化就会容易得多。这就是我们结合这两个假设的原因。关于系统二号的前提条件。现在,我们如何才能更实际地利用这一点呢?


我们去年有了第一篇关于这类事情的论文,今年在ICLR 2020上发表了,我们考虑了一个非常简单的场景,只有两个核心,变量a和b,通常,我们不观察a和b,我们只观察解码器的输出,你给我们x和y,其中x和y都依赖于a和d,现在我们想要做的是发现x,y观测和a,b潜在变量之间的关系,以及因果结构,也就是a导致b还是b导致a。


所以事实证明,如果你有正确的模型和正确的表示,就是正确的因果关系方向。你可以使用更少的示例来适应分布的变化。这就是右边的数字表明的。在x轴上,修正分布中的实例数,其中存在干预,比如,其中假设A被修改。所以这会改变P(A),它也会改变。但是在给定A的情况下,它不会改变P(B|A),它会改变P(B),对吗?所以,如果你正确分解成P(A) x P(B|A),就只需要改变P(A)。P(B|A)更大的部分?他不需要适应。

这样你就可以学得更快。


你可以看到这些曲线,蓝色的曲线假设我们把一个关联分解成对P(A)P(B|A),换句话说,原因A和B就是结果。而且学习会更快。在这个图中同样有趣的是,红线使用了错误的因果模型,最终会聚到同一个东西上。如果你有足够的数据,那么因果结构,你就不同于因果结构,所有的模型。不过,只要用不同的方式来联合模型就行了。


但它们最终都汇聚到了同一件事上。为什么我们,当你只有很少的数据来改变分布的时候,比如10个例子之类的。这就是正确的因果结构有很大优势的地方。最近,我们将这种想法扩展到从更大规模的因果图中学习。我们将我们的方法与现有的一些发现结构的方法进行了比较。我们发现,我们提出的方法本质上能够更能发现正确的因果图。


有趣的是,我们还可以将其概括到看不见的干预。换句话说,在测试分布中可能存在已修改的变量值,这些值从未被视为对训练分布的干预。


但这些方法很容易推广到这些形式的分配变化。这种方法的总体思想是,我们将在所有可能的图上保持分布。在以前的工作中,我们可以列举所有可能的因果结构,或者是A原因B,或者是B原因A,并且我们可以只评估哪种结构收敛得快。但是如果你现在有很多变量,就有海量的可能图示。因此,如果你想知道哪一个是正确的,并且使用某种随机评级方法,我们想要平滑地改变我们在图形结构上的后验分布。


这是一种有效的方法,通过将后边的因子增加到一系列因素中,即每条边的概率来实现这一点。所以我们维持这些概率。


我们可以对这些概率使用升序方法计算梯度,然后收敛到特定的图。我的时间不多了。这部作品关于系统一和系统二的有趣之处在于语言。这里与经典人工智能不同的一个重要方面是,正如我在开始时所说的,关于世界的知识在满足这些假设的系统一和满足这些假设的系统二、不满足这些假设的系统一和满足这些假设的系统二中都存在争议。


当我们想要理解一个句子时,我们也需要系统一。这就是植根于自然语言的想法。所以你们要做的是用一种自然语言共同学习系统一和系统二。


所以你不想只从测试中学习,你要从环境中学习,在那里你可以观察,比如说,图像,动作,以及与这些东西相关的自然语言这就是我们开始的那种研究,我前面已经提到过的Baby AI项目但我认为,有很多研究方向涉及到这些扎根的语言学习,这将需要真正将系统二的这些想法与自然语言联系起来。我在开头提到的另一个元素是在不同实例之间使用交互、变量和参数共享。


我们刚刚提交了另一篇正在进行的论文,这篇论文以备注结构开始,并将每个模块的参数与你可以认为是对象的值分开,由该模块的操作。也就是你现在可以作为规则使用的同一模块,可以应用于多个对象。我们发现这确实奏效了。


所以我们总结一下。我已经介绍了一些概念。从系统二意识注意、系统概括、元学习、因果性、模块性、分布外概括、主体等思想出发,非常有趣地联系在一起。因此,看到这样的故事和图表让我们将所有这些方面联系在一起,这真的是令人兴奋的。最后,我想说,在这项工作中,以及作为人工智能机器学习研究人员的另一项工作中,我们有责任。机器学习不仅仅是发生在大学和实验室中的事情。


这是在现实世界中存在的东西。这意味着我们必须小心我们工作的社会影响。现在有一种智慧竞赛。我们向世界的投放的技术力量在增加吗?我们需要确保社会已经准备好接受,个人和集体智慧能避免这些技术的被灾难性的使用。


(本报告根据速记整理)

CAAI原创 丨 作者Yoshua Bengio

未经授权严禁转载及翻译

如需转载合作请向学会或本人申请

转发请注明转自中国人工智能学会

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73336
 
563 次点击