LeNet
诞生:1998 作者:LeCun 别称:CNN鼻祖
结构:
- Input层:$32 \times 32 \times 1$
- C1层:
- 输入:$32 \times 32 \times 1$
- kernel:6个$5 \times 5$
- stride:$1 \times 1$
- 输出:$28 \times 28 \times 6$
- S2层:
- 输入:$28 \times 28 \times 6$
- pooling:$2 \times 2$
- 输出:$14 \times 14 \times 6$
- C3层:
- 输入:$14 \times 14 \times 6$
- kernel:16个$5 \times 5$
- stride:$1 \times 1$
- 输出:$10 \times 10 \times 16$
- S4层:
- 输入:$10 \times 10 \times 16$
- pooling: $2 \times 2$
- 输出:$5 \times 5 \times 16$
- C5层:
- 输入:$5 \times 5 \times 16$
- kernel:120个$5 \times 5$
- stride:$1 \times 1$
- 输出:$1 \times 1 \times 120$
- 全连接层F6:
- 输入:$1 \times 120$
- 输出:$120 \times 84$(10个种类)
- 全连接输出层:
- 输入:$1 \times 84$
- 输出:$1 \times 10$
AlexNet
诞生:2012年ImageNet竞赛 作者:Hinton和他的学生Alex Krizhevsky 别称:CNN王者归来 本质:增加LeNet深度并使用一些小Tips.
特点:
- ReLU:收敛快,计算量少
- 数据扩充:对256×256的图片进行随机裁剪到224×224,然后进行水平翻转,相当于将样本数量增加了$((256-224)^2)×2=2048$倍,减少overfitting
- 重叠池化:减少overfitting
- dropout:减少overfitting
- LRN
- 多GPU
结构:
- L1:卷积$\rightarrow$ReLU$\rightarrow$池化$\rightarrow$归一化
- 输入:$224 \times 224 \times 3$
- kernel:96个$11 \times 11 \times 3$
- padding:3
- stride: 4
- 卷积输出:$55 \times 55 \times 96$
- pooling:$3 \times 3$ stride:2
- 输出:$27 \times 27 \times 96$
- L2:卷积$\rightarrow$ReLU$\rightarrow$池化$\rightarrow$归一化
- 输入:$27 \times 27 \times 96$
- kernel:256个$5 \times 5 \times 96$
- padding:两个2
- stride: 1
- 卷积输出:$27 \times 27 \times 256$
- pooling:$3 \times 3$ stride:2
- 输出:$13 \times 13 \times 256$
- L3:卷积$\rightarrow$ReLU
- 输入:$13 \times 13 \times 256$
- kernel:384个$3 \times 3$
- padding:两个1
- stride:1
- 卷积输出:$13 \times 13 \times 384$
- L4:卷积$\rightarrow$ReLU
- 输入:$13 \times 13 \times 384$
- kernel:256个$3 \times 3$
- padding:两个1
- stride:1
- 卷积输出:$13 \times 13 \times 256$
- L5:卷积$\rightarrow$ReLU$\rightarrow$池化
- 输入:$13 \times 13 \times 256$
- kernel:256个$3 \times 3$
- padding:两个1
- stride:1
- 卷积输出:$13 \times 13 \times 256$
- pooling:$3 \times 3$ stride:2
- 输出:$6 \times 6 \times 256$
- L6:全连接(全卷积)$\rightarrow$ReLU$\rightarrow$Dropout
- 输入:$6 \times 6 \times 256$
- 全卷积的意思是4096个$6 \times 6 \times 256$的卷积核
- 输出:$4096 \times 1 \times 1$
- L7:全连接$\rightarrow$ReLU$\rightarrow$Dropout
- 输入输出都是4096
- L8全连接:
- 输入4096
- 输出1000
VGGNet
诞生:2014年ImageNet竞赛(定位任务第一名,分类任务第二名) 作者:牛津大学Andrew Zisserman教授的组 本质:比AlexNet使用更小的卷积核和更深的层级
特点:
- 小卷积核和多卷积子层
- 小池化核:相比AlexNet的3x3的池化核,VGG全部采用2x2的池化核。
- 层数更深、特征图更宽:由于卷积核专注于扩大通道数、池化专注于缩小宽和高,使得模型架构上更深更宽的同时,控制了计算量的增加规模。
- 全连接转卷积(测试阶段)
网络结构见链接吧,不写了.
GoogLeNet
诞生:2014年ImageNet竞赛(分类任务第一名) 作者:Christian Szegedys
特点:Inception
Inception V1
诞生: 2014 创新点:使用$1 \times 1$卷积核: 1. 全卷积其实就是全连接,$1 \times 1$卷积不是全连接 2. $1 \times 1$卷积核前后size不变,通道数可以改变,因此可以用来降维或升维 3. 增加非线性(没明白) 4. 跨通道信息交互
Inception V2
诞生: 2015 创新点:1. 用两个$3 \times 3$卷积核代替$5 \times 5$卷积核 2. 提出BatchNormal
Inception V3
诞生: 2015 创新点:1.改进拆分卷积
Inception V4
诞生: 2016 创新点:增加ResNet
ResNet
诞生:2015 作者:何恺明 别称:里程碑 目的:解决网络太深导致的梯度消失或梯度爆炸,从而使网络退化问题(不是overfitting) 作用:将某些层的输入和输出映射成为恒等对
公式推导参考这里:
假设我们要更新第$l$层的某一个参数$w$,网络结构共$L$层,激活函数全部采用$relu$且大于$0$,则有:
则计算反响传播:
可以看出,此时的偏导数不再是连乘,而是连加,因此避免了梯度消失和梯度爆炸。
DenseNet
一张图:
两句话:
- 每一层输入都是前面所有层输出的
contact
- 和
resnet
唯一的不同就是restnet
是add
,而densenet
用的是contact