如有错误,恳请指出。
paper:CycleMLP: A MLP-like Architecture for Dense Prediction code:https://github.com/ShoufaChen/CycleMLP 摘要:
CycleMLP是AS-MLP之外的另外一个可以作为通用骨架的MLP架构(AS-MLP是首个迁移到下游任务的 MLP 架构),MLP-Mixer, ResMLP 与gMLP架构与图像大小相关,因为其不能作为下游任务的通用骨干。
与现在的MLP方法相比,CycleMLP有两个优点: 1)可以处理各种图像大小 2)利用局部窗口实现图像大小的线性计算复杂度。相比之下,以往的mlp具有二次计算复杂度,因为它们空间上的全连接。
作者扩展了MLP架构的适用性,使其成为密集预测任务的通用主干。性能效果:
- 83.2% accuracy on ImageNet-1K classification ( Swin Transformer 83.3%)
- achieves 45.1 mIoU on ADE20K val(Swin 45.2 mIOU)
1. Introduction
尽管在视觉识别任务中得到了很好的结果,但由于两个原因,这些mlp类模型不能用于其他下游任务(比如目标检测与语义分割): 1)这样的模型由具有相同架构的块组成,导致在低分辨率下具有单一尺度的特征。因此,非层次结构使得模型无法提供金字塔特征表示。 2)这些模型无法处理灵活的输入尺度,因此在训练和验证阶段都需要一个固定的输入规模。 3)Spatial FC的计算复杂度是图像大小的平方,这使得现有的mlp类模型难以在高分辨率图像上实现。
对于第一个问题,作者构建了一个层次结构来生成金字塔特征表示。对于第二三个问题,作者提出了一个全连接层的新变种,命名为循环全连接层(Cycle FC),Cycle FC能够处理可变的图像尺度,对图像大小具有线性的计算复杂度。
对于Spatial FC来说,由于需要限定patch的HW大小,所以无法做到可变处理,但是感受野较大,复杂度也较大;而Channel FC,由于线性投影的维度是可以设定的,没有信息交互的过程,但是复杂度较小,所以可以做到可变处理。
为此,Cycle FC的出发点是继承这个优点,接受任意分辨率的输入和线性计算复杂度,同时扩大上下文聚合的感受野。为此,Cycle FC沿着通道维度以周期性的方式采样点。通过这种方式,Cycle FC具有与Channels FC相同的复杂性,同时增加了感受野范围。使用Cycle FC代替Spatial FC进行空间上下文聚合(即token-mixing操作),并构建了一系列mlp类模型用于识别和密集预测任务。
2. CycleMLP Architecture
2.1 Overall Architecture
类似的,对于输入图像为HxWxC的图像,通过带有重叠的卷积变成一系列的patch(卷积核为7,步长为4,带重叠的卷积效果会更好),然后对channel进行一个线性投影成(H/4)x(W/4)xC。然后,依次在patch tokens上应用几个Cycle FC block,具有相同架构的block被堆叠成一个Stage。在每个Stage中维护token的数量(特征规模)。而在每个阶段转换中,在tokens数量减少的同时,所处理的tokens的channel维度得到扩展。通过该策略有效降低了空间分辨率的复杂性。
2.2 CycleFC Block
Cycle FC block由三个并行的Cycle FC算子组成,然后是一个具有两个线性层和中间一个GELU非线性的channel mlp。 Channel FC由特定层的内外通道维度配置。它的结构与图像的尺度无关。因此它是一种尺度不可知的操作,可以处理输入图像的可变尺度,这对于密集预测任务是必不可少的。此外,信道FC的另一个优点是它对图像尺度的线性计算复杂度。然而,它的感受野有限,不能聚合足够的上下文,Channel FC由于缺乏上下文信息而产生较差的结果。
为了在保持计算复杂度的同时扩大感受野,Cycle FC被设计成与Channels FC一样沿着Channels维度进行全连接,但是并不是采样点都位于相同空间位置,而是以阶梯式风格采样点。
本质上还是一个移动特征图的操作 ps:当伪内核大小配置为1×1时,Cycle FC退化为普通Channels FC
3. Result
|