私はword2vecのコンテキストでネガティブサンプリングの概念を理解しようと懸命に努力しています。[ネガティブ]サンプリングのアイデアを消化できません。たとえば、ミコロフの論文では、負のサンプリング期待値は次のように定式化されています。
私は左の用語理解していますが、ネガティブな単語とコンテキストのペアをサンプリングするアイデアを理解できません。
私はword2vecのコンテキストでネガティブサンプリングの概念を理解しようと懸命に努力しています。[ネガティブ]サンプリングのアイデアを消化できません。たとえば、ミコロフの論文では、負のサンプリング期待値は次のように定式化されています。
私は左の用語理解していますが、ネガティブな単語とコンテキストのペアをサンプリングするアイデアを理解できません。
回答:
「標準」ニューラルネットワークを使用して単語ベクトルを学習する場合、いくつかの問題があります。このようにして、単語のウィンドウ(ネットワークの入力)が与えられると、ネットワークが次の単語を予測することを学習しながら、単語ベクトルが学習されます。
次の単語を予測することは、クラスを予測することに似ています。つまり、このようなネットワークは単なる「標準」の多項(マルチクラス)分類器です。また、このネットワークには、クラスと同数の出力ニューロンが必要です。クラスが実際の単語である場合、ニューロンの数は非常に膨大です。
「標準」ニューラルネットワークは、通常、確率を表す出力ニューロンの値を必要とするクロスエントロピーコスト関数でトレーニングされます。つまり、各クラスのネットワークによって計算された出力「スコア」は、正規化され、各クラスの実際の確率。この正規化手順は、softmax関数によって実現されます。Softmaxは、巨大な出力レイヤーに適用すると非常にコストがかかります。
この問題、つまりソフトマックスの高価な計算に対処するために、Word2Vecはノイズ対比推定と呼ばれる手法を使用します。この手法は[A]([B]で再構成)によって導入され、[C]、[D]、[E]で使用され、ラベルのない自然言語テキストから単語の埋め込みを学習します。
基本的な考え方は、多項分布の分類問題(次の単語を予測する問題であるため)をバイナリ分類問題に変換することです。つまり、softmaxを使用して出力ワードの真の確率分布を推定する代わりに、バイナリロジスティック回帰(バイナリ分類)が代わりに使用されます。
これは重要です。最適化された分類器は、次の単語(「標準」のトレーニング手法)を予測する代わりに、単語のペアが良いか悪いかを単に予測します。
Word2Vec はプロセスをわずかにカスタマイズし、ネガティブサンプリングと呼びます。Word2Vecでは、ネガティブサンプル(破損したペアに使用)の単語は特別に設計された分布から描画されます。これにより、頻度の低い単語がより頻繁に描画されます。
[A] (2005)-対照的推定:ラベルなしデータの対数線形モデルのトレーニング
[B] (2010)-ノイズ対比推定:非正規化統計モデルの新しい推定原理
[C] (2008)-自然言語処理のための統合アーキテクチャ:マルチタスク学習を備えたディープニューラルネットワーク
[D] (2012)-ニューラル確率言語モデルをトレーニングするための高速でシンプルなアルゴリズム。
[E] (2013)-ノイズを考慮した推定による単語埋め込みの効率的な学習。
答えは私の古いメモに基づいています-それらが正しいことを望みます:)
"in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"
。これは正しいのだろうか?いくつかの他の情報源は、より頻繁な単語が否定的なサンプルとしてサンプリングされると言っているためです。Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.