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 函数进入 噪声与信道噪声。合成语声由自然语声作为训练数
饱和区,导致输出值过小而使梯度无法更新。 据,通过多种不同的语声合成和语声转换算法得到。