深度学习原理与 TensorFlow实践
上QQ阅读APP看书,第一时间看更新

1.3 Tensor Flow应用现状

Tensor Flow是Google公司开发并开源的机器学习框架。从2010年开始,Google Brain将Dist Belief作为第一代专有的机器学习系统。50多个团队在Google和其他Alphabet子公司的商业产品中部署了基于Dist Belief的深度学习神经网络,包括Google搜索、Google语音搜索、广告、Google相册、Google地图、Google街景、Google翻译和You Tube。在此基础上,Google在Geoffrey Hinton和杰夫·迪恩(Jeff Dean)的领导下,简化和重构了Dist Belief的代码库,使其变成一个更快、更健壮的应用级别代码库,并于2015年11月9日以Tensor Flow这个名称在Apache 2.0开源许可证下发布。2016年4月14日,Google发布了重大的更新版本——分布式Tensor Flow 0.8。同年6月,发布了Tensor Flow 0.9版本,增加了对i OS的支持。

2017年2月15日晚,Google举办了第一届Tensor Flow开发者峰会。在该峰会上,Google正式发布了Tensor Flow 1.0版本。此后Tensor Flow版本更新很快,目前已发布到Tensor Flow 1.9版本。

Tensor Flow支持高性能处理器,包括各种CPU、GPU和Google的TPU。Tensor Flow支持分布式运行。Tensor Flow 1.0版本在性能上有了很大的提升,可以做到在64块GPU上运行时达到58倍的加速。

Tensor Flow支持各种设备,能够很好地在服务器、桌面PC、移动端(如安卓设备、i OS等)以及云平台等设备上运行。

Tensor Flow支持多种不同的编程语言接口,如 Python、C++、Go、Java等。

Tensor Flow包括像Tensor Board这类的工具,能够有效地提高深度学习网络开发的效率。

Tensor Flow封装了高级API,在灵活性、可扩展性、可维护性上具有很大的优势。例如,Layers API封装了一些层的操作;Estimator API封装了一些更高层的操作(包括train和evaluate操作),用户可以通过几行代码快速构建训练和评估过程。

Keras是一个可以在很多平台上应用的深度学习框架,深受广大研究人员和工作者的喜爱。Tensor Flow集成了Keras,使得Tensor Flow很容易调用Keras代码。

Tensor Flow目前已经成为在机器学习、深度学习项目中最受欢迎的框架之一。很多公司和产品都使用Tensor Flow。

Tensor Flow是使用计算图方式进行计算的框架。计算图中的节点代表数学运算,而计算图中的边则代表在这些节点之间传递的多维数组(张量)。计算图具有高性能,但编程较难的特点。Tensor Flow也发展了将用传统编程方法编写的代码直接转化为图计算的工具。Tensor Flow不仅用于科学研究,也可直接用于工业生产。

Google公司本身很多的应用都采用了Tensor Flow框架,例如Gmail、Google Play Recommendation、Search、Translate、Map等。在医疗方面,使用Tensor Flow搭建了根据视网膜来预防因糖尿病致盲的系统;在音乐、绘画领域使用Tensor Flow构建了深度学习模型来帮助人类更好地理解艺术;使用Tensor Flow框架构建的自动化的海洋生物检测系统,可以帮助科学家了解海洋生物的情况;在移动设备上使用Tensor Flow做翻译工作,等等。以下是几个利用Tensor Flow做应用的具体例子。

● Magenta:利用深度学习做与艺术相关的工作。

● Alpha Go:在围棋比赛上打败人类,然后升级版的Master保持了围棋比赛中连续60盘不败的记录。

● Wave Net:语音音频合成。可以利用深度学习将文本用合成语音“说”出来。

● 天体物理学家使用Tensor Flow分析开普勒任务中的大量数据,以期发现新的行星。

● 医学研究人员使用Tensor Flow机器学习技术评估一个人心脏病发作和中风发作的概率。

● 空中交通管制员使用Tensor Flow来预测飞机最有可能行经的路线,以确保飞机安全着陆。

● 工程师使用Tensor Flow分析热带雨林中的声音数据,用来检测伐木车伐木和其他非法活动。

● 科学家在非洲使用Tensor Flow检测木薯植物疾病,从而提高木薯产量。