クラス間の類似度といった情報が含まれうるため、生徒モデルの効果的な訓練に有効だと一般に考えられています。したら犬クラスにも相当の値を持つ出力をするかもしれません。魚クラスの値は非常に小さくなり、車クラスに至っては値はほとんど0となるかもしれません。した類似度に関する情報によって、生徒モデルはクラス間で共通の特徴表現を効果的に獲得でき、そうした特徴表現のためにより汎化した性能を示すことが可能であると考えられます。教師モデルに蓄積された知識は、このような形で出力に表れ、それを利用することで生徒モデルに効果的に知識を継承させるというのが、蒸留の基本的なコンセプトとなります。蒸留の発展モデル圧縮の方法の1つとして蒸留が有効であること、また蒸留がどのようになされ、効果を発揮するのかという枠組みを以上で説明しました。この枠組みを基本として、蒸留はモデル圧縮以外の目的にも発展しています。以下で、その発展の例をいくつか見ていきたいと思います。モデルの性能を向上させられることが報告されています。(どのようなモデルをどのようなデータに対してどのように訓練するか)。アーキテクチャが考案されてきました。訓練方法について、精度向上に有用な手法を提供します。蒸留によるデータ利用の改良。利用可能なデータが増えればモデルの性能を向上させることが可能です。正解ラベルのある形で大規模にデータを収集することは高コストであるため、正解ラベルなしデータを上手く活用することで性能を向上させたいところです。いう手法が提案されています。複数の変換を施した画像を教師モデルに入力、各変換画像に対して得られる教師モデルの出力を平均することで、生徒モデルを訓練するための正解ラベルを得ます。正解ラベルなしデータを正解ラベルありデータに追加して利用することで、正解ラベルありデータのみでの教師あり学習以上の精度が得られることが報告されており、すなわち、データ蒸留が精度向上に有効であることが示されています。2017]このデータ蒸留という手法は、正解ラベルありデータに加えて正解ラベルなしデータを使用するという点で、半教師あり学習と類似した問題設定を扱っています。実際、半教師あり学習の一手法と位置付けることもできます。半教師あり学習では、訓練データに十分な正解ラベルありデータが存在しないため、正解ラベルなしデータを上手く活用したい、という点に問題設定の主眼が置かれています。データ蒸留では、訓練データにある程度十分な正解ラベルありデータがすでに存在するが、正解ラベルなしデータを利用してさらなる精度向上を目指したい、という点に問題設定の主眼が置かれています。以下に、半教師あり学習とデータ蒸留を比較しつつまとめます。蒸留による訓練方法の改良。蒸留によって性能を損なわずに軽量なモデルが得られることをはじめに見てきました。ディープラーニングでは性能向上のためにしばしばモデルを大規模にしますが、では、蒸留において大規模なモデルに対して知識の継承をしたらどうなるのでしょうか。蒸留によって、モデルやデータについてさほど工夫することなく、ある意味”お手軽に”モデルの性能を向上させることができます。(例えば、猫と識別するだけでなく、その種類まで識別する、等)。このタスクをナイーブに解こうとすると、単に膨大なクラス数を分類する教師あり学習になりますが、大規模なモデルが必要となり、訓練が難しくなります。した粒度が小さくクラス数が多い複雑なタスクに対するより良いアプローチとして、データセットの意味的な構造を活用して、階層的に分類をおこなうというアプローチは有効そうです。大カテゴリに対応するような大雑把な分類をした後に、その大雑把な分類の中で詳細に分類するという2段階分類をおこなうということです。それぞれ独立に訓練します。蒸留の段階では、それら各専門家モデルの出力を総合して、また別個の生徒モデルを訓練します。個別の専門的知識を、蒸留のプロセスによって上手くまとめあげていると言えます。2017]いずれも、データの意味的な階層構造を捉えて問題にアプローチしていますが、階層的アプローチは、タスクに合わせて、階層性を持つ複雑なネットワークアーキテクチャを設計しなければなりません。このため、階層的アプローチは、構造の複雑さに起因する困難さを軽減するために、場合によっては訓練や推論の仕方を工夫する必要があります。階層的なアーキテクチャを設計する必要がなく、モデルの構造をシンプルに保つことが可能です。生徒モデルは蒸留という特別な方法で訓練しなければなりませんが、専門家モデルの訓練は各大カテゴリにおける通常の教師あり学習です。蒸留で最終的に得られる生徒モデルは通常の畳み込みニューラルネットワークの構造をしているため、推論の仕方を工夫する必要は通常はないと言えます。蒸留によって複雑なタスクをこなすモデルを効率的に訓練するというコンセプトは、強化学習においても見られます。いう手法が提案されています。この手法では、強化学習タスクの達成に必要な多様なスキルを、教師方策から生徒方策に蒸留します。対する防御ディープラーニングは幅広い分野で高い性能を示していますが、課題もあります。Attack)という外部からの攻撃に脆弱であることが報告されています。画像認識モデルに対して敵対的に生成された摂動が画像に加えられることによって、誤識別が誘発されるという問題です。蒸留によって、入力に対する出力の勾配を抑えられ、入力の近傍における出力を頑健にできるため、と考えられています。以上述べてきた蒸留について、対象とする課題を主軸に、蒸留以外の手法も含めて整理してみます。Distillation)このように、蒸留ではモデル圧縮をはじめとしてさまざまな課題を対象としていることが改めて見てとれます。効果的な訓練、敵対的生成に対する防御といったさまざまな応用領域を俯瞰的に見てきました。次回以降、蒸留の各手法について、具体的な研究を参照して、詳細に紹介する予定です。