Linear Layer¶
linear layer 也叫 feedforward or fully connected layer
为什么叫 Feedforward Layer¶
前馈网络的结构特点:
单向信息流动:信息从输入层流向隐藏层,再到输出层,始终是单向的,没有循环或反馈路径
它只负责将输入通过权重矩阵变换后传递到下一层,没有反馈连接。
没有回环结构(如 RNN 的反馈)或自连接(如循环网络中的自激励机制)。
Feedforward 强调的是 信息的前向流动:信息从输入层传到输出层,沿固定方向传播,没有循环。
# 输入、输出结构相同
self.layers = nn.Sequential(
nn.Linear(cfg["emb_dim"], 4 * cfg["emb_dim"]),
GELU(),
nn.Linear(4 * cfg["emb_dim"], cfg["emb_dim"]),
)
为什么叫 Fully Connected Layer¶
连接方式:全连接
每个输入与每个输出相连:在线性层中,每个输入神经元与每个输出神经元都有权重连接,形成了全连接的网络结构。对于输入维度为 𝑛 和输出维度为 𝑚 的线性层,其权重矩阵是 𝑚×𝑛 大小,每个输入对每个输出都有一条连接。
信息融合:全连接层将所有输入组合在一起,通过权重和偏置调整,形成一个新的特征表示。这种连接方式可以捕获全局的信息,而不像卷积层那样局限于局部区域。
Fully Connected 强调的是 输入与输出的连接方式:每个输入神经元与每个输出神经元都连接,权重矩阵 𝑊 包含所有这些连接的权重值。
应用场景与作用¶
特征变换与映射:
把输入数据从一个空间线性变换到另一个空间。
通常用于从隐藏层提取高级特征,或生成最终的分类/回归输出。
优点:
表达能力强,适用于各种任务。
能够融合全局信息,适合用作网络的最后几层。
缺点:
参数多(尤其在大规模输入情况下)。
容易过拟合(需要正则化技术如 Dropout 或 L2 正则化)。