連続学習(継続学習)とは
Continual Learning / 継続学習 / Lifelong Learning
新しいタスクやデータを次々と学習しながら、過去に学習した知識を破壊的に忘れないようにする学習の枠組み
ひとことで言うと
新しいことを学ぶたびに、以前学んだことを忘れてしまわないよう工夫しながら学習を続けていく方法。
概要
連続学習(Continual Learning)とは、モデルが新しいタスクやデータを次々と学習していく状況で、過去に学習した知識やタスクの性能をできるだけ損なわずに、新しい知識を追加で獲得し続けることを目指す機械学習の枠組みを指す。 ニューラルネットワークは新しいタスクを学習する際、そのタスクに合わせてパラメータ全体を更新するため、以前学習したタスクの性能が大きく低下する破滅的忘却(catastrophic forgetting)と呼ばれる問題が起きやすい。 連続学習では、重要なパラメータの変化を抑制する正則化ベースの手法、過去のデータの一部を保持・再学習するリプレイベースの手法、タスクごとにパラメータの一部を割り当てるアーキテクチャベースの手法などにより、この破滅的忘却を緩和しようとする。
歴史
破滅的忘却という現象自体は1989年にMcCloskeyとCohenが指摘したことで知られる。これを緩和する連続学習の手法は2010年代以降、EWC(Elastic Weight Consolidation、2017年、DeepMind)などの提案を通じて活発に研究されるようになった。
利点
- 新しいタスクやデータが逐次到着する実運用環境に対応しやすい
- 過去のデータを全て保持し再学習し直す必要がなく、学習・ストレージのコストを抑えられる
- 破滅的忘却を緩和する各種手法により、複数タスクの性能をある程度両立できる
欠点
- 過去タスクの性能維持と新タスクの学習効率の間にトレードオフがあり、両立が難しい(安定性と可塑性のジレンマ)
- タスクの切り替わりを明示的に検知できない設定では、手法の適用がより難しくなる
- 評価に複数タスクの逐次学習シナリオが必要で、通常の学習より検証コストが高い
比較
- 転移学習 — 転移学習が1つの新タスクへの適応に主眼を置くのに対し、連続学習は複数タスクを次々と学習しながら過去の性能もあわせて維持することを目指す
関連用語
よくある質問
破滅的忘却はなぜ起きる?
ニューラルネットワークは新しいタスクに合わせてパラメータ全体を更新するため、以前のタスクの性能を支えていたパラメータの値が上書きされ、そのタスクの性能が大きく低下してしまう。