問題タブ [attention-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
61 参照

keras - Kerasの注意モデルに入力が1つしかないのはなぜですか?

このコードでは、作成者は 2 つの入力を定義しましたが、モデルへの入力フィードは 1 つしかありません。いくつかのバグがあるはずですが、実行できます。なぜこのコードを正常に実行できるのだろうか。

0 投票する
2 に答える
2312 参照

python - Transformerモデルで埋め込みベクトルに定数が乗算されるのはなぜですか?

Attention Is All You Needによって提案されたTransform モデルを tensorflow の公式ドキュメントTransformer model から言語理解に適用することを学んでいます。

セクション位置エンコーディングが言うように:

このモデルには再帰や畳み込みが含まれていないため、位置エンコーディングが追加されて、文内の単語の相対的な位置に関する情報がモデルに提供されます。

位置エンコーディング ベクトルは、埋め込みベクトルに追加されます。

私の理解は、にpositional encoding vector直接追加することembedding vectorです。しかしembedding vector、コードを見ると、定数が掛けられていることがわかりました。

セクションEncoderのコードは次のとおりです。

x *= tf.math.sqrt(tf.cast(self.d_model, tf.float32))前に見ることができますx += self.pos_encoding[:, :seq_len, :]

では、Transformer モデルで位置エンコーディングを追加する前に、埋め込みベクトルに定数を乗算するのはなぜですか?