Tensor Flow 是 Google 公司推出的一个使用数据流图进行数值计算的开源人工智能软件库,最初由 Google 大脑团队为了研究机器学习和深度神经网络而开发,之后于 2015 年 10 月宣布开源。机器学习与深度学习是人工智能技术中核心、最关键的部分,正是深度学习的发展带动了人工智能近年来发展的新潮,推动着“大数据+深度模型”的发展。Tensor Flow 提供了丰富的构建和训练机器学习模型的 API 库,支持卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Networks,RNN)、长短期记忆网络(Long Short Term Memory Networks,LSTMN)等深度神经网络模型。Tensor Flow 的基本架构如图 1 所示。其中,设备层提供 Tensor Flow 的运行环境;前端则负责提供编程模型,并支持多语言编程环境。在应用中,通过前端调用 Tensor Flow核心 API,实现 Tensor Flow 在不同设备环境下的运行。
图1
Tensor Flow 的主要特征有:①灵活性与可移植性。在设备层,Tensor Flow 能够运行在不同类型和大小的机器上,如台式机、服务器、手机移动设备等并可以方便地进行移植。在前端,Tensor Flow 支持 C++、Python、Go、JavaLua、Javascript、R 等主流语言。Tensor Flow 核心库对 CPU/GPU 是透明的,其布式架构使得在大规模数据集上的模型训练可以在合理的时间内完成。②易用性与高效性。Tensor Flow 工作流易于理解,能够方便地构建和实现已有的复杂机器学习架构。
同时,目前已有多种高层接口构建在 Tensor Flow 之上,如 Keras、Sk Flow 等。Tensor Flow库的高性能、高效率特征,还可以将硬件的计算潜能全部发挥出来。③促进科学研究进程。以往研究者在科研中的算法需要大量的编码工作才能转化为产品,而使用 Tensor Flow 可以帮助研究者直接尝试新的算法,通过训练和使用模型,更便捷地将研究成果转化为实际产品,故有效地提高了科研产出率。④良好的技术支持与完善的社区。Google 投入了巨大的资源为 Tensor Flow提供支持和引导并且鼓励社区参与,使用者通过广泛的社区支持可以方便地获取帮助。
主要开源框架的比较
当前,Google Microsoft、Facebook 等科技公司和多家研究机构都推出了开源的人工智能与机器学习框架,其中主要开源框架的比较如表 1 所示。结果显示,较之 Caffe、MXNet、CNTK、Theano、Torch、Paddle Paddle 等主要开源框架,Tensor Flow 在架构设计、性能、应用等方面的表现均更为出色。
Tensor Flow 的应用原则
Tensor Flow 为人工智能的研究与开发提供了良好的基础和支持。例如在应用开源系统进行教育人工智能系统的设计与实现时,需要遵循以下原则:
设计方面:从需求出发,围绕用户、目标、问题和场景展开
在人工智能研究中,要注意“人工智能教育不同于娱乐游戏产品,无论是应还是市场开发,都必须充分尊重教育自身规律。”设计教育人工智能产品是在设计一个具有主动学习、成长、预测能力的系统,用户、目标、问题和场景是进行教育人工智能系统设计时需特别注意考虑的要素。从教育需求出发,用户群分析和目标分析是进行系统设计的前提,而明确应用场景和要解决的问题是进行系统设计的关键。在此基础上,通过教师、教学设计者、教学软件开发者的共同参与,完成系统的模型构建和功能模块设计。
实现方面:从教学模型到教育产品,发挥开源系统优势
在具体的实现方面,应充分发挥 Tensor Flow 开源系统的优势,选择合适的 Tensor Flow 技术和相关技术,将系统模型从教学研究变成教育产品,具体可以下方面着手:①在应用中可以使用 Tensor Flow Serving 导出和应用模型——Tensor Flow Serving 是一个高性能的服务系统,用于运行通过机器学习得到的模型,使模型能够更迅速、更便捷地进入产品开发过程;②可以通过 Tensor Flow Ecosystem 与多种开源框架融合,实现不同开发环境和系统的互通;③在基于Tensor Flow 教育人工智能系统的应用中,注意充分发挥其分布式、可扩展性、跨平台性等优势。
全部0条评论
快来发表一下你的评论吧 !