[Chapter5.0 翻译] 开篇



2017年8月19日星期六整理第五章部分

此处给出本节的代码:https://github.com/Leechen2014/TensorFlow-for-Machine-Intelligence

相关的文件描述在github中给出。


PS:翻译来源:

http://shop.oreilly.com/product/9781939902351.do






Chapter5. Object Recognition and Classification物体识别与分类


现在你应该理解了Tensorflow的基本概念以及Tensorflow的最佳实践。我们接下来的实践会在构建模型中进行。这个模型具有识别物体和分类的能力。构建模型过长中会扩展一些迄今为止已经涉及的基础概念,同时增加了计算机视觉的术语,技术和基础。这种技术由于其准确性,最近变得流行起来。

ImageNet是一个有label的图像数据集,在计算机视觉和深度学习中最近很流行。每年ImageNet都会举行ILSVRC挑战赛,参赛者构建系统来自动的在ImageNet数据库的图像上进行分类和识别物体。在2012年的挑战赛中,SuperVision提交了具有创造性的神经网络结构的解决方案。ILSVRC解决方案常常是很有创造性的,除了SuperVision将其映射的准确性分为多少以外。SuperVision’s

entry针对计算机视觉精度设定了新的标准,并引起了(计算机视觉)在深度学习技术中对卷积神经网络的兴趣。

卷积神经网络(CNNs)的流行度不断增加(Convolutional Neural Networks (CNNs) have continued to grow inpopularity)。人们主要用于计算机视觉相关的任务中,但也不仅限于与图像相关的任务。CNN可以被用于任何可以被表达为Tensor的数据中,其中tensor的值是顺序排列的(a tensor where values are ordered next to related values (in a grid))。微软研究院在2014年发布了一篇关于将CNNs用于语音识别方面的论文,在这篇论文输入的tensor是被记录时排序的单行音频频率。对于图片来说,tensor的值是图像中对应的像素点的排列。

在本章节中,重点在于使用Tensorflow的CNNs用于图像的工作。目标是用Tensorflow构建一个CNN模型可以识别ImageNets数据库子集中图像。训练一个CNN模型需要在tensorflow里面和图片打交道,还需要理解并且如何使用卷积神经网络(CNNs)。这章节主要是致力于使用TensorFlow介绍计算机视觉概念。

训练CNN模型中使用的数据集合是ImageNet的子集,叫StanfordDogs Dataset

顾名思义,该数据集填充有不同狗品种的图像和图像中显示的品种的标签。该模型的目标是拍摄图像并准确地猜测图像中显示的狗的品种(示例图像标记为斯坦福大学的Dog Datase的西伯利亚赫斯基)。


[Chapter5.0 翻译] 开篇_第1张图片

如果上面显示的图像之一被加载到模型中,它应该输出西伯利亚赫斯基的标签。这些示例图像不会对模型的准确性进行公正的测试,因为它们存在于训练数据集中。找出一个公平的度量来计算模型的精确度需要大量的图像,不会用于训练。未用于训练模型的图像将用于创建单独的测试数据集。

提高图像公平性以测试模型准确性的原因是因为它是保持分离的测试,训练和交叉验证数据集的一部分。在处理输入时,分离用于训练网络的大部分数据是必需的做法。这种分离是允许对模型进行盲目测试。

使用用于训练它的输入测试模型可能会创建一个准确匹配已经看到的输入的模型,而不能使用新的输入。然后使用测试数据集来查看模型对培训中不存在的数据执行的程度。

随着时间的推移和模型的迭代,可能的是,为了提高准确性而进行的改变使模型更好地配备了测试数据集,同时在现实世界中表现不佳。一个好的做法是使用交叉验证数据集来检查最终的模型并获得更好的估计精度。

使用图像,最好在进行任何预处理(颜色调整或裁剪)时分离原始数据集,以保持输入管道在所有数据集中保持一致。

你可能感兴趣的:([Chapter5.0 翻译] 开篇)