-->

AI内参_129_123_计算机视觉领域的深度学习模型三ResNet

你好,我是洪亮杰。

今天我和你分享的主题是计算机视觉领域的深度学习模型。

之三res net.今天我们继续来讨论经典的深度学习模型。

在计算机视觉领域应用。

今天和你分享的论文是用于图像识别的深度残差学习。

这篇论文获得了CVPR二零一六的最佳论文。

在发表之后的两年间里,获得了超过一万两千次的论文应用。

我们前面介绍的VGG和google net的时候就已经提到过,在深度学习模型的前进道路上,一个重要的研究课题就是神经网络结构究竟能够搭建多深。

这个课题要从两个方面来看,第一个是现实层面,那就是如何构建更深的网络,如何能够训练更深的网络,以及如何才能展示出更深网络的更好性能。

第二个是理论层面。

那就是如何真正把网络深度或者说是层次度,以及网络的宽度和模型整体的泛化性能直接联系起用。

在很长的一段时间里,研究人员对神经网络结构有一个大大胆的预测,那就是更深的网络架构能够带来更好的泛化能力。

但是要想真正实现这样的结果,其实并不容易,我们都会遇到哪些挑战呢?一个长期的挑战就是模型训练时的梯度爆炸或者消失。

为了解决这个问题,在深度学习研究刚刚开始了一段时间,比如雨后春笋般爆发出了很多技术手段,比如线性整流函数、批量归一化、预先训练等等。

另外一个挑战是在VGG和google net的创新之后,大家慢慢发现,单纯加入更多的网络层次,其实并不能带来性能的提升。

研究人员有这样一个发现,当一个模型加入到五十多层后,模型的性能不但没有提升,反而还有下降,也就是模型的准确度变差了。

这样看好像模型的性能到了一个瓶颈。

那是不是说深度模型的深度其实有一个限度的呢?我们从google net的思路可以看出,网络结构是可以加深的,比如对网络结构的局部进行创新。

而这篇论文就是追随google net的方法,在网络结构上提出了一个新的结构,叫残差网络,简称rest net.从而能够把模型的规模从几层十几层或者几十层一直推到了上百层的结构。

这就是这篇文章的最大贡献。

从模型在实际数据集中的表现效果来看,res net的错误率只有VGG和google net的一半。

模型的泛化力。

随着层数的增增而逐渐增加,这其实是一件非常值得深度学习学者振奋的事情,因为它意味着深度学习解决了一个重要问题,突破了一个瓶颈。

那这篇论文的核心思想是怎样的呢?我们一起来看。

我们先假设有一个隐含的基于输入x的函数,h这个函数可以根据x来进行复杂的变换。

比如多层的神经网络。

在实际中,我们并不知道这个h到底是什么样的。

那么传统的解决方式就是我们需要一个函数f去逼近h.而这篇文章提出的残差学习的方式就是不用f去b进h而去逼近HX减去x的差值。

在继续学习中,我们把这个差值叫做残差,也就是表明目标函数和输入之间的差距。

当然我们依然无法知道函数h在实际中我们是用f去进行残差逼进。

我们看这个公式,FX等于HX减去x在我们把x移动到f的一边,这个时候就得到了残差学习的最终形式。

也就是FX加上x取逼近位置的h点击文稿,你可以看到一张插图,理解起来就会更加直观了。

在这个公式里,外面的这个x往往被称作是捷径。

什么意思呢?有学者发现,在一个深度神经网络结构中有一些链接,或者说层与层之间的关联,其实是不必要的。

我们关注的是什么样的输入,就应当映射到什么样的输出,也就是所谓的等值映射。

遗憾的是,如果不对网络结构进行改进,模型无法学习到这些结构。

那么构建一个从输入到输出的捷径,也就是说从x可以直接到h或者叫y而不用经过FX,在必要的时候可以强迫FX变零。

也就是说捷径或者是残差这样的网络架构,在理论上可以帮助整个网络变得更加有效率。

我们希望算法能够找到哪些部分是可以被忽略掉的,那些部分需要保留下来。

在真实的网络架构中,作者们选择了在每两层卷积网络层之间就加入一个捷径,然后叠加了三十四层这样的架构。

从效果上看,在三十四层的时候,rest的确依然能够降低训练错误率。

于是,作者们进一步尝试了五十多层,再到一百一十层,一直到一千两百零二层的网络,最终终现现在一百一层的时候能够达到最优的结果。

而对于这样的网络,所有的参数达到了一百七十万个。

为了训练nerest net,作者们依然使用了批量规划化以及系系初初化化技巧。

值得一提提是到了这个阶段之后,作者们就放弃了droplight,不再使用了。

今天为你讲了一篇经典论文,提出了rest残残网络。

这个概念是继nenev、 GG和google net之后,一个能够大幅度提升网络层次的深度学习模型,一起来回回顾一下要点。

第一,我们总结归纳了加深网络层次的思路以及遇到的挑。

第二,我们讲了了残残网网络的概念和这样做背后的思考,以及在实际应用中的一些方法。

最后给你留一个思考题,从alex net到VGG、 google net再到rest net.除了网络深度加深以外,模型进化过程中,是否还有一些地方也让你有所感触?欢迎你给我留言,和我一起讨论。