LeNet卷积神经网络
背景
含隐藏层的多层感知机模型对图像进行分类时,是将图像中的像素逐行展开,得到一个向量输入到全连接层中。这种方法有一些局限性:
- 同一列的像素在最后的向量中相距较远;
- 大尺寸图像输入到全连接层导致模型过大,开销过高 。
卷积层可以解决以上两个问题:
- 卷积层保留输入的形状,图像在高和宽两个方向都可以被处理;
- 卷积层通过滑动窗口将卷积核与不同位置的输入重复计算,避免特征图尺寸过大。
LeNet模型
卷积神经网络就是含卷积层的网络。LeNet是用来识别手写数字图像的卷积神经网络。
LeNet分为卷积层块和全连接层块。
- 卷积层+最大池化层
- 卷积层识别图像中的线条和局部
- 最大池化层降低卷积层对位置的敏感性
- 卷积层的输出为(批量大小,通道,高,宽)
- 全连接层将每个小本变平(二维),第一维是样本,第二维是其向量表示
- 每个全连接层的输出分别为120,84,10
网络结构
LeNet-5网络整体结构如下图:
一共包含7层网络(不包含输入):
输入-->卷积层-->池化层-->卷积层-->池化层-->全连接层-->全连接层-->全连接层
具体参数如下:
- 输入的图片维度是
- 卷积层:使用,步长的卷积核,输出通道为6
- 池化层:使用,步长的filter
- 卷积使:使用,步长的卷积核,输出通道为16
- 池化层:使用,步长的filter
- 全连接层:输出节点120个
- 全连接层:输出节点84个
- 全连接层:输出节点10个(类别个数)
第二个卷积层的输入比卷积层1的输入的宽、高要小,因此增加输出通道使两个卷积层的参数尺寸类似
图像经过两次卷积,从薄而大变得厚而小
总结
- 神经网络可以直接基于图像的原始像素分类(端到端)
- LeNet交替使用卷积层和最大池化层后接全连接层进行图像分类
- 在小数据集上表现好,更大的真实数据集上并不如其他机器学习方法,如支持向量机