PositionEmbedding
類別keras_hub.layers.PositionEmbedding(
sequence_length, initializer="glorot_uniform", **kwargs
)
一個學習輸入序列位置嵌入的層。
此類別假設在輸入張量中,最後一個維度對應於特徵,而倒數第二個維度對應於序列。
此層不支援遮罩,但可以與 keras.layers.Embedding
結合以支援填充遮罩。
參數
"glorot_uniform"
。keras.layers.Layer
的其他關鍵字參數,包括 name
、trainable
、dtype
等。呼叫參數
(batch_size, sequence_length, hidden_dim)
。只會使用輸入形狀,因為位置嵌入不依賴於輸入序列內容。範例
直接在輸入上呼叫。
>>> layer = keras_hub.layers.PositionEmbedding(sequence_length=10)
>>> layer(np.zeros((8, 10, 16)))
與權杖嵌入結合。
seq_length = 50
vocab_size = 5000
embed_dim = 128
inputs = keras.Input(shape=(seq_length,))
token_embeddings = keras.layers.Embedding(
input_dim=vocab_size, output_dim=embed_dim
)(inputs)
position_embeddings = keras_hub.layers.PositionEmbedding(
sequence_length=seq_length
)(token_embeddings)
outputs = token_embeddings + position_embeddings
參考文獻