【发布时间】:2021-03-07 03:00:06
【问题描述】:
我对 Multihead 的定义有点困惑。
下面的[1]和[2]是一样的吗?
[1]
我对 multiplhead 的理解是多重注意力模式如下。
“多组 Query/Key/Value 权重矩阵(Transformer 使用八个注意力头,因此每个编码器/解码器最终有八组) 。”
http://jalammar.github.io/illustrated-transformer/
但是
[2] 在类 MultiheadAttention(Module) 中:在 Pytorch Transformer 模块中, 似乎 embed_dim 除以头数.. 为什么?
或者... embed_dim 首先是特征维度乘以头数?
self.head_dim = embed_dim // num_heads assert self.head_dim * num_heads == self.embed_dim, "embed_dim 必须能被 num_heads 整除"
https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/activation.py
【问题讨论】:
标签: pytorch transformer