Open keimoriyama opened 2 years ago
author
link
A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning
知識蒸留によって,大きな教師モデルから小さな生徒モデルに対して知識を移すアプローチが取られるようになってきた.
この知識をどのように定義するかによってモデルのパフォーマンスは大きく変化する.
新しい中間表現(知識)の計算方法について提案されてあった.
この知識を各レイヤーごとに近づけるように学習することで,教師が推論するプロセスを蒸留しようというアプローチになっている
また,この手法において蒸留をするメリットが調べられていた
蒸留における利点で調べられていたのは以下の3つ
式1に示す特徴マップ(のようなもの)を計算して,これを近づけるように学習する.
やっていることとしては,2つのレイヤーの畳み込み演算の結果からそれを幅と高さ方向に掛け合わせるということをやっている
損失関数は式2のとおり
式1で計算した特徴マップのようなものを近づけるように損失を計算する
提案手法を適用する際の蒸留のアーキテクチャはこんな感じ
学習アルゴリズムはこう
生徒モデルに対して教師がある場合とない場合で最適化にかかるステップ数を調べたところ,1/3ステップに抑えることができた
CIFAR-10に対するパフォーマンスの比較はこんな感じになっている.
1 loss FitNetは一つの中間表現のみを使うFitNet,3 loss FitNetは3つの中間表現を使うFitNetになっている
提案手法のモデルの精度が良いことがわかる
A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning
author
link
A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning
背景:なぜその問題を解決したいのか
知識蒸留によって,大きな教師モデルから小さな生徒モデルに対して知識を移すアプローチが取られるようになってきた.
この知識をどのように定義するかによってモデルのパフォーマンスは大きく変化する.
目的:どういう問題を解決したのか
新しい中間表現(知識)の計算方法について提案されてあった.
この知識を各レイヤーごとに近づけるように学習することで,教師が推論するプロセスを蒸留しようというアプローチになっている
また,この手法において蒸留をするメリットが調べられていた
蒸留における利点で調べられていたのは以下の3つ
提案:解決に向けたキーアイデアは何か
式1に示す特徴マップ(のようなもの)を計算して,これを近づけるように学習する.
やっていることとしては,2つのレイヤーの畳み込み演算の結果からそれを幅と高さ方向に掛け合わせるということをやっている
損失関数は式2のとおり
式1で計算した特徴マップのようなものを近づけるように損失を計算する
提案手法を適用する際の蒸留のアーキテクチャはこんな感じ
学習アルゴリズムはこう
結果:結局問題は解決されたのか.新しくわかったことは?
生徒モデルに対して教師がある場合とない場合で最適化にかかるステップ数を調べたところ,1/3ステップに抑えることができた
CIFAR-10に対するパフォーマンスの比較はこんな感じになっている.
1 loss FitNetは一つの中間表現のみを使うFitNet,3 loss FitNetは3つの中間表現を使うFitNetになっている
提案手法のモデルの精度が良いことがわかる