多头注意力机制中全连接函数
在神经网络(特别是 Transformer 中的多头注意力机制)中,全连接函数(Fully Connected Layer, FC Layer) 通常指的是一个线性变换层,即 nn.Linear
在 PyTorch 中的实现。它本质上是一个矩阵乘法加上偏置(bias)的操作,用于对输入数据进行线性变换。
1. 全连接函数(nn.Linear
)是什么?
nn.Linear(d_model, d_model)
表示一个全连接层,它的功能是:
- 输入:一个形状为
[batch_size, seq_len, d_model]
的张量(在多头注意力中,query
/key
/value
的输入)。 - 操作:对输入进行线性变换,即
y = x @ W^T + b
,其中:W
是一个形状为[d_model, d_model]
的权重矩阵。b
是一个形状为[d_model]
的偏置向量(可选)。
- 输出:形状仍为
[batch_size, seq_len, d_model]
的张量(因为输入和输