1 摘要
论文期望从单个音频段学习通用音频表征,而不期望获得音频样本的不同时间段之间的关系。不同于先前大多数音频表示方法依赖于邻近音频片段的一致性或远端音频片段的不一致性,BYOL-A从单个音频段中派生的增强音频中创建对比,通过正则化和增强技术的结合,在各种下游任务中性能达到最优。
2 介绍
对于对比学习,训练是由于正负样本之间的比较驱动的。正样本是来自相同输入的增强副本,负样本是来自不同输入的增强视图。在训练的过程中,嵌入空间中正样本的映射更近,正负样本之间的映射更远。为了获得更好的性能,对比学习需要更多的负样本来进行比较。BYOL采用不一样的方法,它不使用负样本,直接最小化来自相同输入的嵌入的均方误差与数据增强产生的对比 (这是与其他方法的根本区别)。这种学习设置可能会导致collapsed representation(不管输入是什么,输出的特征都是一样的),但是系统架构和算法可以避免这一问题。
在音频领域,许多自监督方法利用了音频信号的时间序列,在时间上剪切的邻近的音频片段会有较近的表示,在时间上较远的音频片段会有较远的表示。虽然这是一个合理的期望,但是也存在矛盾用例。例如:音乐(存在重复的片段),较短的片段(敲门等)在短时间内也存在不同的声学内容。
因此本文通过单个音频片段来学习表示解决这个问题。由于需要避免使用对比损失和三元损失,因此需要进行有效的数据增强。在增强中,第一是学习前景声作为显性的声音表征,第二是用于描述通用表示的声音纹理细节。
- 更好捕捉前景声。在前景表示不变的前提下,从背景随机变化的样本中能够更好的学习。考虑到自然界中的声音是各种声音的混合,混合的少量声音可以近似的在背景中产生变化,因此采用mixup,将一个数据集中的样本进行混合。
- 声音纹理鲁棒性。在音调/速度/时间改变时,细节不会发声变化。因此采用音频音高转移和时间拉伸技术。
对不同的时间段进行剪裁,在完全来自同一段的段对上创建变化,而不是来自多个段。
这篇论文的贡献如下:
- 建议从单个音频段学习通用音频表示,而不期望音频样本的不同时间段之间的关系。
- 提出了一种名为BYOL for Audio的自监督学习方法。该方法使用专注于前景和内容细节的专用音频增强模块从单个音频段输入学习表示。它优于以往的方法,从不同时期的片段的对比中学习。
- 建议通过结合预归一化和混合增强来学习前景声音,而通过音高移动和时间拉伸的近似来学习内容细节。一个额外的后归一化也被用来补偿由增强引起的统计漂移。
下图展示了从单个音频段输入自监督学习的场景。输入音频段标准化,然后,添加另一个样本作为背景声音并修改音高和时间,创建两个增强副本,这些副本通过并行网络(在线网络和目标网络)进行处理。然后,在线网络根据投影嵌入计算出的损失更新,目标网络以在线网络的指数移动平均
更新参数。
输入为 x i x_{i} xi,产生两个副本 v i v_{i} vi和 v i ′ v'_{i} vi′,这两个副本通过混合音频 x j x_{j} xj和 x k x_{k} xk并改变音高时间得到。这两个副本分别通过在线网络和目标网络进行投影,损失就是嵌入空间中最小的投影距离。
3 BYOL算法
下图展示了BYOL系统。
这个算法主要由两个网络组成:在线网络和目标网络。两个网络结构一致,但参数不一致。
在线网络
为
θ
\theta
θ,目标网络
为
ξ
\xi
ξ
- 生成音频 x x x的两个增强, u ≜ t ( x ) u\triangleq t(x) u≜t(x)和 u ′ ≜ t ′ ( x ) u' \triangleq t'(x) u′≜t′(x)
- 在线网络输出表示
y
θ
=
f
θ
(
u
)
y_{\theta}=f_{\theta}(u)
yθ=fθ(u), 投影
z
θ
=
g
θ
(
y
)
z_{\theta}=g_{\theta}(y)
zθ=gθ(y)
在推理阶段,只有 y θ = f θ ( u ) y_{\theta}=f_{\theta}(u) yθ=fθ(u) - 目标网络从第二个增强视图输出目标投影 z ξ ′ = g ξ ( f ξ ( u ′ ) ) z'_{\xi}=g_{\xi}(f_{\xi}(u')) zξ′=gξ(fξ(u′))
- 在线网络的预测模块从 z ξ ′ z'_{\xi} zξ′ 中得到预测 q θ ( z θ ) q_{\theta}(z_{\theta}) qθ(zθ)
- 将目标投影用 l 2 l_2 l2标准化得到: q ˉ θ ( z θ ) \bar q_{\theta}(z_{\theta}) qˉθ(zθ)、 z ˉ ξ ′ \bar z'_{\xi} zˉξ′
- 损失为:
L θ , ξ = ∥ q ˉ θ ( z θ ) − z ˉ ξ ′ ∥ 2 L_{\theta,\xi}=\left\|\bar q_{\theta}(z_{\theta})-\bar z'_{\xi}\right\|_2 Lθ,ξ=∥∥qˉθ(zθ)−zˉξ′∥∥2 - 使损失增强对称, u ′ u' u′增强提供给了在线网络, u u u提供给了目标网络,重新计算损失得到 L θ , ξ ′ L'_{\theta,\xi} Lθ,ξ′
- 最后的损失为: L θ , ξ B Y O L = L θ , ξ ′ + L θ , ξ L^{BYOL}_{\theta,\xi}=L'_{\theta,\xi}+L_{\theta,\xi} Lθ,ξBYOL=Lθ,ξ′+Lθ,ξ
只有在线网络更新来最小化损失,将目标网络的参数更新为在线网络的指数移动平均:
ξ
<
—
τ
ξ
+
(
1
−
τ
)
θ
\xi<—\tau\xi+(1-\tau)\theta
ξ<—τξ+(1−τ)θ
4 BYOL-A方法
输入预处理后的音频提取的对数尺度的梅尔谱图,讲第三节中所述的增强模块替换为本文提出的增强模块,就是BYOL-A。
根据下图,BYOL-A增强模块有四个。
- 预归一化模块对单个输入音频段进行归一化,以便之后的增强过程变得稳定。
- 规范化的输入被复制为两个副本输入至Mixup。Mixup输出两个,混合了规范化输入和随机选择的过去的规范化输入。
- RRC随机调整输出的大小和crop
- 后归一化调整由RRC引起的统计漂移。
Mixup块的设计目的是为学习前景声学事件表示创建对比度,并与预归一化块相结合,以获得稳定的性能。RRC块在时频特征中近似于基音移动和时间拉伸,用于学习内容细节的通用表示。
4.1 预归一化
这种规范化以两种方式稳定了系统中的计算。一种是通过降低增强参数敏感性,这使得下面的块能够假设输入范围几乎遵循N(0,1)。另一种是通过规范化训练数据集之间的统计差异。
x
^
=
(
x
−
μ
)
/
σ
\hat x=(x-\mu)/\sigma
x^=(x−μ)/σ
μ
\mu
μ和
σ
\sigma
σ是训练样本的平均值和标准差。
4.2 Mixup前景声学事件
输入归一化的对数梅尔谱图,Mixup块以小比例混合过去随机选择的输入音频。添加的音频成为混合音频中背景声的一部分。
由于音频是对数的,在mixup之前需要将其转换为线性尺度,再将其转换回对数尺度:
x
ˉ
i
=
l
o
g
(
(
1
−
λ
)
e
x
p
(
x
i
)
+
λ
e
x
p
(
x
k
)
)
\bar x_{i}=log((1-\lambda)exp(x_{i})+\lambda exp(x_{k}))
xˉi=log((1−λ)exp(xi)+λexp(xk))
x
k
x_{k}
xk是从存储过去输入的FIFO队列中随机选择的。由于输入是从训练数据集随机抽样,存储库中排队的样本构成数据集的随机子集。在存储库中存储2,048个样本,这比批量大小大,足以保持随机性。
4.3 RRC
输入频谱图的单位大小由若干频率箱F和若干时间帧T组成。
F
C
=
[
m
i
n
(
U
(
h
1
,
h
2
)
,
1.0
)
×
F
]
F_{C}=[min(U(h_{1},h_{2}),1.0)\times F]
FC=[min(U(h1,h2),1.0)×F]
T
C
=
[
U
(
w
1
,
w
2
)
×
T
]
T_{C}=[U(w_{1},w_{2})\times T]
TC=[U(w1,w2)×T]
h
1
,
h
2
h_{1},h_{2}
h1,h2和
w
1
,
w
2
w_{1},w_{2}
w1,w2的数值都为0.6和1.5,意味着新的crop区域可能在原始谱图的边界之外,可由0来填充。
4.4 统计漂移调整的后归一化
在此块之前的增强操作可能会导致输出的统计漂移。该块调整漂移,使BYOL-A增强模块的最终输出视图变为N(0,1)。计算的方式与预归一化相同,但使用批量样本计算的平均值和标准偏差。
5 实验
在audioset上进行预训练,通过六个下游任务进行实验。
六个下游任务包括:乐器种类分类,不同声学场景的声音分类,声纹识别,语言识别,命令分类,更复杂的命令分类。
5.1 实验设置
- 对于下游任务,一个片段的帧数T由每个数据集的平均持续事件决定。从每个音频片段中随机剪切一段F T,并对其进行编码,以便在后续任务中进行线性评估。较短的片段头部和尾部都加了0。