cnn全称卷积神经网络(Convolutional Neural Networks),常用于图像分类,语音,机器翻译等。其中最为常见的还是图像分类。
LeNet
总结
各层主要作用
- 卷积层:提取特征
- 池化层:降低计算量
- 全连接:联系各个区域,在分类中结合softmax起到分类器的作用
AlexNet 2012
主要工作与改进点
- 引入ReLU激活函数: ReLU的全称是修正线性单元(Rectified Linear Unit), 其函数表达式为 max(0, x)
- 多GPU训练: 加快训练速度
- 引入局部响应归一化(LRN): 实际证明没什么用,在此不对其做解释
- 使用重叠池化:一种池化类型,普通池化是
stride == kernel size
,而重叠池化stride < kernel size
- 使用数据增强:一个trick,在数据过少的时候,通过翻转,旋转,移位,缩放等操作增加数据。
- 引入dropout: 一个trick,用于抑制过拟合。dropout通俗点解释就是在网络前向传播的时候,让每一个隐藏节点以一定的概率失效。
VGG 2014
主要工作与改进点
- 使用更小的卷积核。用2个3*3的卷积核有效代替了AlexNet的5*5卷积核,用3个3*3代替了7*7。并证明了这种代替方式能够减少参数。
2 * (3c * 3c) < 5c * 5c
,3 * (3c * 3c ) < 7c * 7c
- 使用更小的池化核,2*2, 步长为 2,卷积核通道更多,使得提取的特征增多,同时不会大规模增大数据量。
- 实践证明了 LRN 的无效性,但会增加内存和计算量。
- 实践证明了随着网络深度的增加,网络的准确性可以得到提升。
Inception-v1 2014
扩展宽度
主要工作与改进点
- 引入inception module。
在实际分类与检测任务中,图片中的物体有大有小,大的物体适合用更大的卷积核,小的物体适合用更小的卷积核,如何正确选择卷积核是需要面对的一个问题。
- 引入瓶颈层,减少计算量。
- 引入了辅助分类器,论文中指出,多出来的两个辅助分类器在反向传播的时候计算的损失函数各占30%。 --> 为了解决梯度消失的问题
ResNet 2015
扩展深度
主要工作与改进点
- 引入残差块
Exploring Over 1000 layers. We explore an aggressively deep model of over 1000 layers. We set n=200n=200 that leads to a 1202-layer network, which is trained as described above. Our method shows no optimization difficulty, and this 103103-layer network is able to achieve training error <0.1% (Fig. 6, right). Its test error is still fairly good (7.93%, Table 6).
Inception-v2, Inception-v3, Inception-v4, inception-resnet
主要工作与改进点
- inception-v2: 使用更小的卷积核,用2个3*3代替5*5, 用 1*n 和 n*1 代替 n*n,增加 inception module等
- inception-v3: 在inception-v2之上在辅助分类器中使用了BN正则化(也是google在同年提出的正则化方法
- inception-v4: 按我理解其实没多大变化,就是用了更多的inception块
- inception-resnet: 主要就是结合了resnet
参考学习
- 聊一聊深度学习的activation function
- 数据增强
- 深度学习中Dropout原理解析
- imagenet-classification-with-deep-convolutional-neural-networks
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Deep Residual Learning for Image Recognition
- Going deeper with convolutions
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Rethinking the Inception Architecture for Computer Vision