読み方 : じょうりゅう

蒸留【distillation】

概要

蒸留とは、機械学習において、複雑な大規模モデルが持つ知識を、より小規模なモデルに移転する手法。モデルの精度を維持しながら軽量化や高速化を行うことができる。
蒸留のイメージ画像

深層学習では高い精度を得るために多数のパラメータを持つ大規模モデルを用いられることが多いが、計算資源や推論時間の制約から、そのままでは実運用には適さない場合がある。蒸留を行うことで遜色ない性能の軽量なモデルを得ることができ、スマートフォンエッジデバイスといった資源の限られた環境で動作させることができるようになる。

蒸留では、まず通常の学習手法で高性能な「教師モデル」を構築し、その出力を手がかりとして、小さな「生徒モデル」を学習させる。生徒モデルは、正解ラベルだけでなく、教師モデルが出力する各クラスに対する予測確率の分布を模倣することで、教師モデルが捉えたデータ間の微妙な関係性や不確実性を学習する。

例えば、画像分類タスクで教師モデルがある画像を「犬」と判定する際、内部的に「犬85%、猫10%、狐5%」と判断していれば、この数値自体がデータ間の類似性を示す重要な知識となる。生徒モデルはこの詳細な確率分布を模倣することで、最終的な出力(正解ラベル)だけでは得られない高度な判断基準を効率的に吸収する。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。