[Transformer]BossNAS: Exploring Hybrid CNN-transformers with Block-wisely Self-supervised Neural Arc

Paper

Abstract

最近有诸多研究聚焦于探究不同的基础模块来构建缓和网络用于视觉任务;同时神经架构搜索算法正不断涌现致力于减少人力成本。但是NAS是否能够有效的处理包含不同网络(CNN和Transformer)的混合搜索空间仍然是一个悬而未决的问题。


本文提出的BossNAS(基于分块自监督的NAS)算法,一种无监督的NAS算法,有效的解决了由于较大块的权重共享和偏置监督导致的评估不准确的问题。具体而言本文将搜索空间分块,使用一种自监督的训练方式-称之为集成引导(emsemble bootstrapping)分别训练每一个块,然后将它们组成一个整体再进行搜索。


此外,本文还提出了HyTra搜索空间,是一个混合了Transformer和CNN的混合搜索空间,可以搜索不同的下采样位置。基于HyTra搜索空间本文搜索到的BossNet-T准确率高达82.2%,比EfficientNer提升了2.1%;在ImageNet和CIFAR-100搜索空间上精度分别提升了0.78和0.76,超过了目前最先进的NAS算法。

Section I Introduction

近年来涌现了不同神经网络用于视觉任务,如ResNet,SENet,MobileNet,EfficientNet.而基于自注意力的Transformer的提出挑战了CNN在视觉任务方面的主导地位,ViT,DETR等在图像分类、目标检测、语义分割等领域取得了突破性研究,而也有研究表明,CNN和Transformer混合网络可以超过纯Transformer和纯CNN网络结构。
但是依靠手工找到最优的混合架构依旧是一件具有挑战性的事,尤其是随着设计选择越来越多,NAS则可以在搜索空间中自动搜索最优的网络结构减少人工成本,代表性的工作有NAS搜索MobileNetV3,EFFICIENT,但搜索成本十分高昂。
近期基于权重共享的NAS方法通过将整个搜索空间编码为一个supernet来避免对候选网络的重复训练,这样可以大幅减少搜索成本。


在这里插入图片描述

Fig 1展示了不同NAS搜索策略的区别,可以看到layer-level的搜索空间会随着层数的加深指数增长,为了减小权重共享空间的大小,之前有的研究会将搜索空间分解成块,然后使用预训练好的教师模型提供块级监督,这样使得预测性能比较好的代表实际的准确度;但是本文也发现评分高的网络结构与教师网络的结构高度相关,及Fig 1(b)所示,当使用蓝色节点代表的教师网路参加监督训练,会发现具有蓝色节点的候选网络往往评分更高;这样就限制了搜索到多样性的网络。

另一方面无监督NAS近期也称为研究热点,因为他们无需人工标注的标签信息,会根据随机标签或者前置任务进行优化,并且可以取得与监督NAS相近的性能。因此本文建议在块级NAS中使用无监督学习代替有监督的知识蒸馏来解决因为教师网络引入的偏置问题。


本文提出的BossNAS是一种全新的无监督NAS方法,一方面解决了在较大的权重共享空间导致预测不准确的问题,另一方面避免了因为教师网络引入的偏置问题。

本文采用自监督的emsemble bootstrapping方法来优化超网的每一个模块,具体来说就是会训练每一个采样的子网络来预测目标网络中所有采样的子网络的概率几何;在搜索阶段还提出一种无监督的评价方法,通过搜索种群中心的结构来确保评估的公平性。即已总体中所有网络结构的概率几何作为评价目标来衡量抽样模型的性能。


此外本文还设计了一个可以搜索下采样位置的混合搜索空间(HyTra),在搜索空间的每一层可以灵活的选择不同分辨率的CNN模块或Transformer模块,二者是并行的,这样混合的搜索空间就覆盖了纯CNN或纯Transformer结构。

本文证明了提出的NAS算法具有较好的泛化性,可以超过监督NAS;也可以抑制大的权重共享导致评分不准确的问题 。
最后搜索到的BossNet-T网络框架超过了EfficientNet;本文希望这种多样化的HyTra搜索空间可以作为NAS一个新的探索方向,也希望BossNAS可以作为一个广泛使用的混合网络。

Section II Related Works

NAS
NAS通过在搜索空间中按照一定搜索算法寻找候选网络并进行评估从而实现网络的自动搜索。NAS目前可以分为两个流派,multi-trail NAS和weight-sharing NAS.

Multi-trail NAS:
会将所有采样的子网络从头开始训练,因此计算成本十分高昂,也可以选择在小规模数据集上训练或者在ImagNet上训练较少epoch。
Weight-sharing NAS
:
权重共享NAS为了避免候选字子网的重复训练,会训练一个超网,候选网络会继承超网的网络权重。可以使用基于梯度或者基于采样器的方法来联合优化网络权重。

One-shotNAS则会训练超网,然后冻结网络权重,这样只需要一次训练超网的计算成本。
Block-wise weight-sharing NAS

在权重继承NAS中采取分块的方法是将超网分成相互独立的模块进行优化,这样可以减少权重继承的空间大小,减少预测不准的问题。DNA首次使用分块监督结合知识蒸馏的方法;DONNA则进一步提出对每个模块使用线性映射后的结果作为评价,而不是简单进行加和。SP则将分块的方法用于网络剪枝。但是前述方法都依赖于监督学习,不可避免引入结构偏见,本文致力于不使用教师结构从而避免偏见的引入。

Unsupervised NAS


无监督NAS不借助任何人工监督信息,而是通过无监督的pretext tasks来进行超网的训练。这方面的工作有:RLNAS使用的是随机标签;还有的是使用无监督得到的预训练网络然后进行监督训练微调。本文泽宇他们都不同,使用的是自监督对比学习,这样可以避免在分块过程中引入偏见。



Self-supervised contrastive learning



自监督对比学习在无监督视觉任务的训练中占据重要定位,主要通过从一张图中学习不同的视觉表征,并将其传播到不同图中,考察两者之间的区别来学习视觉表征。BYOL和SimSiam就实现了在没有负样本的情况下特征表述的学习,它们是通过直接使用一对具有相同架构、权重共享的孪生网络来预测另一个视图的表示,或者使用其中一个网络分支作为动量编码器,从而形成一个bootstrapping方案。
Architecture Search Space



搜索空间方面有cell-based和block-level,network-level。



cell-based以模块为搜索单位,然后搭建起整个网络;而network-level搜索的是整个网络的每一层;block-level则以building block为单位搭建层次网络。



本文的HyTras搜索空间是network-level的网状结构,搜索粒度是层级的,并不是会在单元级别重复堆叠。

Section III Block-wisely Self-supervised NAS

BossNAS包含2大核心设计:


(1)基于emsemble bootstrapping的无监督超网训练
;


(2)基于architecture population center的网络评分



在这里插入图片描述

Part 1 NAS的权衡:精度vs效率

经典的NAS算法可以获得评价准确的搜索结果但是要付出高昂的计算成本;one-shotNAS通过将超网编码后进行训练代表子网的精度可以大幅度减少搜索成本;但是子网络时集成了超网的权重然后进行的精度预测,但是这并不代表是正确的排名,因为从超网继承的权重是和超网耦合的可能不是最优或者经过充分训练的。



Block-wisely supervised NAS



已有研究证明,通过减少权重共享空间(权重共享的总数)可以有效提升子网预测精度,通过将NAS的搜索空间在深度方向分块可以有效减少权重共享空间同时又保证了原始搜索空间的大小。



对于包含K个模块的超网,会沿着深度方向将搜索空间分几块,每一块都是单独训练的,最后会将所有模块通过加和或者线性映射的方式来评估最终的loss。



在这里插入图片描述

为了确保每个模块单独训练,对于每一个模块的输入是由一个固定的教师网络产生的。子网的评分与教师网络高度相关,比如如果如果教师网络感受野有限、或者会引入 归纳偏执,那么使用这种带有偏见的监督候选网络的训练、评分都是有偏的。本文实验观察到了两种bias的现象,分别是候选人偏好和教师偏好;为了避免教师网络引入的归纳偏置,本文探究了不使用教师模型的方案。

Part 2 Training with Ensemble Bootstrapping

以成对的学生-教师网路开始,第一步是用超网替换分块NAS中的teacher网络,构造孪生超网(Siamese Supernets)
Bootstraping with Siamese Supernets
孪生超网的分块优化采用的是自监督的方式-emsedbling bootstrapping。具体来说就是取某个训练样本的不同增强后视角(augmented views)来送入孪生网络,孪生网络的目标则是力求使这两个输入的输出一致,最小化二者之间的距离。在前人的孪生网络和自监督对比学习中,两个网络要不然是权重共享的要不然是使用EMA的结果作为teacher指导,而本文则是以无监督的方式来优化:


在这里插入图片描述

为了消除因为数据增强(如随机裁剪)引起的中间特征表述像素级的差异,同时确保不同感受野/不停分辨率的候选网络的泛化性,本文提出将特征表述投影到隐空间后再计算差异距离。





Emsemble bootstrapping
与单个网络的训练不同,超网的训练采取的是路径采样的方式,采样一条或一组路径。子网会从滑动平均中学习;当缺乏共同目标的时候,不同子网络就会收敛困难,导致训练不稳定或者评价指标评估的不准。




为了解决这一问题本文提出emsemble bootstrapping,是一种无监督的超网训练策略。





Step 1:选取一个训练样本x 通过孪生网络获得它的多个增强视角
;





Step 2:为了获得所有路径的共同优化目标,可以使用监督学习中的集成蒸馏的方法,即以在线的方式使得每个采样子网学习预测超网中所有子网的概率集合,如Fig 2所示
每条路径都通过训练样本的一个增项视角来预测超网中该样本其他增强视角经过多条采样路径的概率继承.






Step 3:取当前在线超网权重的滑动平均值作为孪生网络中teacher 网络的权重







重复上述步骤,这样就可以不断更新孪生网络的权重完成训练,并且不用任何标签数据。

Part 3 Searching Towards the Population Center

以种群中心为目标的搜索
超网训练收敛后,就可以对子网进行评估、排序从而选出候选网络,本文提出一种公平有效的无监督评价指标。


之前的工作使用的都是有监督的评价指标,比如linear evaluation,few-shot classification;本文的出发点是避免使用人工标注的标签,完全使用无监督的评价指标。


本文考虑使用进化搜索,借助种群的进化来优化网络结构。因此与权重的优化类似,本文使用种群的概率集合作为优化目标,这样对每个子网络的评价都是公平的。
实现的时候会将超网分解为中等大小的模块:例如每4层4个候选,一共有256种候选网络结构。这种搜索成本是可以接受的,然后将整个中旬的搜索放到模块级别,整个搜索一步即可完成。

Section IV Hybrid CNN-Transformer Search Space

本小节详细介绍混合搜索空间-HyTra,这是一种混合了CNN,Transformer的纺织状的搜索空间,各个模块是分开的,可以灵活的进行降采样。

Part 1 CNN and Transformer Candidate Blocks

第一步是包含哪些候选操作(building block):
本文卷积选用的是ResConv,Transformer选用的是ResATT



第二步是Implicit Position Encoding
为了比较的时候公平,所有的候选模块计算复杂度应该是相近的;但是Transformer的候选block计算复杂度远远高于ResConv,因此引入了一种隐式位置编码的模块来代替BoTBlock中的相对位置编码(与query相乘是分开计算的)。




因此本文从BoTBlock中删除位置-内容分支用来减少计算时间,这样计算复杂度就和ResConv相近了;但是位置编码对于Vision Transformer是至关重要的。
CVPT中作者在transformer encoder block之间使用单次卷积作为位置编码生成器;相似的本文将BoTBlock中的相对位置编码与替换为轻量级的深度可分离卷积,作为隐式相对位置编码。
通过这一替换将位置编码的计算复杂度从CW ^ 3降为CW^2,C为通道数,W表示宽度或高度。具体对比参见Fig 4.本文的相对位置编码则如Fig 3右侧所示,是放在输入映射层和SA模块之间的;这一隐式位置编码模块也负责做降采样;同样这一模块也适用于ResConv,允许不同分辨率的候选快之间共享权重。
在这里插入图片描述

Part 2 Fabric of Hybrid CNN-transformers

除了基础模块不同,CNN和Transformer在宏观网路结构上也不一样。CNN一般使用多个阶段不同尺度来处理图像,但是Transformer自始至终不会改变序列长度(即图像patch),每一层的图像维度是一样的。为了包含这两种网络结构,本文提出了纺织状的混合搜索空间,可以灵活的在不同下采样位置进行搜索。

在每一个节点位置可以选择维度降低或者保持分辨率,直到维度达到最小。这种纺织状的混合搜索空间可以涵盖主流的CNN和Transformer网络结构,如ResNet,BoTNet,ViT,DeiT,T2T-ViT等。

Section V Experiments

本文测试了三种搜索空间,分别是Hytra,MBConv和NAS-Bench.数据集用的是ImageNet,CIFAR10/100。
超网中每个block训练20epoch,然后在每次训练时随机采样4条路径。其他超参数与BYOL保持一致。而重训练的设定则与MBConv搜索空间中搜索EfficientNet保持一致。
在这里插入图片描述

Part 1 Searching for Hybrid CNN-transformer

Table 1展示了在ImageNet上搜索到的结果,基于hybrid CNN-Transformer混合搜索空间,紫色代表的是手工选取的4类接近人工设计的网络,比如纯CNN,纯Transformer和混合结构,可以看到搜索到的这几个网络的性能一致优于它们的原型;而且可以按到BoT50-T计算时间减少了1.17x,而精度提升了1.2%.
performance of searched models
BossNet系列是搜索到的结果。


1.BossNet-T0的性能广泛由于目前SOTA模型,可以看到不使用SE的BossNet-T0精度能达到80.5%,已经超过了人工设计的CNN-Transformer混合模型;BoTNet50在时间上加速了1.19x



2.搜索到的结果显示了在Hytra搜索到的模型超过了人工设计和随机选择的模型。比如BossNet-T0更是提升了6个点



3.BossNet-T0的表现由于其他NAS在Hytra上搜索到的方法,比如超过DNA-T0.5%的精度。



4.当拓展到更大的模型或输入时BossNet-T系列模型依旧保持着优越性能。



比如去除最后一个截断的降采样得到的BossNet-T0达到了81.9%的准确率,比Efficient-B2性能提升了1.8%;如果在更大分辨率的网络测试而不加微调,BossNet-T0↑的性能为81.6%,比BoTNet50+SE的性能高2%.

需要注意的是使用显示位置编码的Transformer或混合模型,如果不加微调是不能直接使用更大的输入 分辨率的。
Architecture visualization and Analysis.
在这里插入图片描述

Fig 5可视化了DNA-T和BossNet-T0网络结构,DNA-T更喜欢卷积,可以看到包含13个ResConv,ResAtt只有3个;相比之下BossNet-T0的卷积和注意力模块数量相近,最终获得了更高的精度。

本文将这种现象称之为:候选偏好,即会受到教师监督的偏好影响,不使用教师模型本文的方法就没有引入这种偏好。

Part 2 Results on MBConv Search Space

为了进一步证明BossNAS的有效性和泛化性,本文将其与MBConv搜索空间上各种NAS方法进行了比较,结果参见Table 2.可以看到使用SE与否NossNet的效果都十分优秀,比SPOS和RLNAS分别高出1.4%和0.6%;结合SE则会比当前流行的EfficientNet高1.1%。
需要注意的是MBConv搜索空间中的候选模块也非常相似,这就避免了候选偏好的发生

Architecture rating Accuracy
BossNAS搜索时预测的精确度直接代表了其有效性,本文对比了开源的一些NAS架构预测精度和真实精度之间的相关性,使用了3种不同的排名相关性指标,分别是:Kendall ,Spearman,Person指标,对比结果参见Table 3。
在这里插入图片描述

1代表完全相同,0表示没有相关性,-1表示完全相反,可以看到BossNAS相关性评分是最高的。

通过对比结果还有以下分析:


1.经典的权重共享方法和基于梯度的搜索方法虽然搜搜成本较低,但是排名相关性并不强,MNASNet是multi-trail的方式,排名相关性高但是搜索成本也是巨大的。


2.基于监督分块的DNA没有达到很好的评估相关性,这就说明了教师偏好现象;而本文的无监督BossNAS获得了比DNA更高的评估精度,这都是避免了教师偏好的原因。
在这里插入图片描述

Part 3 Results on NATS-Bench

基于NATS-Bench的搜索空间本文在CIFAR-10/100数据集上进行了实验不同通道数的候选网络会继承超网的权重,本文根据下采样的位置将超网划分为3块,来进行block-wise emsemble BOOtstrapping。

Table 4展示了在超网搜索后又在NATS-Bench上进行搜索的结果,可以看到BossNAS依旧超过了最新的专门为网络不同规模进行搜索的NAS算法,充分证明了BossNAS的泛化性,在小型数据集上依旧有效。

在这里插入图片描述

Architecture rating accuracy


Fig 6右侧展示的是NAT-Bench上的评分相关性,可以看到本文的方法不使用任何人工标签,但是优于基于预测器的NAS。后者是借助GT进行训练的。而且本文最后的评估仅仅是通过block加和得到的,还没有采用线性组合的方式,如果使用线性组合则会获得更好的评价精度,本文将在未来探索这一部分内容。

Part 4 Ablation Study

Training methods
本文首先对比了分块超网不同的训练方法

(1)监督蒸馏 会使用预训练好的教师模型提供块级监督,即DNA

(2)监督分类 会直接使用真实的标签作为块级监督

(3)无监督bootstrapping 通过使用孪生网络中的关联路径来进行优化

(4)本文的unsupervised bootstrapping
每条采样路径会学习所有结果平均后的概率集合进行优化
Table 5的对比结果显示本文的方法在结构精度方面达到了最优,如果不用概率集成,精度就不会这么好,也说明了emsemble bootstrapping是不可或缺的。

Evaluation methods
评价方法对比的有:

(1)监督蒸馏

(2)监督分类

(3)线性评估

(4)本文的无监督评估指标–架构的中心距离

从Table 5后两行可以看到本文的方法比线性评估高出了一大截。
在这里插入图片描述

Part 5 Convergence Behavior

fIG 7展示了在训练20epoch后的排名相关性,可以看到在早期阶段精度迅速提升然后后面进入平台期逐渐收敛(12 epoch后)说明本文的方法可以快速收敛,不需要长时间的训练。

Section VI Conclusion

本文提出的BossNAS是一种无监督的NAS方法,通过自监督训练方式(emsemble bootstrapping)以及无监督的评估方式进行网络架构的搜索和评估。

实验结果显示本文的方法成功解决了大的权重共享空间导致的评估不准确的问题,同时避免了监督蒸馏带来的体系结构偏差。

消融实验表明,emsemble bootstrapping和无监督评价指标这两大设计对最终结果的额提升至关重要;此外本文还提出了HyTra的搜索空间,基于此搜索空间搜到的混合模型在ImageNet上达到了82.2%的精度,计算效率也比EfficientNett提升了2.1%。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值