From machine learning to machine reasoning

从机器学习到机器推理

https://link.springer.com/article/10.1007/S10994-013-5335-X

摘要

“推理”的一个合理定义可能是“代数式地操纵先前获得的知识以回答一个新问题”。这一定义涵盖了一阶逻辑推理或概率推理。它也包括通常用于构建大型学习系统的更简单的操纵。例如,我们可以通过首先使用适当的标记训练集训练字符分割器、孤立字符识别器和语言模型,来构建一个光学字符识别系统。适当地连接这些模块并对结果系统进行微调可以被视为在模型空间中的一个代数操作。结果模型回答了一个新问题,即将文本图像转换为计算机可读文本。

这一观察表明,在代数上丰富的推理系统(如逻辑或概率推理)和简单的操纵(如可训练学习系统的简单连接)之间存在概念上的连续性。因此,与其试图弥合机器学习系统和复杂的“通用”推理机制之间的差距,我们不如代数式地丰富适用于训练系统的操纵集合,并从基础开始构建推理能力。

关键词:机器学习、推理、递归网络

1 引言

由于学习和推理是与智能相关的两个基本能力,机器学习和机器推理在计算机科学短暂的历史中都受到了广泛关注。学习的统计性质现在已经被很好地理解(例如,Vapnik 1995)。统计机器学习方法现在已非常普遍(NIPS 1987–2010)。在互联网上搜索“支持向量机”会返回超过两百万个网页。

推理的本质更加难以捉摸。尽管逻辑推理的计算机算法(Robinson 1965)与数学基础同根同源,但将普通数据转换为一组一致的逻辑表达式已被证明极具挑战性:在符号公式离散空间中进行搜索常常导致组合爆炸(Lighthill 1973)。一般概率推理的计算机算法(Pearl 1988)仍然存在不利的计算特性(Roth 1996)。然而,许多特殊情况的实用算法已经获得了相当的流行度,尤其是在机器学习社区。这种实用性是以降低表达能力为代价的:由于概率推理是一种数学构造,它自然可以用一阶逻辑来描述。然而,用概率推理表达一阶逻辑并非易事。特别是,用概率表达因果关系具有挑战性(Pearl 2000)。

人类的推理既没有逻辑推理的局限性,也没有概率推理的局限性。推理能力常常被与逻辑推理能力混淆。当我们观察一个视觉场景,当我们听到一个复杂句子时,我们能够用形式化的术语解释场景中物体之间的关系,或者句子成分的精确含义。然而,并没有证据表明这种形式化分析必然会发生:我们看到一个场景,听到一个句子,我们只是知道它们的意思。这表明存在一个中间层,已经是一种推理形式,但尚未形式化或逻辑化。研究非形式推理很有吸引力,因为我们希望避免在离散逻辑命题的巨大空间中进行组合搜索相关的计算复杂性问题。

明斯基和帕佩特(Minsky和Papert,1969)已经表明,简单的认知任务不能使用线性阈值函数来实现,而是需要多层计算。最近的研究进展揭示了训练这种深度模型的有效策略(Hinton等人,2006)。深度学习在机器学习社区引起了相当大的关注。自2007年以来,NIPS和ICML会议期间一直定期举办相关研讨会。训练深度机器学习模型的能力似乎与适当定义无监督辅助任务有关,这些任务有助于在模型的内部层中发现内部表示(Bengio等人,2007;Weston等人,2008)。过去也曾使用有监督的中间任务来训练深度结构(例如,Bottou等人,1997;LeCun等人,1998)。深度学习的惊喜之处在于,使用非常松散相关的辅助任务也能取得相同的结果。因此,深度学习与多任务学习密切相关(Caruana,1997)。

本文提出了几个经过长期思考的研究方向(Bottou,2008)。深度学习和多任务学习都表明,我们可以利用辅助任务来帮助解决感兴趣的任务。这个看似简单的想法可以被解释为一种原始的推理形式。丰富这种代数结构则会导致更高形式的推理。这为从基础开始将推理能力构建到机器学习系统中提供了一条路径。

2 辅助任务

一个经常被提及的问题是标记数据的稀缺性。这种说法是有偏见的,因为我们通常构建学习机器是为了完成一项有价值的任务。相应的训练标签因此变得昂贵,进而稀缺。相反,大量可用的标签通常与不太有价值的任务相关联。但这并不意味着这些丰富的标签毫无用处:在一项有趣且有价值的任务附近,不太有价值的任务为解决初始问题提供了机会。

考虑从人脸图像中识别人物的任务。尽管协作式图像标注方案的可用性不断增加(von Ahn 2006),但收集并标注数百万张代表每个人物不同姿势和背景的训练图像仍然成本高昂。然而,为稍有不同的任务收集训练数据却很容易,即判断图像中的两张脸是否属于同一个人(Miller 2006):同一张照片中的两张脸很可能属于不同的人;连续视频帧中的两张脸很可能属于同一个人。这两个任务有许多共同点:图像分析基础模块、特征提取、在辅助任务上训练的部件识别器肯定有助于解决原始任务。

图1概述了一个涉及三个可训练模块的迁移学习策略。预处理器 P 从图像中计算人脸的紧凑表示。比较器 D 比较与两张图像相关联的表示。分类器 C 产生与图像表示相关联的人物标签。我们首先组装两个预处理器 P 的实例和一个比较器 D ,并使用辅助任务的丰富标签来训练得到的模型。训练过程通过使用随机梯度下降最小化正则化损失函数来实现。然后,我们将另一个预处理器 P 的实例与分类器 C 组装在一起,并使用有限数量的标记样本训练得到的模型来解决原始任务。这行得通是因为预处理器 P 已经执行了有用的任务,并极大地简化了分类器 C 的工作。或者,我们也可以通过确保所有预处理器实例共享相同的参数,同时训练这两个组装系统。类似的迁移学习系统已在视觉基准测试中实现了高准确率(例如,Ahmed等人,2008)。

我们设计了一个结构更复杂的系统,以解决各种自然语言处理基准任务(Collobert和Weston 2007;Collobert等人 2011;Collobert 2011)。词嵌入模块 W 为词汇表中的每个单词计算一个50维的表示。从一个大型语料库(9亿词)中提取固定长度的单词序列。通过随机替换中心词来创建错误的序列。辅助任务是生成一个分数,其大小表明一个单词序列是真实的还是错误的。由多个词嵌入模块 W 和一个排序模块 R 组成的系统在这个任务上进行训练。然后,使用较小的标记句子语料库来训练基准任务。每个句子通过组装词嵌入组件 W 并将其输出与辅助信息一起路由到分类器来处理,分类器为感兴趣的单词生成标签(图2)。

该系统在运行速度上比具有类似性能的自然语言处理系统快数百倍,同时达到了接近最先进的性能水平。许多自然语言处理系统依赖于大量的人工设计的特定任务输入特征所蕴含的语言知识。上述系统使用在非常大的语料库上训练的基本上无监督的任务学习有用的特征。图3展示了得到的词表示的质量。类似的嵌入技术也被证明能够执行更高层次的知识提取任务(Bordes等人,2011)。

3 重新审视推理

尽管模块化学习系统及其训练算法已经得到了广泛研究(例如,Bottou和Gallinari 1991),但很少有人关注描述如何组装可训练模块以解决特定任务的规则。事实上,这些组合规则起着极其重要的作用。基本可训练模块的词典和组合算子构成了一个简单的代数系统,该系统作用于模型空间。组合规则描述了代数操作,这些操作使我们能够结合先前获得的知识——以在辅助任务上预先训练好的模型的形式——以创建一个解决新任务的模型。

我想在此处大胆地做一个类比:“为了回答一个新问题而对先前获得的知识进行代数操作”是对“推理”一词的一个合理定义。两者之间存在显著差异:传统推理作用于前提和结论;组合规则作用于可训练模块。然而,我们可以很容易地论证,数学史告诉我们,代数结构比它们所作用的对象更重要。在人脸识别和自然语言处理的例子中,隐含的组合规则源于这样的假设:在辅助任务上可以学到的内部表示可以惠及感兴趣的任务。这些内部表示与推理抽象(即概念)起着相同的作用,也就是说,这些概念无法直接观察到,但被认为对多个问题都相关。

组合规则可以用非常不同的复杂程度来描述。与人脸识别和自然语言处理的例子类似,大多数讨论多任务学习的作品(Caruana 1997)构建了基于内部表示的语义解释来合理化的临时组合。讨论结构化学习系统的作品(例如,Bakır等人 2007)通常提供了更明确的规则。例如,图变换网络(Bottou等人 1997;LeCun等人 1998,第IV节)使用图变换算法为每张输入图像构建特定的识别和训练模型。图变换器的规范应被视为组合规则的描述(图4)。

4 概率模型

概率论丰富的代数结构在机器学习中对概率模型的吸引力方面起着重要作用,因为它告诉了我们如何组合条件概率分布以及如何解释这些组合。然而,为了构建概率模型的代数结构,有必要讨论如何参数化概率分布。

图形模型(Pearl 1988)描述了联合概率分布如何分解为具有特定条件独立假设的基本条件分布。这种分解暗示了可以分别参数化这些基本条件分布。概率推理规则随后在条件概率分布模型的空间上诱导了一个代数结构,描述了随机变量任意子集之间的关系。

为了使参数化更加明确,已经设计了许多改进方法。板式表示法(Buntine 1994)紧凑地表示具有重复结构的大型图形模型,这些结构通常共享参数。图5展示了如何将参数视为随机变量,从而进一步明确参数化。更近期的研究提出了更丰富的语言来描述大型图形概率模型。概率关系模型(Friedman等人,1999)和关系依赖网络(Neville和Jensen,2003)从基于框架的知识库中推导出图形概率模型。马尔可夫逻辑网络(Richardson和Domingos,2006)从一阶逻辑知识库的子句中推导出图形概率模型。这些用于描述概率模型的高阶语言是上一节中描述的组合规则的表达形式。

5 推理系统

我们显然正在偏离统计方法,因为我们不再简单地将一个统计模型拟合到数据上。实际上,我们正在处理一个更复杂的对象,它由(a)一个模型的代数空间,以及(b)组合规则组成,这些规则在模型空间和感兴趣问题的空间之间建立了一个同态对应关系。我们称这种对象为推理系统。

这种定义的一个潜在令人惊讶的后果是推理系统的任意性。就像统计模型一样,推理系统在表达能力、预测能力和计算需求方面各不相同。一些突出的例子可以说明这种多样性:

- 一阶逻辑推理——考虑一个由函数组成的空间,这些函数预测一阶逻辑公式的真实性,作为其自由变量值的函数。这些函数通常由一组完全实例化的谓词来表示。这种函数空间受到一阶逻辑公式代数结构的高度约束:如果我们知道其中一些函数,我们可以应用逻辑推理来推导或约束与其他公式相关的函数,从而表示不同的任务。一阶逻辑具有很高的表达能力,因为大部分数学可以形式化为一阶逻辑语句(Hilbert和Ackermann,1928)。然而,这并不足以表达自然语言的细微差别:每一个一阶逻辑公式都可以用自然语言轻松表达;反之则不然。最后,一阶逻辑通常会导致计算成本高昂的算法,因为它们通常涉及在庞大的离散空间中进行组合搜索。

- 概率推理——考虑由与一组预定义随机变量相关的所有条件概率分布组成的模型空间。这些条件分布受到概率论代数属性的高度约束:如果我们知道其中一部分条件分布,我们可以应用贝叶斯推理来推导或约束额外的条件分布,从而回答不同的问题(Pearl,1988)。概率论的连续性质提供了避免计算成本高昂的离散组合搜索的机会。这些改进的计算需求是以降低表达能力为代价的:由于概率推理是一种数学构造,它可以用一阶逻辑轻松描述;反之则不然。尽管存在这一限制,概率模型中的推理仍然是一个流行的机器学习主题。

- 因果推理——因果性是概率推理众所周知的表达限制。例如,我们可以建立“下雨”和“人们撑伞”这两个事件之间的相关性。这种相关性是预测性的:如果人们撑伞,我们可以相当确定正在下雨。但这种相关性对干预的后果知之甚少:禁止使用伞并不能阻止下雨。这是一个严重的限制,因为因果关系在我们对世界的理解中起着核心作用。Pearl(2000)提出通过丰富概率工具来解决这个问题:虽然 (P(X|Y=y)) 表示在观察到 (Y=y) 的情况下随机变量 X的分布,但新的构造 表示在干预强制条件 (Y=y) 时 (X) 的分布。

- 牛顿力学——经典力学是因果推理系统的极其成功的例子。考虑在各种实验设置中点质量的运动。牛顿定律定义了力这一抽象概念,作为对任何偏离匀速运动的解释。第二定律和第三定律随后描述了如何计算干预的后果,例如施加新的力或将点质量从一个实验设置转移到另一个实验设置。例如,第一个设置可以是一个称重装置,用于测量点质量 (A) 和 (B) 的相对质量;第二个设置可以涉及点质量 (A) 和 (B) 的碰撞。

- 空间推理——如果改变视点或操纵场景中的一个物体,视觉场景会如何变化?这些问题显然受到代数约束的限制,这些约束来自二维投影以及物体之间的关系。空间推理不需要完整的逻辑工具,但当然受益于特定代数构造的定义(Aiello等人,2007)。

- 不可证伪的推理——历史上提供了无数推理系统,其预测能力值得怀疑。神话通过将社会推理系统应用于抽象的神灵来解释世界。占星术试图通过推理行星的运动来解释社会现象。就像不可证伪的统计模型一样,不可证伪的推理系统不太可能具有有用的预测能力(Popper 1959;Vapnik 1995)。

面对如此众多的推理系统,有两种方法。一种方法是识别一个严格比其他所有方法更强大的单一推理框架。这样的框架是否存在,以及它是否会导致计算上可行的算法,目前尚不清楚。符号推理(例如,使用一阶逻辑)未能实现这些期望(Lighthill 1973)。概率推理更具实用性,但表达能力明显较弱。第二种方法是将这种多样性视为一个机会,更好地将推理模型与感兴趣的应用领域相匹配:“在解决给定问题时,尽量避免将解决更一般问题作为中间步骤”(Vapnik 1995)。

因此,绘制推理系统的宇宙图是可取的。潜在的代数结构是什么?它们在表达能力、适用于特定应用、计算需求和预测能力方面的足迹是什么?不幸的是,我们不能期望这样的理论进步按计划进行。然而,我们可以通过实证探索为特定应用领域设计的代数结构的能力来培养我们的直觉。

复制场景分析、语言理解和社交互动等基本人类认知过程构成了一个重要的应用类别。这些过程可能涉及某种形式的推理,因为我们在事后能够用逻辑论据解释我们的结论。然而,实际过程通常在无意识的情况下发生,这表明逻辑推理的全部复杂性可能并非必需。哪些代数推理原语适合此类应用?以下部分描述了更具体的想法,研究适合自然语言处理和视觉任务的推理系统。它们定义了可训练模块,提供了使用固定大小的表示向量表示任意层次结构的手段。当然,这些向量是否是任务的最佳表示还有待证明。此示例的目标是展示在表示空间上定义的代数操作集比表示本身更重要。讨论包括自然语言处理任务的初步结果以及视觉任务的潜在方向。然后提出了在该表示空间上工作的额外模块。最后一部分描述了与在该空间中运行的学习算法相关的一些概念和算法问题。

6 关联与解离

我们已经展示了使用基本上无监督的任务学习显著词嵌入的可能性(Collobert等人,2011)。我们能否为句子中任何有意义的片段学习显著的嵌入呢?

一种经过验证的创建丰富代数系统的方法是定义操作,这些操作的输入来自某个空间,并在同一个空间中产生输出。可能的连接方式的数量及其潜在深度随后变得无限。我们再次考虑一组可训练模块。词嵌入模块 W 为字典中的每个词计算一个连续的表示。在初步实验中,这是一个简单的查找表,为字典中的每个词指定一个50维表示空间中的向量。这些向量的坐标由训练算法确定。关联模块是一个可训练的函数,它接受表示空间中的两个向量,并在同一个空间中产生一个单一向量,该向量预期表示两个输入向量的关联。

给定一个由 n 个词组成的句子片段,图6展示了如何通过 n - 1 次应用关联模块,将句子片段简化为表示空间中的一个单一向量。我们希望这个向量是句子含义的表示。我们还希望每个中间结果都能代表相应句子片段的含义。

将关联模块应用于句子片段有多种方式,每种方式都对应于将句子括号化为有意义片段的特定方法。例如,图6对应于句子“((the cat) (sat (on (the mat))))”的标准括号化方式。为了确定哪种括号化方式将句子分割成最有意义的片段,我们引入了一个额外的显著性评分模块 R ,它接受表示空间中的一个向量,并产生一个分数,该分数的大小预期衡量相应句子片段的“意义性”(见图7)。

将显著性评分模块 R 应用于所有中间结果,并将所有得到的分数相加,可以得到一个全局分数,衡量一种特定括号化句子的方式有多有意义。通过最大化这个全局分数,可以确定递归应用关联模块的最有意义的方式。本文档后面部分将描述具体的解析算法。

面临的挑战是训练这些模块,以使它们实现期望的功能。图8展示了一种受Collobert等人(2011)启发的无监督训练技术。这同样是一个随机梯度过程。在每次迭代中,从一个大型文本语料库中随机挑选一个短句子片段,并按照上述方式括号化(见图8左侧)。然后随机将其中一个词替换为词汇表中的一个随机词。因此,表示空间中某些中间结果很可能对应于无意义的句子片段。我们希望使这些中间结果的分数小于真实句子片段的分数。这可以通过一个适当的排序损失函数来表达。然后使用简单的梯度下降步骤调整所有模块的参数。重复这种迭代过程,对应于对一个明确定义的损失函数进行随机梯度下降优化。然而,有证据表明,如果从较短的片段和有限的词汇量开始,训练会快得多。

Etter(2009)使用类似的过程获得了初步结果。从英文维基百科的转储文件(6亿词)中提取了长度为5的句子片段。词汇表限制为最频繁出现的1000个词,并使用Collobert等人(2011)的嵌入进行初始化。初始句子片段的括号结构是随机构建的。为了研究得到的系统如何将词序列映射到表示空间,构建了500个最常见词的所有两词序列,并将其映射到表示空间。图9展示了其中一些序列在表示空间中的最近邻。由于计算成本随序列长度呈指数增长,因此这种分析仅限于两词序列。

Socher等人(2010,2011)独立地使用标注过的宾州树库(Penn TreeBank)的华尔街日报(WSJ)部分,以监督的方式训练了一个类似的系统。尽管这是一个小得多的语料库(约100万词),但他们得到了有意义的表示。例如,他们报告说,“decline to comment”(拒绝评论)和“would not disclose the terms”(不会透露条款)这两个短语在诱导的嵌入空间中是接近的。监督训练方法还提供了一种更客观的方式来评估结果,因为可以将系统的括号化性能与已建立的解析器进行比较。他们报告的括号化性能与2000年代的统计解析系统相当。

图9还说明了我们不能期望将意义简化为两个向量的接近性。尽管存在语义相似性,但在许多上下文中,“four men”(四个男人)和“two women”(两个女人)之间的差异可能是本质性的。我们并不认为向量表示是意义的表示。相反,我们设想训练专门的模块,将向量表示投影到更适合完成感兴趣语义任务的新表示中。向量表示空间的拓扑结构仅作为归纳偏差,转移一些在无监督训练任务中获得的知识。

因此,还有很多工作要做,包括(i)稳健地处理训练过程的所有数值方面,(ii)无缝地使用有监督和无监督语料库进行训练,(iii)使用知名的自然语言处理基准来评估句子片段表示的价值,以及(iv)找到更好的方法来导航这些句子片段表示。我们现在引入一个新模块来解决最后一个问题。

解离模块 D 是关联模块的逆,即一个可训练的函数,它从一个向量计算出表示空间中的两个向量。当其输入是有意义的关联模块的输出时,其输出应该是关联模块的两个输入。将一个关联模块实例和一个解离模块实例堆叠起来,相当于一个自编码器(见图10左侧)。递归应用解离模块为遍历由关联模块堆叠计算出的层次化表示提供了一种方便的手段(见图10右侧)。这种递归自关联记忆(RAAM)被提出作为一种连接主义的无限递归结构的表示(Pollack 1990)。Hinton(1990)和Plate(1994)也提出了类似的想法。

解离模块的定义域并不明显。给定表示空间中的一个向量,我们需要知道它是否是由两个更基本的向量关联而成的,或者是否应该被视为原子的。Sperduti(1994)为此目的定义和比较了各种标记方案。然而,使用显著性评分模块(见图7)来指定解离模块的定义域可能更简单:只有足够有意义的关联才能被解离。

解离模块的定义意味着关联模块是单射的:其输出唯一定义了其输入。这一代数属性并未被上一节概述的训练过程所强制执行。因此,有必要同时训练关联和解离模块。这可以通过在早期损失函数(见图8)中增加项来实现,这些项将解离模块应用于每个假定有意义的中间表示,并衡量其输出与相应关联模块的输入有多接近。

关联和解离模块类似于Lisp计算机编程语言中用于导航列表和树的基本操作 cons、car 和 cdr。这些原语可以用来构造和导航任意命题逻辑表达式。主要区别在于表示空间的性质。我们不是使用指针和原子实现的离散空间,而是使用连续表示空间中的向量。一方面,我们可以构造的结构的深度受到数值精度问题的限制。另一方面,表示空间中的数值接近性是有意义的(见图3和图9)。这一属性降低了搜索算法的计算成本。这就是多层随机梯度算法能够首先发现有意义的中间表示的原因。

一旦我们构建了使用连续表示表示任意短语的手段,我们就可以考虑训练各种模块。例如,考虑一个可训练模块,它将句子的现在时态的表示转换为过去时态的句子。然后我们可以解析一个初始句子并构建其表示,将表示转换为同一句子的过去时态的表示,并使用解离模块重建转换后的句子。我们能通过这种操作走多远,仍然是一个完全开放的问题。

关联和解离模块不限于自然语言处理任务。许多用于场景分类和目标识别的最先进的系统使用强局部特征(如SIFT或HOG特征)的组合,并沿着金字塔结构进行整合(例如,Ponce等人,2006)。类似的金字塔结构长期以来一直与视觉皮层相关联(Wiesel和Hubel,1962;Riesenhuber和Poggio,2003)。卷积神经网络利用了同样的想法(例如,LeCun等人,1998;LeCun等人,2004)。将这种金字塔结构解释为关联模块的递归应用是相对直接的(例如,Lonardi等人,1994)。

许多金字塔结构的缺点是其空间池化层的固定几何形状。由于局部特征是根据预定义的模式进行聚合的,金字塔的上层以较差的空间和方向精度表示数据。这就是为什么金字塔识别系统通常作为图像分割工具表现不佳的原因。例如,我们设计了一个大型卷积神经网络(Grangier等人,2009),用于识别和标记LabelMe语料库(Russell等人,2008)中城市场景中的目标。该系统提供了良好的目标识别准确率,但分割结果较为粗糙(见图11)。

自然语言处理系统中描述的解析机制为我们提供了一种绕开这一限制的方法。让我们将中间表示与图像区域相关联。最初,图像区域是用于计算局部特征的小块。在评估每个潜在关联的显著性的评分模块的指导下,关联模块可以机会性地聚合附加到两个相邻区域的表示,并生成一个新的表示,附加到输入区域的联合上。可以使用上一节中解释的方法,以有监督和无监督模式训练这样的系统。Socher等人(2011)使用类似的有监督训练方案,获得了令人印象深刻的像素级图像分割和标记结果(图12)。

进一步的代数约束可以丰富这样的视觉系统。例如,我们可以考虑将表示空间中的向量转换为考虑初始图像的仿射变换的模块。也许更有趣的是,我们可以考虑将表示向量转换为考虑观察者位置变化的模块。由于这种视角变化会改变遮挡模式(例如,Hoiem等人,2007),这些模块为场景的三维几何结构提供了一种解释。由于视角变化也可以揭示或隐藏整个物体,这些模块可以想象为构建一个实现物体永恒性(Piaget 1937)的视觉系统的工具。

最后,我们还可以设想将图像表示转换为句子表示以及反之的模块。训练这样的模块将提供将句子和图像联系起来的手段。给定一张图像,我们就可以解析图像,将最终的图像表示转换为句子表示,并应用解离模块重建句子。反之,给定一个句子,我们可以通过类似的方法生成与之相关的图像的草图。需要大量工作来明确这种转换的语义性质。

7 通用解析器

让我们回到确定应用关联模块的最有意义的方式的问题上,这被简洁地定义为最大化排名组件为所有中间结果计算的分数之和。

图13展示了一个最大化算法模板,其主要元素是一个能够存储表示向量集合的短期记忆(STM)。两种可能的操作是:(1)将一个新的表示向量插入短期记忆中,以及(2)从短期记忆中取出两个表示向量,应用关联模块 A 并用组合后的表示向量替换它们。每次应用关联模块都使用显著性评分模块 R 进行评分。当两种操作都无法进行时,即短期记忆中只剩下一个表示向量且没有更多的表示向量可以插入时,算法终止。

主要的算法设计选择是决定哪个表示向量(如果有)应该插入短期记忆,以及从短期记忆中取出的哪两个表示向量(如果有)应该被关联。这些设计选择随后决定了实现短期记忆的最合适数据结构。例如,在英语中,几乎所有在语法上有意义的句子片段都是单词的连续序列。因此,将短期记忆实现为一个栈并构建一个移进/归约解析器是很有吸引力的:第一个动作(“移进”)包括选择下一个句子单词并将其表示推入栈顶;第二个动作(“归约”)包括应用关联模块到栈的顶部两个元素,并用结果表示替换它们。问题随后简化为确定执行哪一系列动作以最大化显著性分数之和。即使在这种简单的情况下,可能动作的图也会随着句子长度的增加而呈指数增长。

幸运的是,启发式束搜索技术可用于高效地探索这一图。它们还可以处理短期记忆的更复杂组织方式。这些启发式方法通常不会显著增加计算复杂度。贪婪解析算法是一个极端的例子,它首先将所有词的表示插入短期记忆,然后反复关联具有最高关联显著性的两个表示向量。通过简单地尝试各种折中方案,可以发现哪种方法最适合每个具体的应用。

这种解析算法模板与认知心理学中关于短期记忆的一些观点是一致的。特别是,Miller(1956)认为人类短期记忆可以容纳大约七加减两个信息块。信息块被宽泛地定义为主体能够识别为一个实体的信息片段。这种定义取决于主体的知识,即其长期记忆的内容。在解析算法模板的情况下,长期记忆由关联模块 A 和评分模块 R 的可训练参数来表示。

8 更多模块

前面的章节主要讨论了关联和解离模块。它们还简要提到了几个额外的模块:对自然语言句子执行预定义转换的模块;实现特定视觉推理原语的模块;以及连接句子表示和图像表示的模块。这些模块通过为表示向量空间赋予额外的语义,丰富了代数推理结构。

- 自然语言处理中的增强框架:在自然语言处理的情况下,有一种自然的框架可以进行这种增强。操作符语法(Harris 1968)基于转换操作符为自然语言提供了一种数学描述:从基本句型开始,更复杂的句子通过连续应用句子转换操作符来描述。句子的结构和意义是这些连续转换的副产品。由于关联和解离模块提供了遍历句子结构的手段,我们有了复制Harris描述的句子转换操作符并建立与这一重要语言学研究联系的必要工具。

- 视觉中的增强框架:在视觉的情况下,也有一种自然的框架可以进行这种增强。在表示向量上工作的模块可以模拟各种干预的后果。视角变化会导致图像旋转、图像缩放、透视变化和遮挡变化。我们还可以设想模块模拟对场景的直接干预(如移动一个物体)在表示空间中的后果。

还有机会超越仅仅利用表示空间结构的模块。正如前面解释的,关联和解离模块在代数上等同于Lisp语言的基本操作符car、cdr和cons,像这些操作符一样,提供了构建任意命题逻辑表达式的手段。添加变量和量词将提供一阶逻辑的实现。尽管存在连接主义和机器学习方法来处理变量绑定(例如,Smolensky 1990;Plate 1994;Khardon和Roth 1997),但它们无法避免一阶逻辑问题的计算复杂性。那么,是否可以识别出人类轻松进行非正式和直观推理所必需的能力呢?以下是两个例子:

- 代词消解:代词消解包括识别树的哪些部分指代同一实体。这相当于在一阶逻辑表达式中识别同一个变量的多次出现,或者在自然语言句子中解决代词问题。这可以通过构建一个实例化模块来实现,该模块接受树的表示向量,并对树中指定实体的所有出现应用预定义的替换。

- 识别合理的实例化:可以通过一个可训练模块来实现,当两个表示向量之间存在“isKindOf”关系时,该模块返回高分。然而,这种本体论通常依赖于上下文。例如,在家庭环境中,猫和乌龟是宠物的种类,而在生物分类的上下文中,它们属于不同的科。受限的推导评分模块接受两个结构相似的树的表示,并在第一棵树是第二棵树的有效实例化时返回高分。这个分数表达了在其余树的上下文中不同树分支之间的关系。

9 表示空间

尽管上一节将基本模块呈现为在相对低维向量空间(例如,50维向量)上操作的函数,但具有类似代数属性的模块可以在不同的表示空间中定义。这样的选择对训练算法的计算和实际方面有很大的影响,因此需要进行调查。

我们的初步结果是使用相对低维的密集向量获得的,维度范围从20到200(例如,Collobert等人,2011)。为了提供足够的能力,可训练函数通常必须设计成具有非线性参数化。训练算法是多层网络训练程序的简单扩展,使用梯度反向传播和随机梯度下降。这些非凸优化程序本质上是复杂的,常常因其缺乏鲁棒性而受到批评。另一方面,当正确实现时,它们通常是解决大规模机器学习问题的最有效方法。

在更高维度空间中使用稀疏向量是很有吸引力的,因为它们提供了更多依赖于具有线性参数化的可训练模块的机会(例如,Paccanaro和Hinton 2001;Mairal等人 2010)。然后训练算法可以利用更简单的优化程序。为了保持良好的泛化能力和良好的计算性能,必须在优化标准中包含稀疏性诱导项。这些项也使优化更加复杂,可能会抵消稀疏高维向量的潜在好处。

表示空间也可以是定义在离散随机变量向量上的概率分布空间。然后学习算法通常被表示为随机抽样技术,如吉布斯抽样、马尔可夫链蒙特卡洛、对比散度(Hinton等人,2006)或牧羊(Welling 2009)。

无论选择哪种表示空间,精心设计的GPU实现都可以显著加快实验周期。例如,训练Collobert等人(2011)的语言模型需要在标准处理器上进行三到六周的计算。将训练时间缩短到几天会改变实验的动态。

10 结论

本文概述的研究方向旨在努力从实践和概念上理解机器学习与机器推理之间的相互作用。与其试图弥合机器学习系统和复杂的“通用”推理机制之间的差距,我们不如代数式地丰富适用于训练系统的操作集合,并从基础开始构建推理能力。这种方法可能会提供机会,以新的方式绕开逻辑推理和概率推理的局限性。如果事实证明如此,我们可以谨慎地希望在通往人工智能的道路上迈出几步。

原文链接: https://link.springer.com/article/10.1007/S10994-013-5335-X