第四章:卷积神经网络(CNN)

4.1 观察1:检测模式不需要整张图像

  • 核心思想:图像中的局部特征(如边缘、纹理)是识别目标的关键,无需全局信息。
    • 示例:检测“鸟嘴”只需关注局部区域,而非整张图像。
    • 意义:全连接网络的参数冗余问题严重,需优化为局部连接。

4.2 简化1:感受野(Receptive Field)

  • 定义:每个神经元仅连接到输入图像的局部区域(即感受野),而非全连接。
  • 实现方式
    • 卷积核(Kernel):滑动窗口在图像上提取局部特征。
    • 参数减少:相比全连接网络,参数量大幅降低(避免过拟合)。
  • 公式
    输出特征图尺寸:

    (Win​:输入尺寸,F:卷积核大小,P:填充,S:步长)

4.3 观察2:同样的模式可能出现在不同区域

  • 问题:全连接网络需为每个位置学习独立参数,效率低下。
  • 简化2:参数共享
    • 卷积核共享:同一卷积核在图像不同区域滑动,提取相同特征。
    • 意义:平移不变性(Translation Invariance),提升泛化能力。

4.4 简化1和2的总结

  • CNN核心特性
    • 局部连接(减少参数量)
    • 参数共享(提升效率与泛化)
  • 典型结构:多层卷积堆叠,逐步提取高阶特征(边缘→纹理→物体部件→整体)。

4.6 观察3:下采样不影响模式检测

  • 核心思想:降低特征图分辨率可减少计算量,同时保留关键信息。
  • 简化3:汇聚(Pooling)
    • 操作:最大池化(Max Pooling)或平均池化(Average Pooling)。
    • 作用:平移鲁棒性(对微小位置变化不敏感),防止过拟合。
    • 示例:2×2 最大池化窗口,步长2,输出尺寸减半。

4.8 卷积神经网络的应用:下围棋

  • AlphaGo 中的 CNN
    • 输入:棋盘状态(19×19 网格,每个点表示黑子、白子或空位)。
    • 输出:下一步落子概率分布。
    • 网络结构:多层级卷积层提取局部棋形特征,全连接层生成策略。

第五章:循环神经网络(RNN)

5.1 独热编码(One-Hot Encoding)

  • 作用:将离散型变量(如词汇)转化为向量形式,便于神经网络处理。
  • 示例:词汇表为 {“cat”, “dog”, “bird”},则“dog”编码为 [0,1,0][0,1,0]。

5.2 什么是 RNN?

  • 核心思想:处理序列数据(如文本、时间序列),通过隐藏状态传递历史信息。
  • 与全连接网络的区别
    • 全连接网络:输入独立,无记忆。
    • RNN:当前输出依赖当前输入和前一时刻的隐藏状态。

5.3 RNN 架构

  • 基本结构

    • ℎ𝑡ht​:当前隐藏状态,𝜎σ:激活函数(如 Tanh)。
  • 时序展开:将循环结构展开为链式结构,便于反向传播。

5.4 其他 RNN 变体

5.4.1 Elman 网络 & Jordan 网络
  • Elman:隐藏状态传递至下一时刻(标准 RNN)。
  • Jordan:输出状态传递至下一时刻(较少使用)。
5.4.2 双向循环神经网络(Bi-RNN)
  • 结构:前向和后向 RNN 结合,捕获上下文信息。
  • 应用:文本分类、命名实体识别。
5.4.3 长短期记忆网络(LSTM)
  • 核心改进:引入门控机制(输入门、遗忘门、输出门),解决梯度消失问题。
  • 关键公式

  • 示例:LSTM 记忆长期依赖(如句子中主语与谓语的远距离关系)。
5.4.5 LSTM 运算示例
  • 输入序列:“The cat, which ate…, is full.”
  • LSTM 行为
    • 遗忘门丢弃无关信息(如“which ate…”后的细节)。
    • 输入门保留主语“cat”信息,直至谓语“is full”。

5.7 如何解决 RNN 梯度消失或爆炸

  1. 梯度裁剪(Gradient Clipping):限制梯度最大值,防止爆炸。
  2. 改进结构
    • LSTM/GRU 的门控机制缓解梯度消失。
    • 残差连接(ResNet 思想)跨层传递梯度。

5.8 RNN 其他应用

5.8.1 多对一序列
  • 任务:序列输入,单输出(如情感分类)。
  • 实现:取最后一个隐藏状态或池化后接全连接层。
5.8.2 多对多序列(同步)
  • 任务:输入输出序列长度相同(如词性标注)。
  • 实现:每个时间步输出对应标签。
5.8.3 序列到序列(Seq2Seq)
  • 结构:编码器(RNN)压缩输入为上下文向量,解码器(RNN)生成输出序列。
  • 应用:机器翻译、文本摘要。

总结

  • CNN:通过局部连接、参数共享和池化,高效处理图像数据。
  • RNN:通过隐藏状态传递时序信息,LSTM/GRU 解决长程依赖问题。
  • 应用场景:CNN 适合空间局部性强的数据(图像),RNN 适合时序数据(文本、语音)。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐