【てんいがくしゅう】

転移学習 とは?

最終更新:
💡 学んだ特徴を、新しい課題へ持っていこう

あるタスクなどで学習したモデルの知識や表現を、別の関連するタスクに再利用する方法。学習済み部分を固定して新しい分類器を学ぶ方法や、重みの一部を調整するファインチューニングなどがある。効果は元の学習と新しいデータの関係で変わる。

📌 このページのポイント
転移学習:特徴を再利用する例学習済みモデル新しいタスク画像の特徴学習済みの重み特徴を再利用この部分は固定新しい分類器猫・犬を学習新しい学習データ学んだ後は、未使用のデータで評価
学習済み部分を固定して新しい分類器を学ぶ「特徴抽出」の例。青は再利用する部分、橙は新しく学ぶ部分とデータ。ファインチューニングでは元の重みの一部なども調整する。性能向上は新しいデータで確認する。
ひよこ ひよこ
前に学んだモデルを、別の仕事にも使える?
ペンギン先生 ペンギン先生
関連するタスクで学んだ特徴の捉え方などを再利用するのが転移学習だよ。たとえば多くの画像で学習したモデルを、猫と犬を分けるモデルの土台に使う。ゼロから全部を学び直さずに済む場合があるんだ。
ひよこ ひよこ
元のモデルを、そのまま使うだけ?
ペンギン先生 ペンギン先生
新しいタスクに合わせて、分類器などを付けて学ぶ方法があるよ。図では画像の特徴を取り出す部分を再利用し、その出力から猫・犬を判別する新しい分類器を学ぶ。これを特徴抽出として使う方法と呼ぶね。
ひよこ ひよこ
凍結するって、モデルを動かせなくするの?
ペンギン先生 ペンギン先生
学習中にその部分の重みを更新しない、という意味だよ。特徴を計算する処理は動く。図の青い部分を固定し、橙の分類器だけを学習するなら、学習済みの重みを保ちながら新しい仕事へ適応できるんだ。
ひよこ ひよこ
ファインチューニングとは、どう違う?
ペンギン先生 ペンギン先生
転移学習の方法の一つとして、元のモデルの一部なども更新して調整できるよ。TensorFlowの例では、まず新しい分類器を学び、その後に元の上位層も調整する。全層を必ず更新する、という定義ではないんだ。
ひよこ ひよこ
データが少なくても、高精度になるの?
ペンギン先生 ペンギン先生
必ずではないよ。元の学習内容と新しいタスクの関係、データの質、学習方法などで変わる。学習に使っていないデータで性能を確かめよう。データが少ないと過学習にも注意し、元の知識を壊さないよう調整することが大切だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「転移学習」って出てきたら「学習済みモデルの知識を、新しい課題に再利用する方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Transfer Learning」 = 転移学習
💬 transferは移すこと。すでに学んだ表現や知識を、新しいタスクへ再利用するイメージだよ。

参考資料

← 用語集にもどる