影響関数は、ロバスト統計学に由来する手法であり、機械学習に応用されて、個々の訓練例がモデルの予測に与える影響を定量化するために用いられる。訓練済みモデルと特定のテスト点が与えられたとき、影響関数は、特定の訓練例を削除または重み付けした場合に、そのテスト点に対するモデルの予測がどれだけ変化するかを示す数値スコアを計算する。これにより、モデルの挙動を訓練データに帰属させる原理的な方法が提供され、誤ラベルデータの特定、データセットのバイアス検出、予測の説明などのタスクを支援する。
この概念は古典的な統計学に起源を持ち、影響関数はデータ分布の摂動に対する推定量の感度を測定するために開発された。現代のMachine learningの文脈では、影響関数は、大規模モデルでは実行が不可能なほど高コストな一つ抜き再訓練の計算効率的な近似を提供する。訓練損失の逆ヘッセ行列を用いることで、影響関数はモデルを再訓練することなく、訓練点の重みの微小変化の影響を推定できる。
数学的定式化
標準的な定式化では、n個の訓練点に対する経験損失を最小化して訓練されたモデルをパラメータθで表す: θ̂ = argmin_θ (1/n) Σ L(z_i, θ)。ここで、Lは損失関数、z_iはi番目の訓練例である。訓練点z_iの重みを微小量εだけ増加させたときの影響は、最適パラメータのεに関する微分で与えられる: dθ̂/dε = -H^{-1} ∇_θ L(z_i, θ̂)。ここで、Hはθ̂における平均損失のヘッセ行列である。z_iがテスト点z_testの損失に与える影響は、∇_θ L(z_test, θ̂)ᵀ dθ̂/dεとして計算される。
この式は、損失が二回微分可能であり、ヘッセ行列が可逆であることを仮定しているが、これはReLU活性化を持つNeural networkのような非平滑モデルでは成立しない場合がある。実際には、減衰ヘッセ行列や確率的推定を用いた近似が使用される。この手法は、2017年にPang Wei KohとPercy Liangによる論文で機械学習コミュニティに広く知られるようになり、データデバッグとモデル解釈における有用性が示された。
データデバッグへの応用
影響関数の主な応用の一つは、モデルの性能に不釣り合いに大きな影響または負の影響を与える訓練例を特定することである。例えば、モデルがテスト点を誤分類した場合、影響関数はその誤分類への寄与に基づいて訓練例をランク付けできる。上位にランク付けされた例は、多くの場合、誤ラベルまたはノイズの多いデータ点である。これらの影響力のある点を削除または修正することで、実務者は最小限の手動検査でモデルの精度を向上させることができる。
KohとLiangの実験では、影響関数がMNISTやCIFAR-10などのデータセットで破損したラベルを特定でき、ランダムサンプリングや勾配ベースのヒューリスティックよりも高い精度を達成した。このアプローチは、訓練データが膨大でノイズが多いことが多く、手動レビューが実行不可能なLarge language modelにも拡張されている。影響関数は、どのデータ点を検査すべきかを優先順位付けし、データキュレーションのコストを削減するのに役立つ。
モデル解釈と公平性
デバッグに加えて、影響関数はモデル解釈のツールとしても機能する。特定の予測に対して、出力に最も強く影響した訓練例のリストを提供する。これは、医療や金融などのリスクの高い領域で、ユーザーがモデルが特定の決定を下した理由を理解するのに役立つ。例えば、医療診断モデルでは、影響関数は予測につながった最も関連性の高い患者記録を強調表示でき、臨床医が推論を検証するのを支援する。
公平性の文脈では、影響関数は、特定のグループの訓練例が保護属性に対する予測に不釣り合いに影響を与えるかどうかを明らかにできる。人口統計学的サブグループの影響を分析することで、実務者は訓練データのバイアスを検出し、モデルを適宜調整できる。これは、Artificial intelligenceにおける説明責任と透明性を確保するための広範な取り組みと一致する。
計算上の課題
影響関数を実際に使用する際の主な障害は、逆ヘッセ行列の計算であり、d個のパラメータを持つモデルでは、メモリがO(d²)、時間がO(d³)かかる。数百万または数十億のパラメータを持つ現代の深層学習モデルでは、これは実行不可能である。研究者は、逆行列を明示的に形成せずにH^{-1}vを解く共役勾配法や、ミニバッチを用いた確率的推定などの近似を開発してきた。さらに、ヘッセ行列自体が悪条件である場合があり、減衰や正則化が必要となる。
もう一つの課題は、影響関数が損失の局所的最小値にあるモデルを仮定していることであるが、これは確率的勾配降下法で訓練された非凸モデルではめったに当てはまらない。最近の研究では、フィッシャー情報行列や最終層のみに基づく影響関数など、安定性を向上させるための代替定式化が探求されている。これらの課題にもかかわらず、影響関数は理論的に基づいたアプローチであり続け、多くの後続手法に影響を与えている。
拡張と変種
影響関数をさまざまな設定に適応させるために、いくつかの拡張が提案されている。例えば、転移学習では、事前訓練済みチェックポイントからモデルを微調整する際に、訓練データがターゲットタスクに与える影響を推定できる。これは、事前訓練済みの重みで初期化されることが多いDeep learningモデルに特に関連する。別の変種である「クラスタリングのための影響関数」は、教師なし学習にこの概念を適用する。
Transformer (architecture)のようなシーケンスモデルでは、影響関数は可変長入力とアテンションメカニズムを処理するように適応されている。一部の研究では、影響関数を使用して自然言語処理の予測を説明し、出力を特定の訓練文に帰属させている。しかし、計算コストは依然として高く、多くの実務者は勾配類似度や表現点などのより単純なヒューリスティックに頼っている。
他の帰属手法との関係
影響関数は、訓練データ帰属のためのいくつかの手法の一つである。他には、正確だが大規模データセットでは実行不可能な一つ抜き再訓練や、公平な帰属のためのゲーム理論的枠組みを提供するシャープレイ値がある。影響関数は中間的な立場を提供する: 一つ抜きよりもスケーラブルであるが、シャープレイ値ほど理論的に堅牢ではない。実際には、影響関数は、特に訓練点の数が多い場合に、シャープレイ値の高速近似としてよく使用される。
訓練とテストの勾配間の類似性を測定する勾配ベースの手法と比較して、影響関数は損失ランドスケープの曲率を考慮するため、多くの場合より正確である。しかし、損失関数の選択とヘッセ行列近似の品質に敏感である。最近の研究では、影響関数をData Augmentationと組み合わせて、拡張データ点がモデルの挙動にどのように影響するかを理解することも探求されている。
実用的な実装
いくつかのオープンソースライブラリが影響関数を実装している。例えば、KohとLiangによる「influence」パッケージは、ロジスティック回帰と小規模なニューラルネットワークをサポートしている。より大規模なモデルでは、分散コンピューティングを使用したスケーラブルなバージョンが開発されている。例えば、2020年のGuoらによる論文では、ヘッセ行列の低ランク近似を使用して深層学習モデルの影響関数を計算する方法が提案され、数百万のパラメータを持つモデルへの応用が可能になった。
産業界では、影響関数はGenerative AIやLarge language modelに取り組むチームによって、訓練データのデバッグとモデルアライメントの改善に使用されている。例えば、OpenAIやAnthropicはデータ帰属に関する研究を公開しているが、多くの場合独自の手法を使用している。この手法は、解釈可能性に焦点を当てたGoogle DeepMindや他の研究所にも関連している。
限界と将来の方向性
影響関数の主な限界は、損失の局所二次近似への依存である。高度に非線形なモデルでは、この近似が不正確になる可能性があり、誤解を招く影響スコアにつながる。さらに、この手法は訓練損失が滑らかで凸であることを仮定しているが、これは深層ネットワークでは当てはまらない。研究者は、確率的推定を使用したり、Curriculum Learningと統合して訓練初期の重要なデータ点を特定したりするなど、影響関数をより堅牢にする方法を探求している。
もう一つの方向性は、影響関数をModel Pruningと組み合わせて、モデルの容量に最も責任のある訓練例を特定することである。これにより、影響力の高いデータに焦点を当てることで、より効率的な訓練が可能になる可能性がある。モデルが大規模化し続けるにつれて、スケーラブルな帰属手法の必要性が高まっており、影響関数はこの分野の基礎的な概念であり続けている。
結論
影響関数は、訓練データがモデルの予測をどのように形成するかを理解するための厳密な枠組みを提供する。計算上の課題にもかかわらず、データデバッグ、モデル解釈、公平性分析において有用であることが証明されている。機械学習モデルがより複雑でデータ駆動型になるにつれて、影響関数はその信頼性と透明性を確保するための重要なツールであり続けるだろう。将来の研究は、スケーラビリティと精度の向上に焦点を当て、今日使用されている最大のモデルにも適用可能にすることを目指す。