概要
転移学習というのは、ある領域の知識を別の領域の学習に適用させる学習方法です。
イメージでいうと、以下の感じだと思ってます。
「テスト勉強、何から勉強をしよう…」
「過去問でどんな感じの傾向があるか確認したら、いいかと」
「確かにその方が効率的!」
Point → 転移学習は、学校のテスト勉強する際に自分で0から勉強しないで、過去問をみて勉強して効率的に学習する方法。
特徴
① 学習時間の短縮
同じ分野で十分に学習された学習済みモデルを利用すると、学習する必要もないため、短い時間で可能です。
② 学習済みモデルにより少ないデータでも精度高い
一般的には機械学習では学習データが少ないと精度が悪くなる傾向になりますが、転移学習を使えば、データが少なくても、精度高くなります。
※学習済みモデルと特徴が合致していない場合に転移学習を用いと逆に精度が悪化する事もあります。
ファイングチューニングとの違い
転移学習と同様にファインチューニングという用語があります。
どちらも学習済みのモデルを使用した機械学習の手法です。
その違いは何かみてみます。
- ファインチューニング
学習済みモデルの全ての層の重みを微調整する手法です。
- 転移学習
学習済みモデルの重みは固定し、追加した層のみを使用して学習する手法です。
ファイングチューニングと転移学習のイメージは以下のような形です。
まとめ
今回は、転移学習・ファイングチューニングという既に学習済みのモデルから機械学習するモデルを作るという手法の概要をまとめました。
既に学習済みモデルとしてはImageNet等があります。
色々なところに転移学習は使われているようですので、興味があればもっと深堀りしてもいいかもしれません。