总体
阿尔法:AlexNet
更深:VGG、ResNet
更宽:InceptionNet
更深+更宽:InceptionResNet(Inception+Res)
更轻量级:MobileNet等,另附一篇轻量级卷积神经网络介绍
1.AlexNet
- 首次使用ReLU
- 使用了2-GPU并行结构
- 使用了归一化层(注意不是batch normalization,后续弃用)
- 使用了数据增强技术
- 两个全连接层使用了dropout:避免过拟合
- 使用了模型组合技术
2.VGGNet
- 更深(11-19层,A-E)
- 多使用3*3的卷积核
2个3*3卷积层可以看做一层5*5的卷积层(视野域相同,2层比一层多一次非线性变换,参数降低28%)
3个3*3卷积层可以看做一层7*7的卷积层
小卷积核计算更少,层数更深,中间可以增加更多非线性层 - 使用了1*1的卷积层,可以看做是非线性变换(多通道信息压缩到更少通道):降低通道数,降低参数量
- 每经过一个pooling层,通道数目翻倍
- 使用fine-tuning加速训练
- 使用多尺度输入:不同的尺度,再提取224*224,解决图像缩放问题
3.ResNet
- 更深:ResNet-34与ResNet-101、ResNet-152
- 引入残差网络,残差子结构
不会增加参数量
残差结构使得网络需要学习的知识更少,容易学习(知识大部分在残差中)
残差结构使得每一层的数据分布接近,容易学习
恒等变换解决梯度消失问题 - 去掉了全连接层(强化了卷积层)
- 每个卷积层之后增加bn层
- 更多变种:
ResNetXt:引入分组卷积
DenseNet:更多的跳连
Wide-ResNet:加大网络宽度
4.InceptionNet(google)
- 增加网络宽度
不算是分组卷积,因为通道没有分割
一层上同时使用多种卷积核,看到各种层级的feature(从小到大的各种特征)
不同组之间的feature不交叉计算,减少了计算量 - 去掉了全连接层(强化了卷积)
- V1(GoogleNet)、V2(使用3*3替换5*5)、V3结构(使用1*3和3*1替换3*3)、V4结构(引入残差结构)