退縮で説明されている神経演算子の公式実装:視覚認識のための畳み込みの内在を反転させる(CVPR'21)
Duo Li、Jie Hu、Changhu Wang、Xiangtai Li、Qi She、Lei Zhu、Tong Zhang、Qifeng Chen

TL;博士involution 、さまざまなビジョンタスク上の深い学習モデルのスペクトルに汎用性のある一般的な神経原始です。 involution bridgesは、設計におけるconvolutionとself-attention橋渡ししますが、 convolutionよりも効率的で効果的であり、形のself-attentionよりも単純です。


私たちの研究があなたの研究で役立つと思うなら、引用してください:
@InProceedings{Li_2021_CVPR,
author = {Li, Duo and Hu, Jie and Wang, Changhu and Li, Xiangtai and She, Qi and Zhu, Lei and Zhang, Tong and Chen, Qifeng},
title = {Involution: Inverting the Inherence of Convolution for Visual Recognition},
booktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021}
}
このリポジトリは、OpenMMLabツールキットの上に完全に構築されています。個々のタスクごとに、構成ファイルとモデルファイルは、それぞれMMCL、MMDET、MMSEGと同じディレクトリ組織に従います。そのため、対応する場所にコピーアンドペーストして開始します。
たとえば、検出器の評価に関して
git clone https://github.com/open-mmlab/mmdetection # and install
# copy model files
cp det/mmdet/models/backbones/ * mmdetection/mmdet/models/backbones
cp det/mmdet/models/necks/ * mmdetection/mmdet/models/necks
cp det/mmdet/models/dense_heads/ * mmdetection/mmdet/models/dense_heads
cp det/mmdet/models/roi_heads/ * mmdetection/mmdet/models/roi_heads
cp det/mmdet/models/roi_heads/mask_heads/ * mmdetection/mmdet/models/roi_heads/mask_heads
cp det/mmdet/models/utils/ * mmdetection/mmdet/models/utils
cp det/mmdet/datasets/ * mmdetection/mmdet/datasets
# copy config files
cp det/configs/_base_/models/ * mmdetection/configs/_base_/models
cp det/configs/_base_/schedules/ * mmdetection/configs/_base_/schedules
cp det/configs/involution mmdetection/configs -r
# evaluate checkpoints
cd mmdetection
bash tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--out ${RESULT_FILE} ] [--eval ${EVAL_METRICS} ]より詳細なガイダンスについては、元のMMCL、MMDET、およびMMSEGチュートリアルを参照してください。
現在、Cupyに基づいたInvotonオペレーターのメモリ効率の高い実装を提供しています。事前にこのライブラリをインストールしてください。カスタマイズされたCUDAカーネルは、ハードウェアにさらに加速をもたらします。これに関するコミュニティからの貢献は歓迎されます!
畳み込みベースラインと比較したパラメーター/フロップ↓およびパフォーマンス↑は、括弧内にマークされています。これらのチェックポイントの一部は、再実装の実行で取得されます。そのパフォーマンスは、私たちの論文で報告されているものとわずかな違いを示す可能性があります。モデルは、Imagenetに64 GPU、CoCoで8 GPU、Cityscapesに4つのGPUでトレーニングされています。
| モデル | パラメーション(m) | フロップ(g) | TOP-1(%) | トップ5(%) | config | ダウンロード |
|---|---|---|---|---|---|---|
| rednet-26 | 9.23 (32.8%↓) | 1.73 (29.2%↓) | 75.96 | 93.19 | config | モデル|ログ |
| rednet-38 | 12.39 (36.7%↓) | 2.22 (31.3%↓) | 77.48 | 93.57 | config | モデル|ログ |
| rednet-50 | 15.54 (39.5%↓) | 2.71 (34.1%↓) | 78.35 | 94.13 | config | モデル|ログ |
| rednet-101 | 25.65 (42.6%↓) | 4.74 (40.5%↓) | 78.92 | 94.35 | config | モデル|ログ |
| rednet-152 | 33.99 (43.5%↓) | 6.79 (41.4%↓) | 79.12 | 94.38 | config | モデル|ログ |
次のダウンストリームタスクで微調整する前に、イメージネットの事前pretrainedを受けたrednet-50ウェイトをダウンロードし、 det/configs/_base_/models/*.py seg/configs/_base_/models/*.py
| バックボーン | ネック | 頭 | スタイル | LR Schd | パラメーション(m) | フロップ(g) | ボックスAP | config | ダウンロード |
|---|---|---|---|---|---|---|---|---|---|
| rednet-50-fpn | 畳み込み | 畳み込み | Pytorch | 1x | 31.6 (23.9%↓) | 177.9 (14.1%↓) | 39.5 (1.8↑) | config | モデル|ログ |
| rednet-50-fpn | 退縮 | 畳み込み | Pytorch | 1x | 29.5 (28.9%↓) | 135.0 (34.8%↓) | 40.2 (2.5↑) | config | モデル|ログ |
| rednet-50-fpn | 退縮 | 退縮 | Pytorch | 1x | 29.0 (30.1%↓) | 91.5 (55.8%↓) | 39.2 (1.5↑) | config | モデル|ログ |
| バックボーン | ネック | 頭 | スタイル | LR Schd | パラメーション(m) | フロップ(g) | ボックスAP | マスクAP | config | ダウンロード |
|---|---|---|---|---|---|---|---|---|---|---|
| rednet-50-fpn | 畳み込み | 畳み込み | Pytorch | 1x | 34.2 (22.6%↓) | 224.2 (11.5%↓) | 39.9 (1.5↑) | 35.7 (0.6↑) | config | モデル|ログ |
| rednet-50-fpn | 退縮 | 畳み込み | Pytorch | 1x | 32.2 (27.1%↓) | 181.3 (28.5%↓) | 40.8 (2.4↑) | 36.4 (1.3↑) | config | モデル|ログ |
| rednet-50-fpn | 退縮 | 退縮 | Pytorch | 1x | 29.5 (33.3%↓) | 104.6 (58.7%↓) | 39.6 (1.2↑) | 35.1 (0.0↑) | config | モデル|ログ |
| バックボーン | ネック | スタイル | LR Schd | パラメーション(m) | フロップ(g) | ボックスAP | config | ダウンロード |
|---|---|---|---|---|---|---|---|---|
| rednet-50-fpn | 畳み込み | Pytorch | 1x | 27.8 (26.3%↓) | 210.1 (12.2%↓) | 38.2 (1.6↑) | config | モデル|ログ |
| rednet-50-fpn | 退縮 | Pytorch | 1x | 26.3 (30.2%↓) | 199.9 (16.5%↓) | 38.2 (1.6↑) | config | モデル|ログ |
| 方法 | バックボーン | ネック | 作物サイズ | LR Schd | パラメーション(m) | フロップ(g) | miou | config | ダウンロード |
|---|---|---|---|---|---|---|---|---|---|
| fpn | rednet-50 | 畳み込み | 512x1024 | 80000 | 18.5 (35.1%↓) | 293.9 (19.0%↓) | 78.0 (3.6↑) | config | モデル|ログ |
| fpn | rednet-50 | 退縮 | 512x1024 | 80000 | 16.4 (42.5%↓) | 205.2 (43.4%↓) | 79.1 (4.7↑) | config | モデル|ログ |
| upernet | rednet-50 | 畳み込み | 512x1024 | 80000 | 56.4 (15.1%↓) | 1825.6 (3.6%↓) | 80.6 (2.4↑) | config | モデル|ログ |