encoder–抽取可见图像的特征,对于某个token来说,就是获取图像的高维语义信息。
decoder–通过抽取的图像特征重建图像的过程
为什么要mask掉75%的patch???
文字带有高信息密度,mask15%就够了,但是图像信息冗余,15%不够,要更高,以便学到良好的潜在特征表示。
第一步:划分patch,同时mask掉75%的patch
第二步:把可见的patch输入到encoder中去,使用vit模型
第三步:输入拼接上mask patch,过decoder,将token化的patch还原成图像形式
第四步:解码端之后有一个隐层映射,做损失。没有被mask的部分不计算损失
图像分类:encoder得到的每一个token,得到embeding,做一个pooling。只用到encoder。
为什么mask符号放在解码端 而不是编码端???
答:因为MAE在试图让预训练模式和微调形式保持一致。Bert在缩小这个差距。
如何评价MAE的效果???–可以很好地重现原始图像的大部分内容!!!
测试预训练模型性能
两种度量方式:
Linear probe–固定encoder参数,后面接一个linear层,学习linear层
Fine tune–整个模型包括encoder一起学习
linear probe其实就相当于只让finetune最后一层。
总结:BERT自监督模型应用在NLP中;ViT应用在CV中;MAE结合两种。
论文试图解决什么问题?
在CV领域中可应用的的自监督预训练模型。
CV领域的自监督多是基于对比(Contrative)学习。
NLP领域中的自监督都是基于生成(Generative)的方法(如BERT)。
本文是在CV领域中基于Generative自监督的方法。
MAE粗略了解
最新推荐文章于 2024-06-20 11:59:01 发布