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