ノイズ対比推定(NCE)は、機械学習において確率分布のパラメータを推定するための手法である。2010年にMichael GutmannとAapo Hyvärinenによって導入されたNCEは、密度推定を二値分類問題として捉える。観測されたデータ点の集合と人工的に生成されたノイズサンプルの集合が与えられたとき、モデルは両者を区別するように訓練される。このアプローチは、ニューラルネットワークや大規模言語モデルなどの複雑なモデルではしばしば扱いが困難な正規化定数の計算を回避する。
NCEは、エネルギー-basedモデル、自然言語処理、推薦システムなど、分配関数の評価が難しい設定で特に有用である。データとノイズを分離することを学習することで、モデルは暗黙的に基礎となるデータ分布を学習し、正確な尤度計算が不可能な場合に最尤推定の実用的な代替手段となる。
数学的定式化
NCEは、各データ点が実データ(1)またはノイズ(0)としてラベル付けされる二値分類問題を定義する。ノイズ分布は\(p_n\)と表記され、通常は一様分布やガウス分布などの単純な分布である。モデル分布\(p_m(x; \theta)\)は\(\theta\)によってパラメータ化される。目的は、正しい分類の対数確率を最大化することである:
\[ J(\theta) = \sum_{i=1}^{T} \left[ \log h(x_i; \theta) + \log(1 - h(x_i'; \theta)) \right] \]
ここで、\(x_i\)は観測データ点、\(x_i'\)はノイズサンプル、そして\(h(x; \theta) = \frac{p_m(x; \theta)}{p_m(x; \theta) + k \cdot p_n(x)}\)である。ここで、\(k\)はデータ点あたりのノイズサンプル数である。\(k\)が増加するにつれて、NCE推定量は最尤推定量に近づくが、適度な\(k\)(例えば10から25)でも、NCEは穏やかな条件下で一貫した推定値を与える。
主な利点は、モデル分布\(p_m\)が非正規化でよいことである。つまり、\(p_m(x; \theta) = \exp(f(x; \theta))\)と表現でき、ここで\(f\)はニューラルネットワークや他の関数近似器である。正規化定数は分類目的に暗黙的に吸収され、明示的な計算の必要性が排除される。
言語モデリングへの応用
NCEは自然言語処理、特に単語埋め込みと言語モデルの訓練で広く採用されている。2013年、GoogleのTomas MikolovらはWord2VecフレームワークでNCEを使用して単語の分散表現を学習した。例えば、skip-gramモデルは、ユニグラム分布からサンプリングされたノイズ単語からターゲット単語を区別するためにNCEを使用する。このアプローチは、数十万語を含む可能性のある大規模な語彙に対する完全なソフトマックスと比較して、計算コストを大幅に削減する。
その後、NCEは、再帰型ニューラルネットワークやトランスフォーマーベースのアーキテクチャを含むニューラル言語モデルに適用された。例えば、2016年には、グーグル・ディープマインの研究者らがNCEを使用してOne Biillion Word Benchマークで言語モデルを訓練し、当時の最先端のパープレキシテイを達成した。最近では、NCEは対比学習フレームワークでも使用されており、ポジテイブなペアを引き寄せ、ネガテイブなペアを押し離すことで表現を学習することを目指す。これはNCEのノイズ・サンプリング戦略と密接に関連する概念である。
他の手法との比較
NCEは、重要度サンプリング、対比発散、ネガテイブ・サンプリングとよばしば比較される。重要度サンプリングとは異なり、NCEは提案分布がターゲットに近くない場合でも一貫した推定量を提供する。制限ボルツマン機の訓練で使用される対比発散は、対数尤度の勾配を近近似するのに対し、NCEは分類目的を直接最適化する。Word2Vecで普及したネガテイブ・サンプリングは、ノイズ分布に関わる補正項を無視するNCEの簡略化版であり、高速だが理理論的根拠は薄い。
NCEはまた、正規化モデルを必要としない点で最尤推定(MLE)と異なる。MLEでは、正規化定数を計算または近近似する必要があり、しばしば扱いが困難である。NCEは、正規化定数を暗黙的に学習されるパラメータとして扱うことでこれを回避する。これにより、NCEは深い生成的AIモデルなど複雑なアーキテクチャを持つモデルにとって特魅力的である。
実践的考慮事項
適切なノイズ分布の選択は、NCEの性能にとって重重要である。ノイズ分布はサンプリングが容易で、データ分布と重複するサポートを持つべきである。実践では、データ領域上の一様分布が一一般的であるが、高次元データでは、ガウス分布やデータ依存的分布(例えばテキストのユニグラム分布)がよしば良く機能する。ノイズサンプル数\(k\)もバアス・バリアンスのトーレドオフに影響する。大きな\(k\)はバアスを減らすが計算コストを増加させる。典型的な値は1から25の範囲で、10が一一般的な選択である。
NCEは、TensorFlowやPyTorchなど人気のある機械学習ラブラリで実装されており、Gensimラブラリのword2vecなどのツールでも利利用可能である。また、Youubeの深層学習ベースの推薦モデルなど推薦システムでも使用されており、数百万のアイテムへのスケーリングを可可能にしている。
拡張と変種
NCEのいくつかの拡張が提案されている。条件付きNCE(CNCE)は条件付け変数を組み込み、条件付き分布の密度推定を可可能にする。ランクベースのNCEはロジスティック損失の代わりにランキング損失を使用し、ノイズに対する頑健性を向上させる。2019年には、対比予測符号化で使用される変種であるInfoNCEが導入され、コンピュータビジョンやオーディオにおける自己教師あり学習の基盤となっている。InfoNCEはコンテキストと将来のサンプル間の相互情報を最適化し、SimCLRやCLIPなどのモデルで応用されている。
もう一つの変種である学習されたノイズ分布を持つNCEは、訓練中にノイズ分布を適応させ、収束を改改善できる。これらの拡張は、NCEの適応用性を密度推定から表現学習や生成的モデリングへと広げている。
結論
ノイズ対比推定は、明示的な正規化なしで確率分布を学習するための強力で柔軟な手法である。高次元問題へのスケーリング能能力により、単語埋め込みから大規模な言語モデルまで、現代的機械学習の基幹となっている。研研究が続くにつれ、NCEとその変種は理理論的保証や人工知能における新規な応用に関する継続的な研研究の対対象であり続けている。