ディープラーニングの様々なモデルについて。
目次
学習済みモデル
- 超深層なネットワークが組めるようになった一方、学習に必要な計算量も莫大になっている
- ディープラーニングを用いて予測を行う場合に必要なのは、あくまで”最適化されたネットワークの重み”=「学習済みモデル(事前学習済みモデル)」
- ImageNetで学習済みモデルは公開されており、誰でも利用することができる
- 事前学習済みモデルを利用すれば、あとは実際に利用したいデータを少し学ばせれば済む
転移学習
- 「転移学習」→出力層だけ初期化して学習
- 最後の出力層を、適用したい問題のクラス数になるよう、新たに出力層を変更して学習
- その手前の複数の全結合層などを追加する場合もあり。
ファインチューニング
- 「ファインチューニング」→モデルのすべての重みを更新するよう学習
- 転移学習では追加層のみ学習だが、適用したい問題によってはそれだけでは不十分であることから、ファインチューニングが求められる
少量データでの学習
- 「Few-shot学習」→少数の例題で学習する方法
※「MAML(Model-Agnostic Meta-Learning)」→「メタ学習」
→モデルの重み自体を更新するのではなく、モデルの重みをどのように更新すればよいかを学習(=学習方法自体を学習) - 「One-shot学習」→1つの例題で学習する方法
※モデルの重みなどのパラメータは更新しない - 「Zero-shot学習」→例題を与えずに指示だけを出す方法
半教師あり学習
- 「半教師あり学習」→正解のついていないデータも学習に利用する方法
→正解のついているデータを利用して学習を行い、正解のついていないデータを評価、その結果を元に「擬似的な正解」をつけて、学習に利用できるデータを増やす - どのようにしてより正しい疑似的正解をつけるのか、より正しいデータを選択できるのか
- 正しくない擬似的正解を利用すると、精度が低下する原因となる
- 「一致性正則化(Consistency regularization)」→変化前と変化後のデータ間の差を最小化する考え方
→データにノイズを加えた変換後データと、変換前データをモデルに入力したら同じような出力になるべき - 「FixMatch」→擬似的正解ラベルと一致性正則化を組み合わせて精度を高めている
→弱いデータ拡張を行った入力に対する擬似的正解を作成し、強いデータ拡張を行った入力に対する出力と疑似的正解との間で、一致性正則化を求める
自己教師あり学習
- 「自己教師あり学習」→データに対する正解を利用せずに学習
- 「プレテキストタスク」という、人があらかじめ設定した問題を学習
- 画像認識分野→入力データに異なるデータ拡張を施してモデルに入力し、モデルが出力する特徴が類似するように学習
(一致性正則化と同じ原理) - 下流タスクと呼ばれる目的の問題のデータを用いてファインチューニングされる
継続学習
- 転移学習・ファインチューニングにより、事前学習済みモデルを、特定問題に適用できる
- 「継続学習」→認識したいクラス・認識したい環境(ドメイン)が変わっていく場合など、適用範囲が広がるごとに学習を行う
- 「破壊的忘却」→継続学習では、過去に学習した蔵を正しく認識できない