深度学习课程--ResNet 模型 + Inception模型的简单介绍

这里将会介绍近年来最火的模型

ResNet 模型-残差神经网络(2014)

ResNet 是因为对神经网络深度的观察,而提出的一个模型。之前人们观察到,为什么非常深度的网络在增加更多层的时候,表现会变差? 按直觉,越深的网络理应效果更好,或者至少不变差。

假设我们已经构建了一个N层的网络,实现了一定的精度,那么在这个基础上,再建立一层,即N+1层的网络模型,按理说,应该也会有差不多的精度,但是实际上,表现会更差。所以有人提出,这是因为直接映射是难以学习的,即x–>H(x)中会损失很多信息。于是有人提出,不再学习H(x),而是学习x和H(x) 的差异,即残差。我们记为 残差 F(x)=H(x) - x。 为了计算H(x),直接把F(x)+x 即是H(x)了。所以,我们将不会直接学习H(x),而是学习F(x)+x。 这就是构建了著名的残差网络模块。
在这里插入图片描述
由于输出F(x)和输入X直接相加,如果两者形状不一样则难以相加,那就可以通过使用零填充或投射(通过 1×1 卷积)来得到匹配的大小。

ResNet模型由于连接来前面的网络,所以可以进行很深层的网络,而不用害怕梯度消失的问题。

ResNet模型是通过从根本上改变结果和学习过程来取得很大的改进。其他的研究都是通过对数学、优化和训练过程进行调整而取得稍微的一点点进步,而没有对模型框架进行根本的思考

Inception模型(2015)

Inception模型是构建更宽的网络。这个模型是对层的操作。卷积网络中,每一层都会提取不同的特征。比如5 ✖️ 5的卷积核输出的信息跟3✖️ 3 的卷积核输出不一样。那么我们知道什么样的卷积核最适合提取呢

所以 Inception模型的改进是在给定的层,把所有的卷积核都试过一次,然后再做选择。也就是说,对于每一层,都会执行 1✖️ 1,3✖️ 3, 5✖️ 5 的卷积核和最大池化层然后在决定使用哪一个,再到下一层。但是这样子的话,计算成本将会大大的增加。

那么有人想出,用多个1✖️ 1的卷积来压缩输入。比如一个大小为 64 ✖️ 64 ✖️ 100的输入,通过20个 1✖️ 1 的过滤器,将会压缩成 64 ✖️ 64 ✖️ 20。 将会缩短运算的速度。 Iinception将不同的层变换并行地跌堆在一起,从而有又深又宽的网络。在这里插入图片描述
Inception模型一开始的模版叫做 GoogleNet

现在甚至有人提出 把ResNet和Inception结合在一起,即把残差块引入Inception,称为ResNeXt

猜你喜欢

转载自blog.csdn.net/Jiana_Feng/article/details/110288106
今日推荐