Abstract
? ? 不同模态下的自监督学习的总体思想一致,但是在实际过程中的算法和目标却有很大的不同。 ? ? data2vec是一个语音、nlp、cv不同领域下通用的自监督学习框架。 ? ? 其主要的思想是:在标准的Transformer结构下,对数据进行 mask 后,使用 自蒸馏 方法,预测 隐性表示。 ? ? 该方法预测了整个输入的上下文隐性表示,而不同于在单模态下的预测某个单元(word、visual token、speech unit)的局部信息。
? ? ps:首先目前来说transformer应该算是各个领域最好的特征抽取器,所以选择transformer作为模型主要结构,不同模态下输入输出是不一样的,mask的方法也是不一样的,最后的预测目标也不一样,所以如果想要得到统一的自监督学习框架,目标改成隐状态表示的学习。这样带来的点是最后的预测target不再是一个固定的vocab,而是整个空间表示;但是优点是整个包含输入上下文的表示。
Introduction
? ? 自监督方法在cv、nlp、语音等领域被广泛运用,但是目前的自监督方法聚焦于单一模态,所以需要特殊的设计(输入词表、mask、算法目标等)和学习偏置。 ? ? 特殊的设计:nlp中的word是离散的,词表的范围是有限的,但是cv中信号其实是连续的,且和语音一样词表不是固定的。 ? ? 学习偏置:偏置的含义应该是先验知识;生物学的理论表明,人类关于视觉世界的理解和语言是相似的。但是目前还上不明确是否可以泛化到其他模态。 ? ? data2vec是一个通用的自监督框架,统一了学习目标,适用于不同的模态。但是虽然统一了学习算法,但是仍然分别学习了每种模态的表示。
? ? 框架使用自蒸馏的训练方法:教师模块构建整个输入数据的表示作为学习目标。学生模块则是编码mask状态下整个输入数据的表示。
? ? 不同的模态下有不同的输入,我们需要使用不同的特征编码器和mask策略。
? ? 目标的表示是连续的和语境化的,通过使用自注意机制后使得表示更加丰富。
Related Work
? ? 图像中的自监督学习,是一个动量编码器,只回归最顶层的表示;而data2vec则是回归每一层的表示。目前的工作都是聚焦在mask预测目标的transformer上,会对输入进行切分,直接预测图片的像素。data2vec则是预测整个输入的隐状态表示,所以这个表示是语境化的,包含了整张图片的信息。
? ? 与nlp中的自监督学习不同,data2vec不预测离散的语言符号,而是连续的上下文表示。优点在于表示空间不受限制,目标是语境化的,bert的单一嵌入学习,需要适应特定目标的所有实例。
? ? 与语音中的自监督方法比较,预测语境化的表示不需要对输入进行quantization。
? ? 多模式训练,使用配对的数据进行联合训练。data2vec的不同在于统一了不同模态下自监督学习的目标。
Method
? ? 给定一部分输入的视图预测整个输入数据的模型表示。学生模块编码mask后数据的表示,教师模块编码未mask的输入表示,两者模块的结构相同,参数采用指数滑动平均进行更新。学习目标就是采用这种自蒸馏的方法使得模型可以预测部分视图下的完整输入表示。
? ? 不同模态下的模型结构和mask方法采用各自领域的常用设置,具体可以看实验设置部分。
? ? 教师模型和学生模型采用相同的结构以及共享参数,教师模型的参数化采用指数滑动平均方法,在训练初期更新会更快,训练稳定后更新变慢。
? ? 选取顶部的K层表示进行回归作为训练目标。 ? ? 归一化目标可以模型在所有的时间步内陷入一个恒定的表示,也可以防止高范式层支配目标特征。另语音中使用实例归一化,nlp和cv使用层归一化。
|