要点まとめ・第6章 ディープラーニングの応用例
転移学習・ファインチューニング(シラバス 技術31)
学習目標
大量のデータで先に学習したモデルを別の課題に使い回す転移学習とファインチューニングの考え方を理解し、事前学習を支える自己教師あり学習や半教師あり学習、少ない例で課題をこなすFew-shot・One-shot、学習し直すときに起こる破滅的忘却を説明できるようにします。
要点
ゼロから学習させない理由
自社の課題のために、ディープラーニングのモデルをゼロから学習させるのは大変です。大量のデータと長い計算時間が要るからです。そこで、大量のデータであらかじめ学習させる事前学習を行い、できあがった事前学習済みモデルを別の課題に使い回します。
たとえば、大量の一般画像で学習したCNNの入力に近い層は、輪郭や模様など、どの画像にも役立つ特徴をとらえています。この汎用的な特徴を生かせば、自社の製品画像が数百枚しかなくても、実用的な精度を目指せます。
転移学習とファインチューニング
多くの場合、どちらも元の出力層を新しい課題用に付け替えるところから始めます。違いは、事前学習済みの重みを動かすかどうかです。
| 方法 | 事前学習済みの重み | 学習する部分 | 向く場面 |
|---|---|---|---|
| 転移学習(狭い意味) | 固定する | 付け替えた出力層だけ | データがかなり少ない |
| ファインチューニング | 小さく調整する | 一部の層または全体 | ある程度データがある |
広い意味では、両方をまとめて転移学習と呼びます。
事前学習を支える学習の枠組み
- 自己教師あり学習:データ自身から正解を作って学習します。文の一部の語を隠して当てさせる、続きの語を予測させる、といった方法です。人手のラベルが要らないので、大量のデータで事前学習できます。BERTやGPT系のモデルもこの方法で事前学習しています。画像では、同じ画像から作った2つの加工画像の特徴を近づける対照学習(SimCLRなど)が知られています。
- 半教師あり学習:少量のラベル付きデータと、大量のラベルなしデータを組み合わせます。たとえば、ラベル付きデータで学習したモデルの予測を、ラベルなしデータの仮の正解にして学習に加えます。
少ない例で課題をこなす
- One-shot:例を1つだけ使います。顔写真を1枚登録するだけで本人を見分ける顔認証が典型です。
- Few-shot:例を数個だけ使います。
大規模言語モデルでは、指示文の中に例を数個示すだけで新しい課題をこなせることが、2020年のGPT-3の論文で示されました。このときモデルの重みは更新しません。例を1つも示さないZero-shotは、マルチモーダルの項目で扱います。
破滅的忘却
新しい課題を学習させると、事前学習で身につけた能力や、前に学んだ課題の性能が大きく落ちることがあります。これが破滅的忘却です。学習率を小さくする、一部の層を固定する、前の課題のデータを混ぜて学習する、前の課題で重要だった重みを変えにくくする(EWC)、などで和らげます。
つまずきやすい点
- 狭い意味の転移学習は事前学習済みモデルの重みを固定し、付け替えた出力層だけを学習する。ファインチューニングは事前学習済みの重みも含めて学習し直す。広い意味では両方をまとめて転移学習と呼ぶ点
- 自己教師あり学習はデータ自身から正解を作るので人手のラベルを使わず、半教師あり学習は少量のラベル付きデータと大量のラベルなしデータを組み合わせる点
- 大規模言語モデルへの指示に例を数個添えるFew-shotではモデルの重みは更新されず、追加のデータで重みを学習し直すファインチューニングとは別物である点
- 破滅的忘却は新しい課題を学ぶと前に学んだ課題の性能が落ちる現象で、学習データに合わせすぎて未知のデータで外れる過学習とは別の問題である点
シラバスのキーワード
シラバス第1.4版に載っている語をすべて並べています。色のついた語は用語集で解説しています。「2問」などの数字は、その語を扱う練習問題の数です。
練習問題
- #0077 少量データでの事前学習済みモデル活用 難易度 基礎・単一選択 未回答 付箋
- #0078 事前学習に関わる学習の枠組み 難易度 基礎・単一選択 未回答 付箋
- #0236 破滅的忘却を抑える工夫 難易度 標準・単一選択 未回答 付箋
- #0428 自己教師あり学習の事前タスク 難易度 標準・単一選択 未回答 付箋
- #0429 疑似ラベルによる半教師あり学習 難易度 応用・単一選択 未回答 付箋
- #0430 Few-shotとファインチューニング 難易度 基礎・単一選択 未回答 付箋
復習の時期が来た問題と、まだ解いていない問題から順に出題します。
混同しやすい用語
この項目の関連用語
この項目を読み終えたら
読んだ項目にチェックをつけると、学習ガイドの目次に記録されます。
前後の項目
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目31 転移学習・ファインチューニング)
- Jason Yosinski, Jeff Clune, Yoshua Bengio, Hod Lipson, How transferable are features in deep neural networks? (2014)
- Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (2018)
- Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton, A Simple Framework for Contrastive Learning of Visual Representations (2020)
- Tom B. Brown et al., Language Models are Few-Shot Learners (2020)
- James Kirkpatrick et al., Overcoming catastrophic forgetting in neural networks (2016)