壊滅的忘却とは、ニューラルネットワークが複数の課題を順番に学ぶとき、後の課題を身につける代わりに、前に覚えたことを広範囲に忘れてしまう現象です。出来上がったモデルへ新しい分野のデータで追加の微調整を行うと、新しい課題の成績は上がるのに、得意だった質問応答や分類、ある言語の扱いが目に見えて下がることがあります。増分学習に初めて挑むチームの多くがここでつまずきます。モデルが愚かになったのではなく、学習方法そのものにこの副作用がついて回るのです。
新しいデータが古いパラメータを洗い流す理由
モデルの能力は課題ごとの別の倉庫にしまわれているわけではなく、同じ一組のパラメータ全体に分散しています。追加学習では目的関数が新しいデータの誤差だけを見るため、勾配はパラメータを新しい課題に都合の良い方向へ押し続け、古い位置を守る者はいません。課題同士で使うパラメータの重なりが大きいほど、学習が長く学習率が大きいほど、古い技能は書き換えられます。一枚のホワイトボードを毎回の授業で使い回し、前の内容のための場所を空けておかなければ、消えるのは隅ではなく面全体です。
似て非なる二つの状況との境界
一つ目は普通の汎化不足です。見たことのない問題に答えられないのは、そもそも身についていなかったのであって忘却ではありません。判定基準は厳格で、同じ古い課題が追加学習の前は解け、後では解けなくなり、その落差が今回の学習によるものなら壊滅的忘却です。二つ目は人間の忘却で、通常は緩やかで、復習や連想で取り戻せます。ニューラルネットの忘却は突然起こり得て、一回の学習で課題の正答率がほぼ偶然の水準まで落ちることがあり、だからこそ壊滅的と呼ばれます。
踏みやすい場面
カスタマーサポートのモデルへ新製品の質疑を継ぎ足していくと、旧製品への回答が徐々に下手になります。一つの言語の後に別の言語を猛烈に学習させると、最初の言語の繊細な表現が痩せていきます。ロボットや自動運転のモデルを新しい都市のセンサーデータで再学習させると、旧環境での判断が薄れることもあります。共通点は、データが順番に届き、各回は今のデータだけで採点されることです。全部を混ぜて一度に学習させれば影響は通常ずっと小さく、事前学習でこの問題があまり話題にならず、増分の微調整や継続学習で頻出する理由はここにあります。
対策はそれぞれ一部分を担う
リプレイは最も素朴で一般的な手です。新しいデータへ旧課題のサンプルを混ぜ、復習しながら新しい課を学ぶ形で、代償は旧データの保存と計算量です。正則化の手法は、旧課題に重要だったパラメータへ錠をかけ、変更に罰則を与えます。代表的な考え方が弾性重み固定です。分離の手法は新しい課題に相対的に独立した場所を用意し、少量の追加パラメータ、低ランクの適応モジュール、専用アダプタだけを学習させて本体をほぼ動かしません。実務では小さい学習率、旧サンプルの混合、アダプタのみの学習、そして更新ごとに旧課題の回帰テストを走らせる、といった組み合わせが普通です。
忘却は少なければ良いわけではない
見落とされがちな点もあります。適度な忘却は悪いことばかりではありません。古いデータには古い言い回し、誤ったラベル、すでに廃止された業務ルールが含まれ、それを一切手放さないモデルは新しい知識を取り込めません。防ぐべきは制御できない忘却、つまり重要な技能が知らないうちに、検証もなく洗い流されることです。工学上の要点は忘却ゼロを求めることではなく、増分学習のたびに固定した旧課題のテストで測り直し、落差が許容範囲内のときだけ公開することです。