上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1 Seq2Seq结构
Seq2Seq(Sequence-to-Sequence)[14]网络结构是近些年深度学习中的重要创新之一。它将自然语言处理中的任务(如文本摘要、机器翻译、对话系统等)看作从一个输入序列到另外一个输出序列的映射,然后通过一个端到端的神经网络来直接学习序列的映射关系。Seq2Seq也是编码器-解码器结构的雏形。
图2-1为Seq2Seq结构的示意图,它实现了将输入序列x1,x2,…,xT映射到输出序列y1,y2,…,yT′的操作。其中,编码器可将输入序列编码成一个固定长度的向量表示,而解码器可将该向量表示解码成目标输出。原始Seq2Seq的编码器和解码器部分由循环神经网络(Recurrent Neural Network,RNN)来实现。
图2-1 Seq2Seq结构示意
以机器翻译为例,假设输入的句子为,我们首先将句子中每个单词映射成词嵌入,从而得到向量序列为,目标输出序列为,其中n和m为序列长度。编码器将输入转化成语义编码C,处理第i个时间步输入wi的数学表示为:
其中,i∈[1,n],最后时刻的状态输出为C,即C=hn。解码器根据C输出最终的目标序列,其数学表示为:
许多自然语言处理任务都可以应用编码器-解码器结构,如机器翻译、语音识别、文本摘要和对话系统等。