転移学習

Transfer Learning

転移学習とは

転移学習(Transfer Learning)は、あるタスクやドメインで学習した知識を別のタスクやドメインに活用する機械学習の手法です。ディープラーニングにおいては、大規模データセットで事前学習したモデルの重みを初期値として使用し、ターゲットタスクにファインチューニングするアプローチが一般的です。データが少ない場合でも高い性能を実現できる実用的な技術です。

表:転移学習の要点まとめ
ひとことで言うとあるタスクで学んだ知識を、別のタスクに持ち込んで活用する考え方。
何がうれしいか学習データが少なくても、短時間・低コストで実用的な精度が出せる。
注意点元のタスクと差がありすぎると効果が出ない(負の転移)。

転移学習の理論的背景

転移学習が有効に機能する背景には、ニューラルネットワークの階層的な特徴学習があります。CNNの浅い層はエッジや色などの汎用的な特徴を学習し、深い層はタスク固有の高レベルな特徴を学習します。汎用的な特徴は異なるタスク間で共有できるため、事前学習済みの浅い層を再利用することが有効です。ソースドメインとターゲットドメインの類似性が高いほど、転移学習の効果は大きくなります。

図:転移学習の流れ
1元タスクで学習大量の一般画像など
▶
2知識を取り出す特徴抽出部分を流用
▶
3新タスクへ移す自社の判定課題に適用
▶
4少量データで調整数百枚でも実用レベル

※ 中小企業でAIを使うとき、コストを抑える最も現実的な方法の一つです。

転移学習の種類

転移学習にはいくつかの方式があります。特徴抽出(Feature Extraction)では、事前学習モデルの重みを固定し、最終層のみを新しいタスクに合わせて学習します。ファインチューニングでは、全体または一部の層のパラメータを更新します。ドメイン適応(Domain Adaptation)は、異なるドメイン間での分布の違いを解消する手法です。

転移学習の実践的活用

転移学習はコンピュータビジョン、自然言語処理、音声認識などあらゆる分野で広く活用されています。ImageNetで事前学習したResNetやEfficientNetを医療画像診断に転用したり、BERTを法律文書の分析にファインチューニングしたりするなど、専門分野での応用が盛んです。転移学習により、各組織が独自の高性能AIシステムを効率的に構築できるようになりました。