問題タブ [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.
keras - Kerasの注意モデルに入力が1つしかないのはなぜですか?
このコードでは、作成者は 2 つの入力を定義しましたが、モデルへの入力フィードは 1 つしかありません。いくつかのバグがあるはずですが、実行できます。なぜこのコードを正常に実行できるのだろうか。
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 モデルで位置エンコーディングを追加する前に、埋め込みベクトルに定数を乗算するのはなぜですか?