2017 年 1 月 11 日,一个名为 2017 人工智能前沿大会(AI Frontiers Conference)的会议在加利福尼亚圣塔克拉拉举行。包括 Jeff Dean(谷歌大脑的负责人)、邓力(微软人工智能首席研究员)、Adam Coates(百度人工智能实验室负责人)、Alex Smola(亚马逊机器学习负责人)在内的 20 多位世界级业内人士和研究学者向 1500 余名参会者分享了人工智能最前沿的发展情况。 在本次会议中,谷歌大脑高级研究员 Lukasz Kaiser 就自然语言处理的发展现状及目前谷歌翻译的能力做了报告。
自然语言处理是什么? 自然语言处理近些年的变化归因于深度学习的发展。 自然语言处理(NLP)是一个非常大的概念。在本报告中,Lukasz 将其特指为文本到文本的任务(text to text task)。许多语言学家认为文本到文本任务是绝对属于符号工程(symbolic project)的领域,包括语法分析、翻译、语言建模等。
上述任务通常是由人类进行处理的,但神经网络能否为我们代劳?很多人不相信,直至神经网络真的做到了这一点。但神经网络是如何做到的?Lukasz 在接下来的幻灯片中给出了一些解释。
为使神经网络能理解一个句子,我们需要解决的问题到底是什么? Lukasz 提到:「一开始出现神经网络的时候,它主要用来做图像识别,处理同一个维度上的像素信息。而语句和图像不一样。」[1] 不同的句子由不同数量的词组成,这意味着一个句子的输入维度是不规则的。如果想用神经网络来解析这种情况,循环神经网络(RNN)将会是自然之选。接下来就是训练该网络,如果需要用到的步骤太多,计算的负担将会非常重。那么接下来,我们就用到了长短期记忆(LSTM)。 先进的序列到序列 LSTM LSTM 让我们能够训练这种循环神经网络。但在 1997 年,在 LSTM 应用的很早期,所能采用的规模很小,没有适合的硬件能处理这样的任务,这些缺点使得 LSTM 仅仅是一种理论突破。 但是,人们还不能利用这种方法来解决实际的问题。直到最近这几年(大概是 2014 年),编码器-解码器(encoder-decoder)架构 [3] 的出现使得 LSTM 变成了一种切实可行的方法,该方法不仅仅能构筑单层网络,而且能构筑很多层的网络。 在构筑起这些层之后,通过更大的模型我们得到了更好的结果。 Lukasz 接下来给出了一个语法分析的例子。有了从学校学的知识,j2直播,要读懂一个句子,我们可能会先识别其中的动词或名词,同时思考一下语法,就像幻灯片 5 中所示的语法分析树那样。而这是以前旧的标准做法,用这种做法去创建自然语言处理模型,去输入词汇含义、语法和句式结构,以使神经网络理解并生成句子。
有别于传统的做法,Lukasz 的研究团队仅仅是把语法树写成以他们所能想象到最最简单的方式所组成的序列里的一句话,这其中包含了括号和符号。 仅通过编写序列的方式来训练网络,开奖,而网络根本不知道什么语法树、或者括号、或者任何背景知识。这样做的问题在于缺少数据,因为所有的数据(序列)仅来源于研究人员的编写。相对于旧的训练方法,即输入语法,或者句子结构,新的训练方法似乎在提供背景知识方面更弱。但是,新的方法反而得到了更好的结果,因为网络可以自行学习所有这些知识。 LSTM 也适用于语言模型。语言模型的性能是以复杂度来度量的。更低的复杂度就意味着更好的性能。通过与过去所用模型的对比,复杂度的测量结果急剧地下降,这意味着获得了显著的改进。在 2016 年所达到的最好分数是 28(而 2013 年是 67.6),能达到这样的成绩在以前被认为是不可能的。决定因子是模型的大小。
Lukasz 也给了一些 LSTM 应用于语言建模和句子压缩方面的例子。 (责任编辑:本港台直播) |