浅述经典的4种卷积网络之(4)ResNet

这里不对ResNet网络进行详细的原理阐述,只是卷积网络的由来以及网络结构和网络参数进行叙述,然后通过tensorflow进行代码实现,参看《tensorflow实战》。
1. ResNet网络叙述
ResNet(residual neural network)由获得2015年ILSVRC比赛分类项目的冠军,top-5错误率3.57%,152层神经网络,参数量比vggnet低,效果非常突出。ResNet的结构可以极快的加速超深神经网络的训练,模型的准确率也有非常大的提升。
在resnet之前,瑞士教授schmidhuber提出了highway network,原理与resnet类似,并且在1977年发明了lstm网络。highway network的目标就是解决极深的神经网络难以训练的问题,相当于修改了每一层的激活函数,此前的激活函数只对输入做一个非线性变换,而highway network则允许保留一定比例的原始输入x,这样前一层的信息有一定比例可以不经过矩阵乘法和非线性变换,直接传到下一层。
ResNet和highway net很相似,也是允许原始输入信息直接传到后层。ResNet的灵感来自于:在不断加深网络深度的同时,会出现degradation(梯度退化)的问题,即 准确率先上升然后达到饱和,再持续增加深度则会导致准确率下降,这不是过拟合,训练集和测试集的误差都会增大。如果由几个浅的网络达到了饱和,那么增加几个y=x的全映射层至少不会增加误差,即更深的网络不应该带来训练集上的误差,这里将前一层输出传到后面的思想,就是ResNet的灵感来源。
假定某段神经网络的输入时x,期望输出是h(x),如果我们直接把x传到输出作为初始结果,那么此刻我们需要学习的目标就是f(x)=h(x)-x,这就是一个ResNet的残差学习单元(residual unit),即ResNet的学习目标就变成了输出和输入的差别h(x)-x,即残差。如图1所示。
浅述经典的4种卷积网络之(4)ResNet_第1张图片
图1 残差学习模块
普通直连的卷积神经网络与resnet的差别就是resnet有很多旁路的支线将输入直接连到后面的层,通过直接将输入信息绕道传到输出,保护了信息的完整性,只学习输入和输出差别那一部分,简化了学习目标和难度。
浅述经典的4种卷积网络之(4)ResNet_第2张图片
图2 resnet 不同层参数设置
2.ResNet网络tensorflow实现
啦啦啦~后续待进啦啦啦~

你可能感兴趣的:(深度学习,神经网络,数据处理,卷积神经网络,tensorflow)