将计算机视觉中的几个知名Baseline网络放在一起讲解其主要内容,如果需要了解详细细节建议阅读原论文
1.AlexNet(ImageNet Classification with Deep Convolutional Neural Networks 2012)
网络结构:
作者训练了一个在当时来讲算是大型的网络并在ILSVRC-2010中获得了top1错误率:37.5% top5错误率:17.0%的SOTA成绩。
作者提升网络效果的三个方面:
1.大型数据集
使用了当时最新的也是最大的Imagenet数据集训练模型
数据集 | Caltech与CIFAR | LabelMe | ImageNet |
---|---|---|---|
量级 | 几万 | 十万 | 千万 |
2.大型网络
网络中包含5层卷积与3层全连接,后跟1000类softmax分类。网络在当时由于太大所以不得不拆分到两个GTX580GPU(3GB)上进行训练
3.防止过拟合的技巧
3.1.使用了非饱和非线性函数ReLU替换先前的饱和非线性函数(相比使用tanh训练提速6倍)
3.2.数据增强(两种方法)
1.训练时对数据随机重采样2048次,测试时crop原始图片四角加中心并镜像共计10张图片推理10次取均值作为输出
2.改变图像RGB通道强度,对RGB像素做PCA主成分分析
3.3.Drouput,50%概率随机设置隐藏神经元输出为0
一些细节:
使用了重叠的池化层,窗口为3、步长为2,提升了效果
图像前处理包含rescale和减均值
第一个卷积使用了11*11*3、group2、stride4的大卷积核
使用了局部响应归一化LRN(后续论文证实该方法无用)
2.NIN(Network In Network 1312.4400v3)
网络结构
本文作者意在于使用多层感知机穿插卷积神经网络来构建网络中的小型网络(Network In Network)以对特征进行二次提取从而提升效果(该方法并不是十分有效,多层感知机本身由三层以上全连接层组成,全连接计算等于输入tensor大小的稠密卷积,在CNN多个层中加入多个输入tensor大小的稠密卷积效果可想而知)
传统卷积层与多层感知机卷积层结构对比:
全连接层缺点:
1.黑盒,难以理解其中运行方式
2.容易过拟合
3.依赖Dropout
所以作者使用GAP(Global Average Pooling)替代全连接,这也是本文最大亮点。当时分类模型普遍使用全连接层作为分类head,再加上“为了提升效果就要训练更深的模型”这一共识,使得当时模型深受过拟合问题困扰。所以GAP在稀疏网络后缓解了过拟合问题反而能够提升效果,同时使用GAP替换FC也大大减少了模型参数量,提升速度。这也是工程落地的算法模型常使用的分类头