nn.MultiheadAttention 的输入?
Inputs to the nn.MultiheadAttention?
我有 n
个向量,它们需要相互影响并输出 n
个具有相同维度 d
的向量。我相信这就是 torch.nn.MultiheadAttention
所做的。但是前向函数 expects query, key and value as inputs. According to this 博客,我需要为 q
、k
和 v
中的每一个初始化一个形状为 (d x d)
的随机权重矩阵,并将每个矩阵相乘我的向量与这些权重矩阵并得到 3 (n x d)
个矩阵。现在torch.nn.MultiheadAttention
期望的q
、k
和v
就是这三个矩阵还是我弄错了?
当您想使用自我关注时,只需将您的输入向量传递到 torch.nn.MultiheadAttention
以用于查询、键和值。
attention = torch.nn.MultiheadAttention(<input-size>, <num-heads>)
x, _ = attention(x, x, x)
pytorch class returns 输出状态(与输入相同的形状)和注意力过程中使用的权重。
我有 n
个向量,它们需要相互影响并输出 n
个具有相同维度 d
的向量。我相信这就是 torch.nn.MultiheadAttention
所做的。但是前向函数 expects query, key and value as inputs. According to this 博客,我需要为 q
、k
和 v
中的每一个初始化一个形状为 (d x d)
的随机权重矩阵,并将每个矩阵相乘我的向量与这些权重矩阵并得到 3 (n x d)
个矩阵。现在torch.nn.MultiheadAttention
期望的q
、k
和v
就是这三个矩阵还是我弄错了?
当您想使用自我关注时,只需将您的输入向量传递到 torch.nn.MultiheadAttention
以用于查询、键和值。
attention = torch.nn.MultiheadAttention(<input-size>, <num-heads>)
x, _ = attention(x, x, x)
pytorch class returns 输出状态(与输入相同的形状)和注意力过程中使用的权重。