当前位置: 首页 > 科技观察

BERT也能用在CNN上?字节跳动研究成果入选ICLR2023Spotlight

时间:2023-03-17 14:41:20 科技观察

HowtorunBERTonconvolutionalneuralnetwork?可以直接使用字节跳动技术团队提出的SparK——DesigningBERTforConvolutionalNetworks:SparseandHierarchicalMaskedModeling,最近被顶级人工智能会议收录为Spotlight焦点论文:论文链接:https://arxiv.org/pdf/2301.03580开源代码:https://github.com/keyu-tian/SparK这也是卷积神经网络中的BERT(在CNN上首次成功)。下面先体验一下SparK在预训练中的表现。输入一张不完整的图像:还原一只小狗:另一张不完整的图像:原来是百吉饼三明治:其他场景也可以实现图像还原:BERT和Transformer的自然配合》任何伟大的动作和思想都有BERT预训练算法的背后是一个简洁而深刻的设计。BERT使用“完形填空”:随机删除句子中的几个单词,让模型学习恢复。BERT非常依赖核心NLP领域的模型——Transformer。Transformer可以轻松应对BERT完形填空的“随机删除”,因为它天生适合处理变长序列数据(比如一个英文句子)。视觉中的CNNs也想享受BERT:两大挑战在哪里?回顾计算机视觉发展史,卷积神经网络模型凝聚了平移可变性、多尺度结构等众多经典模型的精髓,堪称计算机视觉的中流砥柱他的简历世界。但与Transformer不同的是,CNN天生无法适应被完形填空式“挖空”并充满“随机洞”的数据,因此乍一看无法享受BERT预训练的红利。上图a.展示了MAE(MaskedAutoencodersareScalableVisualLearners)的工作。由于使用了Transformer模型而不是CNN模型,因此可以灵活处理有空洞的输入,与BERT可谓是“天作之合”。右图b.展示了一个BERT和CNN模型的粗略融合——即将所有的空心区域“涂黑”,将这张“黑色马赛克”图像输入CNN,结果可想而知,会带来严重的像素强度分布偏移问题并导致性能不佳(稍后验证)。这是阻碍BERT在CNN上成功应用的第一个挑战。此外,作者团队还指出,源于NLP领域的BERT算法并不天然具备“多尺度”的特性,而多尺度的金字塔结构可谓是NLP领域的“黄金标准”计算机视觉的悠久历史。单尺度BERT与自然多尺度CNN之间的冲突是第二个挑战。SolutionSparK:Sparseandhierarchicalmaskmodeling作者团队提出SparK(SparseandhierarchicalmasKedmodeling)来解决前两个挑战。首先,受到3D点云数据处理的启发,作者团队提出将mask操作(空心操作)后的碎片化图像视为稀疏点云,使用子流形稀疏卷积(SubmanifoldSparseConvolution)来进行编码。这允许卷积网络轻松处理随机删除的图像。其次,受到UNet优雅设计的启发,作者团队自然而然地设计了一个水平连接的encoder-decoder模型,让多尺度特征在模型的多个层之间流动,让BERT全面拥抱计算机视觉的多尺度黄金标准。至此,为卷积网络(CNN)量身定做的稀疏、多尺度掩模建模算法SparK诞生了。SparK是通用的:它可以直接应用于任何卷积网络,无需对其结构进行任何修改或引入任何额外的组件——无论是我们熟悉的经典ResNet,还是最近的高级模型ConvNeXt,都可以直接受益火花。从ResNet到ConvNeXt:三大视觉任务的性能提升作者团队选取了两个具有代表性的卷积模型族ResNet和ConvNeXt,对图像分类、目标检测和实例分割任务进行了性能测试。在经典的ResNet-50模型上,SparK作为唯一的生成式预训练,已经达到了State-of-the-art的水平:在ConvNeXt模型上,SparK仍然领先。预训练前,ConvNeXt和Swin-Transformer平分秋色;经过预训练,ConvNeXt在三个任务上压倒性地超越了Swin-Transformer:从小到大,在完整的模型族上验证SparK,可以观察到无论模型大小,无论新旧,它可以受益于SparK,随着模型尺寸/训练成本的增加,增加幅度更高,体现了SparK算法的扩展能力:最后,作者团队还设计了一个验证性的消融实验,从中可以看出稀疏掩码和层次结构(第3和4行)是非常关键的设计,如果缺少它们,将导致严重的性能下降: