ICLR 2023 | SparK:为卷积网络设计BERT:稀疏和分层掩蔽建模

DESIGNING BERT FOR CONVOLUTIONAL NETWORKS: SPARSE AND HIERARCHICAL MASKED MODELING


目录

总结

一、Introduction

二、Method

三、Results 

四、Ablation

参考(具体细节见原文)


总结

北大、牛津、字节(ICLR 2023

整体评价:模型架构创新并不是很多,也没有什么自己原创的算法,只是将3D稀疏卷积用过来了。整体模型架构就是UNet和稀疏卷积,类似MAE的重构预训练任务。但是这篇文章最让我感兴趣的地方是在于说清楚了Mask策略在CNN和Transformer上的区别,以及为什么CNN不适合使用直接取0的Mask的原因。

创新点:使用3D中的稀疏卷积来解决Mask在CNNs不work的问题。


一、Introduction

        将BERT用在CNN上失败了,大家要么转向无卷积模型(纯ViT),要么不使用Mask策略。

“Extending the success of BERT pre-training from transformers to convolutional networks Failed”(“non-convolutional model”)(“non-masked modeling”)

        究其原因,作者认为有两点:

                1. 是规整的 CNN 天生无法处理随机的、不规则的 BERT 随机掩码的输入。

                2. 是视觉领域中长期以来的 “多尺度” 设计,与天然单尺度的 BERT 存在不一致。

  1. “convolution operation cannot handle irregular, randomly masked input images”

  2. “the single-scale nature of BERT pre-training is inconsistent with convnet’s hierarchical structure”

二、Method

        Mask 模型最关键的介绍在于怎么在像素级别上进行Mask。之前基于Transformer的masked modeling可以通过直接移除masked patches或者用mask token替换来轻松消除信息。但是这种方法在卷积上做不了。一个很直接的想法就是把所有Mask的像素全部变成0,然后送到CNNs。这样会有三个问题。

  1. the computation on masked regions is redundant”(计算冗余

  2. “it would disturb the data distribution of pixel values, as illustrated in figure 1(数据分布迁移,见图1

  3. “the patterns on mask maps will vanish after applying several convolutions to this zero-out masked image.”(Mask部分会逐渐消失,见图3

        作者受到3D体素中稀疏卷积的启发,将卷积换成了稀疏卷积。

“To overcome the problems, we propose to sparsely gather all unmasked patches into a sparse image, and then use sparse convolutions to encode it.”

 “it is necessary to fill in all the empty positions on sparse feature maps. This is called “densifying”.”

三、Results 

四、Ablation

  1. zero-outing、absolute positional embeddings(useless

  2. calculating loss values only on masked patches(useful

        从图4中我们可以看出,该模型能够对被遮挡的区域做出不同但合理的预测(例如,在第2列),说明模型没有过拟合。在第4列和第6列中,模型几乎可以从边缘的很小部分重建红色水果的圆形。第3列中清晰的纹理也表明该模型可以捕捉到中等或高频率的视觉信号。


参考(具体细节见原文)

原文链接:https://arxiv.org/abs/2301.03580

代码:https://github.com/keyu-tian/SparK

demo视频:http://www.youtube.com/watch?v=-IWyQ2hAoBw

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前世忘语

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

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

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

打赏作者

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

抵扣说明:

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

余额充值