機械アンラーニング(Machine Unlearning)が扱う問題はとても具体的です。モデルはすでに特定のデータで学習済みで、今はそのデータを一度も見たことがないかのように振る舞うことが求められます。元のデータファイルを削除しただけではそれは実現しません。データの影響はすでにモデルのパラメーターの中に残っており、モデルはそれを繰り返し口にしたり、利用したりする可能性があるからです。
現在、方法は2つに分かれます。厳密なアンラーニングでは、忘れるべきデータを学習データから取り除き、最初から学習し直します。定義上は最もきれいな結果になりますが、計算コストはしばしば耐えがたいものになります。近似的なアンラーニングでは、既存モデルのパラメーターを直接調整し、その振る舞いを学習し直したモデルにできるだけ近づけます。計算は節約できますが、「近い」がどれほど近いかは、学習し直した参照モデルと比べて検証しなければなりません。
破局的忘却とは別物です
破局的忘却とは、モデルが新しいタスクを学ぶときに古い能力を失ってしまうことです。訓練の副作用であり、どのデータを忘れるべきかは誰も指定しません。一方、機械アンラーニングは明確な削除要求に従います。特定のデータセットの影響を取り除くことが目的で、目標と検証基準は要求の中に書かれています。どちらも「忘れる」に関係しますが、向いている方向はまったく異なります。
「忘れた」ことを検証するのが難しい理由
モデルが何も出力しなくなったことだけを見ても十分ではありません。出力が抑えられているだけで、聞き方を変えればまた答えてしまう可能性があるからです。そのため研究では、アンラーニング後のモデルを学習し直した参照モデルと比較し、忘れるデータと残すデータに対する振る舞いが十分に近いかどうかを確かめることがよくあります。計算を節約する方法の1つは、データを断片に分けて学習し(SISA)、影響を受けた断片だけを学習し直すものです。監査で実際に確認できるのは、多くの場合、どのアルゴリズムが実行されたか、手順が検証可能かどうかであり、「すでに忘れた」という保証が正しいかどうかではありません。
ですから、「モデルはあるデータを忘れた」と聞いたら、まず3つ尋ねてください。忘れるのは具体的にどのデータセットか。厳密に学習し直したのか、近似的な方法か。何を参照して検証したのか。答えられないのであれば、それはせいぜい「積極的に出力しなくなった」にすぎず、モデル内部からの除去ではありません。一般の利用者にとっても、これは次のことを意味します。チャット履歴から一文を削除したり、会話を消去したりすることと、モデルに学習データを忘れさせることは別物です。前者は目の前の記録の問題であり、後者はモデル内部の影響の問題です。