基于RNN和Transformer模型的自然语言处理研究综述
研究背景
深度学习
深度学习(deep learning)是人工智能的深层次理论。深度学习与普通的浅层次学习最大的不同就在于其神经网络的层数更深,通过对输入特征进行逐层地变换并向更深层次传播,这样就能够将特征从原空间转换到一个新的特征空间从而使数据分析更加容易,当增加网络层数后,网络可以进行更加复杂的特征模式的提取,所以当模型更深时理论上可以取得更好的结果。
NLP
自然语言处理简称NLP(natural language processing),是深度学习的一个主要方向,也是机器学习的重要组成部分。它是人工智能方向中专门研究人类语言的。NLP的主要神经网络模型包括RNN(recurent neural network)、LSTM(long short-term memory) 、Transformer等。通过结合RNN、LSTM以及Transformer模型来对自然语言处理研究的发展进行说明和探讨。
自然语言处理定义
自然语言处理(NLP)是一门用来分析人类语言以及对相关信息进行处理的人工智能方向技术。通过对NLP的研究,我们能够实现人类和计算机系统之间使用自然语言进行交互,由于NLP本身需要运用语言学、数学以及计算机科学等方面的技术,所以NLP是一门综合性的人工智能技术。
自然语言处理的工作步骤
研究内容
神经网络模型和优化算法迭代
循环神经网络
循环神经网络(recurrent neural network,RNN)始于20世纪80年代,于21世纪初发展成为深度学习的重要神经网络结构之一。
长短期记忆人工神经网络
为了解决普通循环神经网络中存在的长期依赖问题所导致的梯度消失问题,于是诞生了长短期记忆人工神经网络(long short-term memory,LSTM)。
Transformer模型
传统的sequence-to-sequence模型自身存在一些缺点,这种模型也没办法在输入和输出序列之间的对齐进行建模,这也会导致输出结果由于受输入序列的某些部分的影响而与期望结果相差许多。
通常的神经网络由输入层、隐藏层和输出层所构成,其结构见下图。
在神经网络训练过程中,给定输入并通过反向传播和优化算法(如梯度下降算法)对模型进行调整,最终输出结果。但这种简单的网络只能简单处理每一个输入的数据,而并没有在输入的数据之间建立起它们相互的关系,即先后输入的数据之间是完全独立的。所以这种网络结构就不能满足对自然语言处理的需求,为了解决这一问题于是就出现了RNN模型。
循环神经网络(recurrent neural network,RNN)
与普通的神经网络相比,RNN最大的优点便是能将每个单词同它所处的语句中上下文部分都联系起来,这就不仅仅是对独立的单词做处理而是将其所处的语境也一起纳入计算的步骤当中,从而让整个模型更好地去理解自然语言。RNN传统全连接神经网络,加入了循环核(Cell)来提权特征,结构见左图。
长短期记忆人工神经网络
LSTM引入了门限的概念,分为输入门限(It)、遗忘门限(Ft)和输出(Ot)门限。长期记忆(Ct)由上个时刻的长期记忆与新记忆乘以不同的门限,即取不同的比例然后相加所得,而短期记忆(Yt)则是从当前输出的长记忆中经过输出门(Ot)过滤后所剩下的内容,对于新记忆(Xt)则是由之前的短期记忆与当前输入的新特征(Vt)组合而成。
Transformer模型
Attention机制就是查询(query)到主键(key)和值(value)对的映射,见左图。在这里首先计算Query和每个Key进行点乘计算(Mat Mul),然后再使用Softmax函数进行归一化从而来得到Q与K之间的相关性即权重,最后再用所得权重与V进行点乘得到最终值。
如图所示:对于普通的Attention而言,在寻找Q与K之间的相关性时总是单个地去对应,即Q、K只有一个,而对于较为复杂语音或语言而言,通常不同字句之间有很多种不同的关系,所以这是单个Q、K之间的对应关系就不太能过够完整推导出语句的完整意义,所以就增加了Q、K、V的数量,即Multi-head Self-attention。
a为多头注意力的结构示意图,b为多头注意力中按比缩放的点积注意力部分的内部结构。
对于Multi-head Self-attention而言,它与LSTM的计算方式完全不一样,它在计算的时候总是将全部的信息同时进行点乘,而LSTM则是按顺序一次进行运算,这样做虽然提高了并行计算的效率,但是却缺少了有用的相关位置信息。
由于Transformer模型中的Multi-head Selfattention机制没有包含不同元素之间的位置信息,于是就给输入数据加上了一种位置编码,对应公式如下:
PE(pos,2i)= sin(pos /1000^2i/dmodel )、PE(pos,2i+1)=cos(pos/1000^2i/dmodel)
在公式中,pos代表每个词在语句之中的位置,dmodel表示词向量的维度,i为词向量的位置。通过将位置信息除以1000^2i/dmodel,就能让sin和cos的表示范围从2π扩展到1000π,最后在将其与源数据相加即可得到包含有位置编码的数据。
Transformer模型小结
与之前的LSTM模型相比,Transformer模型完全采用Self-attention机制代替了LSTM所使用的RNN模型结构,并在自然语言翻译方面取得了更好的效果。Transformer进行并行计算,而不是和RNN那样序列化地计算,提高了计算效率,Transformer能够学习长距离元素之间的关系依赖,并解决了传统RNN在序列过长时产生的梯度消失问题,同时Selfattention机制也能更好地解释模型。但Transformer也有一些缺点,如计算量相对巨大,多头机制中的无效信息有很多等。
研究结论
自然语言处理作为人工智能领域的一个重要方向,相关的技术已经得到了越来越广泛的应用。从全连接神经网络到RNN再到Transformer,然后是基于Transformer框架的BERT,无疑让自然语言处理的能力更近了一步。虽然Transformer模型计算量巨大,但随着计算机计算能力的提高便能够对更加庞大的数据加以处理。未来的自然语言处理研究仍要围绕算法的优化,运用语言学以及其他学科的技术进行更深层次的语义分析等方面进行。
研究启示
1、未来的自然语言处理研究仍要围绕算法的优化,运用语言学以及其他学科的技术进行更深层次的语义分析等方面进行。
2、自然语言处理在人工智能领域会越来越重要,相关技术也会进一步得到应用。演技薪资自然自然自然语言的工作步研究背景