Page 28 - 《应用声学》2021年第2期
P. 28

196                                                                                  2021 年 3 月

                                     Q      K      V
               head i = Attention(QW , KW , V W ),      (3)    与编码器相同。使用可学习的嵌入将输入标记和输
                                    i      i      i
                     Q                K                V       出标记转换为维度d model 的向量。
             其中,W      ∈ R d model ×d k ,W  ∈ R d model ×d k ,W  ∈
                    i                 i                i
             R d model ×d v ,W O  ∈ R hd v ×d model 。          1.3  位置编码
             1.2 编码器和解码器模块                                         Transformer 层的一个明显特点是输出对于
                 编码器:编码器由 12个相同的层块组成。每个                        输入顺序排列是不变的。即,对于施加在输入
             层块都有两个子层。第一个是多头自注意层;第二                            序列 x 1 , x 2 , · · · , x T 上的任何排列 π, 可以通过
             个是完全连接的前馈神经网络层,该前馈神经网络                            在 z 1 ,z 2 , · · · , z T 上应用相同的排列 π 来获得 Trans-
             由两个线性变换组成,中间具有 ReLU 激活。公式                         former 层的输出。这意味着 transform 不对输入序
             表达如下:                                             列的顺序建模。文献 [6] 通过正弦位置嵌入将绝对

                  FFN(x) = max(0, xW 1 + b 1 )W 2 + b 2 ,  (4)  位置信息注入到输入序列中。但本文认为在处理语
                                                               声识别问题时,相对位置对于语声信号可能更有用。
             由式 (4) 可以看出该前馈过程也可描述为内核大小
                                                               于是在接下来研究中,比较了 4 种将位置信息编码
             为 1 的卷积。两个子层附近都添加了残差连接,接
                                                               到 Transformer 层输入中的方法:正弦位置编码、帧
             着进行层规范化        [12] 。
                                                               组合编码、帧堆叠编码、卷积编码。
                 解码器:与编码器类似,解码器是由 6 个相同
                                                                   (1) 在第一种方法中,正弦位置编码,是将绝对
             的层块组成。不同的是,解码器层的每个层块由 3
                                                               位置信息进行了编码。
             个子层组成,其中两个子层的功能与编码器子层相
             同,而两个子层中间的子层对编码器层的输出执行                                  PE (pos,2i) = sin(pos/10000 2i/d model ),  (5)
             多头关注。具体来说,来自最终编码器层的键和值
                                                                     PE (pos,2i+1) = cos(pos/10000 2i/d model ),  (6)
             向量被馈送到解码器层中的多头注意层,查询向量
             值从其下一层中获得。同时要保持模型的自回归特                            其中,pos 是位置,i 是维度。也就是说,位置编码
             性,本文在解码器的多头注意层中使用掩蔽,以防止                           的每个维度对应于正弦曲线。波长形成从 2π 到
             其依赖于将来的位置,从而使输出的标签序列只利                            10000×2π 的几何级数。例如,pos=3,d model =512,
             用的当前位置以前的信息。残差和层归一化的设置                            那么3对应的位置向量如下:


                        [                                                                      ]
                         sin(3/10000 0/512 ), cos(3/10000 1/512 ), sin(3/10000 2/512 ), cos(3/10000 3/512 ), · · · .  (7)



             需要注意的是,位置向量与输入序列向量需要进行                            将相对位置信息添加到特征序列中。
             相加这样的特征组合方式,因此位置向量的长度必
                                                                                2Dతܸ෉ӑࡏ
             须为d model 。
                 (2) 在第二种方法中,帧组合是每两帧叠加并
             跨步一次:它不会破坏特征序列中的排列不变性,因                                               ReLu
             此表示为帧组合编码。
                                                                                 ࡏॆʷӑ         2T
                 (3) 在第三种方法中,帧堆叠是将当前帧和接
             下来的 8 个未来帧堆叠在一起,然后进行移动步长                                            2DԄሥࡏ
             stride = 2采样,以形成新的Transformer输入序列。
             这里由于堆叠的帧与其相邻的堆叠的帧部分地重
                                                                              图 2  卷积位置编码
             叠,因此排列不变性不再成立。
                                                                        Fig. 2 Convolutional position code
                 (4) 在第四种方法中,卷积是对基于帧序列的
             梅尔滤波器组特征进行操作,结构如图2所示。利用                               本文配置了两个 2D 卷积层,每个卷积层后连
             卷积神经网络的在时间和空间维度的平移稳定性,                            接归一化层和 Relu激活,第二层后接一池化尺寸为
   23   24   25   26   27   28   29   30   31   32   33