[論文レビュー] Dynamic Convolution: Attention over Convolution Kernels
本論文は Dynamic Convolution (DY-CNNs) を提案し、入力依存のアテンションを介して各層で複数の小さなカーネルを集約し、追加の FLOPs を最小限に抑えて性能を向上させ、MobileNet および ResNet のバックボーンの ImageNet および COCO において顕著な利得を得る。
Light-weight convolutional neural networks (CNNs) suffer performance degradation as their low computational budgets constrain both the depth (number of convolution layers) and the width (number of channels) of CNNs, resulting in limited representation capability. To address this issue, we present Dynamic Convolution, a new design that increases model complexity without increasing the network depth or width. Instead of using a single convolution kernel per layer, dynamic convolution aggregates multiple parallel convolution kernels dynamically based upon their attentions, which are input dependent. Assembling multiple kernels is not only computationally efficient due to the small kernel size, but also has more representation power since these kernels are aggregated in a non-linear way via attention. By simply using dynamic convolution for the state-of-the-art architecture MobileNetV3-Small, the top-1 accuracy of ImageNet classification is boosted by 2.9% with only 4% additional FLOPs and 2.9 AP gain is achieved on COCO keypoint detection.
研究の動機と目的
- 厳しい計算予算のもとで超効率的な CNN に対してより高い表現力の必要性を喚起する。
- アテンションを介して複数の小さなカーネルを集約するドロップイン置換として Dynamic Convolution を提案する。
- 動的カーネルとアテンションを効果的に学習するための訓練戦略を示す。
- ImageNet と COCO で DY-CNNs を評価し、アーキテクチャ全体にわたる精度と効率の向上を定量化する。
提案手法
- 入力依存のアテンションが 1 に等しくなるように和が 1 になる K 個の線形関数の和としてダイナミックパーセプトロンを定義する。
- 同一サイズの K 個の並列カーネルをアテンション π_k(x) によって集約する形でダイナミックパーセプトロンをダイナミック畳み込みとして具現化する。
- 凸結合を保証するために温度制御付きの softmax を用いた SE スタイルのブロックでカーネルアテンションを計算する。
- モデル容量を増加させつつ深さ/幅を変えずに出力チャネルをカーネル間で共有する。
- 早期訓練で高い softmax 温度を用いるなど、DY-CNN の訓練に関する指針と温度のアニーリングを提供する。
- Dynamic Convolution が既存のアーキテクチャにおける任意の静的畳み込み(1x1、3x3、Depthwise など)を置換できることを示す。
実験結果
リサーチクエスチョン
- RQ1深さ/幅を増やすことなく、複数の小さな畳み込みカーネルを動的に組み合わせて表現力を高めるにはどうすればよいか?
- RQ2動的畳み込みにおいてカーネルとアテンションを共同最適化するための効果的な訓練戦略は何か?
- RQ3MobileNet 系列や浅い ResNet のような軽量アーキテクチャに Dynamic Convolution を適用した場合の性能と計算コストのトレードオフは何か?
- RQ4Dynamic Convolution は SE や NAS 派生のアーキテクチャに対して補完的な利点を提供するか?
主な発見
| ネットワーク | パラメータ数 | MAdds | Top-1 | Top-5 |
|---|---|---|---|---|
| MobileNetV2 × 1.0 | 3.5M | 300.0M | 72.0 | 91.0 |
| DY-MobileNetV2 × 1.0 | 11.1M | 312.9M | 75.2 (3.2) | 92.1 (1.1) |
| MobileNetV2 × 0.75 | 2.6M | 209.0M | 69.8 | 89.6 |
| DY-MobileNetV2 × 0.75 | 7.0M | 217.5M | 73.7 (3.9) | 91.3 (1.7) |
| MobileNetV2 × 0.5 | 2.0M | 97.0M | 65.4 | 86.4 |
| DY-MobileNetV2 × 0.5 | 4.0M | 101.4M | 69.9 (4.5) | 89.0 (2.6) |
| MobileNetV2 × 0.35 | 1.7M | 59.2M | 60.3 | 82.9 |
| DY-MobileNetV2 × 0.35 | 2.8M | 62.0M | 65.9 (5.6) | 86.4 (3.5) |
| MobileNetV3-Small | 2.9M | 66.0M | 67.4 | 86.4 |
| DY-MobileNetV3-Small | 4.8M | 68.5M | 70.3 (2.9) | 88.7 (2.3) |
| ResNet-18 | 11.1M | 1.81G | 70.4 | 89.7 |
| DY-ResNet-18 | 42.7M | 1.85G | 72.7 (2.3) | 90.7 (1.0) |
| ResNet-10 | 5.2M | 0.89G | 63.5 | 85.0 |
| DY-ResNet-10 | 18.6M | 0.91G | 67.7 (4.2) | 87.6 (2.6) |
- Dynamic convolution は MobileNetV2、MobileNetV3、ResNet のバックボーン全体で一貫してトップ1精度を向上させ、約 4% の追加 FLOPs で達成。
- ImageNet で、DY-MobileNetV2/0.5 は似た FLOPs で static 65.4% に対し 69.9% top-1(+4.5 ポイント)を達成;DY-MobileNetV3-Small は 70.3% top-1(+2.9 ポイント)に到達。
- CondConv と同様の設定の CondConv と比較して、DY-CNN は各層のカーネル数をより少なく用い、複数の構成でパラメータ数と FLOPs が少ないにもかかわらず高い精度を達成する。
- COCO のキーポイント検出では、バックボーンとヘッドに適用した場合に顕著な AP 改善をもたらす。例として、DY-ResNet-18 および DY-MobileNetV2 は静的な counterparts に対して利得を示す。
- 訓練上の二つの洞察が重要:(1) アテンションの和が 1 になるよう制約して学習を容易にする; (2) 初期エポックではほぼ一様なアテンション(softmax の高温度)を用いて訓練を安定化させ、その後温度を徐々に低下させる(アニーリング)
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。