転移学習

転移学習とは

転移学習とは、機械学習分野の技術で、別のタスクで学習された知識を、新しいタスクの効果的な仮説を効率的に見つけ出すために転移する手法です。
よく用いられる転移学習の一種であるドメイン適応は、ある専門領域(ドメイン)で学習したモデルを別の領域に適合させるアルゴリズムです。

例えば、ある畳み込みニューラルネットワークモデルに、動物の画像データを大量に用いて識別タスクを学習させたとします。次に、植物の画像データを学習させるようにしたとき、同じように植物の画像データを大量に用意する必要はありません。

転移学習を用いると、動物の画像データを学習済みのモデルを転用して、少量の植物の画像データを学習させるだけで、植物の識別タスクが出来るようになります。

一般に、教師あり学習などでは大量のデータが必要で、また学習時間も膨大にかかります。
転移学習では、ターゲットドメインのサンプルの分布を、ソースドメインの分布に近付けることで、ソースドメインを使って学習した識別器をターゲットドメインに適用します。
転移学習で学習済みのモデルを転用することで、大量のデータと学習にかかる時間を大幅に削減することができます。

このような転移学習が可能なのは、学習済みのモデルがノード間の重み付けを再利用しており、モデルがすでに特定のドメインのパターン認識に必要な特徴量のポイントを抑えているからだと考えられます。


転移学習の類似の技術には、ファインチューニングが知られています。両者には技術的な違いがあり、転移学習では既存の学習済モデルの重みデータを変更せずそのまま用いるのに対して、ファインチューニングでは既存の学習済モデルの重みデータの一部再学習を行います。
この再学習を行うことで、ファインチューニングではより汎化性能を上げることが出来ます。また、マルチタスク学習も複数の課題をこなす方法ですが、転移学習と異なり、最初から単一のモデルで複数のドメインの課題を解くことを目指します。

機械学習を行う場合、大量のデータを用いて教師あり学習などを行うのが理想ですが、現実世界においては、常に大量のデータが入手可能とは限りません。
また、全く新しいドメインの学習をする機会は限られているため、毎回のように膨大な学習時間をかける必要性もありません。学習時間が限られ、少量のデータしか得られない多くの一般的なケースにおいて、転移学習やファインチューニングは現実的で強力な解決策となり得るでしょう。