chapter-9-卷积神经网络架构

AlexNet:2012

chapter-9-卷积神经网络架构_第1张图片
这是第一个在ImageNet大赛中取得成绩的卷积神经网络,值得注意的是,它的网络架构分为两部分,这是因为当时的GPU大小不足以支撑一个完整的AlexNet,于是研究者将其分为两部分,使其在两个GPU中运行。

ZFNet:2013

它是AlexNet的一个改进:修改了AlexNet卷积核和步长以及超参数,使其的错误率更低。

GoogleNet:2014

chapter-9-卷积神经网络架构_第2张图片
它的特点是有一个inception module:使用不同大小的卷积核对输入进行处理,并将结果并行输出。这种方法的效果确实不错,但它的问题在于,这对算力的要求过于巨大。

为了解决这个问题,GoogleNet在做大小大于1×1的卷积核的计算前和池化后,使用一个1*1的卷积核对其进行压缩(相当于对其维度进行线性组合),以减少计算。

可以看到,在整个架构的右侧有两个输出端,它们被称为辅助分类输出端,因为有时候我们仅通过部分神经网络也能够得到一些有用的输出。

VGGNet:2014

chapter-9-卷积神经网络架构_第3张图片
它的特点是,更深的网络,以及更小的卷积核。由于算力的限制,前者的实现需要后者的支持。

ResNet

chapter-9-卷积神经网络架构_第4张图片
我们凭借直觉认为,神经网络的层数越多时,其表现也应该越好。但在实际测试中我们发现,层数更高的神经网络不仅在测试集中表现更差,在训练集中甚至也要差。

ResNet的设计者认为这个问题实际上是个优化问题。他的假设是,我们可以使一个深层的神经网络的前n层与某个神经网络完全相同,然后剩下层全部是恒等映射。通过这种方式,我们可以得到一个效果完全相同,但层数不同的神经网络。基于这种假设,学习残差F(x) = H(x) - x(H(x)为原先的神经网络的输出),比直接学习H(x)有效。

ResNet的效果很好,但关于它的原理,视频这里的解释很差劲,网上也没有找到详细的解释。我的理解是,ResNet将所有的层都视作恒等映射,然后在学习时得到一个不为0的残差,得到这个残差的容易程度要比直接计算原有映射要容易很多,这有点类似归一化。

你可能感兴趣的:(chapter-9-卷积神经网络架构)