[論文レビュー] Be Your Own Teacher: Improve the Performance of Convolutional Neural Networks via Self Distillation
自己蒸留を導入する。深いネットワーク部が同一モデル内の浅い部を指導するトレーニングフレームワークで、推論コストを増やすことなく精度を向上させる。CIFAR100 で平均精度が約2.65%向上し、深さ適応推論を可能にする。
Convolutional neural networks have been widely deployed in various application scenarios. In order to extend the applications' boundaries to some accuracy-crucial domains, researchers have been investigating approaches to boost accuracy through either deeper or wider network structures, which brings with them the exponential increment of the computational and storage cost, delaying the responding time. In this paper, we propose a general training framework named self distillation, which notably enhances the performance (accuracy) of convolutional neural networks through shrinking the size of the network rather than aggrandizing it. Different from traditional knowledge distillation - a knowledge transformation methodology among networks, which forces student neural networks to approximate the softmax layer outputs of pre-trained teacher neural networks, the proposed self distillation framework distills knowledge within network itself. The networks are firstly divided into several sections. Then the knowledge in the deeper portion of the networks is squeezed into the shallow ones. Experiments further prove the generalization of the proposed self distillation framework: enhancement of accuracy at average level is 2.65%, varying from 0.61% in ResNeXt as minimum to 4.07% in VGG19 as maximum. In addition, it can also provide flexibility of depth-wise scalable inference on resource-limited edge devices.Our codes will be released on github soon.
研究の動機と目的
- CNN の accuracy-critical アプリケーションにおける計算量の削減と精度向上を動機づける。
- 同一ネットワークを浅いセクションに分類器として分割して自己蒸留を行うフレームワークを提案する。
- 追加の推論コストなしにさまざまなアーキテクチャとデータセットで精度を改善することを示す。
- リソース制約デバイスでのスケーラブルな深さ適応推論の利点を示す。
提案手法
- 対象 CNN を深さに対応する複数の浅いセクションに分割する。
- 各セクションの後にボトルネックと全結合分類器を追加する(訓練時のみ)。
- 最も深い分類器(教師)から蒸留される学生としてすべての浅い分類器を訓練する。
- 各浅い分類器に対して3つの損失源を使用する: (1) ラベルとのクロスエントロピー, (2) 浅い分類器と最深分類器の KL 発散, (3) ボトルネック層を介して浅いと最深の特徴マップを揃える L2 ヒント損失。
- 各分類器の損失の和を最適化し、alpha と lambda で3つの監督信号を調整する。最深分類器はラベル監督のみを用いる。
実験結果
リサーチクエスチョン
- RQ1自己蒸留は推論コストを増やさずに異なる CNN アーキテクチャとデータセットで精度を改善するか?
- RQ2浅い分類器は最深分類器の蒸留の恩恵を受けられるか、これが全体のモデル性能と訓練効率にどう影響するか?
- RQ3自己蒸留は従来の蒸留法や深層監督付きネットと比べて、精度・訓練時間・エッジデバイスでの実用性の点でどうか?
- RQ4本手法はリソース制約環境に適したスケーラブルな深さ認識推論を実現するか?
主な発見
| ニューラルネットワーク | ベースライン | 分類器 1/4 | 分類器 2/4 | 分類器3/4 | 分類器 4/4 | アンサンブル |
|---|---|---|---|---|---|---|
| VGG19(BN) | 64.47 | 63.59 | 67.04 | 68.03 | 67.73 | 68.54 |
| ResNet18 | 77.09 | 67.85 | 74.57 | 78.23 | 78.64 | 79.67 |
| ResNet50 | 77.68 | 68.23 | 74.21 | 75.23 | 80.56 | 81.04 |
| ResNet101 | 77.98 | 69.45 | 77.29 | 81.17 | 81.23 | 82.03 |
| ResNet152 | 79.21 | 68.84 | 78.72 | 81.43 | 81.61 | 82.29 |
| ResNeXt29-8 | 81.29 | 71.15 | 79.00 | 81.48 | 81.51 | 81.90 |
| WideResNet20-8 | 79.76 | 68.85 | 78.15 | 80.98 | 80.92 | 81.38 |
| WideResNet44-8 | 79.93 | 72.54 | 81.15 | 81.96 | 82.09 | 82.61 |
| WideResNet28-12 | 80.07 | 71.21 | 80.86 | 81.58 | 81.59 | 82.09 |
| PyramidNet101-240 | 81.12 | 69.23 | 78.15 | 80.98 | 82.30 | 83.51 |
- 自己蒸留は CIFAR100 で平均 2.65% の精度向上をもたらし、測定したネットワークの範囲は 0.61%(ResNeXt)から 4.07%(VGG19)である。
- ImageNet では、評価されたネットワーク全体で平均精度向上は 2.02% である。
- より深いネットワークは自己蒸留からより多くの利益を得る傾向がある(例:ResNet101/152 でより大きな利得)。
- 自己蒸留は深さベースの推論をスケーラブルにサポートし、推論時に浅い分類器を使用することで意味のある速度アップを、精度の小さなトレードオフとともに達成する。
- 従来の蒸留と比べ、自己蒸留は別個の教師モデルを必要とせず、しばしば同等またはそれ以上の精度向上を提供し、訓練時間も短縮されることが多い(CIFAR100 実験では 4.6x 速)。
- 自己蒸留で訓練された浅い分類器は、深層監督を介して訓練された分類器よりも優れた性能を全ての報告ケースで示す。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。