一. 背景
成功原因
设计目标
二. 经典网络模型
LeNet(1990 年)
网络特点
AlexNet(2012年)
网络特点
VGGNet(2014年)
网络特点
发散思考
GoogLeNet(2014年)
网络特点
inception v1结构
发散思考
辅助分类器
发散思考
ResNet(2015年)
网络特点
残差单元
发散思考
三、总结
四、参考内容
CNN的开山之作是LeCun提出的LeNet-5,而其真正的爆发阶段是2012年AlexNet取得ImageNet比赛的分类任务的冠军,并且分类准确率远远超过利用传统方法实现的分类结果。AlexNet之后,深度学习便一发不可收拾,分类准确率每年都被刷榜,下图展示了模型的变化情况,随着模型的变深,Top-5的错误率也越来越低,目前已经降低到了3.5%左右,同样的ImageNet数据集,人眼的辨识错误率大概为5.1%,也就是深度学习的识别能力已经超过了人类。
ImageNet分类Top-5误差
ImageNet项目仍然在继续改进,目前已经有包含21841类的1419722个图片。自从2010年,每年都会举行ImageNet图像识别竞赛,比赛会提供从ImageNet数据集中抽取的属于1000类的120万张图片。每个网络架构都是在这120万张图片上测试其在1000类上的准确度。
准确度:如果你在搭建一个智能系统,最重要的当然是要尽可能地准确。公平地来说,准确度不仅取决于网路,也取决于训练样本数量。因此,CNN模型一般在一个标准数据集ImageNet上做对比。
计算量:大部分的CNN模型都需要很大的内存和计算量,特别是在训练过程。因此,计算量会成为一个重要的关注点。同样地,如果想部署在移动端,训练得到的最终模型大小也需要特别考虑。你可以想象到,为了得到更好的准确度你需要一个计算更密集的网络。因此,准确度和计算量需要折中。
除了上面两个因素,还有其他需要考虑的因素,如训练的容易度,模型的泛化能力、迁移能力等。
7 层的神经网络,包含 3 个卷积层,2 个池化层,1 个全连接层,1个输出层,其中所有卷积层的卷积核都为 5x5,步长=1,池化方法都为平均池化,激活函数为 Sigmoid。如图所示:
Alexnet模型为8层深度网络,由5个卷积层和3个全连接层构成,不计LRN层和池化层。AlexNet 跟 LeNet 结构类似,但使用了更多的卷积层和更大的参数空间来拟合大规模数据集ImageNet。它是浅层神经网络和深度神经网络的分界线,如图所示:
VGGNet可以看成是加深版的AlexNet,把网络分成了5段,每段都把多个尺寸为3×3的卷积核串联在一起,每段卷积接一个尺寸2×2的最大池化层,最后面接3个全连接层和一个softmax层,所有隐层的激活单元都采用ReLU函数。VGGNet-16的网络结构如下图所示:
《Pyramid Stereo Matching Network》(CVPR 2018)中也提到小卷积核的优势:
GoogLeNet在2014年由Google团队提出, 斩获当年ImageNet(ILSVRC14)竞赛中Classification Task (分类任务) 第一名,VGG获得了第二名,为了向“LeNet”致敬,因此取名为“GoogLeNet”。
GoogLeNet做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多。GoogleNet参数为500万个,AlexNet参数个数是GoogleNet的12倍,VGGNet参数又是AlexNet的3倍,因此在内存或计算资源有限时,GoogleNet是比较好的选择,从模型结果来看,GoogLeNet的性能也更加优越。
这些论文中也沿用了inception 结构的思想:
《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》(PAMI 2015)
《Pyramid Stereo Matching Network》(CVPR 2018)
这些论文中也沿用了Auxiliary Classifier结构的思想:
《Pyramid Stereo Matching Network》(CVPR 2018)
《Group-wise Correlation Stereo Network》(arXiv 2019)
《Attention Concatenation Volume for Accurate and Efficient Stereo Matching》(CVPR 2022)
残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的, 斩获当年ImageNet竞赛中分类任务第一名, 目标检测第一名。 残差神经网络的主要贡献是发现了“退化现象(Degradation)”,并针对退化现象发明了 “短连接/快捷连接/直连边(Shortcut connection)”,极大的消除了深度过大的神经网络训练困难问题。神经网络的“深度”首次突破了100层、最大的神经网络甚至超过了1000层。
ResNet的前两层为输出通道数为64、步幅为2的7×7卷积层,后接步幅为2的3×3的最大池化层。 不同于GoogLeNet,ResNet在每个卷积层后增加了批量归一化层。接着, ResNet使用4个由残差块组成的模块,每个模块使用若干个同样输出通道数的残差块。 第一个模块的通道数同输入通道数一致。 由于之前已经使用了步幅为2的最大池化层,所以无须减小高和宽。 之后的每个模块在第一个残差块里将上一个模块的通道数翻倍,并将高和宽减半。ResNet的一个重要设计原则是:当feature map大小降低一半时,feature map的数量增加一倍,这保持了网络层的复杂度。最后,输入全局平均汇聚层,以及全连接层输出。通过配置不同的通道数和模块里的残差块数可以得到不同的ResNet模型,例如更深的含152层的ResNet-152。34层ResNet如下图所示:
ResNet团队分别构建了带有“直连边(Shortcut Connection)”的ResNet残差块、以及降采样的ResNet残差块,区别是降采样残差块的直连边增加了一个1×1的卷积操作。对于直连边,当输入和输出维度一致时,可以直接将输入加到输出上,这相当于简单执行了同等映射,不会产生额外的参数,也不会增加计算复杂度。但是当维度不一致时,这就不能直接相加,通过添加1×1卷积调整通道数。这种残差学习结构可以通过前向神经网络+直连边实现, 而且整个网络依旧可以通过端到端的反向传播训练。结构如下图所示:
许多论文中也沿用了Shortcut Connection结构的思想。在神经网络中Shortcut Connection主要以两种基本方式使用:加法和连接。
加法(逐像素直接相加):
残差块用于特征抽取:
GCnet、PSMnet、GWCnet、ACVnet、raft等
连接(在通道维度进行连接):
构建代价体:
《GA-Net Guided Aggregation Net for End-to-end Stereo Matching》(CVPR 2019)
《Correlate-and-Excite Real-Time Stereo Matching via Guided Cost Volume Excitation》 (arxXiv 2021)
3D聚合:
《Group-wise Correlation Stereo Network》(arXiv 2019)
《Pyramid Stereo Matching Network》(CVPR 2018)
卷积神经网络超详细介绍https://blog.csdn.net/jiaoyangwm/article/details/80011656?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2-80011656-blog-84392845.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-2-80011656-blog-84392845.pc_relevant_aa&utm_relevant_index=4神经网络模型(Backbone)https://www.cnblogs.com/silence-cho/p/11620863.html