転移学習 (G検定)

転移学習

1. 定義と概要

転移学習(Transfer Learning)とは、あるタスクや領域で学習済みのモデルが獲得した知識を、別の関連するタスクや領域に転用し、新たな学習に活かす手法です。知識の元になる、すでに学習を終えたタスクや領域を転移元(ソースドメイン)、知識を活用したい新しいタスクや領域を転移先(ターゲットドメイン)と呼びます。

具体例としては、大量の自然画像で学習済みの画像分類モデル(入力された画像を、あらかじめ決めた種類ごとに仕分けるモデル)を、少量しかない医療画像データセットの病変分類タスクへ転用するケースが挙げられます。この場合、自然画像で身につけた輪郭や模様の捉え方が、そのまま医療画像を見る土台として働きます。

従来の機械学習では、新しいタスクが登場するたびにモデルをゼロから設計・学習するのが基本でした。高精度なモデルを一から学習させるには大量のラベル付きデータと計算リソースが必要で、個別の現場ごとにそれらをすべて揃えるのは容易ではないという課題があります。

ImageNetのような大規模データセットで事前学習(あらかじめ大量のデータで学習させておくこと)された高性能モデルが公開・共有されるようになったことを背景に、その知識を別タスクへ転用する転移学習が広く使われるようになっています。学習の出発点を他者の成果から借りられるようになった、という変化です。

2. 試験対策ポイント

転移学習とファインチューニングの関係は、取り違えやすい論点です。転移学習は学習済みモデルの知識を別タスクへ転用する手法全体を指す上位概念として整理され、ファインチューニングはその実現方法の一つという整理が一般的です。ただし文献によって両者の呼び分け方には揺れがあり、この揺れ自体が転移学習の理解を左右する部分でもあります。

学習済みモデルの使い方には、大きく二通りがあります。中間層(入力層と出力層の間にあり、特徴を処理する層)の重みを固定するか、更新し直すかという軸で整理すると、次のように対応します。

使い方 中間層の重み 学習させる部分
特徴抽出器(画像や文章から判断に役立つ特徴を取り出す学習済みモデルの部分)として使う 固定したまま動かさない 新しいタスク用に付け替えた出力層(最終的な答えを出す層)だけ
ファインチューニングとして使う 中間層を含めて更新し直す 学習済みの重みを出発点に、モデル全体を新しいタスクへ合わせ直す

重みを固定する使い方は、学習済みモデルが身につけた特徴の捉え方をそのまま借りる形になり、手を入れる範囲が出力層だけで済みます。重みを更新する使い方は、転移先のデータに合わせてモデルの内側まで作り替える分だけ、適応の幅が広がります。

転移学習の利点は、学習済みモデルがすでに汎用的な特徴を捉えているため、ゼロから学習する場合よりも少ない学習データ・短い学習時間で高い精度に到達しやすい点です。ラベル付きデータの収集コストが高い現場ほど効果を発揮します。

一方で、転移元と転移先の関連性が低い場合や適用方法が適切でない場合には、転移によってかえって性能が低下することがあります。この現象は負の転移(転移元と転移先の関連性が低いなどの理由で、知識の転用がかえって性能を下げてしまうこと)と呼ばれ、転移学習の適用場面で見落としやすい点です。

3. 関連概念との比較・相違点

転移学習は、学習済みの成果を活かす他の枠組みと並べると位置づけがはっきりします。まず、それぞれが何をする手法で、転移学習とどの軸で分かれるのかを整理します。

概念 どんな手法か 転移学習との違いの軸
ファインチューニング 学習済みモデルのパラメータを新しいタスクのデータで更新し直す手法 上下の関係(枠組み全体か、その実現方法の一つか)
蒸留 大きな教師モデルの知識を、小さな生徒モデルに学習させて引き継がせる手法 目的(タスクを変えるか、変えずに軽量化するか)
メタ学習 個別のタスクを解くのではなく、学習の仕方そのものを学習する枠組み 狙い(個別タスクへの適応か、学習の仕方の獲得か)
マルチタスク学習 関連する複数の課題を1つのモデルに同時に覚えさせる学習方法 学習の順序(順番に適応させるか、同時に学習させるか)

ファインチューニングとの関係は、上位概念と実現方法という点にあります。ただし文献によって境界の引き方には揺れがあり、両者を厳密に区別せず、まとめて説明している教材も少なくありません。

蒸留は、同じタスクのままモデルサイズを圧縮する手法です。学習済みモデルの知識を別タスクへ転用する転移学習とは、扱うタスクを変えるか、変えずに軽量化するかという点で狙いが分かれます。

メタ学習は、多数のタスクを通じて学習の仕方そのものを学習する枠組みです。1つの大規模タスクで事前学習したモデルを個別タスク向けに再調整する転移学習とは、目指しているものが別のところにあります。

マルチタスク学習は、複数のタスクを1つのモデルで同時に学習させます。事前学習したモデルを転移先タスクへ順番に適応させる逐次的な流れの転移学習とは、学習を進める順序が異なります。

4. ビジネス・実務での活用シナリオ

医療画像診断の現場では、大規模な自然画像データセットで事前学習された画像分類モデルを、少量のCT・MRI画像データでファインチューニングする取り組みが進んでいます。専門医によるラベル付けデータが少なくても、短期間で病変検出モデルを構築できる点が意義です。

製造業の外観検査では、汎用の物体認識モデルの中間層を固定し、自社製品の少数の不良品画像だけで出力層を再学習させる方法が採られています。新製品ラインの検査モデルをゼロから作るより短期間・低コストで立ち上げられる点が、転移学習ならではの効果です。

自然言語処理(人間が使う言葉をコンピュータに処理させる技術)を使うカスタマーサポートの分野があります。ここでは、事前学習済みの大規模言語モデル(大量の文章データを学習し、人間のような文章を生成・理解できるモデル)を自社のFAQデータでファインチューニングする活用が広がっています。専門用語や社内固有の言い回しに対応したチャットボット(利用者と自動で対話するプログラム)を、少ないデータで構築できる点が実務上の利点です。

5. 要点まとめ

  • 転移学習は、あるタスクで学習済みのモデルの知識を別の関連タスクに転用する手法で、少ないデータで高い精度を得やすい点が利点です。
  • ファインチューニングは転移学習の実現方法の一つとして整理されることが多く、重みを固定して使う特徴抽出器としての使い方と、重みを更新し直す使い方の違いを押さえておきたいところです。
  • 転移元と転移先の関連性が低いとかえって性能が下がる負の転移が起こりうる点、蒸留・メタ学習・マルチタスク学習との違いもあわせて整理しておきたいポイントです。

6. 確認問題

問1転移学習の利点として、学習済みモデルがすでに獲得した特徴を活用できるため、新しいタスクの学習に必要なデータ量を少なく抑えられる点が挙げられる。

解答・解説をみる

○ 正しい

学習済みモデルがすでに汎用的な特徴を捉えているため、ゼロから学習するよりも少ない学習データで高い精度に到達しやすい点が転移学習の代表的な利点です。ラベル付きデータの収集コストが高い現場ほど効果を発揮します。

問2転移学習では、学習済みモデルの中間層の重みを固定して使う特徴抽出器としての利用は認められておらず、必ずすべての層の重みを更新し直す必要がある。

解答・解説をみる

× 誤り

正しくは、中間層の重みを固定し出力層だけを付け替える特徴抽出器としての使い方も一般的な方法の一つです。重みを含めて更新し直すのはファインチューニングの使い方にあたります。

問3転移元のタスクと転移先のタスクの関連性が低い場合、転移学習によってかえって性能が低下する現象を負の転移と呼ぶ。

解答・解説をみる

○ 正しい

負の転移は、転移元と転移先の関連性が低い場合や適用方法が適切でない場合に、転移によってかえって精度が悪化する現象です。転移学習を適用する際に留意すべき論点として整理されています。