【神经网络】卷积神经网络

绪论

卷积神经网络的应用

计算机视觉(人脸识别、图像生成)自动驾驶等等

传统神经网络 vs 卷积神经网络

损失函数:衡量吻合度(结果准确度)

传统神经网络的学习过程举例:

经过一次学习后,计算交叉熵(误差),根据 SGD随机梯度下降法进行学习纠正。

传统神经网络(全连接)面对参数较多的情况时,容易造成过拟合的现象。因此传统的神经网络应用到计算机视觉上时效率比较低。

这里假设输入的图像是300x300大小的。
传统神经网络:假设我们用一个有128个单元的全连接层,则我们需要300x300x128=11520000个参数(不考虑偏置)。

卷积神经网络:假设我们采用5x5x3的filter,对于不同的区域,我们都共享同一个filter,因此就共享这同一组参数,一个filter有75个参数,假设我们使用10个filter,则需要750个参数(不考虑偏置)。

基本组成结构

一个典型的卷积网络是由卷积层、池化层、全连接层交叉堆叠而成。

卷积

概念:是对两个实变(以实数为自变量)函数的一种数学操作;滤波器/卷积核。

例如,在图像处理中,图像以二维矩阵形式输入神经网络,因此我们需要二维卷积。

给定一个图像 $X\in R^{M\times N}$ 和滤波器 $W\in R^{m\times n}$ ,计算 $y = Wx+b$ 。

卷积核中每个值为权重;每次卷积核进行计算时对应输入矩阵中的一块区域称为感受野;卷积后生成的结果称为特征图;深度(channel)指一层上卷积核个数。

padding:零填充

输出的特征图大小计算:

最后我的理解是,卷积的过程,就是从上一层数据中提取重要的特征数据送到下一层,可以用来减少参数值。

池化

保留了主要特征的同时减少参数和计算量,防止过拟合,提高模型泛化能力。一般处于卷积层与卷积层之间,全连接层与全连接层之间。

  • 最大值池化(分类识别时常用)

  • 平均池化

全连接

  • 两层之间所有神经元都有权重相连
  • 通常全连接层在卷积神经网络尾部
  • 全连接层通常参数量最大

卷积神经网络典型结构

AlexNet

特点

关于RELU激活函数的特点之前总结过了,它能解决正区间内梯度消失的问题,且计算速度更快,收敛速度快。

Dropout 随机失活:训练时随机关闭部分神经元,测试时整合所有神经元,来防止过拟合。

数据增强:

  • 平移、翻转、对称
    • 随机crop。训练时,对于256 256的图片进行随机crop到224 224。
    • 水平翻转,相当于将样本倍增
  • 改变RGB通道强度
    • 对RGB空间做一个高斯扰动(体现为改变照片中猫咪的颜色)

结构

第一到五层:卷积—ReLU—池化

第六、七层:全连接—RELU—DropOut

第八层:全连接—SoftMax

ZFNet

网络结构与AlexNet相同,只是将步长和感受野减小,以求得更加精确的结果。

VGG 卷积神经网络典型结构

网络更深

GoogleNet

可以通过多卷积核增加特征多样性。

ResNet

残差学习网络,深度达到了152层。

占坑,想后面详细了解下。

Author: iwannaeat
Link: https://iwannaeat.github.io/2020/10/25/【神经网络】卷积神经网络/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.