實作 multi-head attention
在你動手建立自己的 MultiHeadAttention 類別之前,先來試用這個類別,看看它如何轉換 query、key、value 矩陣。回想一下,這些矩陣是透過對輸入嵌入向量(embedding)進行帶有學習權重的線性轉換投影而產生的。
query、key、value 矩陣已經為你建立好,MultiHeadAttention 也已經定義完成。
本練習屬於課程
Transformer Models with PyTorch
練習說明
- 定義 8 個注意力頭與維度為
512的輸入嵌入向量(embedding)之注意力參數。 - 使用上述參數建立
MultiHeadAttention類別的實例。 - 將
query、key、value矩陣傳入multihead_attn機制。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define attention parameters
d_model = ____
num_heads = ____
# Instantiate a MultiHeadAttention instance
multihead_attn = ____
# Pass the query, key, and value matrices through the mechanism
output = ____
print(output.shape)