CNN for 图像与视觉
1. 简介
1.1 fully connected vs. CNN
使用 全连接 的网络有两大问题:
- 参数过多
参数过多, 收敛就慢. 特别是对于1000*1000这种高分辨率图片, 多层全链接的参数量是巨大的. - 易过拟合
参数多意味着复杂, 就有过拟合的风险.
CNN这种网络结构, 将局部感受野,权值共享,时间或空间子采样这三种思想结合起来, 使得它对图像平移、缩放、旋转等的变形具有高度不变性.
2. 图像表示
先来复习一下图像的数字化表示.
图像的存储格式有三种:
- 黑白
0-1 表示, 二维的. - 灰阶
0~255 表示, 二维的. - 彩色
RGB, 三维的.
3.网络结构
图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 , 那么参数加偏置的个数为nm+1 , 与原始图片尺寸无关.
3.2 池化
4.LeNet-5
LeNet-5 是一种典型的用来识别数字的卷积神经网络, 共有7层(不包含输入),每层都包含可训练参数(连接权重)。