《深度学习:主流框架和编程实战》——2.3 基于TensorFlow框架的图像分类实现(ResNet-34)
2.3 基于TensorFlow框架的图像分类实现(ResNet-34)
本节将以深度残差网络(ResNet)为例,以图像分类作为应用背景,对TensorFlow框架下深度卷积神经网络的构建、训练、测试等进行详细解读,并介绍ResNet网络结构及特性,分析实验结果。
2.3.1 应用背景
计算机视觉识别是人工智能的经典领域,一直备受学术界和工业界的广泛关注。本示例所介绍的网络成名于2015年的ImageNet大规模视觉识别挑战赛。ImageNet大规模视觉识别挑战赛(The ImageNet Large Scale Visual Recognition Challenge,ILSVRC)被誉为计算机视觉乃至整个人工智能发展史上的里程碑式的赛事,成立于2010年。ILSVRC不但是计算机视觉领域发展的重要推动者,也是深度学习热潮的关键驱动力之一。从2010年起,ILSVRC每年都会成立一个相应的研讨会,研讨会的目的是介绍当年计算机视觉相关挑战的方法和竞赛结果,并且邀请最成功的和创新的参赛者出席。大赛的主要挑战包括图像分类、目标定位、图像中的目标侦测、视频中的目标侦测、场景分类、场景解析。
ResNet(Residual Neural Network)是由微软研究院的何凯明团队提出的,中文称为残差网络。ResNet设计的最根本动机就是解决神经网络的退化问题,即当神经网络层次更深时,训练错误率反而更高了,针对此问题,团队提出了一个Residual结构。网络层的函数被重新规划为每层输入的残差函数。在数理统计中,残差的概念为实际观测值与估计值(拟合值)之间的差,如果回归模型正确的话,可以将残差看作误差的观测值。在2015年的ILSVRC比赛中,该研究团队通过使用Residual Units(残差单元)训练了152层ResNet神经网络,在对Cifar-10数据集的分类上取得了第一名,Top-5错误率仅为3.57%,效果非常突出。同时该网络也在COCO(Common Objects in Context)目标检测数据集上取得了优异的结果,分类性能优异,虽然网络层数达到152层,比VGG网络要深8倍,但是相比于VGG网络具有更低的复杂度,成为深度学习领域具有代表性的分类模型。
本实例所使用的Cifar-10数据集由60 000张32×32的RGB彩色——图片构成,共有10个分类,包括飞机、汽车、小鸟、猫咪、麋鹿、小狗、青蛙、马、船、卡车,其中
50 000张是训练图片,10 000张是测试图片。而在Cifar-100数据集中,分类类别高达100,相对于Cifar-10更详尽。Cifar-10数据集最大的特点在于将识别迁移到了普适物体,而且应用于多分类。Cifar-10数据存放在一个10 000×3072的numpy数组中,单位是uint8s,其中3072表示存储了一个32×32的彩色——图像,前1024位是R值,中间1024位是G值,后1024位是B值。
- 点赞
- 收藏
- 关注作者
评论(0)