没有合适的资源?快使用搜索试试~ 我知道了~
16519视觉识别Aravind Srinivas1林宗义2Niki Parmar2 Jonesville Shlens2 Pieter Abbeel1 Ashish Vaswani21 UCBerkeley2谷歌研究{aravind}@cs.berkeley.edu摘要我们提出了BoTNet,这是一个概念简单但功能强大的骨干架构,它将自我注意力用于多个计算机视觉任务,包括图像分类,对象检测和实例分割。通过在ResNet的最后三个瓶颈块中用全局自关注替换空间卷积,并且没有其他更改,我们的方法在实例分割和对象检测方面显著改进了基线,同时还减少了参数,延迟开销最小。通过BoTNet的设计,我们还指出如何将具有自注意力的ResNet瓶颈块视为Transformer块。在没有任何花哨的情况下,BoTNet使用Mask R-CNN框架在COCO实例分割基准上实现了44.4%的Mask AP和49.7%的Box AP;超过了之前在COCO验证集上评估的ResNeSt [67最后,我们对BoTNet设计进行了简单的调整,用于图像分类,从而使模型在ImageNet基准测试中实现了84.7%的top-1准确率,同时在“计算”1时间上比TPU-v3硬件上的流行EfficientNet模型快1.64倍我们希望我们简单而有效的方法将成为未来自我注意力模型视觉研究的一个强有力的基线。21. 介绍深度卷积骨干架构[37,54,28,66,56]已经在图像分类[52],对象检测[17,40,21,20,50],实例分割[25,13,27]。 最具里程碑意义的骨干建筑-结构[37,54,28]使用多层3×3卷积。虽然卷积运算可以有效地捕获局部信息,但诸如对象检测、物体分割、关键点检测等视觉任务需要对长范围依赖性进行建模。例如,在实例segmen-1批量大小的前向和后向传播322请参阅https://arxiv.org/abs/2101.11605获取更长的版本。图1:左:ResNet瓶颈块,右:Bot- tleneck Transformer(BoT)块。唯一的区别是用多头自注意(MHSA)替换空间3×3的结构自我关注层如图4所示。站,能够从大的邻域收集和关联场景信息可以用于学习对象之间的关系[32]。为了全局聚合本地捕获的滤波器响应,基于卷积的架构需要堆叠多层[54,28]。虽然堆叠更多的层确实提高了这些主干的性能[67],但对全局(非局部)依赖关系进行建模的显式机制可能是一种更强大且可扩展的解决方案,而无需那么多层。建模长距离依赖关系对自然语言处理(NLP)任务也至关重要。 自注意力是一种计算原语[61],它利用基于内容的寻址机制实现成对实体交互,从而在长序列中学习丰富的关联特征层次这现在已经成为NLP中Transformer [61]块形式的标准工具,其中突出的例子是GPT [46,5]和BERT [14,42]模型。在视觉中使用自注意力的一种简单方法是用Transformer [61]中提出的多头自注意力(MHSA)层替换空间卷积层(图1)。这种方法在最近的过去已经在两种似乎不同的方法上取得了进展。一方面,我们有SASA [49]、AACN [4]等模型,16520图2:使用自我注意力进行视觉识别的深度学习架构分类。我们提出的架构BoTNet是一个混合模型,使用卷积和自注意力。自我注意的具体实现可以类似于Transformer块[61]或非本地块[63](图4中突出显示了差异)。BoTNet与DETR [10],VideoBERT [55],VILBERT [44],CCNet [34]等架构不同,它们在骨干架构内采用自注意力,而不是在骨干架构外使用它们作为一种混合模型,BoTNet不同于纯注意力模型,如SASA [49],LRNet [33],SANet[68],Axial-SASA [31,62]和ViT [15]。AA-ResNet [4]还试图用自我注意力取代一小部分空间卷积通道。SANet [68],Axial-SASA [62]等提出用不同形式的自注意力(局部,全局,向量,轴向等)取代ResNet僵尸瓶 颈 块 [28 另 一 方 面 , 我 们 有 Vision Transformer(ViT)[15],它提出在非重叠贴片的线性投影上堆叠Transformer块[61]。看起来这些方法呈现了两种不同的体系结构。我们指出,情况并非如此。相反,具有MHSA层的ResNet botteneck块可以被视为具有瓶颈结构的Transformer块,模较小的差异,如残留连接、归一化层的选择等(图3)。考虑到这种等价性,我们将MHSA层的ResNet瓶颈块称为瓶颈Transformer(BoT)块。在视觉中使用自注意时存在一些挑战:(1)与图像分类(224×224)相比,对象检测和实例分割中的图像尺寸(1024×1024)要大得多(2)自我注意量表的记忆和计算与空间维度呈二次关系[ 58 ]第58话,让人觉得自己是一个很好的人。为了克服这些挑战,我们考虑以下设计:(1)使用卷积来有效地从大图像中学习抽象和低分辨率的特征图;(2)使用全局(all 2all)自注意力来处理和聚合卷积捕获的特征图中包含的这样的混合设计[4](1)使用现有的和优化的原语进行卷积和all 2all自注意;(2)可以通过卷积进行空间下采样并让注意力在较小的分辨率上工作来有效地处理大图像下面是一个简单的实际实例这种混合设计的特点是:只将ResNet的最后三个瓶颈块替换为BoT块,而不做任何其他更改。或者换句话说,取一个ResNet,只用MHSA层替换最后三个3×3卷积(图1,表1)。这个简单的改变通过以下方式改进了掩模AP:COCO实例分割基准[40]比我们的规范基线高出1.2%,该基线在Mask R-CNN框架[27]中使用ResNet-50,没有超参数差异,并且训练和推理的开销最小。接下来,我们将这个简单的实例化称为BoTNet,因为它通过BoT块连接到Transformer。虽然我们注意到它的构造并不新颖,但我们相信它的简单性和性能使其成为一个值得研究的有用的参考骨干架构。使用BoTNet,我们展示了实例分割的显着改进结果,而没有任何花哨的功能,如Cascade R-CNN [7],FPN变化[41,19,43,57],超参数变化[56]等BoTNet的一些关键结果是:(1)各种训练配置(第4.1节),数据增强(第4.2节)和ResNet家族骨干(第4.4节)的性能增益;(2)BoTNet对小对象的显着提升(+2.4Mask AP和+2.6 Box AP)(附录);(3)非本地层的性能增益(第4.6节);(4)扩展良好的增益更大的图像导致44.4%的掩模AP,与仅研究具有适度训练时间表(最多72个时期)且没有额外数据或增强的骨干架构的3 .第三章。3SoTA基于https://paperswithcode.com/sota/instance-segmentation-on-coco-minival。16521最后,我们从[56,49,38,51,48,67,3]中的训练和扩展策略中获得灵感,在注意到BotNet在较小规模的训练制度中没有提供实质性的收益我们设计了一系列BoT-Net模型,在ImageNet验证集上实现了高达84.7%的top-1准确率,同时在TPU-v3硬件上的计算时间方面比流行的EfficientNet模型快1.64倍通过BoTNet提供强有力的结果,我们希望自我注意力成为未来视觉架构中广泛使用的2. 相关工作图2中展示了采用自我注意力进行视觉的深度学习架 构 的 分 类 。 在 本 节 中 , 我 们 重 点 关 注 : ( 1 )Transformer与BoTNet;(2)DETR与BoTNet;(3)非本地与BoTNet。图3:左:Transformer的规范视图,其边界描述了Vaswani等人中描述的Transformer块的定义al [61]. 中间:Transformer的瓶颈视图,其边界描述了我们在本工作中定义的瓶颈Transformer(BoT)块已经存在于Transformer中的架构结构可以被解释为具有多头自注意(MHSA)[61]的ResNet瓶颈块[28],其具有如图所示的块边界的不同概念右:连接到Transformer:正如本文标题所示,本文中的一个关键信息是,具有多头自注意(MHSA)层的ResNet瓶颈块可以被视为具有瓶颈结构的Transformer块。图3直观地解释了这一点,我们将此块命名为Bottleneck Transformer(BoT)。我们注意到BoT区块的架构设 计不是我们的 贡献。相反, 我们指出了MHSA ResNet瓶颈块和Transformer之间的关系,希望它能提高我们对计算机视觉中自注意力的架构设计空间[47,48]的除了图中已经可见的差异之外,仍然存在一些差异(残留连接和块边界):(1)归一化:变压器使用层归一化[1],而BoT块使用批归一化[35],这在ResNet瓶颈块中是典型的[28];(2)非线性:变压器在FFN块中使用一个非线性,而ResNet结构允许BoT块使用三个非线性;(3)输出投影:变压器中的MHSA块包含输出投影,而BoT块(图1)中的MHSA层(图4)不包含输出投影;(4)我们通常使用带有动量优化器的SGD用于计算机视觉[28,27,22],而Transformer通常使用Adam优化器[36,61,10,15]进行训练。与DETR的连接:检测Transformer(DETR)是一个检测框架,它使用Transformer隐式地执行区域建议和对象定位,而不是使用R-CNN [21,20,50,27]。DETR和BoT-Net都试图使用自我注意力来提高对象检测和实例(或全景)分割的性能不同之处在于,DETR在主干架构之外使用了Transformer块,其动机是为了简单起见而摆脱区域建议和非最大抑制。另一方面,BoTNet的目标是提供一个骨干架构,使用类似Transformer的块进行检测和实例分割。我们对检测框架(无论是DETR还是R-CNN)都是不可知的。我们使用Mask [27]和Faster R-CNN [50]系统进行实验,并将其留给未来的工作,以将BoTNet作为DETR框架中的骨干。随着BoTNet中小对象的明显良好收益,我们相信未来可能有机会解决DETR中小对象缺乏收益的问题(参见附录)。连接到非局部神经网络:4非局部(NL)网络[63]在Transformer非局部均值算法(Non-Local-Means Algorithm)[6]它们将NL块插入到ResNet中的最后一个(或)两个块组(c4,c5)中,并提高了视频识别和实例分割的性能。像NL-Nets [63,8]一样,BoTNet是一种使用卷积和全局自注意力的混合设计瓶颈Transformer作为ResNet瓶颈块[28]与标准ResNet块的区别在于用MHSA替换了3 ×34之前在AA-ResNet(Bello et. al)[4]。我们工作的不同之处在于完全置换,而不是Bello等人的部分置换。16522(1)NL层和MHSA层之间的三个区别(如图4所示):在MHSA中使用多个头、值投影和位置编码;(2)NL块使用信道因子减少为2的瓶颈(而不是采用ResNet结构的BoT块中的4);(3)NL块作为附加块插入ResNet骨干中,而不是像BoTNet那样替换第4.6节提供了BoTNet,NLNet以及BoTNet的类似NL版本之间的比较,其中我们以与NL块相同的方式插入BoT块而不是替换。3. 方法输入图像。堆栈[c2,c3,c4,c5]由多个具有剩余连接的瓶颈块组成(例如,R50具有[3,4,6,3]个瓶颈块)。z高x宽x深自我注意层高 * 宽x高 *高 * 宽x高 * 宽x高 *宽内容位置qrT高x宽x深R高 * 宽x高 *qkT内容-内容QKv高x1x深1x宽x深高x宽xd高x宽xd高x宽xdWQ:1x1WK:1x1WV:1x1Rh高x宽x深ax软件RwX图4:BoT块中使用的多头自注意(MHSA)层。虽然我们使用4个头,但为了简单起见,我们没有在图中显示它们。all2all注意力是在具有分裂相对位置的2D特征图encodingsRh 和rw分别为高度和宽度的注意力逻辑是qkT+qrT,其中q,k,r表示查询,key和位置编码表示Lpectiv elNy(我们使用relativ edis,tance encodings [53,4,49])。并表示元素矩阵乘法和矩阵乘法,而1×1表示逐点卷积。 随着使用多个头部,突出显示的蓝色框(位置编码和值投影是唯一三个不在非局部层中的元素[63,65]。表1:BoTNet-50(BoT 50)的架构:BoT 50与ResNet-50(R50)的唯一区别是在c5中使用MHSA层(图4)。对于输入分辨率为1024×1024,c5的第一块中的MHSA层在64×64上操作,而其余两个在32×32上操作。我们还报告了参数,乘加(m。(加)和训练时间吞吐量(在v3-8Cloud-TPU上的TPU-v3步进时间)。BoT50只有1.2倍的m.adds。比R50 整个训练的开销是1.3倍。BoT50的参数也比R50少虽然它可能看起来只是执行稍微多一点的计算,这可能有助于BoT50超过基线,但我们在第4.4节中表明情况并非如此。BoTNet的设计很简单:将ResNet中的最后三个空间(3 ×3)卷积替换为多头自注意(MHSA)层,该层在2D特征图上实现全局(all2all)自注意(图4)。ResNet通常有4个阶段(或块组),如[c2,c3,c4,c5],步长[4,8,16,32]相对在整个骨干中使用自我注意力的方法[49,4,68,15]对于输入分辨率(224×224(用于分类)和640×640(用于SASA中的检测实验[49]))。我们的目标是在高性能实例分割模型的更现实的设置中 使 用 注 意 力 , 其 中 通 常 使 用 更 大 分 辨 率(1024×1024)的图像。考虑到在n个实体上全局执行自我注意需要O(n2d)的内存和计算[61],我们认为符合上述因素的最简单的设置是在低-骨干中的EST分辨率特征图,即C5栈中ResNet主干中的c5堆栈通常使用3个块,其中一个空间3×3卷积在每一个用MHSA层取代它们构成了一个新的架构。 c5中的第一个块使用步长2的3×3卷积,而其他两个块使用步长1。由于all2allattention不是一个步幅操作,我们对第一个BoT块使用步幅为2的2×2BoTNet架构如表1所示MHSA层如图4所示。所述跨步阶段输出ResNet-50BoTNet-50C1512 ×5127×7,64,步幅27×7,64,步幅23×3最大池,步幅23×3最大池,步幅2C2256 ×2561×1,64103× 3,64×31×1,2561×1,64103× 3,64×31×1,256C3128 ×1281×1,128128×41×1,5121×1,128128×41×1,512C464 ×641×1,2563,256× 3,256×61×1,10241×1,256256×61×1,1024C532 ×321×1,512103× 3,512×31×1,20481×1,512MHSA,512×31×1,2048#params。25.5×10620.8×106M.Adds85.4×109102.98×109TPU步进时间786.5毫秒1032.66毫秒16523BoT块的版本见附录。相对位置编码:为了使atten- tion操作位置感知,基于Transformer的架构通常使用位置编码[61]。最近已经观察到相对距离感知位置编码[53]更适合视觉任务[4,49,68]。这可以归因于注意力不仅考虑了内容信息,而且还考虑了不同位置处的特征之间的相对距离,从而能够有效地将跨对象的信息与位置意识相关联。在BoTNet中,我们采用了[49,4]中的2D相对位置自注意实现。4. 实验我们研究了BoTNet的好处,例如分割和对象检测。我们通过在COCO数据集上进行实验,对各种设计选择进行了彻底的消融研究[40]。我们报告了标准COCO指标,包括APbb(在IoU阈值上取平均值)、APbb、APbb、APbb; APbb、APbb分别针对盒子和掩码的AP bb、AP bb。表2:在1x(12个epochs)、3x(36个epochs)和6x(72个epochs)设置下比较R50和BoT50,使用图像分辨率1024×1024和多尺度抖动[0。八,一。25]。所有训练时间表中两个骨干的参数(表2)。我们清楚地看到,除了1x时间表(12个时期)之外,BoT50是R50之上的显著改进这表明BoT50需要更长时间的训练,以显示相对于R50的显著改善我们也50 75 50 75活泼地作为目前的常见做法,我们使用COCO训练集进行训练,并在COCOval(或minival)集上报告结果,如Detectron [22]5所示。我们的实验基于GoogleCloud TPU检测代码库6。 我们运行所有基线和消融,相同的代码库。除非明确指定,否则我们的培训基础设施使用v3-8Cloud-TPU,其中包含8个核心,每个核心16 GB内存。我们使用bfloat16精度和交叉副本批量归一化[35,64,27,22,45]进行训练,使用批量大小为64。4.1. BoTNet在使用Mask R CNN的COCO实例分割上我们考虑最简单和最广泛使用的设置:ResNet-507骨干与FPN8。我们使用分辨率为1024 × 1024的图像,多尺度抖动为[0. 八,一。25](比例尺-将 图 像 尺 寸 设 置 在 820 和 1280 之 间 , 以 便 与 使 用800×1300的Detectron设置保持一致)。在这种情况下,我们对ResNet-50(R50)和BoT ResNet-50(BoT 50)作为多个训练时间表的骨干架 构 : 1x : 12 epochs , 2x : 24 epochs , 3x : 36epochs,6x:72 epochs9,都使用相同的超5列-118 K图像,val-5 K图像6https://github.com/tensorflow/tpu/tree/master/模型/官方/检测7我们使用在ImageNet分类上预训练的ResNet主干,这是常见的做法。对于BoTNet,替换层不是预先训练的,而是为了简单起见随机初始化的;其余层是从预先训练的ResNet初始化的。8FPN指的是特征金字塔网络[39]。我们在报告结果的每个实验中使用它,我们的FPN水平从2到6(p2到p6)类似于Detectron [22]。9采用MoCo的1x、2x、3x和6x惯例[26]。在6倍时间表中,从BoT50的改善(72时期)比其在3x调度(32个时期)中的改进更差。这表明,使用默认缩放抖动进行更长时间的训练会造成伤害。我们通过使用更激进的缩放抖动来解决这个问题(第4.2节)。4.2. Scale Jitter对BoTNet的帮助大于ResNet骨干抖动APbbAPR50BoT50[0。八,一。二十五日][0。八,一。二十五日]42.843.7(+0.9)37.938.7(+0.8)R50BoT50[0。五二0个字符][0。五二0个字符]43.745.3(+1.8)39.140.5(+1.4)R50BoT50[0。一,二。0个字符][0。一,二。0个字符]43.845.9(+2.1)39.240.7(+1.5)表3:在三种多尺度抖动设置下比较R50和BoT50,所有设置均使用图像分辨率1024×1024训练72个epoch(6x训练计划)。在第4.1节中,我们看到更长的训练(72个epoch)减少了BoT50的增益。解决这个问题的一种方法是增加多尺度抖动的量,已知这可以提高检测和分割系统的性能[16,18]。表3示出了对于[0. 五二0],同时还显示骨干历元APbbAPR50BoT50121239.039.4(+0.4)35.035.3(+0.3)R50BoT50242441.242.8(+1.6)36.938.0(+1.1)R50BoT50363642.143.6(+1.5)37.738.9(+1.2)16524出显著的增益(AP bb上的+ 2.2%和AP bb上的+1.6%),用于[0. 一,二。0],这表明BoTNet(自我注意力)比ResNet(纯卷积)更多地受益于额外的增强,例如多尺度抖动16525ABS4.3. 相对位置编码提升性能BoTNet使用相对位置编码[53]。我们提出了一个消融的使用相对位置编码基准的个人收益从内容-内容交互(qkT)和内容-位置交互(qrT),其中q,k,r分别表示查询,关键字和相对位置编码。使用规范设置10进行消融(表4)。我们看到qrT和qkT的增益是互补的,qrT更重要,即,qkT独立有助于在R50基线上改善0.6%的APbb和0.6%的APbb,而qrT独立有助于改善1.0%的APbb和0.7%的APbb。当组合在一起时(qkT+qrT),APbb和APbb的增益是加性的(分别为1.5%和1.2%)。我们还看到,使用绝对位置编码(qrT)不能提供与相对位置编码一样多的增益这表明,将相对位置编码引入到DETR [10]等架构中是未来工作的一个有趣方向。骨干Att. 类型APbbAPR50BoT50BoT50BoT50-qkTqrT相对qkT+qrT相对qkT+qrTABS42.142.7(+0.6)43.1(+1.0)43.6(+1.5)42.5(+0.4)37.738.3(+0.6)38.4(+0.7)38.9(+1.2)38.1(+0.4)表4:相对位置编码的消融:来自MHSA层中两种类型的相互作用的增益,内容-内容(qkT)和内容-位置(qrT)。4.4. BoTNet改进了ResNet家族BoTNet的替换设置对ResNet家族中的其他主干的效果如何?表5显示了使用R50、R101和R152的BoTNet的结果。所有这些实验都使用规范训练设置(参见4.3中的脚注)。这些结果表明,BoTNet适用于作为任何ResNet骨干的直接替代品。注意,BoT50优于R101(+0.3%APbb,+0.5%APβ 2),而在APβ 2上与R152具有竞争力。与堆叠50层以上的卷积(R101)相比,用all2all注意力替换3个空间卷积在指标上得到了更大的改进,并且具有竞争力再堆叠100层(R152),支持我们最初的假设,即通过注意力比堆叠卷积层更好地捕获长程依赖性1110分辨率:1024x1024,36 epochs(3x计划),多尺度抖动:[0.8,1.25][11]请注意,虽然有人可能会认为BoT50相对于R50的改进可以归因 于 M 多 1.2 倍 。 BoT50 ( 121×109M. Ads ) 也 优 于 R101 ( 162.99×109B M。添加和与R152(240. 56×109米。添加),尽管执行的计算量显著减少。骨干APbbAPR50BoT5042.143.6(+1.5)37.738.9(+1.2)R101BoT10143.345.5(+2.2)38.440.4(+2.0)R152BoT15244.246.0(+1.8)39.140.6(+1.5)表5:比较R50、R101、R152、BoT 50、BoT 101和BoT 152;所有6个设置均使用36个epoch、1024×1024个图像、多尺度抖动的规范训练时间表[0. 八,一。25]。4.5. BoTNet可以很好地扩展较大的图像我们在1280 × 1280图像上训练时对BoTNet和基线ResNet进行了基准测试,与使用最佳配置的1024 ×1024图像进行比较:多尺度抖动[0. 一,二。0],训练72个epoch。结果见表6和8.表6中的结果表明,BoTNet受益于对R50、R101和R152的所有较大图像的训练。BoTNet在1024×1024上训练(不考虑1280 ×1280)显著优于在1280×上训练的基线ResNet1280 此外,用1280×1280训练的BoT200实现了49.7%的APbb和44.4%的APbb。我们相信这一结果突出了自我注意力的力量,特别是因为它已经在没有任何花里胡哨的情况下实现,例如修改的FPN [41,19,16,57],级联RCNN [7]等。这一结果超过了之前发表的最佳单模型单尺度实例分割结果,该结果来自ResNeSt [67],在COCOminival上进行了评估(44.2%AP)。骨干resAPbbAPR50128044.039.5BoT50102445.9(+1.9)40.7(+1.2)BoT50128046.1(+2.1)41.2(+1.8)R101128046.441.2BoT101102447.4(+1.0)42.0(+0.8)BoT101128047.9(+1.5)42.4(+1.2)表6:所有模型都训练了72个历元,多尺度抖动为[0。一,二。0]。4.6. 与非局部神经网络的比较BoTNet与非局部神经网络相比如何?NL操作被插入到pre-final和final瓶颈块之间的ResNet主干的c4这为模16526型增加了更多参数,而BoTNet最终减少了模型参数(表5)。在NL模具中,我们添加消融,其中我们以与NL块完全相同的方式引入BoT我们还运行一个16527骨干脊柱变化APbbAPR50-42.137.7[63]第+ c4中的1个NL块43.138.4R50 + BoT(c4)+ c4中的1个BoT阻滞43.738.9R50 + BoT(c4,c5)+ c4、c5中的2个BoT块44.939.7BoT50c5中的替换43.638.9表7:BoTNet和非本地(NL)网络之间的比较:所有模型都训练了36个时期,图像大小为1024 ×1024,抖动[0. 八,一。25]。骨干APbbAPbb50APbb75APAP 50AP 75BoT15249.571.054.243.768.247.4BoT20049.771.354.644.468.948.2表8:训练72个时期的BoT152和BoT200,多尺度抖动为[0. 一,二。0]。通过插入两个BoT块进行消融,c4、c5堆栈中各一个。结果见表7。添加NL使APbb提高了1.0,APbb提高了0.7,而添加BoT区组得到+1.6 APbb和+1.2 APbb,表明BoT区组设计优于NL。此外,BoT-R50(其替换而不是添加新块)提供+1.5APbb和+1.2APbb,与添加另一BoT块一样好并且比添加一个附加NL块更好。4.7. 基于ImageNet的4.7.1BoTNet-S1架构虽然我们将BoTNet的设计用于检测和分割,但很自然地会问BoTNet架构设计是否也有助于提高ImageNet [52]基准测试的图像分类性能之前的工作[65]表明,将非本地块添加到ResNet并使用规范设置训练它们并不能提供实质性的收益。当与ResNet-50对比时,我们观察到BoTNet-50的类似发现,两个模型都使用ImageNet的规范超参数进行训练[48]:100 epochs,批量大小1024,权重衰减1 e-4,标准ResNet数据增强,余弦学习率计划(表9)。BoT50在ImageNet上并没有提供比R50更大的增益,尽管它确实提供了减少参数的好处,同时保持了可比的计算(M.Adds)。一个简单的方法来解决这个缺乏增益是采取优势的图像大小通常用于图像分类。在图像分类中,我们通常处理的图像尺寸(224×224)比目标分类中使用的小得多检测和分割(1024×1024)。featuremaps因此,与实例段中的那些相比,BoT块在其上操作的那些要小得多(例如,14×14,7×7)。定位和检测(例如64×64,32×32)。使用相同数量的参数,并且在计算量没有显著增加的情况下,c5区块组中的BoTNet设计可以改变为在所有最终MHSA层中统一使用步长1我们将这种设计称为BoTNet-S1(S1表示最终块组中的步幅1我们注意到,这是-架构在设计上类似于Vision Transformer(ViT)[15]中探索的混合模型,其在堆叠Transformer块之前使用ResNet直到阶段c4BoTNet-S1和混合ViT模型之间的主要区别在于使用BoT块,而不是常规的Trans-former块(其他区别是归一化层,优化器等,如在相关工作中与 Transformer 的 对 比 中 所 提 到 的 。 2 ) 的 情 况 。ResNet,BoTNet和BoTNet-S1之间的架构区别,在最后的区块组中,在附录中直观地解释在附录中直观地解释了跨步BoT4.7.2标准培训环境我们首先针对100 epoch设置以及R50和BoT50评估该设计我们看到BoT-S1-50在常规设置中比R50提高了0.9%(表9)。然而,这种改进确实是以更多的计算为代价的。尽管如此,这一改进是一个有希望的信号,让我们设计出能够很好地扩展更大图像的模型,并改进自EfficientNets以来更常用的训练条件[56]。骨干M.Adds Params top-1 acc.R503.86G 25.5M76.8BoT503.79G 20.8M77.0(+0.2)BoT-S1-50 4.27G 20.8M77.7(+0.9)表9:常规训练设置下的ImageNet结果:100 epochs,批量大小1024,权重衰减1 e-4,标准ResNet增强,所有三个模型。4.7.3数据扩充和长期培训的影响我们从实例分割实验中看到,BoTNet和自我注意力更多地受益于正则化,如数据增强(在分割的情况下,增加了多尺度抖动)和更长的训练时间。当在改进的设置下训练时,很自然地期望来自BoT和BoT-S1的增益可以得到改善:200个epochs,批量大小4096,权重衰减8 e-5,RandAugment(2层,幅度10)和标签平滑0.1。与我们的直觉一致,与基线R50相比,BoT 50(+0.6%)和BoT-S1-50(+1.4%)的增益在此设置中更为显著(表10)。16528骨干top-1 acc.前5名R5077.793.9BoT5078.3(+0.6)94.2(+0.3)BoT-S1-5079.1(+1.4)94.4(+0.5)表 10 : ImageNet 的 结 果 是 改 进 的 训 练 设 置 : 200epochs,批量大小4096,权重衰减8 e-5,RandAug-ment(2层,幅度10),标签平滑0.14.7.4扩展僵尸网络85.084.584.083.583.082.582.081.581.00 200 400 600 800 1000 1200 1400TPU-v3计算批量大小为32的步长(毫秒)图5:所有主干以及ViT和DeiT以散点图和帕累托曲线的形式汇总。SENets和BotNets进行了训练,而其他模型的准确性已从相应的论文中报道。之前的消融显示了使用ResNet-50主干和224×224图像分辨率的BoNets性能。在这里,我们研究了扩大模型容量和图像分辨率时的僵尸网络有几项工作提高了ImageNet上ConvNets的性能[67,56,3]。Bello等人[3]最近提出的缩放策略主要是增加模型深度,与EfficientNets [56]中提出的复合缩放规则相比,增加图像分辨率的速度要慢得多。我们使用类似的缩放规则并设计了一系列僵尸网络。模型深度和图像分辨率的详细信息见附录。我们与SENets基线进行比较,以了解BoT块的影响。BotNet和SENet实验在相同的训练设置下执行(例如,正则化和数据扩充)。我们还展示了EfficientNet和DeiT [60](ViT的正则化版本[15])12,以了解与流行的12ViT指的是Vision Transformer [15],而DeiT指的是Data- EfficientImage Transformer [60]。DeiT可以被视为ViT的正则化版本,具有增强功能,为ImageNet调整了更好的训练超参数,以及知识蒸馏[30]。我们不与DeiT的蒸馏版本进行比较,因为它ConvNets和Transformer模型。EfficientNets和DeiT是在强大的数据增强、模型规则化和长时间训练计划下训练的,类似于实验中BotNets的训练设置。ResNets和SENets是强大的基线,直到83%的top-1准确率。 ResNets和SENets在改进的EfficientNet训练环境中实现了强大的性能。BoT-网络T3和T4的性能并不优于SENet,而T5的性能与S4相当。这表明纯卷积模型(如ResNets和SENets)仍然是性能最好的模型,直到准确率达到83%。僵尸网络的规模更好地超过83%的前1名的准确性。虽然SENets是一个强大的模型类,性能优于BoTNets(高达T4),但我们发现,在使用图像大小训练的SE-350(附录中描述的350层SENets)之后,收益会减少384.该模型被称为S5,并达到83.8%的top-1准确度。另一方面,僵尸网络可以很好地扩展到更大的图像尺寸(这与我们在实例分割中的结果相印证,因为对于更大的图像,来自自我注意的收益特别是,T7实现了84.7%的前1位acc.,与B7-RA的准确性相匹配,效 率 提 升 1.64 倍 。 BoTNet 的 性 能 优 于 ViT 正 则 化(DeiT-384),显示了与ImageNet-1 K上的纯注意力模型相比,利用卷积和自注意力的5. 结论使用自我注意力的视觉骨干架构的设计是一个令人兴奋的话题。 我们希望我们的工作有助于提高建筑设计在这个空间的理解。将自我注意力用于其他计算机视觉任务,如关键点检测[9]和3D形状预测[23];研究计算机视觉中自我监督学习的自我注意力架构[29,26,59,11,24,12];以及扩展到更大的数据集,如JFT,YFCC和Instagram,是未来研究的成熟与自我注意力进行比较,并将其纳入自我注意力的替代方案,如分层[2],也是未来的一个重要方向。6. 确认我们感谢Ilija Radosavovic进行了几次有益的讨论;Pengchong Jin和Xianzhi Du帮助了TF检测代码库;Irwan Bello , Barret Zoph , Neil Houlsby , AlexeyDosovitskiy提供反馈。我们感谢Zak Stone在整个项目中提供广泛的计算支持,通过TFRC计划提供GoogleCloudTPU(https://www.tensorflow.org/tfrc)。引用[1] 吉米·雷·巴,杰米·瑞恩·基罗斯,杰弗里·E·辛顿.层归一化。arXiv预印本arXiv:1607.06450,T7B7-RA型号:T7-320T6B7B6S4T5S5B5S3ViT正规化(DeiT-384)B4T4S2T3B3僵尸网络(T)高效网络(B)SENet(S)前1位准确度(%)165292016.[2] 伊尔万·贝洛Lambdanetworks:在没有注意力的情况下模拟长距离的相互作用。在2021年国际学习代表会议上[3] 放大图片作者:Irwan Bello,William Fedus,XianzhiDu,Ekin D. Cubuk,Aravind Srinivas,Tsung-Yi Lin,Jonathe Shlens,and Barret Zoph.重新审视ResNets:改进的培训和扩展策略,2021年。[4] Irwan Bello , Barret Zoph , Ashish Vaswani , JonatheShlens,and Quoc V Le.注意增强卷积网络。在IEEE计算机视觉国际会议论文集,第3286-3295页[5]
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功