神经网络到底是如何思考的?MIT精英们做了这么一个实验室来搞清楚

471 阅读8分钟

作者 | Larry Hardesty等

编译 | ziqi Zhang


没错!人工智能是很火,神经网络也很火,但你真的懂它吗?神经网络到底是怎么工作的?没有人知道。


它像一只黑匣子,我们可以用他,却理解不了它。可是最近,麻省理工学院(MIT)的精英们似乎找了答案。


这些精英们采用了什么方法?他们找出的答案又在多大程度上具有可信度呢?人们对这个方法有怎样的质疑?他们的方法能带领人们真正解开这个黑匣子的秘密吗?


AI科技大本营编译了这篇发表在麻省理工大学网站上的《神经网络如何思考》一文,以下,enjoy!


“神经网络”这一强大的工具,正在帮助人类实现越来越多的任务和梦想。比如,识别数字图像中特定的对象,文本翻译等......

可它的实质是什么?

你会说,“当然是通过对海量样本的训练,通过不断改变成千上万个内部参数,使其可以稳定可靠地执行我们布置的任务。”

你觉得理所应当,你觉得没毛病啊。神经网络不就是来干这个的吗?

但是,我们从来没有关心过这些参数到底是怎样驱动神经网络工作的。

如果我们能够深入到神经网络内部的工作原理,真正去搞懂里面的规则和运行方式,必将是一次伟大的理论探索,这将带领人类的研究再次跨越围栏,去到一个更广阔的世界。

因为,一旦人类掌握了神经网络的真正运行方式,就可以将这样的方式迁移到生活的各方各面,迁移到各种应用。

可是,要真正走进神经网络的内核,实在太难了,我们能做到吗?

在最近举行的2017年自然语言处理方法实践大会上(Empirical Methods on Natural Language Processing),MIT人工智能实验室的研究人员就提出了一个新的思路——通过研究神经网络进行NLP任务的过程,他们做到了让电脑用我们日常的语言来解释随意输入的文本,这跟过去从数据库中查找结构化语言的方法有完全相反。

该技术适用于任何以文本作为输入,并以字符串结果作为输出的系统,例如常用的自动翻译系统。由于其分析的结果仅仅源自于不同的输入和对这些输出的效果反馈,因此它可以直接投入到在线的自然语言处理服务器上使用,而无需访问底层的软件。

事实上,该项技术还可以应用于任何以“黑箱技术”作为内部原理的文本处理系统当中,因为他们都不考虑内部的运行过程。研究人员表明,在他们的实验中,“神经网络”在人类翻译的工作中展现出与人类思维相同的特质!

别吵了,做实验吧!

虽然该项技术主要针对的是自然语言处理,但是它的核心思想与计算机视觉任务的神经网络是有点类似的。

举个例子,大家应该比较熟悉目标检测系统,通俗一点说,它的原理是将图像划分成不同的部分,然后将划分以后的图像重新返还给目标识别器,最后根据图像的特征进行分类。

对于目标检测来说,这个方法很好实现,但是运用到自然语言处理上就存在很大的难度。

对此,MIT电子工程和计算机科学系的教授Tommi Jaakkola就提出质疑:这样的拆分难道不会破坏一个句子的语义性吗?

这位教授正是该论文的两个作者之一,她这样分析:我们不能仅仅做一个简单的随机过程就提出一种方法,你要能预测相对复杂的对象,比如在一句话中,这种方法的意义又是什么?

有趣的是,论文的第一作者,同是MIT电气工程与计算机科学系的研究生David Alvarez-Melis,则使用这一黑箱-神经网络来生成测试语句,然后再用这一测试集对黑箱-神经网络的性能进行测试。

他们具体是怎么测试的呢?

首先,他们训练了一个可以压缩和解压缩我们日常语句的网络,把这一网络作为黑箱神经网络的中间一层。压缩就是将语句以数字的表现形式打包,从而方便信息传递;

解压缩就是让打包后的语句重新扩展成之前的原始形式。在神经网络训练的过程中,系统会根据解码器的输出与编码器的输入的匹配程度,同时对编码器和解码器进行调整。

这里,不得不提一句。

神经网络的本质是一个概率问题,为什么这么说呢?

对于一个目标检测的系统,假如我们对“喂小狗”这一图像进行检测,神经网络判别的结果可能是:图像的主体70%的概率是狗,25%的概率是猫,因此系统识别出我们喂的小狗而不是小猫。

同样,在Jaakkola和Alvarez-Melis的句子压缩网络中,他们为解码语句中的每个单词都提供了替代词汇,以及每种替代词汇的概率。

我们可以这样理解,因为网络会自然地选择具有共现关系的词汇(co-occurrence)来增加其解码正确率,具有相同概率的词汇一般都是通过聚类的方法找到具有相同语义关联的词汇。

例如,编码的语句是“She gasped in surprise”(她惊讶得喘不上气),系统会自动将“She squealed in surprise”(她惊讶得尖叫)以及“She gasped in horror”(她惊恐得喘不上气)这类替代语句分配为相当高的解码概率。

但是同时,也会降低“She swam in surprise”(她惊讶得游泳)和“She gasped in coffee”(她在咖啡中喘气…)这类型的语句的解码概率。

之后,对于任何语句来说,系统都能产生一个与其相关的语句列表,Jaakkola和Alvarez-Melis把这个由黑箱-神经网络生成的语句列表,再次放入黑箱-神经网络当中。其结果就是得到一个新的输入-输出对的列表,通过这个判别式列表,研究人员可以进一步分析出:哪些输入导致哪些内部变化,从而导致哪些输出。

来,测试一下

研究人员将这个技术应用到三种不同的自然语言处理系统当中,一个是用来推断词语发音的系统,另一个是常用的翻译系统,最后一个是能对任何问题提供合理答案的简单人机对话系统。

通过对翻译系统的翻译结果进行分析表明:在输入和输出序列中,单词的依赖性很强。这与人们的预期相似,有趣的是,机器翻译系统在对文本进行翻译的时候,对性别的辨别有时候与我们人类的预期总是存在较大的偏差。

例如,在英语中“dancer”(舞蹈演员)是一个不考虑性别的词汇,也就是一个中性词汇。但是在法语中,舞蹈演员却区分为“danseur”(男舞蹈演员)和“danseuse”(女舞蹈演员)。当

这个翻译系统将“The dancer is charming”(这个舞蹈演员很迷人)这句话翻译成法语时,通常会翻译成“la danseuse est charmante.”(这个女舞蹈演员很迷人)。这是因为翻译系统理解“女舞蹈演员”可能跟“迷人”这个单词更加搭配,也就忽视了其实翻译的初衷并没有考虑舞蹈演员的性别这一事实。

这也可以看出来,在一句话中,不同的形容词(charming)会对其它词语(dancer)的翻译造成影响。

对于人机对话系统,它从好莱坞电影的桥段中选取双线进行了训练和测试,但是这个系统的测试结果却差强人意,尽管研究人员选取了一个很大的训练集去训练,但是由于网络自身过于渺小,使得网络不能完全利用这些训练数据。

Alvarez-Melis解释说:“我们做的这个系统确实是有缺陷的,如果你设计了一个黑箱模型但是没有获得预期的效果,你能一上来就直接用这种模型来解决实际问题吗。当下还是先去修复系统、提升系统的性能,理解到底是什么原因造成这样的错误再说吧”。

在这种情况下,研究人员的分析结果说明了:人机对话系统通常会在输入对话框中键入一些关键字,这些关键字被用来生成一些固定的对话模板。例如:对于一些提问的开头是“谁”和“什么”的时候,对话系统的回答通常是“我不清楚你在说什么”。


原文地址

http://news.mit.edu/2017/how-neural-networks-think-0908