1.前言
在卷积神经网络入门一节中,讲述了卷积神经网络的基本构建,比如卷积层、池化层以及全连接层,在过去很长一段时间,计算机视觉的大量研究都集中在如何组合这些基本构建,形成有效的神经网络。实际中在计算机视觉中表现良好的网络往往也适用于其它的任务,比如其它人训练了一个识别猫的网络结构,而你的任务是自动驾驶,你完全可以借鉴别人的神经网络框架。
2.经典网络:
- LeNet-5
- 参数个数:约6万个
- 随着网络越深,图像大小(nH,nW)在缩小,通道数(nC)在增加
- 一个或多个卷积网络后面接池化层的思想至今仍在使用
- 原论文[1]
- AlexNet
- 参数个数:6000万个
- 在训练图像和数据集时AlexNet能够用非常相似的基本构造模块,这些模块通常包含大量的隐藏单元或数据,这使得AlexNet有非常惊艳的效果。
- AlexNet比LeNet表现好的另外一个原因是使用了Relu激活函数
- 从这篇论文后人们开始确信深度学习可以应用于计算机视觉领域
- 原论文[2]
- VGG - 16
- 参数个数:1.38亿个参数
- 每一组卷积网络的过滤器个数翻倍
- vgg-16和vgg-19网络效果差不多,大部分人还是使用vgg-16
- vgg-16 网络没有那么多的超参数,这是一种专注于构建卷积层的简单网络
- vgg的优点是简化了神经网络结构
- 原论文[3]
3.残差网络
非常非常深的卷积网络是很难训练的,因为存在梯度消失和梯度爆炸问题,ResNets可以构建100层以上的神经网络。
- Residual Block(残差块)
假设有有一个两层的卷积网络,从l层到l+2 层,通常神经网络的处理流程是: - a[l]线性变换:z[l]=W[l+1]a[l]+b[l+1]
- RELU非线性激活:a[l+1]=g(z