転移学習とは
転移学習(Transfer Learning)は、あるタスクやドメインで学習した知識を別のタスクやドメインに活用する機械学習の手法です。ディープラーニングにおいては、大規模データセットで事前学習したモデルの重みを初期値として使用し、ターゲットタスクにファインチューニングするアプローチが一般的です。データが少ない場合でも高い性能を実現できる実用的な技術です。
転移学習の理論的背景
転移学習が有効に機能する背景には、ニューラルネットワークの階層的な特徴学習があります。CNNの浅い層はエッジや色などの汎用的な特徴を学習し、深い層はタスク固有の高レベルな特徴を学習します。汎用的な特徴は異なるタスク間で共有できるため、事前学習済みの浅い層を再利用することが有効です。ソースドメインとターゲットドメインの類似性が高いほど、転移学習の効果は大きくなります。
転移学習の種類
転移学習にはいくつかの方式があります。特徴抽出(Feature Extraction)では、事前学習モデルの重みを固定し、最終層のみを新しいタスクに合わせて学習します。ファインチューニングでは、全体または一部の層のパラメータを更新します。ドメイン適応(Domain Adaptation)は、異なるドメイン間での分布の違いを解消する手法です。
転移学習の実践的活用
転移学習はコンピュータビジョン、自然言語処理、音声認識などあらゆる分野で広く活用されています。ImageNetで事前学習したResNetやEfficientNetを医療画像診断に転用したり、BERTを法律文書の分析にファインチューニングしたりするなど、専門分野での応用が盛んです。転移学習により、各組織が独自の高性能AIシステムを効率的に構築できるようになりました。