Page 33 - 《应用声学》2023年第1期
P. 33

第 42 卷 第 1 期             万伊等: 基于 Transformer 编码器的合成语声检测系统                                    29


             τ ρ,γ (ω)可表示为  [23]                                   多头自注意力机制则是在不同的子空间中,
                          X R (ω)Y R (ω) + Y I (ω)X I (ω)      分别进行注意力操作。多头自注意力的输出为
                  τ ρ (ω) =                        ,    (2)
                                                                              O
                                        2ρ                     [A 1 , · · · , A M ]W ,其中
                                   |S(ω)|
                          τ ρ (ω)      γ                                                  T  √
                 τ ρ,γ (ω) =     |τ ρ (ω)| ,            (3)             A i =softmax(Q i K / D k )V i
                                                                                         i
                          |τ ρ (ω)|
                                                               为各个子空间得到的注意力输出,Q i ∈ R                  T ×D k ,
                        2
                                    2
             其中,|S(ω)| 是由 |X(ω)| 先做 DCT,取前 30 个系
                                                               K i ∈ R T ×D k 、V i ∈ R T ×D v  分别为第 i 个子空间中
             数后再进行逆 DCT 操作后得到的,相当于进行了
                                                               的查询矩阵、键矩阵与值矩阵,W O ∈ R              MD v ×D model
             谱平滑。ρ和γ 为控制复数谱形状的参数,本文中取
                                                               为多头自注意力权重矩阵,M = D model /D k 为注意
             ρ = 0.3、γ = 0.1。
                                                               头的数目,代表进行注意力操作的次数。多头自注
                 由于 Transformer 编码器是完全基于注意力机
                                                               意力的输出可以看作是对各个子空间注意力输出
             制,不含任何递归与卷积操作,因此不会对输入序
                                                               进行加权求和的结果。
             列的顺序进行建模,需要通过添加位置编码 (Posi-
                                                                   Transformer 编码器的第二个子层是一组前馈
             tional encoding, PE),将输入特征时间帧的位置信
                                                               神经网络,由两层全连接层组成,其隐藏层单元
             息注入到输入序列中。本文中先将每段声频长度统
                                                               数为 D ff ,两层全连接层中间采用 ReLU 激活函
             一为 4 s,再提取相应的声学特征,对于较短的声频
                                                               数进行非线性变换。前馈神经网络层的输出为
             信号采用先重复再截取的方式,较长的声频信号则
                                                               O = max (0, z t W 1 + b 1 ) W 2 + b 2 ,其中 z t 为 x t 经
             直接截取。将声学特征进行线性投影后得到相应的
                                                               过多头自注意力层后,再进行残差连接与层归
             嵌入特征,再与一组可学习的位置编码相加,最终得
                                                               一化操作得到的输出向量,W 1 ∈ R                D model ×D ff  、
             到分类器的输入特征。
                                                               W 2 ∈ R D ff ×D model  分别为两层前馈神经网络的权
             1.2 分类器结构                                         值,b 1 、b 2 为相应的偏置值。
                 Transformer 编码器   [18]  将一组给定的输入序                 Transformer 编码器的输出经过一组前馈神经
                    (           ) T
                       T
             列 X = x , · · · , x T  映射到相同维度的输出序                网络和Logsoftmax 层,得到输入序列分别属于自然
                       1      T
             列,输入序列 X ∈ R       T ×D model ,其中 T 为序列长度,        语声和合成语声的概率,并计算相应的分数,作为系
             D model 为输入特征维度。自注意力机制是 Trans-                    统的最终输出。对于给定输入序列 X,其得分根据
             former 编码器的核心,对于每个输入向量 x t ,自注                    其分别属于自然语声和合成语声概率的对数似然
             意力函数可以描述为将查询向量和一组键值对向                             比得到,如式(4)所示:
             量映射到输出向量,根据查询向量和相应的键向量
                                                                L score =lg P (bona fide|X) − lg P (spoof|X) . (4)
             计算注意力得分,则输出向量可以表示为注意力得
             分与相应值向量的加权和。其中查询向量和键值对                            2 实验设置
             向量都是由x t 映射得到,查询向量和键向量的维度
             均为D k ,值向量的维度为D v 。                               2.1  数据集
                 常用的注意力函数包括加性注意力函数和点                               ASVspoof2019 数据集中的 LA 数据集是由英
             积注意力函数,这两种方法在理论上复杂度是相                             国爱丁堡大学语声技术研究中心发布的专门用于
             似的,但点积注意力可以使用矩阵乘法来实现,因                            评估合成语声检测算法的数据集                [8] ,本文所有实验
             此在实际应用中效率更高。本文中使用的是缩放                             都是在该数据集上设计验证的。表1 给出了该数据
             点积注意力函数        [18] 。计算各向量组成的查询矩阵                 集的划分方式和每个子集的组成方式。
                                       √
             Q 和键矩阵 K 的点积,并用 D k 进行缩放,经过                           ASVspoof2019-LA 数 据 集 中 包 含 自 然 语 声
             softmax 函数计算注意力得分,并与值矩阵 V 进行                      (Bona fide utterances) 与合成语声 (Spoofed utter-
             加权求和后,即可得到注意力输出。注意力输出为                            ances) 两部分。自然语声均录制于爱丁堡大学半消
                         (    T  √   )           √
             A = softmax QK / D k V ,此处用 D k 进行                声室中,录声没有经过后期处理,且没有明显的背景
             缩放,是为了避免输入值过大时,softmax 函数进入                       噪声与信道噪声。合成语声由自然语声作为训练数
             饱和区,导致输出值过小而使梯度无法更新。                              据,通过多种不同的语声合成和语声转换算法得到。
   28   29   30   31   32   33   34   35   36   37   38