頻度の低い単語に対しては階層的なソフトマックスが優れているのに対し、頻度の高い単語に対してはネガティブサンプリングが優れているのはなぜですか?


回答:


10

私はword2vecの専門家ではありませんが、Rong、X.(2014)を読んでいますword2vecのパラメーター学習の説明と、私自身のNNの経験から、これに対する推論を簡素化します。

  • 階層的なソフトマックスは、出力ベクトルがネットワーク層のツリー状のトラバースによって決定されるため、トレーニング効率の改善を提供します。与えられたトレーニングサンプルは評価/更新するだけですOlogN ネットワークユニットではなく ON。これにより、本質的に重みが拡張され、大規模な語彙がサポートされます。指定された単語は、より少ないニューロンとその逆に関連しています。
  • ネガティブサンプリングは、確率的勾配降下法に似たトレーニングデータをサンプリングする方法ですが、重要なのは、ネガティブトレーニングの例を探すことです。直感的には、単語を予想したサンプリング場所に基づいてトレーニングを行いますが、単語を見つけることができませんでした。

この2つの方法は、理論的には排他的ではないようですが、とにかく、頻繁で頻度の低い単語の方が優れている理由と思われます。


1

これは、カテゴリ階層を構築するときに使用されるハフマンコーディングのためであると理解しています。

階層的なソフトマックスは、1つの大きなソフトマックスの代わりにシグモイドノードのツリーを使用します。ハフマンコーディングは、シグモイドノードの各側に属するデータポイントの分散がバランスされるようにします。したがって、1つの大きなソフトマックスとネガティブサンプリングを使用する場合と比較して、頻繁なカテゴリに対する選好を排除するのに役立ちます。


0

階層的なソフトマックスはボキャブラリー全体にツリーを構築し、まれな単語を表すリーフノードは必然的にツリー内の祖先のベクトル表現を継承します。これはコーパス内の他の頻繁な単語の影響を受けます。これは、新しいコーパスの段階的なトレーニングに役立ちます。

ネガティブサンプリングは、ノイズコントラスト推定に基づいて開発され、コンテキストにない単語をランダムにサンプリングして、観測データと人工的に生成されたランダムノイズを区別します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.