基本介绍
transformer 最早使用于NLP模型中,使用了 Self-Attention 机制。相较于RNN结构可以进行并行化训练,能够拥有全局信息。
- 基本原理
- 基本思想阐述
- 公式推导
- 运行流程图讲解
- 应用方向
- 机器翻译(出处)
- 自然语言处理
- 机器视觉的技术演进
- 未来展望
- 有可能取代所有组件
- 每个领域都可尝试,遍地开花
- 预训练一个通用基础模型
基本原理
scale dot-product attention
self-attention 过程图
query q 对 key k做attention:
softmax归一化:
权重乘value v 输出转化值:
合并之前的三个图中操作:
Transformer架构
Feed-Forward组件:
架构图:
应用方向
自然语言处理使用场景: 机器翻译
Transformer:[2017] attention is all you need
Bert[2018]: Elmo, GPT
参数文件大小:
BERT(BASE) (L=12, H=768, A=12, Total Parameters=110M)
BERT(LARGE) (L=24, H=1024,A=16, Total Parameters=340M)
机器视觉中技术的演进
IGPT:
借鉴bert思想,OpenAI尝试对测试数据随机mask 5 个token,最终ImageNet结果果然上升了一些(红色)。由于马赛克操作过于严重(整张图片都mask了),尽管事实证明还是有效果的,但从输入上看,降低了模型的拟合能力。
VIT:
尝试过三种预训练方法,首先mask掉50%的patch,然后:
- 只预测patch的mean color
- 只预测一个马赛克版的patch
- 用L2损失预测所有pixel。
第三种方式已经非常接近了,但是由于研究的重点不在于此便浅尝辄止了
DEIT:
在预训练阶段,最多会mask 40%的patch。
另外,作者们其实也试过复原pixel,但效果会有1.8%的下降。对于这个现象,BEiT给出的猜想是,就像多层CNN一样,编码器最终得到的应该是一个更全局、高维的表示,而复现pixel会让后几层太关注局部细节。
MAE:
轻量级架构的两大核心:
- encoder输入只包含没有mask的像素。并且使用的是VIT的encoder block。
2.vit-huge 模型mask 的比例很高时(75%)效果依旧表现很好(accuracy 87.8%),同时可以加速预训练过程。预训练时仅仅只使用了imagenet-1k data。
一些值得注意的细节,比如:
1.输入侧直接丢掉mask token,效果+0.7,效率x3.3
- 预测normalize之后的pixel,效果+0.5
3.选取数据增强策略,效果+0.2
思考:导致视觉和语言的masked autoencoder 不一样的三大原因
结构: CNN天然适用于图像,但是应用transformer缺显得很不自然。不过这个问题被vit解了,后续又有IGPT的马赛克、dVAE的离散化,patch形态相对来说信息损失最少且高效。
信息密度:语言的含义比较多,一个单词可能有很多解释。而图片直观易表示。所以预测的时候图片patch比预测单词更容易。预测patch稍微有点周边信息就够了,可以放心大胆的mask。这点ViT、BEiT其实也都有,但主要就是最后一点没有深究。
需要一个Decoder:因为图片信息密度有限,复原pixel这种细粒度信息会让模型强上加强。那怎么优雅地复原呢?BEiT已经说过了,在预训练图像encoder的时候,太关注细节就损失了高维抽象能力。所以凯明大神加了一个decoder。到这里分工就很明确了,encoder负责抽取高维表示,decoder则负责细粒度还原。
规模大的简单算法是深度学习的核心。在NLP中,简单的自我监督学习方法能够从模型的规模中获益。在计算机视觉中,实用的预训练范例主要是监督式的。在这项研究中,自我监督学习已经取得了进展。我们在ImageNet和迁移学习中观察到自动编码器(一种类似于NLP技术的简单的自我监督方法)与NLP中的技术类似,提供了可扩展的好处。视觉中的自我监督学习现在可能会走上一条与NLP类似的轨迹。另一方面,我们注意到,图像和语言是不同性质的信号,这种差异必须仔细处理。图像仅仅是记录的光,没有语义分解为视觉类似物的语义分解。我们不是试图去除物体,而是去除很可能不构成语义段的随机斑块。同样地,我们的MAE重建了像素,而这些像素并不是语义实体。从测试的结果上看,MAE能推断出了复杂的、整体的重建,这表明它已经学会了许多视觉概念(语义)。我们假设,这种行为的发生通过MAE内部丰富的隐藏表征。我们希望这个观点能给未来的工作带来启发。更广泛的影响。建议的方法预测内容基于训练数据集的学习统计,因此将反映这些数据中的偏差,包括具有负面社会影响的偏差。该模型可能产生不存在的内容。这些问题值得在这项工作的基础上进一步研究和考虑,以生成图像。
未来展望:
有可能取代所有组件。
每个领域都可尝试,遍地开花。