总结一些从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:使用残差连接