现代卷积神经网络
总结一些从80年代至今的论文提出的用于计算机视觉的常用卷积神经网络
LeNet
LeNet是一系列网络的总称,包括LeNet1 - LeNet5,由Yann LeCun等人在1990年《Handwritten Digit Recognition with a Back-Propagation Network》中提出,是卷积神经网络的HelloWorld。主要用于手写数字体识别。
LeNet是早期成功的神经网络,先使用卷积层来学习图像空间信息,然后使用全连接层来转换到类别空间。
AlexNet
AlexNet赢了2012年ImageNet竞赛冠军,标志着新一轮的神经网络热潮的开始
本质是一个更深更大的LeNet,10×参数个数,260×计算复杂度
主要改进:dropout、ReLU、MaxPooling、数据增强
因为网络深度和宽度改变,量变引起质变,从而引起计算机视觉方法论的改变
VGG
提出VGG块,是AlexNet思路的拓展,本质就是将AlexNet中的卷积+池化 组合操作封装成一个VGG块,然后在VGG网络中反复调用,也就是一个更大更深的AlexNet。当然论文通过实验发现最佳的VGG块是什么样的,即下一行的组合
VGG块:3×3卷积(填充1,n层,m通道),2×2最大池化层(步幅2)
VGG架构:多个VGG块后接全连接层,不同次数的重复块得到不同的架构VGG-16,VGG-19……
NiN(网络中的网络)
在VGG、AlexNet等网络中,卷积层后接全连接层,已知卷积层的参数数量较少,而紧接着的全连接层参数非常多,因此NiN提出在卷积层后跟1×1的卷积层,起到全连接层的作用
NiN架构:
- 无全连接层
- 交替使用NiN块和步幅为2的最大池化层,逐步减小高宽和增大通道数
- 最终使用全局平均池化层得到输出
NiN块使用卷积层加两个1×1卷积层,后者对每个像素增加了非线性性
NiN使用全局平均池化层来替代VGG和AlexNet中的全连接层,不容易过拟合,更少的参数个数
GoogleNet
在上面提到的网络中,都是有自己设计的块大小,即块中的卷积大小等都是固定的,有人提到为什么选择这样的块大小,其实这是通过实验得出的结论。
因此GoogleNet提出,不同大小的卷积我不做选择,我全都要,提出Inception块的概念
4个路径从不同层面抽取信息,然后在输出通道维合并,Inception:
跟单3×3或5×5卷积层比,Inception块有更少的参数个数和计算复杂度
Inception有后续各种变种
Inception-BN(v2):使用batch normalization
Inception-V3:修改了Inception块
- 替换5×5为多个3×3卷积层
- 替换5×5为1×7和7×1卷积层
- 替换3×3为1×3和3×1卷积层
- 更深
Inception-V4:使用残差连接