TensorFlow的前世和今生
TensorFlow是一个开放源码的软件库,用于跨一系列任务的数据流处理编程。TensorFlow是一个符号化的数学应用库,广泛用于机器学习,例如神经网络。在谷歌公司内部,TensorFlow大量应用于基础研究和产品研发,几乎要取代了它的前身DistBelief(非开源项目)。
TensorFlow是由谷歌大脑团队开发,最初在谷歌内部使用。2015年11月9日,在Apache 2.0开源许可证下,TensorFlow正式发布。
DistBelief
从2011开始,谷歌大脑建立了一个基于深度学习神经网络的专用机器学习系统。在谷歌母公司AlphaBet的研究和商业应用中,DistBelief的使用迅速增长。谷歌公司指派了多位计算机科学家,包括Jeff Dean,来简化和重构DistBelief的代码库,使之成为一个更快、更健壮的应用库,从而成就了TensorFlow。在2009年,由Geoffrey Hinton领导的团队已经实施了广义反向传播和其他改进,使得能够以相当高的精度生成神经网络,例如能将传统语音识别中的错误减少了25%。
TensorFlow
TensorFlow是谷歌大脑的第二代系统,版本1.0于2017年2月11日发布,虽然发行版只在单个设备上运行,但是TensorFlow实际上可以运行在多个CPU和GPU上(带有可选的CUDA和SYCL扩展,用于图形处理单元GPU上的通用计算)。如今,TensorFlow在64位Linux、MacOS、Windows上可用,在移动计算平台包括Android和iOS上也有相应的版本。
灵活的体系结构使得TensorFlow能方便地跨平台部署(CPUs,GPUs,TPUs),从桌面电脑、大规模服务器集群,到移动终端和边缘设备。
TensorFlow计算表达为有状态的数据流图。TensorFlow的名称来源于基于被称作Tensor张量的多维数组上的神经网络运算。在2016年6月,Github上的1500个存储库(开源项目)引用了TensorFlow,其中只有5个来自谷歌,说明TensorFlow已经被广泛地接受。
张量处理单元(TPU)
在2016年5月,谷歌发布了张量处理单元(TPU),这是一种专用集成电路(硬件芯片),专门为机器学习而构建,并为TensorFlow量身定制。TPU是一种可编程人工智能加速器,设计用于提供低精度算术(例如8位)的高吞吐量运算,并且是面向使用或运行模型,而不是用于训练模型。谷歌宣布,他们在内部数据中心内运行TPU已经超过一年了,并且发现使用TPU进行机器学习性能更好、能耗更优。
在2017年5月,谷歌发布了第二代TPU,可以应用到谷歌计算引擎。第二代TPU提供高达180万亿次的性能,并且当被组织成64个TPU集群时,提供高达1.15亿亿次运算能力。
2018年2月,谷歌宣布他们在谷歌云平台上开发了beta版的TPU。
轻量级TensorFlow
在2017年5月,谷歌发布了一个专门用于Android开发的软件栈TensorFlow Lite,从智能手机操作系统Android Oreo版本开始可用。
应用
谷歌于2015年10月26日正式发布RankBrain,由TensorFlow提供后端支持。
机器学习速成课程(MLCC)
2018年3月1日,谷歌发布了其机器学习速成课程(MLCC)。最初设计用来帮助谷歌员工掌握实用的人工智能和机器学习基本原理,在最终向公众发布课程之前,谷歌在全球几个城市推出了免费的TensorFlow研讨会。
特性
TensorFlow 提供稳定版本的Python API和C API,也提供C++、 Go、Java、JavaScript和Swift (早期版本)等开发语言的API,但是不保证后向兼容。第三方提供了C#、Haskell、Julia、R、Scala、Rust和 OCaml等语言包。
TensorFlow应用
在以TensorFlow为基础的应用程序中,有自动图像字幕软件DeepDream。现在,RankBrain 能处理大量的搜索和查询,逐渐取代和补充传统的基于静态算法的搜索结果。
清如许 编译
原文网址: