1. 简介
1.1 fully connected vs. CNN
使用 全连接 的网络有两大问题:
- 参数过多
参数过多, 收敛就慢. 特别是对于1000*1000这种高分辨率图片, 多层全链接的参数量是巨大的. - 易过拟合
参数多意味着复杂, 就有过拟合的风险.
CNN这种网络结构, 将局部感受野,权值共享,时间或空间子采样这三种思想结合起来, 使得它对图像平移、缩放、旋转等的变形具有高度不变性.
2. 图像表示
先来复习一下图像的数字化表示.
图像的存储格式有三种:
- 黑白
0-1 表示, 二维的. - 灰阶
0~255 表示, 二维的.值越大, 颜色越白. - 彩色
RGB, 三维的.
3.网络结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dcyleA4D-1584633897417)(http://d3kbpzbmcynnmx.cloudfront.net/wp-content/uploads/2015/11/Screen-Shot-2015-11-07-at-7.26.20-AM-1024x279.png)]
图3-1 图像分类的流程
全连接的网络, 一般都会把节点画出来, 因为它们是全连接, 这样方便显示连接结构.
而 CNN 并不是全连接的, 相邻两层之间只有部分节点相连.
为了展示每一层神经元的维度, 通常会将每一层的节点组织成二维或三维矩阵.
3.1 卷积
由图3-1可以看到, 第一层是原图, 第二层是若干个卷积得到的feature-map, 这若干个 特征图像 是由不同尺寸的卷积核 得到.
多卷积核
Q: 为什么需要多个卷积核?
Each filter composes a local patch of lower-level features into higher-level representation. That’s why CNNs are so powerful in Computer Vision.
在同一层,我们希望得到对于一张图片多种角度的描述,具体来讲就是用多种不同的卷积核对图像进行卷,得到不同核(这里的核可以理解为描述)上的响应,作为图像的特征。
再打个比方, 一个同学, 有身高, 年龄, 体重不同的维度去描述, 那么我们也希望不同的卷积核能从不同的aspect去描述图片.
权值共享
在 CNN 中, 同一个卷积层的同一个filter, 在 前向传播的时候, 权重参数是保持不变的, 这叫 权值共享.
Q: 权值共享有什么优点?
两个优点:
- 平移不变性
以MNIST 手写数字识别为例, 无论数字 ‘1’ 出现在左上角还是右下角, 图片种类都是不变的. 因为在左上角和右下角使用的filter参数相同, 所以通过卷积层之后, 无论数字在图像上的哪个位置, 得到的结果都一样. - 参数数量锐减
filter的尺寸为 n*m , 那么参数加偏置的个数为 n m + 1 nm+1 nm+1, 与原始图片尺寸无关.
3.2 池化
channel
卷积网络中主要有两个操作,一个是卷积(Convolution),一个是池化(Pooling)。
其中池化层并不会对通道之间的交互有影响,只是在各个通道中进行操作。
而卷积层则可以在通道与通道之间进行交互,之后在下一层生成新的通道,其中最显著的就是Incept-Net里大量用到的1x1卷积操作。基本上完全就是在通道与通道之间进行交互,而不关心同一通道中的交互。
一般大家说通道指的是图片的色彩通道,而特征图是卷积过滤器的输出结果。但实际上,两者本质上是相同的,都是表示之前输入上某个特征分布的数据。
经典网络与历史演进
LeNet-5
Lenet 是一系列网络的合称,包括 Lenet1 - Lenet5,由 Yann LeCun 等人在 1990 年《Handwritten Digit Recognition with a Back-Propagation Network》中提出,是卷积神经网络的 HelloWorld。
LeNet-5 是一种典型的用来识别数字的卷积神经网络, 共有7层(不包含输入),每层都包含可训练参数连接权重.
AlexNet
AlexNet(2012
VGG
VGG(Visual Geometry Group,2015)