G検定 転移学習と蒸留

株式会社リュディアです。G検定対策として転移学習と蒸留についてまとめてみます。深いところまで厳密に説明すると大変なことになるので雰囲気をつかんでもらうことを目的とします。厳密性を欠く部分はご容赦ください。

いつものように一言で記載してみます。

転移学習は既に学習済みのモデルを使って別の問題を解くこと

蒸留は既に学習済みのモデルを使ってよりコンパクトなモデルを実現すること

転移学習は学習済みモデルを他の問題に適用することです。よく例にあげられているのは犬の認識を学習したモデルを猫の認識に用いるといったものです。学習済みモデルの中間層をそのまま利用して出力層のみ変更することで他の問題に適用することが多いです。ここで重要なのは中間層の重みづけはそのまま利用するということです。

転移学習のメリットは以下の2つです。
1. 既に学習済であるため新規の学習データの量はデータは少なくてよい
2. 既に学習済であるため新規の学習データによる計算量は少ない

当然といえば当然の帰着ですね。既に学習済みのモデルを使うわけですから。

蒸留は既に学習済みのモデルを使っておりコンパクトなモデルを実現することです。転移学習との大きな違いはコンパクトなモデルの重みづけは再度行うということです。既に学習済みのモデルに入力を与え出力が得られたらその組をコンパクトなモデルに与えて学習させるイメージです。学習済みのモデルを教師モデル、これから学習するコンパクトなモデルを生徒モデルということもあります。既にさまざまな知識を持つ教師にならった方が、生徒が自分自身でゼロから勉強するよりも効率が良いということと似ていますね。

蒸留のメリットは以下の2つです。
1. 精度が向上する可能性がある。教師モデルを超える可能性があります。
2. 教師モデルを複数用意し生徒モデルに適用することで膨大な知識を得る可能性があります。

今回は転移学習と蒸留について簡単にまとめてみました。わかってしまえば内容が異なるのはわかると思うのですが、混乱している方も多いとおもいましたので同列で何が異なるのか、という観点でまとめてみました。

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?