文档介绍:智能图像识别初探系列(五)
、ResNet模型
接上一篇文章的内容,下面这种CNN模型就更加经典,并且也是目前运用最为广泛的模型了。
在2015年,何凯明提出了152层的ResNet,%的误差摘得了2015年ILSVRC比赛的智能图像识别初探系列(五)
、ResNet模型
接上一篇文章的内容,下面这种CNN模型就更加经典,并且也是目前运用最为广泛的模型了。
在2015年,何凯明提出了152层的ResNet,%的误差摘得了2015年ILSVRC比赛的桂冠,同时ResNet的提出解决了神经网络中因为网络深度导致的
“梯度消失”的问题,并提供了一个非常好的思路。我们一般认为,网络结构愈深(复杂,参数多)愈是有着更强的表达能力。
凭着这一基本准则CNN分类网络自Alexnet的7层发展到了VGG的16乃至19层,后来更有了GoogLeNet的22层。可后来我们发现深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步地分类性能提高,反而会招致网络收敛变得更慢,测试集的分类准确率也变得更差。
排除数据集过小带来的模型过拟合等问题后,我们发现过深的网络仍然还会使分类准确度下降(相对于较浅些的网络而言)。所以为了解决神经网络过深导致的梯度消失的问题,ResNet巧妙地引入了残差结构。
X
weightlayE「
川x)
weightlayer
identity
^(x)+x
\relu
l;:abuildingblock.
若将输入设为X,将某一有参网络层设为H,那么以X为输入的此层的输出将为H(X)。一般的CNN网络会直接通过训练学习出参数函数H的表达,从而直接学习X到H(X[的映射关系,而残差学习则是致力于使用多个有参网络层来学习输入、输出之间的参差即将输出层H(x)二F(x)改为了H(x)二F(x)+x,其中X这一部分为直接的identitymapping,而H(X)-X则为有参网络层要学习的输入输出间残差。所以,就算网络结构很深,梯度也不会消失了。
ResNet
除了残差结构之外,ResNet还沿用了前人的一些可以提升网络性能和效果的设计如堆叠式残差结构,每个残差模块又由多个小尺度kernel自称,整个ResNet除最后用于分类的全连接层以外都是全卷积的,这大大提升了计算速度。ResNet网络深度有34、50、101、152多种。50层以上的ResNet也借鉴了类似GoogLeNet的思想,在细节上使用了bottleneck的设计方式。
到目前为止,我们已经介绍了4种基础的网络结构和设计网络时涉及的主要思想在ResNet之后,还有很多新的网络结构不断出现,但主要思想大体上都是基于以上4种类型做的一些改进。当然不同的网络结构有其可以达到的算法精度机器内存消耗情况。比如,VGGNet占用最多的计算量并且消耗最大的内存,GoogLeNet是四种模型中计算量和内存消耗最小的模型,然而AlexNet虽然计算量不高,但也
会占用较大的内存并且精度也不高,而不同大小的ResNet模型性能差异也较大,具体情况需要根据实际的应用场景选择合适的模型。
二、关键点检测
了解了整体网络结构后,我们来对图像识别中具体的技术做个介绍。
在图像识别中,对于图像中关键点的