论文解读 BEIT: BERT Pre-Training of Image Transformers

文章探讨了BEIT在视觉任务中的预训练方法,通过训练特征库和离散视觉令牌,解决了Transformer对大量标注数据的需求。BEIT通过遮挡图像并训练模型预测原始图像的视觉标记,实现在下游任务中的优秀性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文下载

链接:https://pan.baidu.com/s/1_z0HbIB_aKs2YgGrsps0Aw?pwd=1234 
提取码:1234 
--来自百度网盘超级会员V5的分享

链接:https://pan.baidu.com/s/1ZrDzNsOI6B35oprexff0GA?pwd=1234 
提取码:1234 
--来自百度网盘超级会员V5的分享

要解决的问题

文本就是一个序列,里面有每个词,每个词都有一个对应的id(me:可以理解成ASCII码,但一个码数值不好解释整个词的意思,所以往往会使用词向量)

而对于图片展开成一个序列,每个特征点的id是不知道,特征点过多,我们希望模型给这些特征点打上标签,而不是人为去打上的

me:其实区别就是文字的类别是有限的;而图片的类别是无限的,无法人为打上标签

摘要

核心思想:主要两个视角view(两件事)

1:visual tokens

认为图片的特征点(或者说一个小区域)总共有n种(比如8000种,me:这个类别应该是模型要训练出来的);

之后这个小区域跟哪个类别最接近,就是属于该类别,即具备了标签

而这8000种图片类别称为特征库,或code book

当然每个类别应该有一个向量组成,这次更好地表达这个类别的意思(类似词向量)

2:image patches (patch是图像的一个区域)

有了标签的小区域,对于整个图片,我们遮挡一部分,之后通过其他小区域的标签来预测出这个标签,并且将被遮挡的区域的类别作为标签

介绍

transformer的问题

1.empirical studies show that vision Transformers require more training data than convolutional neural networks

2.data-hungry issue 需要大量有标签的数据

视觉任务中的难题

vision Transformer的输入单元(即图像补丁)没有预先存在的词汇表。所以我们不能简单地使用softmax分类器来预测所有可能的候选掩码补丁。相比之下,语言词汇表(如words和BPE [SHB16])定义良好,易于自动编码预测。

这篇文章的目标

The pre-training task aims at predicting the visual tokens of the original image based on the encoding vectors of the corrupted image.

训练预训练模型,能够预基于损坏图像的编码向量来预测原始图像的视觉标记。

流程

1.自己训练特征库

没有提取给好的特征库(文本有,由于中文的字、英文的词有多少个是提取定好的)

事实上现在已经有做好的特征库,可以直接用,这篇文章暂时没使用到网上的特征库,而是自己训练特征库

there is no pre-exist vocabulary for vision Transformer’s input unit

2.每个网格用离散的数码表示

Moreover, we “tokenize” the image to discrete visual tokens, which is obtained by the latent codes of discrete VAE [RPG+21]

把图片分成网格,每个网格用离散的数码表示

3.随机遮挡部分图片

we randomly mask some proportion of image patches, and feed the corrupted input to Transformer. The model learns to recover the visual tokens of the original image, instead of the raw pixels of masked patches.
随机遮挡部分图片,作为transformer的输入,让这个模型去学习不断如何修复成原始图片


4.展示效果

We perform self-supervised learning and then fine-tune the pretrained BEIT on two downstream tasks, i.e., image classification, and semantic segmentation.
在两者下游任务:分类和分割,都取得不错的效果

Experimental results indicate that BEIT outperforms both from-scratch training and previous strong self-supervised models.
甚至比之前的强监督模型好

(因为自监督可以不断地利用数据)

方法(基本上都是名词解释)

2.6下游任务的微调

我们使用平均池来聚合表示,并将全局提供给softmax分类器。

其中hiL为第i个图像patch的最终编码向量,Wc属于RDxC为参数矩阵,C为标签个数。

me:C是总共几分类;Wc是预测几分类的参数矩阵

对该文章流程的粗略解释

这里这样训练码本

decoder还原时用码本

直到训练码本使得图片还原效果很好才结束

关键:码本的训练很重要!

因为码本决定了一个区域的token值,即上图中间的“123”、“234”。。。的值

之后这些tokens要作为标签去进行图片的区域分类

用一个token的值代表一个区域

有了码本之后(跟nlp差不多了)

BEIT Encoder的目标是能恢复被掩盖的区域是哪个Visual Tokens,即得出的是Visual Token,而不是一张图片

训练好BEIT Encoder后,做下游任务时,码本就可以不需要了

为什么叫自监督

因为输入只有一个图片,没有标签,而训练码本的时候也拿自己作为标签

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十有久诚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值