深度学习神经网络笔记--卷积神经网络

时间:2024-10-15 18:50:17
  • 为什么要用卷积
    • 捕捉特征,如文末的图)
    • 不受位置影响(左右,前后,上下)
    • 可以参考下图:
  • 卷积操作
    • 可移动的小窗口与图像数据逐元素相乘后相加
    • 小窗口是滤波器,卷积核,(权重矩阵)
    • 需要注意的问题:
      • stride:步长
      • 卷积核的个数:决定输出的depth,卷积核个数
      • 填充值zerp-padding:外圈补0
        • 为什么要补零:确保卷积核能够覆盖输入图像的边缘区域,同时保持输出特征图的大小
  • 卷积神经网络构造:
    • input Layer:原始图像数据:三个颜色通道组成二维矩阵,表示像素强度值,进行预处理
      • 去均值:把图像位置拉回坐标系原点
      • 归一化:类似正态标准化,线性代数便准化,数据分为变成0-1
      • PCA主成分分析数据降维,白化:降低输入数据的冗余性。
    • Conv Layer:图像与卷积核卷积操作:
      • 输出尺寸=(样本尺寸-过滤器尺寸+2*填充)/步幅+1
      • 保持画幅不变的步幅为1的零填充值:(K-1)/2
    • Relu Layer:应用激活函数(ReLU)引入非线性(为了使网络学习复杂特征)实际上其实就是Relu(x) = max(0,x),当然会有一些其他变体。
    • (要多层堆叠:提取更高级被的特征,深层次特征有更复杂的模式)
    • Pooling Layer:减小特征图的大小来减少计算复杂性,有助于提取重要特征。(图像处理大致是压缩图像)
      • 特征不变
      • 特征降维
      • 防止过拟合
      • 选择池化窗口内的最大值(maxPooling或平均值averagePooling来实现
    • FC全连接与输出:处理分类标签,回归值,其他任务结果。

常见的 CNN 模型(一些链接是其他读起来有帮助的博主写的,一些是原论文)

  1. LeNet
    • 特点:最早的卷积神经网络之一,结构相对简单,包含卷积层、池化层和平坦层。
    • 用途:主要用于手写数字识别,如 MNIST 数据集。
  2. AlexNet
    • 特点:在 2012 年的 ImageNet 大赛中获得冠军,引入了 ReLU 激活函数和 Dropout 正则化技术,提高了模型的深度和精度。
    • 用途:图像分类、目标检测等任务。
  3. VGGNet
    • 特点:通过堆叠多个小尺寸的卷积核(如 3×3)来代替较大的卷积核,使得网络更深且参数更少。
    • 用途:图像分类、图像风格转移、特征提取等。
  4. GoogLeNet(Inception 网络)
    • 特点:采用了 Inception 模块,该模块允许网络在同一层中学习不同尺度的特征,并通过 1×1 卷积减少通道数来降低计算成本。
    • 用途:图像分类、目标检测等。
  5. ResNet(残差网络)
    • 特点:引入了残差块(Residual Block),通过跳线连接(Skip Connection)解决了深层网络中的梯度消失问题。
    • 用途:图像分类、目标检测、人脸识别等。
  6. DenseNet
    • 特点:每一层都与前面的所有层相连,通过密集连接的方式最大化特征重用,减少参数数量,同时增强特征传播。
    • 用途:图像分类、目标检测等。
  7. MobileNet
    • 特点:为移动设备设计,通过深度可分离卷积(Depthwise Separable Convolution)来减少计算量。
    • 用途:在嵌入式设备上实时处理图像和视频数据。
  8. SegNet
    • 特点:专为图像分割设计,使用编码器-解码器结构,编码器通常是一个预训练的 CNN,如 VGG-16,解码器负责从编码器的输出中重建像素级别的标签。
    • 用途:语义分割。

(有特定的需求可以通过链接调转或者自行获取论文代码看博客等方式再仔细研究)

上述内容是结合博客,论文等内容总结归纳的自己的学习笔记

无商业用途

如果侵犯到您的权利请联系我删除,谢谢!