典型卷积神经网络

CNN架构演变

参考这儿
典型卷积神经网络

LeNet5

AlexNet

VGG

问题1:(VGG)为什么2个3×3的卷积核可以替代1个5×5卷积核

VGG16相比AlexNet的一个改进是采用连续的几个3×3的卷积核替代AlexNet中较大的卷积核,(1)在保证具有相同感知野的条件下,进一步减少参数量,(2)同时增加了网络深度,在一定程度上提升了神经网络性能。例如2个3×3的卷积核的感知野与1个5×5的卷积核的感知野相同,如图所示 [1]
典型卷积神经网络

问题2:VGG16网络的好处

见问题1[2]

ResNet

ResNet 诞生于一个美丽而简单的观察:为什么非常深度的网络在增加更多层时会表现得更差? 参考这儿

直觉上推测,更深度的网络不会比更浅度的同类型网络表现更差吧,至少在训练时间上是这样(当不存在过拟合的风险时)。让我们进行一个思想实验,假设我们已经构建了一个n 层网络,并且实现了一定准确度。那么一个 n+1 层网络至少也应该能够实现同样的准确度——只要简单复制前面 n层,再在最后一层增加一层恒等映射就可以了。类似地,n+2、n+3 和 n+4层的网络都可以继续增加恒等映射,然后实现同样的准确度。但是在实际情况下,这些更深度的网络基本上都会表现得更差。

ResNet 的作者将这些问题归结成了一个单一的假设:直接映射是难以学习的。而且他们提出了一种修正方法:不再学习从 x 到 H(x)基本映射关系,而是学习这两者之间的差异,也就是「残差(residual)」。然后,为了计算 H(x),我们只需要将这个残差加到输入上即可。

假设残差为 F(x)=H(x)-x,那么现在我们的网络不会直接学习 H(x) 了,而是学习 F(x)+x。

典型卷积神经网络

Inception

如果 ResNet 是为了更深,那么 Inception 家族就是为了更宽。Inception的作者对训练更大型网络的计算效率尤其感兴趣。换句话说:我们怎样在不增加计算成本的前提下扩展神经网络?参考这儿

Inception最早的论文关注的是一种用于深度网络的新型构建模块,现在这一模块被称为「Inception
module」。究其核心,这种模块源自两种思想见解的交汇。

Other Tricks

Batch Normalization