来自英特尔的深度学习 SDK,优化 TensorFlow

image (2).png

想法是这样的:我们要让计算机可训练而不是可编程。这才是「机器学习」最终的内容。「深度学习」是正席卷全球的机器学习中的一种技术。

让程序利用深度学习技术解决问题,图像分类就是非常好的例子。只要经过训练,我们就可以让我们「受过训练」的程序来回答查询,例如「找出所有包含我女儿和一把小提琴的照片」。还有自动驾驶汽车,这些汽车必须经过训练来了解那些每一个司机都必备的知识。

数十年来,计算机科学家对各种各样的神经网络进行了实验,为训练计算机解决类似的问题奠定了基础。「神经网路」的概念是受到人脑构造的启发产生的。多年来尝试了很多的方法,也取得了不同程度的成功。在过去的十年中,一种叫做深度学习的架构(使用「深度神经网络」)出现,并成为最高效的技术

深度学习的优势:特征提取的挑战不复存在!

深度学习是以程序员们不用再为「特征提取」编程的姿态出现的,也是机器学习领域近期发生的一次重大变革。以前,如果没有明确指出哪些特征是重要的,机器学习就没办法学习。

想一想读取手写数字的手写分析。是否要将阿拉伯数字的圆圈计数并输入神经网络 ?要不要检测笔画长度(stroke length)?深度学习出现之前,程序员需要使用预先确定的概念(比如,决策时,什么是有利于决策的关键输入)详细编程。这也曾一度是机器学习领域里最先进的技术,这也是为什么机器学习依然是人工智能研究人员的课题之一,直到最近。

特征提取是程序员面临的一个巨大负担,除此之外,算法的偏差也限制了它的效力。想一想,在一张模糊的照片之中我们能够辨别事物的程度。我们身处迷雾之中时,这是有用的。如果特征提取是以光线良好、无雾为前提的,那么,我们的方法永远实现不了驾驶汽车。深度学习不要求特征提取。作为训练过程的一部分,深度学习模型本质上是在学习应该聚焦哪些特征。因此,都是在(当然,也值得)炒作。

深度学习技术被广泛运用到我们人类用眼睛和耳朵所理解的事物之中。因为深度学习技术,现在计算机也拥有图像识别和语音识别的能力。深度学习是亚马逊Alexa和苹果Siri的关键技术。现在的字符识别系统都是基于深度学习实现的。

将机器学习用于分析图像

鉴于图片、视频中所包含的巨大信息,机器学习正引发类似谷歌、Facebook  的极大兴趣。比如,谷歌使用机器学习阅读照片中的道路标志,用于谷歌地图上的街景。

Facebook 学习朋友的图片,建议标记的名字。实际上,当我们标记照片时,等于参与了训练 Facebook 的算法。

有很多受欢迎的框架和库,它们可以帮助我们自己探索深度学习。兹举几例,诸如 Caffe (来自伯克利的视觉和学习中心)、谷歌的 TensorFlow ,蒙特利尔大学的 Theano ,以及微软的认知工具包,Facebook 推荐的 Torch,Nervana 的 Neon(最近被英特尔收购),OpenNN,外加诸如用于 MATLAB 的 MatConvNet,Python 的 Pylearn2以及 Java 的 Deeplearning4j。

这里,我讨论的是 Python 和 TensorFlow.

什么是TensorFlow?

TensorFlow 是一个备受关注的开源机器学习框架。最初由谷歌开发的 TensorFlow 是为了在其公司内部运行 CPU、GPU 和他们自己的 ASIC(也称为 TPU)而设计的。

后来谷歌将 TensorFlow 进行开源,并希望其他开发者能共同完善它。其中可能为完善谷歌 TensorFlow 做出一些贡献的就是英特尔发布了 TensorFlow 的性能优化开发者工具包。英特尔想要促进使用 CPU 进行深度学习,并发布了这一个英特尔深度学习开发者工具包。

因为比较喜欢 Python,所以我可以在苹果 iMac(四核英特尔酷睿i5处理器)上使用英特尔的 SDK 和 TensorFlow。

TensorFlow,使用英特尔 SDK

该英特尔 SDK 的下载同样为 Linux 和其他 Mac OS 系统提供了相应版本。Mac OS 可能是最近才更新的,因为有些文件还只是说支持 Ubuntu 或 CentOS。然而,Mac OS 是我建议下载的,因为我用着挺好。英特尔使用 tar.gz 文件提供安装,而不是使用 dmg文件。所以我四处寻找才在未压缩目录下打开“ TrainingToolInstaller ”文件。

安装工作,假设你先前已经安装了“ Docker for Mac ”。否则你就会发现脚本被挂起了,安装向导也 没什么帮助。我下载了Docker(选择的是“稳定”版),然而我发现脚本并没有什么用,所以自己安装了它。在重启安装脚本之后,我选择了“安装在 Mac 本地”,所以只要我的系统安装 Docker 之后,开发包的安装就比较流畅了。该安装过程实际上持续了十多分钟(安装脚本清楚地显示“通常是15分钟”)。

我并没有发现英特尔有任何简单的“点击和运行”步骤。它会显示 benchmarks 建议,这一点对对使用 TensorFlow 解决大问题是十分重要的。我发现我发现工具包已经准备加速了,但好像不太适合学习。

我还发现 TensorFlow 教程比英特尔和 NVidia 的网站上的内容更详细具体。供应商们只是提供更高的性能,而不是深度学习使用步骤。

原文网址:http://www.infoworld.com/article/3175088/software/deep-learning-sdk-from-intel-optimized-tensorflow.html

入门深度学习英特尔工程SDKTensorFlow