PiT : 基于池化层Pooling layer的Vision Transformer

        CNN的降维原理;随着深度的增加,传统CNN的通道维数增加,空间维数减少。经验表明,这样的空间降维对变压器结构也是有益的,并在原有的ViT模型的基础上提出了一种新的基于池的视觉变压器(PiT)。


1. 引言

        ViT与卷积神经网络(CNN)有很大的不同。将输入图像分成16×16小块馈送到变压器网络;除了第一嵌入层外,ViT中没有卷积操作,位置交互仅通过自关注层进行。CNN具有有限的空间交互,而ViT允许图像中的所有位置通过变压器层进行交互。虽然ViT是一种创新的架构,并且已经证明了其强大的图像识别能力,但它遵循了NLP中的变压器架构,没有任何变化。

        CNN从空间尺寸大、通道尺寸小的特征开始,逐渐增大通道尺寸,减小空间尺寸。由于称为空间池的层,这种维度转换是必不可少的。现代CNN架构,包括AlexNet、ResNet和EfficientNet,都遵循这一设计原则。池化层与每一层的感受野大小密切相关。研究表明,池化层有助于提高网络的表达性和泛化性能。然而,与CNN不同的是,ViT不使用池化层,并且对所有层使用相同的空间维度。

1.1 基于池化的Vision Transformer

        PiT是一种变压器架构,结合了新设计的池化层。它允许在ViT结构中像ResNet中那样减小空间大小。最后,利用熵和平均距离度量分析变压器块的注意矩阵,分析PiT与ViT相比的效果。通过分析,揭示了ViT和PiT各层次的注意模式,有助于理解ViT和PiT的内在机制。 

2. 相关工作

2.1 CNN的维度配置

        维度转换可以在AlexNet中找到,它是计算机视觉中最早的卷积网络之一。AlexNet使用三个最大池化层。在最大池化层中,特征的空间大小减少了一半,通道大小通过最大池化后的卷积增加。VGGnet 使用5个max-pooling使用5个空间分辨率。在池化层中,空间大小减少一半,通道大小增加一倍。

        GoogLeNet也使用了池化层。ResNet使用stride - 2的卷积层代替max pooling进行空间大小缩减。它是对空间约简方法的改进。stride-2的卷积层在最近的架构中也被用作池化方法(EfficietNet , MobileNet)。PyramidNet指出通道增加只发生在池化层,为了解决这一点,提出了在池化层以外的层中逐渐增加通道大小的方法。ReXNet报道,网络的通道配置对网络性能有显著影响。总之,大多数卷积网络使用具有空间约简的维配置。 

2.2 Self-attention 机制

        Transformer架构通过自注意力机制显著提高了NLP任务的性能。而Funnel Transformer则通过池化层和跳跃连接(skip connection)来减少标记(tokens),从而改进了Transformer架构。

        Non-local(非局部)网络在CNN骨干网络中增加了几个自注意力层,并表明自注意力机制可以在CNN中使用。[28]将ResNet的3x3卷积替换为局部自注意力层。[36]在每个空间轴上使用了注意力层。[2]通过减少注意力机制的计算量,实现了整个空间图的自注意力。这些方法大多是将3x3卷积替换为自注意力或添加几个自注意力层。因此,它们继承了ResNet的基本结构,即具有步长为2的卷积,从而得到了具有ResNet维度配置的网络。

        只有视觉Transformer(Vision Transformer,ViT)在所有层中都使用相同的空间大小的结构。尽管ViT没有遵循ResNet的惯例,但它在网络架构中包含了许多有价值的新组件。在ViT中,每个空间标记(token)都应用了层归一化(layer normalization)。因此,ViT的层归一化更接近位置归一化[22],而不是卷积神经网络的层归一化[1, 39]。尽管它与lambda网络[2]有重叠,但在网络的所有块中都使用全局注意力并不常见。使用类别标记(class token)而不是全局平均池化(global average pooling)也是一个新特性。

3. 重新审视空间维度

3.1 CNN的维度设置

        如图(a)所示,大多数卷积网络架构在减少空间维度(spatial dimension)的同时增加通道维度(channel dimension)。例如,在ResNet50中,一个起始层(stem layer)首先将图像的空间尺寸减少到56×56。然后,通过多个层块(layer blocks),使用步长(stride)为 2 的卷积层来将空间维度减半,并将通道维度加倍。

使用步长为2的卷积层进行空间尺寸减少的方法在最近的架构中非常常见。

        为了分析在卷积架构中是否存在空间减少层对性能的影响,研究者们进行了一项实验。他们选择了在ImageNet上广泛使用的ResNet50作为实验的网络架构,并在没有复杂训练技巧的情况下进行了100个周期的训练。

  • ResNet风格:直接使用ResNet50的原始架构作为基准。
  • ViT风格维度:为了模拟ViT(视觉Transformer)的维度变化,研究者们使用了ViT的起始层来将特征的空间维度减少到14×14,同时在起始层中减少空间信息的损失。此外,他们还移除了ResNet中的空间减少层,以保持所有层的初始特征维度与ViT一致。

        研究者们通过改变ResNet的通道大小来测量不同尺寸的网络性能。这样他们可以比较在保持空间维度不变(ViT风格)和采用传统的空间维度减少方法(ResNet风格)时,网络性能的差异。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值