SinePositionEncoding
類別keras_hub.layers.SinePositionEncoding(max_wavelength=10000, **kwargs)
正弦位置編碼層。
此層將位置編碼計算為正弦和餘弦函數的混合,其波長呈幾何級數增長。在 Attention is All You Need 中定義和公式化。
將嵌入的詞彙張量作為輸入。輸入必須具有形狀 [批次大小, 序列長度, 特徵大小]。此層將返回與嵌入詞彙張量大小相同的位置編碼,可以直接將其添加到嵌入詞彙張量中。
參數
10000
。keras.layers.Layer
的其他關鍵字參數,包括 name
、trainable
、dtype
等。呼叫參數
(批次大小, 序列長度, 隱藏維度)
。範例
# create a simple embedding layer with sinusoidal positional encoding
seq_len = 100
vocab_size = 1000
embedding_dim = 32
inputs = keras.Input((seq_len,), dtype="float32")
embedding = keras.layers.Embedding(
input_dim=vocab_size, output_dim=embedding_dim
)(inputs)
positional_encoding = keras_hub.layers.SinePositionEncoding()(embedding)
outputs = embedding + positional_encoding
參考