当前位置: 首页 > news >正文

全连接层与Softmax的通俗解释

全连接层与Softmax的通俗解释

1. 全连接层(Fully Connected Layer)

通俗理解:

想象全连接层就像是一个"信息汇总中心":

  • 工作方式:把前面所有提取到的特征(比如眼睛、鼻子等局部特征)全部连接起来综合考虑[^3]
  • 类比:就像公司开会时,各部门(卷积层提取的特征)派代表来总部(全连接层)做最终决策[^3]

技术特点:

  1. 连接方式

    • 每个输入神经元与每个输出神经元都相连[^3]
    • 例如:输入4096个特征 → 输出1000个类别概率[^2]
  2. 作用

    • 整合全局信息:把分散的局部特征组合起来[^3]
    • 减少位置影响:无论猫在图片左边还是右边,都能识别[^3]
    • 输出分类结果:为最终分类做准备[^1]
  3. 典型结构

    卷积层
    池化层
    全连接层1
    全连接层2
    Softmax

2. Softmax函数

通俗理解:

Softmax就像一个"公平的投票系统":

  • 功能:把各个类别的得分转换成概率[^3]
  • 特点:确保所有类别概率之和为1[^3]
  • 例子
    • 输入:[3, 1, -3](各类别原始得分)
    • 输出:[0.88, 0.12, 0](各类别概率)[^3]

工作原理:

  1. 计算步骤

    • 对所有得分取指数(消除负值)
    • 每个指数值除以所有指数值的和[^3]
  2. 数学公式

    P(class_i) = e^z_i / (e^z_1 + e^z_2 + ... + e^z_n)
    
  3. 可视化示例

    猫: 3分 → 88%概率
    狗: 1分 → 12%概率
    鸟: -3分 → 0%概率
    

3. 两者配合的工作流程

典型CNN分类流程:

  1. 特征提取

    • 卷积层提取边缘等低级特征[^6]
    • 深层网络组合成高级特征[^6]
  2. 全连接处理

    • 将提取的二维特征"压扁"成一维向量[^3]
    • 通过权重矩阵计算各类别得分[^1]
  3. Softmax转换

    • 将得分转换为概率分布[^3]
    • 选择概率最高的作为预测结果[^1]

实例说明(人脸识别):

  1. 输入152×152对齐人脸[^1]
  2. 经过多个卷积层提取特征[^1]
  3. 全连接层输出4096维特征向量[^1]
  4. Softmax计算属于4030个人的概率[^1]

4. 为什么需要这样设计

全连接层的必要性:

  • 整合信息:组合不同位置的特征[^3]
  • 分类准备:为Softmax提供输入[^1]
  • 可学习性:通过训练调整重要特征权重[^1]

Softmax的优势:

  • 概率解释:直观的置信度表示[^3]
  • 可微分:便于反向传播训练[^3]
  • 突出优势:放大最大值的比重[^3]

为什么使用两个全连接层而非一个

1. 技术层面的核心原因

1.1 特征空间的分步转换

  • 第一全连接层:完成高维特征空间到隐含特征空间的转换(如4096维)[^1]

    • 作用:将卷积层提取的二维特征压缩为一维高级特征[^2]
    • 示例:7×7×512 → 4096维向量[^2]
  • 第二全连接层:实现隐含空间到分类空间的映射(如1000维)[^1]

    • 作用:为Softmax准备适合分类的特征表示[^1]
    • 示例:4096维 → 1000个类别的得分[^2]

1.2 防止维度骤变

  • 单层问题:直接从高维特征(如25088=7×7×512)到类别输出(如1000类)会导致:

    • 参数爆炸(25088×1000=25M参数)[^2]
    • 特征信息损失严重[^3]
  • 双层优势

    第一全连接层
    第二全连接层
    1000
    4096
    7x7x512

    这种阶梯式降维更平滑,保留更多有用信息[^2]

2. 模型性能的优化考虑

2.1 增强非线性表达能力

  • 单层限制:只有一次非线性变换(ReLU等)[^5]
  • 双层优势
    • 两个非线性变换层[^5]
    • 可学习更复杂的特征组合[^1]
    • 公式表示:输出 = ReLU(W2 * ReLU(W1 * X + b1) + b2)[^5]

2.2 防止过拟合

  • 隐含层作为缓冲
    • 第一层4096单元可视为"特征蒸馏器"[^1]
    • 第二层进行精细分类[^1]
  • 参数对比
    • 单层直接连接:25M参数
    • 双层结构:7×7×512×4096 + 4096×1000 ≈ 103M参数
    • 看似更多参数,但因分层结构实际更不易过拟合[^2]

3. 实际应用中的设计验证

3.1 经典网络结构案例

  • AlexNet

    • FC6: 9216 → 4096
    • FC7: 4096 → 4096
    • FC8: 4096 → 1000[^2]
  • DeepFace

    • F7: → 4096
    • F8: → 4030(对应4030个人)[^1]

3.2 消融实验证据

  • 性能对比
    • 单FC层:LFW准确率约94.5%[^1]
    • 双FC层:LFW准确率97.35%[^1]
  • 特征可视化
    • 双FC层学到的特征在向量空间中有更好的类内聚集性[^1]

4. 替代方案的对比

4.1 全卷积网络(FCN)方案

  • 结构差异

    • 用1×1卷积替代全连接[^2]
    • 但分类性能下降约2-3%[^2]
  • 保留优势

    传统FCN
    保持空间信息
    双FC结构
    更好分类性能

4.2 现代演进趋势

  • 最新技术
    • 使用多个微小FC层(如3个2048维)[^5]
    • 配合BatchNorm提升效果[^5]
  • 轻量化设计
    • 用Global Average Pooling替代部分FC层[^5]

DeepFace中两个全连接层的含义与作用

1. 全连接层的整体架构

在DeepFace网络中,两个全连接层的结构如下:

  • F7层:4096个神经元
  • F8层:4030个神经元(对应4030个不同的人)[^1]

这种设计是典型的"特征提取→分类"两阶段结构:

卷积层
F7
F8
Softmax

2. F7层(4096维)的核心作用

2.1 高级特征表示

  • 功能定位:作为人脸特征的"编码器"[^1]
  • 设计特点
    • 接收前面局部连接卷积层提取的局部特征
    • 将这些特征整合为全局的人脸表示[^1]

2.2 技术实现细节

  • 参数规模:假设前层输出为N维,则参数量为N×4096
  • 非线性变换:使用ReLU等激活函数增强表达能力[^4]
  • 归一化处理:对输出进行L2归一化,便于后续距离计算[^1]

3. F8层(4030维)的特殊设计

3.1 分类专用层

  • 对应关系:每个神经元对应一个特定个体[^1]
  • 输出含义:输入人脸属于各个类别的得分[^1]

3.2 与F7层的区别

特性F7层F8层
维度40964030(对应人数)[^1]
功能特征表示分类决策
参数更新重点特征区分性优化分类准确性优化
后续处理可用于多种下游任务[^1]专用于Softmax分类[^1]

4. 双全连接层的协同优势

4.1 分阶段优化目标

  1. F7层目标

    • 学习具有判别性的人脸特征
    • 使同一人的不同图像特征距离小,不同人的特征距离大[^1]
  2. F8层目标

    • 精确分类到具体个人
    • 为Softmax提供良好的输入分布[^1]

4.2 实际效果验证

  • 特征可视化:F7层输出的4096维特征在向量空间中呈现良好的类内聚集性[^1]
  • 性能表现:在LFW数据集上达到97.35%准确率[^1]
  • 灵活性:F7层特征可独立用于人脸验证等任务[^1]

5. 与局部连接层的配合

5.1 与前面层的衔接

  • 局部连接层:处理对齐后人脸的不同区域(眼、鼻、嘴等)[^1]

    • 参数不共享,针对性提取局部特征
    • 需要大量数据支持(440万张人脸)[^1]
  • 全连接层

    • 整合这些局部特征
    • 建立全局的人脸表示[^1]

5.2 完整特征提取流程

对齐人脸
局部卷积
F7全局特征
F8分类特征
Softmax

相关文章:

  • MCP+cursor使用嘴操作数据库(不用编写SQL语句实现CURD)
  • 壹起航:15年深耕,引领中国工厂出海新征程
  • 适配python3.9的 SORT算法
  • C语言运算符优先级速记口诀
  • 基于查表法的 CRC8 / CRC16 / CRC32校验解析
  • PowerBI 条形图显示数值和百分比
  • Vue使用el-table给每一行数据上面增加一行自定义合并行
  • C++算法(1):stringstream详解,高效字符串处理与类型转换的利器
  • 【NLP 55、强化学习与NLP】
  • OpenHarmony Camera开发指导(二):相机设备管理(ArkTS)
  • ALOPS智能化运维管理平台
  • 浅析Centos7安装Oracle12数据库
  • 详解正则表达式中的?:、?= 、 ?! 、?<=、?<!
  • 火语言RPA--增加减少时间
  • EN控制同步整流WD1020 ,3.0V-21V 的宽 VIN 输入范围,0.9V-20V 的宽输出电压范围
  • Android activity属性taskAffinity的作用
  • call、bind、apply
  • MySQL Error Log
  • 【第16届】蓝桥杯C++b组--记录一次被薄纱的心情
  • 艾伦·图灵:计算机科学与人工智能之父
  • wordpress的网站后台/百度收录推广
  • 网站建设投资大概每年需要多少钱/下载百度浏览器
  • 怎么自己建立一个网站/廊坊百度快照优化排名
  • 提供网站建设报价/移动建站优化
  • b赣州网站建设/网页制作费用大概多少
  • 做婚纱网站的图片/谷歌浏览器安卓版下载