关于机器学习:卷积神经网络入门基础

5次阅读

共计 3050 个字符,预计需要花费 8 分钟才能阅读完成。

文章和代码曾经归档至【Github 仓库:https://github.com/timerring/dive-into-AI】或者公众号【AIShareLab】回复 神经网络根底 也可获取。

CNN

卷积神经网络发展史

卷积神经网络(convolutional neural networks, CNN )
CNN 是针对图像畛域工作提出的神经网络,经验数代人的倒退,在 2012 年之后大部分图像工作被 CNN 统治,例如图像分类,图像宰割,指标检测,图像检索等。

CNN 构造受视觉零碎启发 :1962 年,生物学家 Torsten WieseI 和 David H. Hubel(1981 年的诺贝尔医学奖)对猫的视觉零碎进行钻研,首次发现猫的视觉零碎中存在 层级机构,并且发现了两种重要的细胞 simple cells 和 compIex cells,不同类型细胞承当不同抽象层次的视觉感知性能。

猫的视觉零碎试验

  1. 在猫脑上关上 3mm, 插入电极
  2. 让猫看各种形态、地位、亮度和静止的光条
  3. 察看大脑视觉神经元激活状况

神经元存在部分感触区域 (receptive field),也称 感触野

细胞感触区域存在差别:如 C 细胞和 D 细胞相同(图中 X 示意有响应,三角示意无响应)

细胞对角度有选择性。如图所示的该细胞对垂直光条响应最强。

细胞对静止方向有选择性(如图,a 种形式感应更加强烈)

对 CNN 启发:

  1. 视觉零碎是分层、分级的进行解决,从低级到高级的形象过 $\to$ 类比重叠应用卷积和池化
  2. 神经元实际上是存在部分的感触区域的,具体来说,它们是部分敏感 $\to$ 类比神经元部分连贯

第一个卷积神经网络雏形——新认知机(Neocognitron)

1980 年,日本学者福岛邦彦(Kunihiko Fukushima) 借鉴猫视觉零碎试验论断,提出具备层级构造的神经网络一一新认知机,重叠应用相似于 S 细胞和 C 细胞的两个构造。S 细胞和 C 细胞可类比古代 CNN 的卷积和池化。

毛病:没有反向流传算法更新权值,模型性能无限。

福岛邦彦主页:http://personalpage.flsi.or.jp/fukushima/index-e.html

第一个大规模商用卷积神经网络——Lenet-5

1989 年,Lecun 等人已开始钻研 Lenet;1998 年,Lecun 等人提出 Lenet-5,并胜利在美国邮政零碎中大规模利用于手写邮政编码辨认

毛病:无大量数据和高性能计算资源

第一个技惊四座的卷积神经网络——AlexNet

2012 年,AlexNet 以超出第二名 10.9 个百分点的问题夺得 ILSVRC 分类工作冠军,从此拉开卷积神经网络告诉图像畛域尾声。

  • 算料:ImageNet
  • 算力:GPU(GTX580 * 2)
  • 算法:AlexNet

卷积操作

卷积层(Convolutional Layer)

图像识别特点:

  • 特色具备局部性:例如老虎重要特色“王字”仅呈现在头部区域 —— 卷积核每次仅连贯 K * K 区域,K* K 是卷积核尺寸;
  • 特色可能呈现在任何地位——卷积核参数重复使用(参数共享),在图像上滑动(示例图像起源:https://github.com/vdumoulin/conv_arithmetic)

0×0+1×1+3×2+4×3 =19

  • 下采样图像,不会扭转图像指标

卷积核

卷积核 :具可学习参数的算子,用于对输出图像进行 特征提取 ,输入通常称为 特色图(feature maps)。

具体的过程能够依据理论状况模仿以下,例如第一个边缘检测的卷积核,如果一个像素差异不大的图像,通过该卷积核卷积过程后,大概率是两头的 8 份额减去旁边的 8 个 1 份额,最初为 0,显示为彩色。如果存在边缘非常明显的局部,通过缩小之后数值依然较大,显示为红色,因而能够造成边缘的轮廓。

2012 年 AlexNet 网络第一个卷积层卷积核可视化,卷积核出现边缘、频率和色调上的特色模式。

填充 (Padding):在输出图像的四周增加额定的行 / 列

作用:

  • 使卷积后 图像分辨率不变,不便计算特色图尺寸的变动
  • 补救边界信息“失落 ”

步幅(Stride):卷积核滑动的行数和列数称为步幅,管制输入特色图的大小,会被放大 1 / s 倍。

卷积会向下取整,到边界不满足信息的话,会向下取整。(即便存在边缘信息,然而如果不满足步幅,也会舍弃)

输入特色图尺寸计算:

$$
\mathrm{F}_{\mathrm{o}}=\left[\frac{\mathrm{F}_{\text {in}}-\mathrm{k}+2 \mathrm{p}}{\mathrm{s}}\right]+1
$$

$$
\frac{[4-3+2 * 0]}{1}+1=2
$$

$$
\frac{[6-3+2 * 1]}{2}+1=3
$$

$$
\frac{[5-3+2 * 1]}{1}+1=5
$$

多通道卷积:RGB 图像是 3 *h* w 的三维的数据,第一个维度 3,示意 channel,通道数

一个卷积核是 3 - D 张量,第一个维与输出通道无关

注:卷积核尺寸通常指高、宽

如上,卷积核的规模为 2x3x3x3。实质上还是一个二维卷积。

池化操作

图像识别特点

  • 下采样图像,不会扭转图像指标——升高计算量,缩小特色冗余

池化:一个像素 示意 一块区域 的像素值,升高图像分辨率

一块区域像素如何被一个像素代替:

  • 办法 1: Max Pooling,取最大值
  • 办法 2: Average Pooling,取平均值

当初的模型中很多都不太用池化操作,而采纳一个步长为 2 的卷积代替池化,通过它也能够实现升高图像的分辨率。(池化也能够了解为一种非凡的卷积,例如能够将 Max pooling 了解为一个最大值权值为 1,其余权值为 0 的卷积核,将 Average Pooling 了解为一个均匀权值的卷积核)。

因而输入尺寸计算与卷积操作相似:(留神:池化层无可学习参数)

$$
\mathrm{F}_{\mathrm{o}}=\left\lfloor\frac{\mathrm{F}_{\text {in}}-\mathrm{k}+2 \mathrm{p}}{\mathrm{s}}\right\rfloor+1
$$

池化作用

  1. 缓解卷积层对地位的适度敏感

    第一行为原矩阵,第二行为卷积后的矩阵,第三行为池化后的矩阵。左右比照可知,增加扰动后卷积后果受到影响,然而池化后果并未受到影响。参考:https://zhuanlan.zhihu.com/p/103350961

  2. 缩小冗余
  3. 升高图像分辨率,从而缩小参数量

Lenet- 5 及 CNN 构造进化史

1998-Lecun-Gradient-Based Learning Applied to Document Recognition

特征提取器:C1、S2、C3、S4

  • C1 层:卷积核 K1=(6, 1, 5, 5), p=1, s=1,output=(6, 28, 28)
  • S2 层:最大池化层,池化窗口 =(2,2),s=2,output=(6, 14, 14)
  • C3 层:卷积核 K3=(16, 6, 5, 5), p=1, s=1,output=(16, 10, 10)
  • S4 层:最大池化层,池化窗口 =(2,2),s=2,output=(16, 5, 5)

分类器:3 个 FC 层

  • FC 层:3 个 FC 层输入分类

CNN 进化史

  1. 1980 Neocognition 福岛邦彦
  2. 1998 Lenet-5 Lecun
  3. 2012 AlexNet Alex
  4. 2014 GoogLenet Google
  5. 2014 VGG-Net VGG
  6. 2015 ResNet Kaiming He
  7. 2017 DenseNet Gao Huang
  8. 2017 SE-Net Jie Hu

参考

所有卷积示例图像的起源:https://github.com/vdumoulin/conv_arithmetic

正文完
 0