TensorFlow深度学习应用实践
(副标题):无 ;
(作者): 王晓华 ;
内容简介:
第18章暂时的冠军——ResNet简介及TensorFlow实现
使用深度学习,特别是卷积神经网络在图像识别上的应用引发了一系列的技术突破,通过改变隐藏层的深度和增加每层之间的神经元,让神经网络模型自然整合所提取的高中低级别特征,特别是通过跨通道信息的联合,使得图像识别的能力有了更进一步的提高。
这也产生了一个非常大的疑问,是否可以增加神经网络模型的深度和宽度,即增加更多的隐藏层和每个层之中的神经元去获得更好的解决办法的能力?
答案是不可能,因为在神经网络的基础-反向传递的工作过程中,随着网络的加深,反馈的系数会发生变化,最终会出现梯度消失或者梯度爆炸。进一步的实验表明,随着深度的进一步增加,准确度在达到一定的饱和之后,会迅速下降,这是由于深度过深的网络会造成更多的训练误差,使得最终的训练失败。
本文将介绍在ImageNet2015竞赛上获得冠军的一个深度学习网络ResNet,它在ImageNet定位、COCO检测和COCO分割等方面也都取得了好的名次。
18.1 ResNet模型简介
在前面的学习中相信读者已经了解,越来越复杂的辨识工作需要越来越复杂的模型去完成,而越复杂的模型包含着更深层次的网络以及更宽广的神经元数据。但是问题在于,越是深层的神经网络越是难以训练。原因很简单,就是随着神经元的增多,训练模型对训练集的数据太过于敏感从而造成了经常性的过拟合。
为了解决这个问题,GoogLeNet采用了模块化的方式在层次间形成一个个小的模块来代替单独的卷积层去处理特征的提取,这样做的好处是能够极大地保持特征提取的准确性和多样性,不会因为dropout而可能丢失所需要的特征,也不会因为网络过深从而影响数据在模型中的传递。
18.1.1 ResNet模型定义
ResNet又称为“残差网络”,其主要是在网络中使用了大量的残差模块作为网络的基本组成部分,如图18-1
目录预览:
TensorFlow深度学习应用实践
第1章 ◄星星之火►
第2章 ◄Python的安装与使用►
第3章 深度学习的理论基础——机器学习
第4章 Python类库的使用——数据处理及可视化展示
第5章 ◄OpenCV的基础使用►
第6章 ◄OpenCV与TensorFlow的融合►
第7章 ◄Let’s play TensorFlow►
第8章 ◄Hello TensorFlow,从0到1►
第9章 ◄TensorFlow重要算法基础►
第10章 TensorFlow数据的生成与读取详解
第11章 回归分析——从TensorFlow陷阱与细节开始
第12章 TensorFlow编程实战——MNIST手写体识别
第13章 ◄卷积神经网络原理►
第14章 ◄卷积神经网络公式推导与应用►
第15章 ◄猫狗大战——实战AlexNet►
第16章 我们都爱Finetuning——复用VGG16进行猫狗大战
第17章 开始找工作吧——深度学习常用面试问题答疑
第18章 暂时的冠军——ResNet简介及TensorFlow实现
第19章 TensorFlow高级API——Slim使用入门
........