什么是全连接层(Fully Connected Layer)

AI解读 1年前 (2024) 硕雀
180 0

全连接层Fully Connected Layer,简称 FC 层)概述

全连接层(Fully Connected Layer),也称为密集层Dense Layer),是神经网络中最基础、最常见的层之一。它的核心特点是每个神经元都与前一层的所有神经元相连,形成一个完整的权重矩阵。该层通常出现在网络的末端,用来把前面提取的特征整合成最终的输出(如分类得分或回归值)。


1. 工作原理与数学表达

  • 线性变换:输入向量 x 通过权重矩阵 W 与偏置向量 b 进行线性映射,其中 W 的每一行对应一个输出神经元的权重向量,b 为该神经元的偏置。
  • 激活函数:线性结果 z 再经过非线性激活函数 f(·)(如 ReLU、Sigmoid、tanh)得到最终输出 y,这一步赋予网络学习复杂模式的能力。

2. 在网络结构中的位置与作用

位置 作用
卷积神经网络CNN 的最后几层 卷积/池化层提取的高维特征图 flatten 为一维向量后,进行特征整合并输出类别概率(常配合 softmax
多层感知器MLP 中的隐藏层 直接进行特征映射和非线性变换,构成深层前馈网络
回归/分类任务 的输出层 通过线性或带激活的映射得到预测值或类别得分

全连接层的 参数量 通常非常大,因为每个输入与每个输出都需要一个权重。例如,AlexNet 的第一个 FC 层拥有 4096 个神经元,参数数目达到数千万级。因此在设计时需要注意 过拟合 与 计算资源 的平衡。


3. 常见的配套技术

  • Dropout:在训练时随机失活部分神经元,降低过拟合风险,提高模型的泛化能力
  • Batch Normalization:对 FC 层的输出进行归一化,加速收敛并提升稳定性。
  • 权重正则化(L1/L2):约束权重大小,进一步防止过拟合。

4. 优缺点分析

优点 缺点
能够 全局整合 前层特征,适合作为分类/回归的“决策层”。 参数量大,计算和存储成本高,容易出现 过拟合
与 激活函数 结合后可学习 非线性 关系。 对 空间结构(如图像的局部关联)不敏感,已被 卷积层 或 注意力机制 部分取代。
实现简单,兼容几乎所有深度学习框架 在大规模模型中常被 全局平均池化 或 1×1 卷积 替代,以降低参数量。

5. 实际代码示例(PyTorch

import torch.nn as nn

class SimpleFC(nn.Module):
    def __init__(self, input_dim, hidden_dim, output_dim):
        super().__init__()
        self.fc1 = nn.Linear(input_dim, hidden_dim)   # 第一个全连接层
        self.relu = nn.ReLU()
        self.fc2 = nn.Linear(hidden_dim, output_dim)  # 输出层
        self.dropout = nn.Dropout(p=0.5)              # Dropout 防止过拟合

    def forward(self, x):
        x = self.fc1(x)
        x = self.relu(x)
        x = self.dropout(x)
        x = self.fc2(x)
        return x

上述代码展示了 线性变换 → 激活 → Dropout → 线性变换 的典型流程,符合全连接层的基本使用方式。


6. 小结

全连接层通过 全连接的权重矩阵 将前层的所有特征映射到新的特征空间,是深度学习模型中实现 特征整合、非线性映射和最终决策 的关键组件。虽然在现代大模型中逐渐被更高效的结构(如全局平均池化、注意力层)所补充,但在许多任务(尤其是需要强表达能力的分类/回归任务)中仍然是不可或缺的核心层。

来源:www.aiug.cn
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!