文 | ZenMoore编 | 小轶
让我们举一个最成功的自我监督模型的例子,特别是对你 NLPer,我必须毫不犹豫地牺牲我 BERT. 想当年 BERT 叫个名字 MLM (Masked Language Model) 响指,直接变成 NLP 灭霸。
视觉界、语音界闻声而来,纷纷开启 BERT 视觉化、语音化改造。
视觉界,以 patch 或者像素类比 NLP 的 token;虽然语音界找不到,但是 token 替代,但可以专门做 quantification 硬造 token.
但是,思考这样一个问题:为什么这些图像或者语音模态的自监督,非要一股 NLP 味儿呢?
要知道,虽然确实有生物学研究表明,人类在进行视觉学习时会使用类似语言学习的机制,但是,。
所以有什么办法可以吗?,不再是仿照 MLM 做 MIM (Masked Image Modelling)、MAM (Masked Audio Modelling)?
昨天,Meta AI (原 Facebook)发布最新的自监督学习框架 Data2Vec,立即在整个 AI 疯狂刷屏。这份工作可能预示着多模态的新时代即将到来。
本文将为您简要解释这一点 AI 今天的头条圈,到底做了什么。
:Data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language
:Alexei Baevski, Wei-Ning Hsu, Qiantong Xu, Arun Babu, Jiatao Gu, Michael Auli
Meta AI, SambaNova
:https://ai.facebook.com/research/data2vec-a-general-framework-for-self-supervised-learning-in-speech-vision-and-language
模型算法
编码、掩码
首先,对于文本、图像、语音三种不同的模式,采用不同的编码方法和掩码方法。
具体的模态编码方法 :
文本模态 : token embedding
图像模式:参考 ViT[1, 2],以 image patch 为单位,经过线性变换(linear transformation)
语音模式:多层一维卷积 waveform 编码[3]。
模态特定的掩码方式:
文本模式:是的 token 掩码
图像模态:block-wise masking strategy [2]
语音模式:对于语音模式,相邻的音频片段非常相关,因此需要 span of latent speech representation 进行掩码 [3]
训练后获得的掩码符合训练后获得的掩码 MASK embedding token,而不是简单的 MASK token,看下面的原因。
Student : 模型训练
之后,在 student-mode 中,根据 masked input 掩码位置预测。需要注意的是,这里的模型没有预测掩码位置(例如 text token, pixel/patch, speech span),而是。因为这个意思已经过去了 Attention/FFN 一系列模块的处理自然是,不仅如此,它还是,编码丰富。
如果将输入空间与物理世界进行比较,则表示空间与精神空间进行比较。因此,作者相当于直接想象精神空间中被覆盖的部分(mask),有一种梦里看花的感觉。上次看到这个梦一般算法,还是 Hinton 老爷子的 Sleep-Wake[4].
具体来说,训练目标如下 smooth L1 loss:
其中, 为使用 teacher model 构建的 training target; 为 student model 在时刻 的输出; 是用于调整的超参 L1 损失的平滑度。
Teacher : 数据构建
最后,还有一个问题。既然它已经成为表示的掩码,而不是原始输入的掩码,训练数据如何来?
这就是 teacher-mode 的妙用。与 student-mode 不同的是,teacher-mode 输入不再是 masked input,而是 original input, 这样,对于掩码位置 teacher 可见,自然可以得到掩码位置对应的表示,这个表示就是 student-mode 的 .
当然,为了保证师生两型的一致性,两者的一致性。此外,为了在训练初期让步 Teacher 参数更新更快,作者使用平均指数滑动(EMA):.
其中, 是 Teacher 的参数, 是 Student 的参数, 与学习率相似,它也是一个带有学习率的人 scheduler 的参数。
具体地,training target 这样的构建(按步骤):
找到 student-mode 输入中被 mask 掉的 time-step
计算 teacher network 最后 K 层 transformer block 的输出:
归一化 :
平均 : , 即 training target.
第三步归一化:语音模式采用 instance normalization 采用文本和图像模式 parameter-less layer normalization
Representation Collapse
在实验中,作者也遇到了 Representation Collapse 问题:模型对所有掩码片段的输出非常相似 representation.
有很多解决方案。~ 本文有以下情况:
或者学习率太高 warmup 过短:通过调参解决
平均指数滑动太慢:或调参
对于相邻 target 相关性强的模态或掩码片段长的模态 (如语音模态):设置 variance 罚款[5],或归一化[6],归一化效果更好。
而对于 targets 例如,相关性不强的模式 NLP/CV 等,momentum tracking 就足够。
对比同类工作
:
和 BERT 不同的是,本文预测的不是离散 token, 而是 continuous/contextualized representation.
好处1: target 不是 predefined (如有预定义的词表等), target set 也是无限的 (因为是连续的),模型可以更好地适应特定的输入
好处2:考虑更多上下文信息
:
与 BYOL[6]/DINO[7] 等等:本文增加了掩码预测任务,并回归多层(即参数)K)
与 BEiT[2]/MAE[8] 等带掩码预测任务的算法:本文对 latent representation 进行预测
:
与 Wav2vec2.0[3]/HuBERT[9] 等 : 其他工作一般需要另外预测 speech 中的离散单元(或联合学习或交互学习),而本文不需要 这种 quantification.
:
本文工作重点不在于多模态任务或者多模态训练,而在于如何把不同模态的自监督学习目标统一起来。
实验结果
计算机视觉
实验任务:Image Classification
实验结论:可以看到本文工作有较明显的改进
语音
实验任务:Automatic Speech Recognition
实验结论:改进很明显
Natural Language Processing
wav2vec 2.0 masking : masking span of four tokens[3]
实验任务:GLUE
实验结果:作者仅仅对比了 19 年的两个 baseline, 说明在文本模态上的改进效果仍然受限,但是这个分数也非常好了
Ablation 1 : layer-averaged targets
这也是和 BYOL[6]/DINO[7] 等模型的一大区分:对多层进行回归
从图表可见,比起只使用 top layer, 平均多层输出来构建 target 是很有效的!
Ablation 2 : 使用 Transformer 的哪一层?
基于语音模态进行实验,发现使用 FFN 层输出最有效,使用自注意力模块的输出基本没用。原因:自注意力模块在残差连接之前,得到的 feature 具有很大的偏差(bias)。
写在最后
也许,!
不过,作者也指出 Data2Vec 的一大局限:。能否使用类似于 Perceiver[10] 的方式直接在 raw data 上进行操作?或者是否真的有必要统一各个模态的 encoder 呢?
犹记得卖萌屋作者群里有过这么一个分享,是 Yoshua Bengio 等在 EMNLP'20 的文章[11],里面界定了 NLP 发展的五个阶段:
毋庸置疑,多模态的火热标志着我们正在进入第三个阶段:多模态时代。
Data2Vec 巧妙地使用“梦里看花”的方式,让我们看到了自监督的强大威力,也让我们意识到模态统一大业就在眼前!也许,现在的 Data2Vec,只是一颗不能发挥全部威力的宝石,就像 Word2Vec 一样,但相信在不久的将来,从 Data2Vec 出发,能够看到一统多模态的灭霸,就像 BERT 那样!山雨欲来,风满楼!
想和你一起学习进步!『目前已经建立了多个不同方向交流群(等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要才能通过)
[1] An image is worth 16x16 words: Transformers for image recognition at scale.https://arxiv.org/abs/2010.11929
[2] Beit: BERT pre-training of image transformers.https://arxiv.org/abs/2106.08254
[3] Baevski, A., Zhou, Y., Mohamed, A., and Auli, M. wav2vec 2.0: A framework for self-supervised learning of speech representations. In Proc. of NeurIPS, 2020b
[4] The wake-sleep algorithm for unsupervised neural networkshttps://www.cs.toronto.edu/~hinton/csc2535/readings/ws.pdf
[5] Vicreg: Varianceinvariance-covariance regularization for self-supervised learning. https://arxiv.org/abs/2105.04906
[6] Bootstrap your own latent: A new approach to self-supervised learninghttps://arxiv.org/abs/2006.07733
[7] Emerging Properties in Self-Supervised Vision Transformershttps://arxiv.org/abs/2104.14294
[8] Masked Autoencoders Are Scalable Vision Learnershttps://arxiv.org/abs/2111.06377
[9] HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Unitshttps://arxiv.org/abs/2106.07447
[10] Perceiver: General Perception with Iterative Attentionhttps://arxiv.org/abs/2103.03206
[11] Experience Grounds Languagehttps://arxiv.org/abs/2004.10151