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风格)时,网络性能的差异。
标签:Transformer,池化层,卷积,layer,ResNet,空间,ViT,维度 From: https://blog.csdn.net/qq_47896523/article/details/140418908