开始使用免费开始使用

实现多头注意力

在开始动手构建您自己的 MultiHeadAttention 类之前,先试用该类,看看它如何变换 query、key 和 value 矩阵。回顾一下,这些矩阵是通过对输入嵌入向量(embedding — 向量表示)施加带有可学习权重的线性变换得到的投影。

querykeyvalue 矩阵已经为您创建好,MultiHeadAttention 也已为您定义好。

本练习是课程的一部分

使用 PyTorch 的 Transformer 模型

查看课程

练习说明

  • 为 8 个注意力头和维度为 512 的输入嵌入向量定义注意力参数。
  • 使用已定义的参数创建 MultiHeadAttention 类的实例。
  • querykeyvalue 矩阵传入 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)
编辑并运行代码