当卷积独挑大梁:ConvMixer 的神奇架构探秘

ConvMixer在许多方面与视觉Transformer(以及MLP-Mixer)相似:它直接对图像块(patches)进行操作,在所有层中都保持相同分辨率和大小的特征表示,在连续的层中不对特征表示进行下采样,并且将信息的“通道混合”与“空间混合”分离开来。但与视觉Transformer和MLP-Mixer不同的是,ConvMixer仅通过标准卷积来完成所有这些操作。

ConvMixer由一个图像块嵌入层和重复应用的简单全卷积块组成。我们保留图像块嵌入的空间结构。具有图像块大小为 $p$ 和嵌入维度为 $h$ 的图像块嵌入,可以通过输入通道数为 $c_{in}$、输出通道数为 $h$、内核大小为 $p$ 且步长为 $p$ 的卷积来实现:

ConvMixer块本身由深度卷积(即分组卷积,组数等于通道数 $h$ )和逐点卷积(即内核大小为 $1×1$ )组成。对于深度卷积,ConvMixer在使用异常大的内核大小时效果最佳。每个卷积之后都跟着一个激活函数和激活后的批归一化(BatchNorm):

在多次应用这个块之后,我们执行全局池化操作,得到一个大小为 $h$ 的特征向量,然后将其输入到softmax分类器中。

论文Patches Are All You Need?(2201.09792)

代码实现ConvMixer

本文由mdnice多平台发布


柏企科技圈
15 声望5 粉丝