【论文笔记】Separating the “Chirp” from the “Chat”: Self-supervised Visual Grounding of Sound and Language

Abstract

提出了DenseAV,一种新颖的双编码器接地架构,仅通过观看视频学习高分辨率、语义有意义和视听对齐的特征。在没有明确的本地化监督的情况下,DenseAV可以发现单词的"意义"和声音的"位置"。此外,它在没有监督的情况下自动发现并区分这两种类型的关联。
DenseAV的定位能力源于一种新的多头特征聚合算子,该算子直接比较稠密的图像和音频表示进行对比学习。相比之下,许多其他学习"全局"音频和视频表示的系统无法将单词和声音本地化。最后,贡献了两个新的数据集,通过语音和声音提示的语义分割来提高声音-图像(Audio-Visual)表示的评估。

在这些数据集和其他数据集上,我们展示了DenseAV在语音和声音提示的语义分割方面显著优于现有技术。在使用不到一半的参数进行跨模态检索时,DenseAV优于当前最先进的ImageBind。

project page

1 Introduction

音频和视频的关联是人类感知的一个基本方面。这项工作旨在通过学习高分辨率的、有语义意义的、视听对齐的表示来创建具有这种能力的模型。具有这些性质的特征可以用来发现模态之间的细粒度对应关系,而不需要本地化监督或语言的文本表示知识。

【论文笔记】Separating the “Chirp” from the “Chat”: Self-supervised Visual Grounding of Sound and Language_第1张图片
图1:DenseAV算法的可视化概述。两个模式特异性骨干拍成特制片音视频信号。引入了一种新颖的多头注意力泛化,用于提取注意力图,发现并分离口语词的"意义"和物体发出的声音。DenseAV仅通过对视频等成对刺激的观察来进行这种定位和分解。

作为一个例子,考虑如图1所示的图像的口头描述和伴随声音。我们希望对语音和声音进行高分辨率的"ground"。例如,音频信号中的口语词"狗"和树皮的声音,如果存在,都应该与视觉信号中狗的像素相关联。我们寻求高质量的局部表示,其中特征之间的简单内积表现出这种行为,有趣的是,这在文献中的流行方法中并不存在。

为此,进行了三项创新。
首先,引入了DenseAV,这是一种双编码器架构,它在聚合为单一相似性分数之前,计算音频和视觉特征的稠密相似性体积。如果查看单词发音时的相似性体积切片,如图1所示,我们可以可视化单词或声音与图像像素之间的视听激活强度。
引入的新颖性在于用多头机制来推广这种稠密相似性机制,类似于多头注意力。这种推广允许每个头部专门处理视觉和音频模态之间的特定耦合类型。有趣的是,如果给DenseAV两个头并在包含语言和声音的数据集上进行训练,这些头自然会通过跨模态监督来区分语言和更一般的声音。例如,如图1所示,头1关注制造声音的物体,如狗叫声,而头2则只关注单词的含义。

其次,展示了用于对比学习时创建音频片段和视频帧之间相似性分数的“聚合函数”的重要性。传统的选择,如使用全局表示(例如类标记或池化特征)之间的内积,并不能促进稠密局部特征的视听对齐。因此,许多在跨模态检索中表现优异的流行音视频骨干网络,不能直接使用其局部特征关联对象和声音。这限制了它们在语义分割、声音定位或无监督语言学习和发现等下游任务中的应用能力。

第三,引入了两个语义分割数据集,用于评估基于视听表示的语音和(非语音)声音的视觉定位。我们从ADE20K数据集提供的高质量分割掩码中构建这些数据集,并在二元掩码预测任务上测量平均精度均值(mAP)和平均交并比(mIoU)。这种评估比以往的视觉定位测量方法更简单、更全面,例如概念计数指标和“指点游戏”只检查热图的峰值是否出现在目标框或片段内。此外,本文评估避免了脆弱的词网本体、聚类、Wu和Palmer距离、阈值选择以及其他各种复杂因素。

主要贡献如下:

  • 引入了DenseAV,这是一种新颖的自监督架构,可以学习高分辨率的音视频对应关系。
  • 引入了一种基于局部特征的图像相似性函数,与常见的策略如平均池化或CLS标记相比,它显著提高了网络的零样本定位能力。
  • 引入了新的数据集,用于评估语音和声音驱动的语义分割。展示了DenseAV在这些任务以及跨模态检索上显著优于当前的最先进方法。
  • 多头架构仅使用对比监督,就能自然地将音视频对应关系分离为声音和语言组件。

3 Methods

从高层次来看,DenseAV试图使用稠密的音视频表示来判断给定的音频和视觉信号何时属于“同一个”对象。为了稳健地执行这项任务,DenseAV必须学习如何从视觉信号预测音频信号的内容,反之亦然。这使得DenseAV学习到捕捉模态之间共享的互信息的稠密模态特定特征。一旦这些特征被学到,就可以直接查询这些信息特征,以执行语音和声音提示的语义分割,如图1所示。

更具体地说,DenseAV是由两个模态特定的深度特征提取器构建的。这些骨干网络为音频片段生成时变音频特征,为单个随机选择的帧生成空间变化的视频特征。损失函数根据两个信号在具有多种强耦合或共享对象时的相似性来计算音频和视觉信号之间的相似性。更正式地说,我们通过仔细聚合稠密特征之间成对内积的体积,为一对音频和视频信号形成一个标量相似性。使用 InfoNCE对比损失来促进“正”信号对之间的相似性,并通过批内洗牌形成的“负”信号对之间的不相似性。图3形象地描绘了这个损失函数,后续部分将详细介绍架构的每个组成部分。
【论文笔记】Separating the “Chirp” from the “Chat”: Self-supervised Visual Grounding of Sound and Language_第2张图片
图3:我们的多头注意力聚合器的架构概述。稠密特征图在实验中被分成 K K K个头( K = 1 , 2 K=1,2 K=1,2)。通过对每个头的特征在视觉和音频信号的空间和时间范围内进行内积来形成一个视听激活张量,如公式 1 所示。然后,通过对头部和空间维度进行最大池化,并对音频维度进行平均池化,将这个相似性体积聚合成一个相似性分数。本文方法旨在鼓励网络识别音频和视觉模态之间特定的共享对象。特别地,头部的最大池化将声音和语言分离开来,而空间维度的最大池化有助于定位对象。

3.1 Multi-Headed Aggregation of Similarities

DenseAV 的关键架构区别在于其损失函数直接监督视觉和音频特征提取器的“局部”标记。这与其他工作在对比损失之前将模态特定信息汇集成“全局”表示的做法有显著不同。与之前的工作不同,本文的损失函数将局部标记之间的完整成对相似性聚合成给定音频和视觉信号对的总体相似性度量。图2中展示了这一架构选择使DenseAV的局部特征在模态之间对齐,而其他方法如平均池化、类标记和 SimPool则不能。

图2:几种现代架构在关联音频和视频模态方面的定性比较。只有DenseAV学习到高分辨率和语义对齐的局部特征集,能够仅通过深度特征之间的内积来进行语音和声音提示的语义分割。其他方法并未显示对齐的局部特征图。显示出某些定位能力的方法,如 DAVENet,无法推广到声音和语言,也无法达到 DenseAV 的高分辨率定位能力。稠密特征的可视化使用了PCA。

首先非正式地描述损失函数,并在下一段更精确地定义它。损失函数计算每对视觉和音频特征之间的(未归一化的)内积,形成一个内积的“体积”。这个体积表示音频信号的每个部分与视觉信号的每个部分“耦合”的强度。目标是找到音频和视觉信号的正对之间的多个大耦合。理想情况下,这些耦合应将视觉对象与音频信号中的参考点连接起来。相反,不希望在信号的负对之间找到耦合。为了计算一对信号的单一全局耦合强度,将这个成对相似性的体积聚合成一个数字。聚合这个体积的方法多种多样,从平均池化到最大池化,范围内的“软度”各不相同。平均池化产生密集的梯度,可以提高收敛速度和稳定性。
然而,最大池化允许网络专注于最佳耦合,而不考虑对象的大小或声音的持续时间。本文的聚合函数结合了平均池化和最大池化的优点,通过对视觉维度进行最大池化和对音频维度进行平均池化来实现。直观地说,这相当于在一个音频信号上平均最强的图像耦合。它允许小的视觉对象产生大的影响,同时为信号的许多区域提供强大的训练梯度。最后,从多头自注意力机制中汲取灵感,将这一操作推广到多个“头”,在池化视觉和音频维度之前对这些头进行最大池化。这使DenseAV能够发现跨模态关联对象的多种“方式”。

更一般地,令 S ( a , v ) ∈ R \mathcal{S}(a,v)\in\mathbb{R} S(a,v)R表示尺寸为(Channel × \times ×K-heads × \times ×Frequency × \times ×Time)的音频特征tensor a ∈ R C K F T a\in\mathbb{R}^{CKFT} aRCKFT和尺寸为(Channel × \times ×K-heads × \times ×Height × \times ×Weight)的视觉特征 v ∈ R C K H W v\in\mathbb{R}^{CKHW} vRCKHW的相似度。为了定义这个标量相似度分数,首先创建一个局部相似度体积 s ( a , v ) ∈ R k f t h w s(a,v)\in\mathbb{R}^{kfthw} s(a,v)Rkfthw。为了简化,考虑单个图像和音频片段之间的聚合相似度,但这可以很容易地推广到对视频帧进行最大池化。

定义完全成对的相似度体积:
s ( a , v ) ∈ R k f t h w = ∑ c = 1 C a [ c , k , f , t ] ⋅ v [ c , k , h , w ] (1) s(a,v)\in\mathbb{R}^{kfthw}=\sum_{c=1}^C a[c,k,f,t]\cdot v[c,k,h,w]\tag{1} s(a,v)Rkfthw=c=1Ca[c,k,f,t]v[c,k,h,w](1)
其中 a [ c , k , f , t ] a[c,k,f,t] a[c,k,f,t]表示 a a a [ c , k , f , t ] [c,k,f,t] [c,k,f,t]的位置上, ⋅ \cdot 是标量乘法。将这个相似度体积聚合成一个单独的得分 S ( a , v ) ∈ R \mathcal{S}(a,v)\in\mathbb{R} S(a,v)R
S ( a , v ) = 1 F T ∑ f = 1 F ∑ t = 1 T max ⁡ k , h , w ( s ( a , v ) [ k , f , t , h , w ] ) (2) \mathcal{S}(a,v)=\frac{1}{FT}\sum_{f=1}^F\sum_{t=1}^T\max_{k,h,w}(s(a,v)[k,f,t,h,w])\tag{2} S(a,v)=FT1f=1Ft=1Tk,h,wmax(s(a,v)[k,f,t,h,w])(2)

3.2 Loss

通过Eq.2中定义的听觉和视觉信号计算相似度来构建对比损失,使用温度加权的InfoNCE来鼓励正对信号之间的相似性与负对信号的差异性。在DenseAV中,通过一个批量(Batch)的训练数据来构建 B B B个视觉-听觉正对,构建 B 2 − B B^2-B B2B个负对。具体地,令 ( a b , v b ) 1 B (a_b,v_b)_1^B (ab,vb)1B B B B对视觉-听觉信后,InfoNCE损失的视觉检索项为:
L A → V = 1 2 B ∑ i = 1 B ( log ⁡ exp ⁡ ( γ S ( a b , v b ) ) ∑ b ′ = 1 B exp ⁡ ( γ S ( a b , v b ′ ) ) ) (3) \mathcal{L}_{A\rightarrow V}=\frac{1}{2B}\sum_{i=1}^B(\log\frac{\exp(\gamma\mathcal{S}(a_b,v_b))}{\sum_{b'=1}^B\exp(\gamma\mathcal{S}(a_b,v_{b'}))})\tag{3} LAV=2B1i=1B(logb=1Bexp(γS(ab,vb))exp(γS(ab,vb)))(3)
其中 γ ∈ R + \gamma\in\mathbb{R}^+ γR+是一个可训练的逆温度参数,通过加入类似的音频检索项 L V → A \mathcal{L}_{V\rightarrow A} LVA迭代分母中的负音频信号来克服这个损失。

3.3 Audio and Visual Featurizers

DenseAV的核心是两个特定模态的主干网络。我们使用DINO视觉变换器与ImageNet预训练权重(不带标签)提供一个强大但完全无监督的视觉主干网络。与使用CLIP作为主干的其他方法不同,DINO不需要配对的文本描述,仅从未标注的图像中学习。实际上,DINO因其更好的局部标记行为而优于CLIP。在DINO上附加了一个跨通道维度的额外层规范化操作和一个1×1卷积。这层规范化和1×1卷积确保了架构在开始时不会出现饱和的损失函数。使用HuBERT音频变换器作为DenseAV的音频主干。HuBERT处理波形,并在LibriSpeech数据集上使用自监督训练。
HubERT在每个频率上输出单一特征,对应于第3节中的 F = 1 F=1 F=1。尽管HuBERT仅在语音上进行了训练,其音频特征可以针对更一般的声音进行微调,就像视觉主干网络可以针对新数据集进行微调一样。在视觉分支中,在音频分支上添加了一个通道层面的LayerNorm块和两个3×3卷积。这些层有助于网络避免饱和并加速收敛。此外,这两个卷积有助于模型聚合信息,从而降低损失函数中使用的成对特征比较的成本。在后面的部分中,将这些在预训练主干之后添加的层称为“对齐器”(aligners)。

3.4 Regularizers

3.4.1 Disentanglement Regularizer

解纠缠正则化器, L D i s \mathcal{L}_{Dis} LDis:添加了一个小的正则化项来鼓励Eq.1的每个头部专门化并学习独立的视听关联类型。有趣的是,两头模型会自然地用一个头区分单次的含义,用另一个头捕获物体产生的声音。为了进一步鼓励这种无监督的概念发现,多个注意力头同时活跃时,就对网络进行惩罚。
( a b , v b ) 1 B (a_b,v_b)_1^B (ab,vb)1B为一个批量(Batch)的 B B B对音频和视频信号。两头的解纠缠正则化器为:
L D i s = Mean ( ∣ s ( a b , v b ) [ 1 ] ∘ s ( a b , v b ) [ 2 ] ∣ ) (4) \mathcal{L}_{Dis}=\text{Mean}(|s(a_b,v_b)[1]\circ s(a_b,v_b)[2]|)\tag{4} LDis=Mean(s(ab,vb)[1]s(ab,vb)[2])(4)
其中 ∘ \circ 是逐元素乘法, ∣ ⋅ ∣ |\cdot| 是逐元素取绝对值。 [ k ] [k] [k]是Pytorch的切片标记,用于仅选择激活的第 k k k个注意力头。直观地说,这个损失鼓励如果另一个头是激活状态,就静止这个头,用的是L2正则化器的交叉项推广,用于鼓励激活收缩。当 K > 2 K>2 K>2时,平均每个头部组合的贡献。
本文对此进行了消融,对表3中的最大池化头进行讨论。

3.4.2 Stability Regularizers

稳定正则化器, L S t a b i l i t y \mathcal{L}_{Stability} LStability:最后,添加了一些其他的小正则化项来鼓励稳定收敛。
简要来说,这些术语包括标准正则化器,如时间上的全变差(TV)平滑性和非负压力,以鼓励网络关注相似性而非相异性。此外,我们添加了一个正则化器,以防止校准温度γ变化过快,并且添加了一个正则化器,以在静音和噪音期间抑制激活。在补充材料中,我们展示了每个正则化器单独使用时对最终指标影响不大,但它们共同作用时可以防止训练期间的崩溃。

将这些损失组合成一个单一的损失函数:
L = L A → V + L V → A + λ D i s L D i s + L S t a b i l i t y (5) \mathcal{L}=\mathcal{L}_{A\rightarrow V}+\mathcal{L}_{V\rightarrow A}+\lambda_{Dis}\mathcal{L}_{Dis}+\mathcal{L}_{Stability}\tag{5} L=LAV+LVA+λDisLDis+LStability(5)
本文的实验中, λ D i s = 0.05 \lambda_{Dis}=0.05 λDis=0.05

3.5 Training

本文的实验在AudioSet数据集上训练DenseAV和相关的Baseline,用于声音prompt分割和AudioSert检索。在PlacesAudio数据集上进行训练,用于语音prompt分割,PlacesAudio检索和表4的消融研究。
在表3的解耦实验和图1、图2的特征可视化实验中,在AudioSet和PlacesAudio上进行了训练,以便DenseAV能够熟悉这两种语言(PlacesAudio中的场景音信号,AudioSet中更通用的音频信号)。这些实验中,从两个语料库中采样训练数据,因此每个批次在AudioSet和PlacesAudio之间有一个均匀的分割。

3.5.1 Warming up Aligners

保持预训练的DINO和HuBERT骨架不变的情况下,首先训练添加的对齐器(卷积层和层归一化),进行3000步训练,可以显著地提高训练稳定性。这使得对齐器在修改每个backbone的敏感权重前能够适应这些优异的backbone。
实验中使用随机调整作物尺寸、颜色抖动、随机翻转和随机灰度缩放作为图像增强。随机采样单个视频帧来反馈到我们的视觉分支。音频剪辑转换为单声道格式,并修剪或用静音填充,以创建统一的10秒剪辑。

根据所使用的骨干模型的要求对音频片段进行重新采样。对于HuBERT,重新采样到16kHz,在8个V100上进行大小为80的batch的训练,在计算损失之前在所有GPU上聚合负样本,以确保高效的并行化。

3.5.2 Full Training

预训练对齐器后,使用相同的损失、批大小和训练逻辑对全模型进行额外的80万步的训练。训练所有的对齐器权重,并微调HuBERT音频backbone的所有权重,使用LoRA微调DINO视觉backbone中注意力块的QKV。这使得能够有效地适应DINO,并稳定训练,因为精心训练的DINO权重很容易被摧毁。使用LoRA秩为8。

你可能感兴趣的:(机器学习,学习笔记,论文笔记,论文阅读)