选自Johns Hopkins University
机器之心编译
参与:Nurhachu Null、李泽南
近日,微软研究院公布的一篇新论文提出了一种新架构,它的内部表征(在执行文本问答任务时)可以用语言学基本理论的基本概念来进行解释。这一方式成功地在几乎不损失性能的情况下让深度神经网络具备了可解释性。该论文作者邓力等人撰文详解了这一新方法的原理和意义。
今天,人们正在越来越多的事物上接受来自人工智能系统的建议,其中包含歌曲推荐、股票选择甚至癌症诊断。在获得建议的同时,人们希望了解 AI 系统做出决策的原理,但目前,对于生成机制的解释显然是不存在的。这是因为绝大多数当今顶尖性能的 AI 系统都包含一类关键组成部分「人工神经网络」,而即便是对于著名研究机构中负责创造人工神经网络的大师们而言,人工神经网络的决策也是不可解释的。
人工神经网络是一套被设计用来模仿我们所认为的人脑如何存储和处理信息的软件。观察人工神经网络的内部以理解它的决策,正如观察人脑内部一样令人困惑:你所看到的是大量通向各个方向的连线,它们连接着所有微小的计算单元——「神经元」。每个神经元从指向它的连线上收集信号,对所有信号组成的激活水平求和,然后通过由它出发的连线去传递关于自身激活水平的信号。那些连线是从网络在自身在处理信息的时候所产生的「学习经验」中形成的;并没有程序员对这些连线去施加一个可理解的秩序;通过查看这些连线来区分网络从经验中学习到的东西已被证明是无效的,而且也目前看来这条路在未来缺乏希望。
在这种情况下,我们或许应该转变思路。构建一种新型人工智能系统可以改变我们对于处理过程不可知的窘境。这个新型 AI 系统架构不仅被设计来模拟我们在人脑中观察到的线路丛林,也能显示当我们窥视意识时所观察到的各种概念、思想以及规则所交织形成的网络。这种新的 AI 方法被称为「意识/脑 网络(mind/brain networks):类脑神经网络」,它通过意识级别的组织切入神经的复杂机制,构建可理解和可互通系统:那是一个我们用来思考和讨论 AI 系统解决问题的概念的层次。
微软研究院最新的一篇论文《Deep Learning of Grammatically-Interpretable Representations Through Question-Answering》报告了关于意识/脑网络架构的概念证明推理。
微软提出的全新 AI 系统会回答以英文文本提出的问题;每个问题都涉及到维基百科中的特定段落,它们和问题一起被提供给系统。系统会找到一个由给定段落中的文本片段组成的答案。系统内部的大多数组成部分都是不可理解的典型神经网络技术模块。但关键的是,在这个架构加入了一个全新的组成部分——一个意识/脑网络模块;它被称为 TPRN(由于技术原因,它的全称是「Tensor-Product Recursive Network,张量乘积递归网络」)。
TPRN 给人工智能系统提供了一个白板,系统可以学习着在它上面去书写符号。系统拥有 100 个可以以任何合适的方式来使用的空白符号。正如我们可以在一个句子里面以不同的角色类型去加入单词一样——Jay 可以出现在 Jay gave Kay's book to Bea 中(Jay 把 Kay 的书给了 Bea,主语角色),或者出现在 Kay gave Jay's book to Bea(Kay 把 Jay 的书给了 Bea,拥有者角色),或者出现在 Bea gave Kay's book to Jay 中(Bea 把 Kay 的书给 Jay,接受者角色)......——AI 系统也可以以不同的角色去放置这些符号;系统被给定了 20 个空白的角色来以它所选择的任意方式去放置符号。在 TPRN 系统中,每一个符号和角色都以一段代码的形式出现——大约是超过 10 个神经元兴奋的模式;系统关于将特定的符号置于特定的角色的决策在 TPRN 中以超过 100 个神经元的代码出现。这些代码都是系统自己学习生成的。当针对一个给定的段落提问时,系统会为问题和段落中的每一个单词从这些超过 100 个神经元的代码集合中分配一个专用于这个单词。然后所有的这些代码都被传递到由标准的(难以理解的)人工神经网络意识所构建的系统的剩余部分。
我们希望这个网络能够学会用它自己的符号去表征复杂的、抽象的意义,并学习使用它自己的角色去表达我们在单词游戏中看到的各种不同的功能(如主语、宾语等)。这正是 TPRN 所做的。通过学习,一个符号代表「profession」的意思,另一个代表「eographical unit」的意思,另一个代表「所有可能成为的形式」,另一个代表「人名」,另一个代表「月份」...... 事实上,通常一个符号会代表数个这种含义;这也是我们预料之中的,因为它要用仅仅拥有的 100 个符号去覆盖它所面对的各种维基百科条目中的所有含义。
最有趣的是 TPRN 所学习到的角色,(事实上,角色就是意识/脑网络的关键创新之一)。很多角色都可以根据语言学理论中的概念来解释。这些概念适用于很多不同层次的语言,TPRN 的角色与 5 个不同层次的语言概念相对应,从单词级别的「复数」到前文提及的短语扮演主语和宾语的不同情况。
简而言之,TPRN 成功地学习到了一些类似于语言学家所确定的语法概念。至关重要的是,它仅仅通过基于问题、源文本以及答案的经验就做到了这一点:他并没有内在的语言学知识,接收到的训练数据都是没有语法标注的文本(它从没有被告知「这是一个主语」),它从没有执行过一个和语法概念相关的任务。它在那种和孩童学习他们第一个语言相同的环境下进行学习,并且这些结果增加了这一有争议的主张的可信度:语言学家的抽象概念确实对应着说话人意识中的一些元素。
那么,所有这些与解释的当前人工智能系统的决策机制有什么关系呢?在很大程度上,解释了意识/脑网络的符号和角色的概念意义之后,解释整个 AI 系统行为的某个方面就变得有可能了。结果证明,当 who 出现在 Doctor Who(著名英剧:神秘博士)这个词组中时,TPRN 对单词 Who 经常会选择错误地符号。它错误地为单词 who 选择了和类似于问句「Who was the first emperor of China」中 who 的意思一样的角色。当然,这让它更容易给出错误的答案,因为它会认为「What type/genre of TV show is Doctor Who,Doctor Who 是一个什么类型/流派的电视节目」是一个「问是谁」的问题,而事实上这是一个「问是什么」型的问题(它曾经给出的一个错误的答案就是「time lord,时间领主」)。事实上 TPRN 确实会在此类问题上出现比那些为一个名字分配正确的 who 符号的场景更多的错误。
这可能是第一次有可能为一个抽象的神经网络的内部激活模式做出有意义解释,那种可以作为网络决策的一部分的解释。这仅仅是某些新事物(有意义的工作)的开始。但是,严肃地讲,一个新方向已经出现了。
论文:Deep Learning of Grammatically-Interpretable Representations Through Question-Answering
论文链接:http://arxiv.org/abs/1705.08432
摘要:我们提出了一种新的架构,用以表示深度神经网络端到端优化在文本问题解答任务中的内部机制,这一机制可与基本语言学理论相通。这种可解释模型相对原始模型只有百分之几的准确性损失(BiDAF)。这种可以被解释的内部表达被称为 Tensor Product Representation:对于每一个输入词,模型选择一个符号对其进行编码,并将符号放置在特定的角色位上,以两个属性表达这个单词。选择通过 soft attention 机制形成,总可解释性是通过符号的可解释性,以及模型训练过程构建的——模型学会了用符号和角色表示输入信息。
我们发现了支持最初假设的根据,符号可以被解释为词汇+语义,而角色可被解释为语法角色(或类别)的近似,如主语、疑问词、限定词等等。通过详细的分析,我们发现了由标准解析器指定的学习角色和部分语言之间的具体对应关系,并发现了模型中经常出现的几个差异。在这里,模型学习语法的重要概念仅仅通过未经语言学标记的文本、问题和回答——我们未向模型预先提供语言学知识。给出的只是使用符号和角色来表示的手段,和倾向于以离散方式使用它们的归纳偏差。