前言
介绍
序列到序列模型已广泛用于端到端语音处理中,例如自动语音识别(ASR),语音翻译(ST)和文本到语音(TTS)。本文着重介绍把Transformer应用在语音领域上并与RNN进行对比。与传统的基于RNN的模型相比,将Transformer应用于语音的主要困难之一是,它需要更复杂的配置(例如优化器,网络结构,数据增强)。在语音应用实验中,论文研究了基于Transformer和RNN的系统的几个方面,例如,根据所有标注数据、训练曲线和多个GPU的可伸缩性来计算单词/字符/回归错误。本文的几个主要贡献:
- 将Transformer和RNN进行了大规模的比较研究,尤其是在ASR相关任务方面,它们具有显着的性能提升。
- 提供了针对语音应用的Transformer的训练技巧:包括ASR,TTS和ST
- 在开放源代码工具包ESPnet中提供了可复制的端到端配置和模型,这些配置和模型已在大量可公开获得的数据集中进行了预训练。
端到端RNN
如下图中,说明了实验用于ASR,TTS和ST任务的通用S2S结构。
S2S包含两个神经网络:其中编码器如下:
( 1 ) : X 0 = E n c P r e ( X ) (1):X_0=EncPre(X) (1):X0=EncPre(X) ( 2 ) : X e = E n c B o d y ( X 0 ) (2):X_e=EncBody(X_0) (2):Xe=EncBody(X0)
解码器如下:
( 3 ) : Y 0 [ 1 : t − 1 ] = D e c P r e ( Y [ 1 : t − 1 ] ) (3):Y_0[1:t-1]=DecPre(Y[1:t-1]) (3):Y0[1:t−1]=DecPre(Y[1:t−1]) ( 4 ) : Y d [ t ] = D e c B o d y ( X e , Y 0 [ 1 : t − 1 ] ) (4):Y_d[t]=DecBody(X_e,Y_0[1:t-1]) (4):Yd[t]=DecBody(Xe,Y0[1:t−1]) ( 5 ) : Y p o s t [ 1 : t ] = D e c P o s t ( Y d [ 1 : t ] ) (5):Y_{post}[1:t]=DecPost(Y_d[1:t]) (5):Ypost[1:t]=DecPost(Yd[1:t])
其中 X X X 是源序列,例如,语音特征序列(对于ASR和ST)或字符序列(对于TTS), e e e 是EncBody层数, d d d 是DecBody中的层数, t t t 是目标帧索引,以上等式中的所有方法均由神经网络实现。对于解码器输入 Y [ 1 : t − 1 ] Y [1:t − 1] Y[1:t−1],我们在训练阶段使用一个真实标注的前缀,而在解码阶段使用一个生成的前缀。在训练过程中,S2S模型学习是将在生成的序列 Y p o s t Y_{post} Ypost 和目标序列 Y Y Y 之间标量损失值最小化:
( 6 ) : L = L o s s ( Y p o s t , Y ) (6):L=Loss(Y_{post},Y) (6):L=Loss(Ypost,Y)
本节的其余部分描述了基于RNN的通用模块:“EncBody”和“DecBody”。而将“EncPre”,“DecPre”,“DecPost”和“Loss”视为特定于任务的模块,我们将在后面的部分中介绍。
等式(2)中的EncBody将源序列 X 0 X_0 X0 转换为中间序列 X e X_e Xe,现有的基于RNN的EncBody实现通常采用双向长短记忆(BLSTM)。对于ASR,编码序列 X e X_e Xe 还可以在进行联合训练和解码中,用基于神经网络的时序类分类(CTC)进行逐帧预测。
等式(4)中的DecBody()将生成具有编码序列 X e X_e Xe 和目标前缀 Y 0 [ 1 : t − 1 ] Y_0 [1:t − 1] Y0[1:t−1] 的前缀的下一个目标帧。对于序列生成,解码器通常是单向的。 例如,具有注意力机制的单向LSTM通常用于基于RNN的DecBody()实现中。该注意力机制计算逐帧权重,以将编码后的帧 X e X_e Xe 求和,并作为要以前缀 Y 0 [ 0 : t − 1 ] Y0 [0:t-1] Y0[0:t−1] 进行转换的逐帧目标向量,我们称这种注意为“encoder-decoder attention”
Transformer
Transformer包含多个dot-attention层:
( 7 ) : a t t ( X q , X k , X v ) = s o f t m a x ( X q X k T d a t t ) X v (7):att(X^q,X^k,X^v)=softmax(\frac{X^qX^{kT}}{\sqrt{d^{att}}})X^v (7):att(Xq,Xk,Xv)=softmax(dattXqXkT)Xv
其中 X k , X v ∈ R n k × d a t t X^k,X^v\in \mathbb{R}^{n^k\times d^{att}} Xk,Xv∈<