一、论文背景与贡献
1.1 三大概念
首先,这篇论文涉及到三个基本概念。自监督学习适用于语音任务,是因为可以使用大量未标记数据进行训练。表示学习,又叫做特征学习,适用于语音任务,是因为可以从原始数据中提取有用特征,以便更好的完成下游任务。自监督学习是一种重要的表示学习方法。
自监督学习模型可以分成,基于预测性的,对比性的,生成性。其中常见的方法如上图所示,HuBERT是基于Wav2vec2.0进化而来的,另外可以重点关注一下这里的CPC是基于预测性和对比性的编码器方法。
接下来,看一看自监督语音表示学习的基本框架。第一是预训练模型,也叫做上游模型。这里的Unlabeled Data实际上是原始语音信号,而非特征向量,就是,我们需要去将这些原始信号转换成更适合表示学习的形式,才能够放到自监督学习模型中去。这时候要通过左图的一系列操作得到更合适的特征向量,这里以MFCC特征为例子。
我们期望如此训练之后得到的model,表征能力特别好。迁移至下游任务时,下游任务不需要太多数据就能达到较好的准确率。
上图为2018年,谷歌团队发表“Representation Learning with
Contrastive Predictive Coding”,提出了基于对抗性和预测性的CPC方法,看数据可以得到CPC性能表示比起单纯得用MFCC好了很多,同时也开启了语音领域的自监督学习。
1.2 问题与挑战
自监督语音模型经典的问题就是,由于本身就是一种大规模的语音自监督模型,层数很多网络很深,参数微调过程中效率极其低,以至于针对特定的下游任务时完全微调参数会导致大量的参数空间和计算资源浪费。
在语音处理领域,2021年10月提出的SUPERB是用来评估上游模型的泛化能力的测试基准,
利用frozen 、shared 预训练模型,并且通过下游的微调,避免传统微调预训练模型所需的大量资源。这里的frozen主要就是将预训练模型的所有参数都固定住,不再进行更新。
早在2019年在NLP领域就有用自监督学习用Adapter进行高效微调的。另外剩下几篇论文各自都说明了Adapter和提示技术在自监督学习各方面应用都不错,但是在语音任务领域停留在“冻结表示” 😂
基于Adapter技术和Prompt技术在自监督学习中应用效果很好,但是在自监督语音这块研究停留在“冻结”还算是比较空白的,所以本论文研究的是在自监督语音模型中各种方式的效果。
1.3 主要贡献
也可以用这张图来说明工作,可以看出使用高效调优方法可以在减少可训练参数数量的同时,保持或提高SID任务的准确率。这说明高效调优方法可以在保证性能的同时,减少计算资源和时间成本。
二、方法框架
2.1 泛化性
介绍一下准备实验的测试评估类型,为了检验SSL语音模型中高效调优方法的泛化性。
2.2 调优方法
我们这篇论文其实有部分就是借鉴Neil Houlsby在NLP中使用Adapter模块进行参数的高效调整,作者在大量的文本分类任务上实验,并证明适配器模块可以获得接近最先进性能的结果。
首先,这张图展示了Adapter模块架构以及在Transformer中的应用。就我们可以看出来,Transformer包含一个注意力层和一个前馈层,先不看Adapter模块,发现有个反馈的过程就是跳跃连接(Skip-connection),就是解决反向传播过程中梯度逐渐减少可能消失的情况。接着就进入** Layer Norm 归一化**。但在不改变原始网络结构的前提下每个子层后有Adapter模块,我们希望,这些Adapter模块可以学习如何调整子层的输出以更好地适应下游任务。
至于是怎么实现的可以看右边的Adapter Layer。为了限制模型参数的数量,提出了一种瓶颈结构。首先将原始的d维特征投影到一个较小的维度m上,然后应用一个非线性变换,最后再将特征投影回d维。通过设置m < d,我们可以限制每个任务所添加的参数数量;在实践中,我们通常使用原始模型参数数量的0.5%到8%。
这篇文章参考了很多关于有效调优的方法,比如刚刚提到的Houlsby adapter ,LoRA,AdapterBias,BitFit,Pretuning,Weighted sum。
这是一个标准的Transformer架构,包括多个自注意力头和前馈神经网络。
右侧的每个方框都表示一个适配器模块,它由一个下投影层、一个非线性激活函数和一个上投影层组成。这些适配器模块可以在不重新训练整个模型的情况下对特定任务进行微调。在训练过程中,适配器模块的参数被更新,而其他部分的参数保持不变。这种方法可以减少微调所需的计算成本和时间,并且可以更好地利用有限的数据。 旨在说明高效调参方法如何通过添加少量可训练参数来改进Transformer架构,并提高模型性能。
2.3 可比性
这个论文又设计一个与与SUPERB基准相似的下游模型,以便我们的方法具有可重复性和可比性。为什么要专门再去设计一个下游模型,不直接用SUPERB?因为无法涵盖所有可能出现的语音识别任务类型,无法完全覆盖所有语音信号类型和场景,也可能无法满足某些特定研究问题或应用场景下的需求
虽然本文没有给出具体他设计的下游模型,但是根据这两部分内容,结合3.1节刚刚提到的多个语音任务和多目标训练的上游任务,以及这边说到的与SUPERB基准相似的概念,可以认为本篇论文的下游模型是一个包含多个不同类型任务的框架,并且与SUPERB基准在一定程度上是相似的。
三、实验部分
3.1 在SUPERB上的表现
第一个实验是在SUPERB基准测试集上的表现,可以看出
- 在SID中,Houlsby的准确率比Baseline提高了23%(?)
- 对于LoRA,SD中甚至比Baseline还差。
- 但是总体看来,在语音任务领域,高效调优方法比完全微调和基线更好。
3.2 不同训练目标的上游模型
比较不同目标的上游模型,检验了这些有效方法的泛化能力,发现
在SD中,Houlsby在使用HuBERT、DeCoAR2和Wav2vec2时表现最好;
在KS中,BitFit表现最好。