论文标题:Enhancing Partially Spoofed Audio Localization with Boundary-aware Attention Mechanism
论文官方代码:https://github.com/media-sec-lab/BAM
Paperwithcode:Enhancing Partially Spoofed Audio Localization with Boundary-aware Attention Mechanism
部分伪造音频定位的任务旨在准确确定帧级别的音频真实性。尽管一些工作取得了令人鼓舞的成果,但在单个模型中利用有界信息仍然是一个未经探索的研究课题。在这项工作中,我们提出了一种称为边界感知注意力机制Boundary-aware Attention Mechanism的新方法。
它由两个核心模块组成:边界增强Boundary Enhancement和边界逐帧注意
Boundary Frame-wise Attention。
“边界”(Boundary)指的是在音频信号中,真实语音和合成语音(或伪造语音)相接合的地方。这些边界区域通常包含混合了真实和伪造音频的帧,对于检测和定位伪造音频来说,识别这些边界位置是非常重要的。
“边界特征”(Boundary Features)是指能够表征音频中边界区域特性的一组特征。在BAM方法中,边界特征是通过特定的网络结构提取出来的,用于帮助模型区分和定位真实语音和合成语音之间的边界。
在面对日益逼真的伪造语音威胁时,如何准确地检测和定位伪造语音片段,以保护语音验证系统不受欺骗攻击的影响。作者提出的边界感知注意力机制(BAM)旨在解决这一挑战,提高定位伪造语音的准确性和效率。
边界信息利用不足:
在现有的部分伪造音频检测(PSAD)研究中,边界信息通常被用于辅助在语句级别检测伪造音频,但如何将边界信息有效地整合到单个对抗性模型(Countermeasure, CM)中以提高帧级别的定位精度,是一个尚未被充分探索的研究课题。
区分性和定位精度不足:
边界帧(同时包含真实和伪造音频的帧)与完全真实帧在特征空间中非常接近,这可能导致训练不稳定和性能下降。
现有注意力机制的局限性:
传统的注意力机制可能没有针对部分伪造音频的特殊需求进行优化,特别是在需要区分帧的真实性时。
模型性能限制:
现有的方法可能没有达到最佳的定位性能,尤其是在精确度、召回率和F1分数等评估指标上。
时间颗粒度的挑战:
在更细粒度的时间颗粒度下,准确检测边界位置更具挑战性,这可能影响模型的整体性能。
边界感知注意力机制(Boundary-aware Attention Mechanism, BAM)的具体工作流程如下:

使用预训练的自监督学习(SSL)模型,如Wav2vec2(W2V2)或WavLM,来提取语音的有效前端特征(Front-end Features是指在语音处理和识别系统中,用于表示输入语音信号的原始或经过初步处理的特征。这些特征是后续声学模型或识别算法的输入,用于捕捉和表征语音信号的关键信息)
这些特征比传统的手工制作特征(例如LFCC、MFCC)更能利用大量未标记数据进行预训练,显著提高数据表示能力,并有助于识别音频数据中的复杂模式。
Attentive pooling层将输入的不同长度的输入序列(从Wav2vec2或WavLM模型提取的特征),映射到一个固定的时间颗粒度(160毫秒)上
Attentive pooling通过学习每个帧或时间段的重要性,给予更重要的帧更高的权重,这有助于模型集中注意力于那些对于区分真实和伪造音频最有用的部分。
在论文中,边界增强(Boundary Enhancement, BE)模块的目标是将前端特征 F g ∈ R T × D F_g \in \mathbb{R}^{T \times D} Fg∈RT×D转换为边界特征 F b ∈ R T × 2 D F_b \in \mathbb{R}^{T \times 2D} Fb∈RT×2D,其中 T T T是帧数, D D D是特征维度。
A
t
=
tanh
(
ϕ
(
s
)
)
W
a
A_t = \tanh(\phi(s))W_a
At=tanh(ϕ(s))Wa
F
a
=
softmax
(
A
t
)
F
g
F_a = \text{softmax}(A_t)F_g
Fa=softmax(At)Fg
F
inter
=
SELU
(
BN
(
(
ϕ
(
F
a
)
⊕
ϕ
(
F
g
)
)
)
)
F_{\text{inter}} = \text{SELU}(\text{BN}((\phi(F_a) \oplus \phi(F_g))))
Finter=SELU(BN((ϕ(Fa)⊕ϕ(Fg))))
其中,
⊕
\oplus
⊕表示逐元素相加,
BN
\text{BN}
BN表示一维批量归一化,
SELU
\text{SELU}
SELU是激活函数,
ϕ
\phi
ϕ是线性映射函数,
W
a
W_a
Wa是可学习的注意力权重。
每个帧单独输入到一个1D-ResNet结构中,然后通过一个全连接层来学习帧内特征 F intra F_{\text{intra}} Fintra。
F b = Concat ( F intra , F inter ) F_b = \text{Concat}(F_{\text{intra}}, F_{\text{inter}}) Fb=Concat(Fintra,Finter)
这里, F intra F_{\text{intra}} Fintra和 F inter F_{\text{inter}} Finter分别代表帧内特征和帧间特征,它们被拼接起来形成边界特征 F b F_b Fb。
通过这种方式,BE模块有效地结合了帧内和帧间信息,以提取有助于边界检测和真实性判断的区分性边界特征。这些特征随后被用于边界帧位置的检测和帧级真实性决策。

利用边界预测结果来控制帧间特征的交互,以实现对真实和伪造帧的有效区分。
该模块包含两个堆叠的边界帧级注意力块(BFAB)。BFAB的结构与FAB相似,但配备了一个边界掩码组件,该组件使用二进制边界预测 B ^ \hat{B} B^和 F g F_g Fg来削弱属于不同类别的帧之间的信息传递。具体来说:
构建边界邻接矩阵
A
b
A_b
Ab:
其元素定义决定了第 i 帧和第 j 帧之间是否存在边界;如果存在,则
A
b
A_b
Ab 中第 i 行和第 j 列的值设置为0,否则为1。
A
b
A_b
Ab的元素定义如下:
A
b
(
i
,
j
)
=
{
1
if
i
=
j
∑
n
=
i
j
−
1
(
1
−
B
^
[
n
]
)
if
i
<
j
∑
n
=
j
i
−
1
(
1
−
B
^
[
n
]
)
if
i
>
j
A_{b(i,j)} =
更新注意力图 ( A_t ) 为边界注意力图 ( \hat{A}_t ):
使用边界掩码更新注意力图 ( A_t ) 为边界注意力图 ( \hat{A}_t ),通过元素-wise乘法实现。
A
^
t
=
A
t
⊙
A
b
\hat{A}_t=A_t\odot A_b
A^t=At⊙Ab

使用两个损失函数进行监督训练:边界损失 L b L_b Lb 和帧级真实性损失 L s L_s Ls。边界损失使用二元交叉熵损失,而真实性损失使用标准的交叉熵损失。总损失是这两个损失的加权和。
在本文中,损失函数用于监督模型的训练,包含两个部分:边界损失 L b L_b Lb 和帧级真实性损失 L s L_s Ls。这两个损失函数共同作用于模型,以优化边界检测和帧级真实性判断的性能。以下是损失函数的详细计算公式:
边界损失 L b L_b Lb:
帧级真实性损失 L s L_s Ls:
总损失 ( L ):
通过最小化这个总损失函数,模型能够同时学习如何准确地检测边界帧和判断每个帧的真实性。
这种设计使得模型在处理部分伪造音频时,能够有效地区分真实和伪造的音频帧,提高定位伪造音频区域的准确性。
通过这种方式,BAM利用边界信息作为辅助的注意力提示来指导定位,有效地区分真实和伪造的帧,从而提高定位性能。

为了评估BAM框架中每个模块的有效性,进行了消融实验。结果显示,每个模块都对提高定位性能有贡献。例如,与基线模型相比,BAM方法将EER降低了2.21%,F1分数提高了1.73%。
实验结果表明,BAM方法在PartialSpoof数据集上实现了最佳性能,证明了利用边界信息可以增强定位伪造音频区域的准确性。此外,细粒度分辨率实验表明,在更细的分辨率下准确检测边界位置是一个更具挑战性的任务,这将是未来工作的方向。