丹凤千字科普:对象不支持addlicence属性或方法(详细资料介绍)


丹凤千字科普:对象不支持addlicence属性或方法(详细资料介绍)  

导读:深度学习领域备受瞩目的Yoshua Bengio等人在今年3月荣获图灵奖。近年来,深度学习技术的飞速发展与理论突破及基础架构的革新密不可分,为其繁荣奠定了坚实基础。

展望未来,深度学习无疑将继续在当下及未来一段时间内保持流行,成为机器学习的主流方法之一。

作者:卢誉声

来源:华章科技

一、深度学习的贡献与现状

深度学习不仅是一种思想或学习模式,深度网络也是一类模型,两者在本质上存在差异。但目前普遍将深度网络等同于深度学习。

在深度网络应用之前,传统的计算机视觉和语音识别方法需要将特征提取和分类器设计分开进行,然后再将两者结合应用。例如,对于摩托车图像,首先需要进行特征表达或提取,然后将这些特征放入学习算法中进行分类学习。这一过程需要大量的实践经验和对领域及数据的深入理解,同时还需要大量的调试工作。不仅需要手工设计特征,还需要一个合适的分类器算法。要想使特征设计与分类器设计完美结合并达到最优效果,几乎是一项不可能完成的任务。

自2012年以来,深度网络为计算机视觉、语音识别和自然语言处理等领域带来了突破性进展,特别是在人脸识别、机器翻译等领域,应用的准确率已接近甚至超过人类水平。深度网络通过自身的表示学习能力,可以直接从数据中学习特征,无需手工设计。这意味着只需将数据输入模型,即可获得所需的结果,中间特征的学习过程完全由模型自身完成。

本文将介绍现今及可预见的未来流行的深度学习框架。如果你对这些框架有所了解并已经实践过,那将非常有帮助;如果没有,也不用担心,我们将一起从头开始学习。

二、TensorFlow:强大的机器学习框架

TensorFlow是一个基于Apache License 2.0协议开放源代码的软件库,用于进行高性能数值计算。其灵活的架构使得用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)。

TensorFlow由Google Brain团队的研究人员和工程师开发,为机器学习和深度学习提供了强大的支持。其核心数值计算功能广泛应用于许多其他科学领域。作为第二代人工智能系统,TensorFlow是一个通用的机器学习框架,具有良好的灵活性、可移植性和其他优点。它支持模型并行和数据并行,可以在大规模集群上进行分布式训练。与第一代深度学习引擎(如Caffe)不同,TensorFlow提供了自动微分功能,无需手动计算和编写微分代码,极大地简化了网络的扩展。TensorFlow支持多种语言接口,包括C/C++、Python等,因此受到广泛欢迎。

接下来我们将详细介绍TensorFlow的计算模型。它将整个计算任务抽象为一张图(graph),每个小的计算步骤是一个操作(operation)。所有的计算任务都是由这些小操作组成的图完成的。为了更直观地理解这一概念,我们将使用一个实际的TensorFlow Graph来说明。这个图展示了一系列的计算过程,包括常量定义、数据读取、加法、乘法、平均值等操作。图中的操作(如constant、add、mul)称之为操作(operation),是张量(tensor)的主要节点。除了操作外还有数据输入和变量保存等。张量是一个数组,表示数学里的向量。整个数据处理过程可以看作是在不同操作节点之间流动的张量(Tensor),因此框架得名TensorFlow。

使用TensorFlow的第一步是构建表示计算的图,然后创建会话(session)来执行这个图。会话的作用是建立一个执行上下文,所有的图都需要在会话中执行。它会初始化并保存图中需要的变量、图的执行状态以及管理执行图的设备等。TensorFlow的结构非常简单,只需要构建表示计算的图并创建会话来执行它即可。TensorFlow会处理所有其他细节,让我们无需关注计算的琐碎部分。

三、TensorFlow Lite:移动平台的深度学习解决方案

虽然TensorFlow是目前最完善和强大的深度学习框架之一,但在移动平台和嵌入式领域中,它可能显得过于庞大且计算速度不能满足移动平台的要求。为了解决这个问题,Google开发了TensorFlow Lite。这是一个用于设备端推断的开源深度学习框架是TensorFlow的一个模块发布但两者几乎是两个独立的项目他们之间没有共享代码因此可以说TensorFlow Lite是一个完整而且独立的前向计算引擎框架适用于移动平台设备端的推断任务与云端训练结合实现在服务器的TensorFlow上训练模型在移动平台应用的场景转换后的模型文件被打包到应用程序或目标存储设备中并在移动设备上加载执行此外TensorFlow Lite还提供了多种优化手段如浮点数运算加速半精度浮点数运算以及8位整数的量化计算等以进一步提升计算效率并适应不同的硬件设备要求简化了深度学习在移动平台的使用难度与推广障碍让机器学习技术在终端智能中发挥作用赋能更多应用场景与行业需求具有重大的实用价值与市场前景通过模型的压缩存储和调用可以在移动端实现快速高效的推断任务满足各种智能应用的需求四MXNet:灵活高效的深度学习框架MXNet是一个深度学习框架主要目标是确保深度学习框架的灵活性与执行效率它可以混合符号和命令式编程以最大限度地提高效率和生产力MXNet的核心是一个动态依赖调度程序可以动态地自动并行化符号和命令操作最重要的图形优化层使符号执行更快内存

  丹凤千字科普:对象不支持addlicence属性或方法(详细资料介绍)