d_model
参数
他们说在论坛那个
transformer 模型 不是基于编码器和解码器 不同的输出特征
这是正确的,但不应将 Pytorch 实现限制为更通用。的确,在论文中所有的数据流都具有相同的维度==
d_model
,但这不应该是理论上的限制。
我正在寻找 Pytorch 的变压器在这方面不通用的原因,因为我确信这是有充分理由的
Multi-Head Attention 接受具有正交维度的
query
、key
和 value
矩阵。现在,看看解码器中的多头注意层,它从解码器接收 Q,从编码器接收 K、V。我不明白为什么 K、V 的维度不能与 Q 不同,即使有跳过连接也是如此。我们可以只设置
d_Q==d_decoder==layer_output_dim
和d_K==d_V==encoder_output_dim
,一切仍然有效,因为Multi-Head Attention应该能够处理不同的嵌入大小。
我错过了什么,或者,如何编写一个更通用的变压器,而不完全破坏 Pytorch 并从头开始编写?