2016-06-17 8 views
21

私は現在、単語をコンテキストに基づいてベクトルとして表現するために、word2vecニューラルネット学習アルゴリズムの背後にあるアーキテクチャを理解しようとしています。ニューラルネットワークのコンテキストにおける投影レイヤーとは何ですか?

Tomas Mikolov paperを読んだ後、彼は投影層と定義しました。この用語は、word2vecを参照するときに広く使用されていますが、実際に神経網の文脈にあるものの正確な定義を見つけることができませんでした。

Word2Vec Neural Net architecture

私の質問は、ニューラルネットのコンテキストで、投影層が何であるのか?以前のノードへのリンクが同じ重みを共有している隠れたレイヤーに与えられた名前ですか?そのユニットは実際に何らかの種類の起動機能を持っていますか?また、問題をより広く指す

Anotherリソースは、ページの周り投影層を指すthis tutorial、に見出すことができる67

+0

"このチュートリアル"リンクが死んでいます! –

答えて

14

投影レイヤーは、nグラムコンテキストの離散単語インデックスを連続したベクトル空間にマップします。

として投影層が同じ単語を複数回含むコンテキストに対して、重みの同一のセットは、投影ベクトルの各部分を形成するために適用されるように共有されているこのthesis

で説明。 この組織は、各コンテキストトレーニングパターンの各単語が重み値の変更に個別に寄与するため、投影レイヤーの重みを訓練するために利用できるデータ量を効果的に増加させます。

enter image description here

この図は、投影層の出力を効率的に投影層の重み行列から列をコピーすることによって組み立てることができる方法を密着空間を示しています。

次に、隠れ層:

隠れ層は、投影層の出力を処理してもトポロジー構成ファイルで指定されたニューロンの 数で作成されています。

編集:投影層の各ニューロンは、語彙のサイズに等しい重みの数で表される

図で起こっていることの説明。投影層は、非線形活性化関数を使用しないことによって隠れ層および出力層とは異なる。その目的は、単に、与えられたnグラムコンテキストを、そのようなベクトルを分類するように訓練された隠れ層および出力層による後続の処理のために、減少した連続ベクトル空間に投影する効率的な手段を提供することである。入力ベクトル要素の1またはゼロの性質が与えられた場合、インデックスiを有する特定の単語の出力は、投影層重みの訓練された行列のi番目の列にすぎない(ここで、行列の各行は単一のニューロン)。

3

continuous bag of wordsは、その前に与えられた単一の単語を予測するために使用されていますこれは文脈上の結果である。

入力は、過去および将来のエントリからの計算された重みです。すべてに新しい重みが同じに与えられます。したがって、このモデルの複雑さ/機能の数は他の多くのNNアーキテクチャよりもはるかに小さくなります。

RE:what is the projection layer:あなたが

引用紙から非線形隠れ層を除去し、投影層は全ての単語(だけでなく、射影行列)の共有 です。したがって、すべての単語 が同じ位置に投影されます(そのベクトルは平均化されます)。

したがって、投影レイヤーはshared weightsの単一のセットであり、有効化機能は示されていません。

入力と投影層 間の重み行列をだからhidden layerが実際にこの単一のセットによって表されるNNLMと同様に、すべてのワード位置

で共有されることに注意してくださいすべての入力ノードで同一であることを正しく暗示しています。

関連する問題