最近の研究では、畳み込みニューラル ネットワーク (CNN) が視覚変換器とその注意メカニズムと競合するために大きな受容野 (RF) を必要とすることが示されています。 CNN では、畳み込みカーネル サイズを大きくするだけで RF を拡大できます。しかし、2D の場合、カーネルのサイズに応じて 2 次的にスケーリングされるトレーニング可能なパラメーターの数は急速に法外になり、トレーニングは非常に困難です。この論文では、パラメータの数を増やすことなく RF サイズを増やす新しい方法を提示します。拡張畳み込み (DC) は、同じ目的で既に提案されています。 DC は、通常のグリッドに配置されたゼロ以外の要素をいくつかだけ含むカーネルとの畳み込みと見なすことができます。ここでは、DC の新しいバージョンを提示します。この DC では、非ゼロ要素間の間隔、または同等の位置が固定されなくなりましたが、補間手法のおかげで逆伝播によって学習可能です。この方法を「学習可能な間隔を使用した拡張畳み込み」(DCLS) と呼び、n 次元の畳み込みの場合に一般化します。ただし、ここでの主な焦点は 2D の場合です。最初に ResNet50 でアプローチを試しました。標準の畳み込みを DCLS に置き換えました。これにより、アイソパラメーターでの ImageNet1k 分類の精度が向上しましたが、スループットが犠牲になりました。次に、最近の ConvNeXt の最先端の畳み込みアーキテクチャを使用し、ドロップインで深さ方向の畳み込みを DCLS のものに置き換えました。これにより、ImageNet1k 分類の精度が向上しただけでなく、典型的なダウンストリームおよびロバストネス タスクの精度も向上しました。ConvNeXt は分離可能な畳み込みを使用するため、今回もスループットのコストは無視できます。逆に、従来の DC では、ResNet50 と ConvNeXt の両方でパフォーマンスが低下しました。メソッドのコードは、https://github.com/KH-Ismail/Dilated-Convolution-with-Learnable-Spacings-PyTorch で入手できます。
Recent works indicate that convolutional neural networks (CNN) need large receptive fields (RF) to compete with visual transformers and their attention mechanism. In CNNs, RFs can simply be enlarged by increasing the convolution kernel sizes. Yet the number of trainable parameters, which scales quadratically with the kernel's size in the 2D case, rapidly becomes prohibitive, and the training is notoriously difficult. This paper presents a new method to increase the RF size without increasing the number of parameters. The dilated convolution (DC) has already been proposed for the same purpose. DC can be seen as a convolution with a kernel that contains only a few non-zero elements placed on a regular grid. Here we present a new version of the DC in which the spacings between the non-zero elements, or equivalently their positions, are no longer fixed but learnable via backpropagation thanks to an interpolation technique. We call this method "Dilated Convolution with Learnable Spacings" (DCLS) and generalize it to the n-dimensional convolution case. However, our main focus here will be on the 2D case. We first tried our approach on ResNet50: we drop-in replaced the standard convolutions with DCLS ones, which increased the accuracy of ImageNet1k classification at iso-parameters, but at the expense of the throughput. Next, we used the recent ConvNeXt state-of-the-art convolutional architecture and drop-in replaced the depthwise convolutions with DCLS ones. This not only increased the accuracy of ImageNet1k classification but also of typical downstream and robustness tasks, again at iso-parameters but this time with negligible cost on throughput, as ConvNeXt uses separable convolutions. Conversely, classic DC led to poor performance with both ResNet50 and ConvNeXt. The code of the method is available at: https://github.com/K-H-Ismail/Dilated-Convolution-with-Learnable-Spacings-PyTorch.