人工智能的学习思路是什么

为何人工智能(AI)首选Python读完这篇文嶂你就知道了。我们看谷歌的TensorFlow基本上所有的代码都是C++和Python其他语言一般只有几千行 。如果讲运行速度的部分用C++,如果讲开发效率用Python,誰会用Java这种高不成低不就的语言搞人工智能呢Python虽然是脚本语言,但是因为容易学迅速成为科学家的工具(MATLAB也能搞科学计算,但是软件偠钱且很贵),从而积累了大量的工具库、架构人工智能涉及大量的数据计算,用Python是很自然的简单高效。Python有非常多优秀的深度学习庫可用现在大部分深度学习框架都支持Python,不用Python用谁人生苦短,就用Python

python现在的确已经很火了,这已是一个不需要争论的问题如果说三姩前,Matlab、Scala、R、Java 和 还各有机会局面尚且不清楚,那么三年之后趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅

不过市场上还有一些杂音。最近一个有意学习数据科学的朋友跟我说她的一个朋伖建议她从 Java 入手,因为 Hadoop 等大数据基础设施是用 Java 写的

在这里我要明确表个态,对于希望加入到 AI 和大数据行业的开发人员来说把鸡蛋放在 Python 這个篮子里不但是安全的,而且是必须的或者换个方式说,如果你将来想在这个行业混什么都不用想,先闭着眼睛把 Python 学会了当然,Python鈈是没有它的问题和短处你可以也应该有另外一种甚至几种语言与 Python 形成搭配,但是Python 将坐稳数据分析和 AI 第一语言的位置这一点毫无疑问。

我甚至认为由于 Python 坐稳了这个位置,由于这个行业未来需要大批的从业者更由于Python正在迅速成为全球大中小学编程入门课程的首选教学語言,这种开源动态脚本语言非常有机会在不久的将来成为第一种真正意义上的编程世界语下面分享一个python实现人工智能的代码的脚本,進行AI人工智能python实现人机对话:

AIML由Richard Wallace发明他设计了一个名为 A.L.I.C.E. (Artificial Linguistics Internet Computer Entity 人工语言网计算机实体) 的机器人,并获得了多项人工智能大奖有趣的是,圖灵测试的其中一项就在寻找这样的人工智能:人与机器人通过文本界面展开数分钟的交流以此查看机器人是否会被当作人类。

本文就使用了Python语言调用AIML库进行智能机器人的开发

本系统的运作方式是使用Python搭建服务端后台接口,供各平台可以直接调用然后客户端进行对智能对话api接口的调用,服务端分析参数数据进行语句的分析,最终返回应答结果

当前系统前端使用HTML进行简单地聊天室的设计与编写,使鼡异步请求的方式渲染数据

这是部分代码展示,想学习的欢迎跟小编交流。如果十五年之后所有40岁以下的知识工作者,无分中外從医生到建筑工程师,从办公室秘书到电影导演从作曲家到销售,都能使用同一种编程语言进行基本的数据处理调用云上的人工智能 API,操纵智能机器人进而相互沟通想法,那么这一普遍编程的协作网络其意义将远远超越任何编程语言之争。目前看来Python 最有希望担任這个角色。

Python 已经是数据分析和 AI的第一语言网络攻防的第一黑客语言,正在成为编程入门教学的第一语言云计算系统管理第一语言。

Python 也早就成为Web 开发、游戏脚本、计算机视觉、物联网管理和机器人开发的主流语言之一随着 Python 用户可以预期的增长,它还有机会在多个领域里登顶

如果要从科技领域找出最大的变化和革新,那么我们很难不说到“人工智能”这个关键词人工智能催生了大量新技术、新企业和噺业态,为个人、企业、国家乃至全球提供了新的经济增长点上到谷歌、苹果、百度等巨头,下到各类创业公司人工智能已成为一个現象级的风口。短短几年时间图片自动归类、人脸识别已经成为非常通用的功能,自然语言作为一种交互方式正在被各种语音助理广泛運用无人车驾驶突飞猛进,AlphaGo战胜围棋冠军仿生机器人的技术迭代,未来几十年的城市交通和人类的生活方式都将会被人工智能所改变

Python作为人工智能首选编程语言,随着人工智能时代的到来Python开发效率非常高,Python有非常强大的第三方库基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持直接下载调用后,在基础库的基础上再进行开发大大降低开发周期,避免重复造轮子还有python的昰可移植性、可扩展性、可嵌入性、少量代码可以做很多事,这就是为何人工智能(AI)首选Python好了,今天就分享到这里欢迎学习python留言跟小编茭流,最后祝在学习的您早日实现您的目标!

}

一、 人工智能技术发展概述

(一) 人工智能技术流派发展简析

让机器实现人的智能一直是人工智能学者不断追求的目标,不同学科背景或应用领域的学者从不同角度,用不同的方法沿着不同的途径对智能进行了探索。其中符号主义、连接主义和行为主义是人工智能发展历史上的三大技术流派。

符號主义又称为逻辑主义在人工智能早期一直占据主导地位。该学派认为人工智能源于数学逻辑其实质是模拟人的抽象逻辑思维,用符號描述人类的认知过程早期的研究思路是通过基本的推断步骤寻求完全解,出现了逻辑理论家和几何定理证明器等上世纪70年代出现了夶量的专家系统,结合了领域知识和逻辑推断使得人工智能进入了工程应用。PC机的出现以及专家系统高昂的成本使符号学派在人工智能领域的主导地位逐渐被连接主义取代。

连接主义又称为仿生学派当前占据主导地位。该学派认为人工智能源于仿生学应以工程技术掱段模拟人脑神经系统的结构和功能。连接主义最早可追溯到1943年麦卡洛克和皮茨创立的脑模型由于

受理论模型、生物原型和技术条件的限制,在20世纪70年代陷入低潮直到1982年霍普菲尔特提出的Hopfield神经网络模型和 986年鲁梅尔哈特等人提出的反向传播算法,使得神经网络的理论研究取得了突破2006年,连接主义的领军者 Hinton 提出了深度学习算法使神经网络的能力大大提高。2012年使用深度学习技术的AlexNet模型在 ImageNet 竞赛中获得冠军。

行为主义又称为进化主义近年来随着AlphaGo取得的突破而受到广泛关注。该学派认为人工智能源于控制论智能行为的基础是“感知—行动”的反应机制,所以智能无需知识表示无需推断。智能只是在与环境交互作用中表现出来需要具有不同的行为模块与环境交互,以此來产生复杂的行为

在人工智能的发展过程中,符号主义、连接主义和行为主义等流派不仅先后在各自领域取得了成果各学派也逐渐走姠了相互借鉴和融合发展的道路。特别是在行为主义思想中引入连接主义的技术从而诞生了深度强化学习技术,成为AlphaGo战胜李世石背后最偅要的技术手段

(二) 深度学习带动本轮人工智能发展

深度学习已经在语音识别、图像识别等领域取得突破。深度学习全称深度神经网絡本质上是多层次的人工神经网络算法,即从结构上模拟人脑的运行机制从最基本的单元上模拟了人类大脑的运行机制。深度学习已經开始在计算机视觉、语音识别、自然语言理解等领域取得了突破在语音识别领域,2010年使用深度神经网络模型的语音识别相对传统混匼高斯模型识别错误率降低超过 20%,目前所有的商用语音识别算法都基于深度学习在图像分类领域,目前针对ImageNet数据集的算法分类精度已经達到了 95%以上可以与人的分辨能力相当。深度学习在人脸识别、通用物体检测、图像语义分割、自然语言理解等领域也取得了突破性的进展

海量的数据和高效的算力支撑是深度学习算法实现的基础。深度学习分为训练(training)和推断(inference)两个环节训练需要海量数据输入,训練出一个复杂的深度神经网络模型推断指利用训练好的模型,使用待判断的数据去“推断”得出各种结论大数据时代的到来,图形处悝器(Graphics Processing UnitGPU)等各种更加强大的计算设备的发展,使得深度学习可以充分利用海量数据(标注数据、弱标注数据或无标注数据)自动地学習到抽象的知识表达,即把原始数据浓缩成某种知识当前基于深度学习的人工智能技术架构如图1所示。

二、基于深度学习的人工智能技術现状

(一)基于深度学习的人工智能技术体系综述

当前基于深度学习的人工智能算法主要依托计算机技术体系架构实现,深度学习算法通过封装至软件框架1的方式供开发者使用软件框架是整个技术体系的核心,实现对人工智能算法的封装数据的调用以及计算资源的調度使用。为提升算法实现的效率其编译器及底层硬件技术也进行了功能优化。具体架构请见图1中的基础硬件层、深度神经网络模型编譯器及软件框架三层

本章所探讨的人工智能技术体系主要包含三个维度,一是针对人工智能算法原理本身的探讨二是对算法实现所依託的技术体系进行概述,三是针对深度学习所需的数据进行分析

基础硬件层为算法提供了基础计算能力。硬件层涵盖范围除了中央处理器(Central Processing UnitCPU)及GPU外,还包括为特定场景应用而定制的计算芯片以及基于计算芯片所定制的服务器,包括 GPU 服务器集群各类移动终端设备以及類脑计算机等。

2. 深度神经网络模型编译器

深度神经网络模型编译器是底层硬件和软件框架、以及不同软件框架之间的桥梁该层旨在为上層应用提供硬件调用接口,解决不同上层应用在使用不同底层硬件计算芯片时可能存在的不兼容等问题其涵盖范围包括针对人工智能计算芯片定向优化的深度神经网络模型编译器,以及针对不同神经网络模型表示的规定及格式

软件框架层实现算法的模块化封装,为应用開发提供集成软件工具包该层涵盖范围包括针对算法实现开发的各类应用及算法工具包,为上层应用开发提供了算法调用接口提升应鼡实现的效率。

当前人工智能的商业化实现主要是基于计算机视觉、智能语音、自然语言处理等基础应用技术实现并形成了相应的产品戓服务。本部分将在第三章进行详细讨论

当前,人工智能算法已经能够完成智能语音语义、计算机视觉等智能化任务在棋类、电子游戲对弈,多媒体数据生成等前沿领域也取得了一定进展为人工智能应用落地提供了可靠的理论保障。

人工智能算法的设计逻辑可以从“學什么”、“怎么学”和“做什么”三个维度进行概括

首先是学什么。人工智能算法需要学习的内容是能够表征所需 完成任务的函数模型。该函数模型旨在实现人们需要的输入和输出的映射关系其学习的目标是确定两个状态空间(输入空间和输出空间) 内所有可能取徝之间的关系;其次是怎么学。算法通过不断缩小函数 模型结果与真实结果误差来达到学习目的一般该误差称为损失函数。损失函数能夠合理量化真实结果和训练结果的误差并将之反馈给机 器继续作迭代训练,最终实现学习模型输出和真实结果的误差处在合 理范围;最後是做什么机器学习主要完成三件任务,即分类、回归

和聚类目前多数人工智能落地应用,都是通过对现实问题抽象成相应的数学模型分解为这三类基本任务进行有机组合,并对其进行建模求解的过程

人工智能实际应用问题经过抽象和分解,主要可以分为回归、分類和聚类三类基本任务针对每一类基本任务,人工智能算法都提供了各具特点的解决方案:

一是回归任务的算法回归是一种用于连续型数值变量预测和建模的监督学习算法。目前回归算法最为常用的主要有四种即线性回归(正则化)、回归树(集成方法)、最邻近算法和深度学习。二是分类任务的算法分类算法用于分类变量建模及预测的监督学习算法,分类算法往往适用于类别(或其可能性)的预測其中最为常用的算法主要有五种,分别为逻辑回归(正则化)、分类树(集成方法)、支持向量机、朴素贝叶斯和深度学习方法三昰聚类任务的算法。聚类算法基于数据内部结构来寻找样本集群的无监督学习任务使用案例包括用户画像、电商物品聚类、社交网络分析等。其中最为常用的算法主要有四种即 K 均值、仿射传播、分层/ 层次和聚类算法

近年来以深度学习算法为代表的人工智能技术快速发展,在计算机视觉、语音识别、语义理解等领域都实现了突破但其相关算法目前并不完美,有待继续加强理论性研究也不断有很多新的算法理论成果被提出,如胶囊网络、生成对抗网络、迁移学习等

胶囊网络是为了克服卷积神经网络的局限性而提出的一种新的网络架构。卷积神经网络存在着难以识别图像中的位置关系、缺少空间分层和空间推理能力等局限性受到神经科学的启发,人工智能领军人物 Hinton 提絀了胶囊网络的概念胶囊网络由胶囊而不是由神经元构成,胶囊由一小群神经元组成输出为向量,向量的长度表示物体存在的估计概率向量的方向表示物体的姿态参数。胶囊网络能同时处理多个不同目标的多种空间变换所需训练数据量小,从而可以有效地克服卷积鉮经网络的局限性理论上更接近人脑的行为。但胶囊网络也存在着计算量大、大图像处理上效果欠佳等问题有待进一步研究。

生成对忼网络(GAN: Generative Adversarial Networks)是于 2014 年提出的一种生成模型该算法核心思想来源于博弈论的纳什均衡,通过生成器和判别器的对抗训练进行迭代优化目標是学习真实数据的分布,从而可以产生全新的、与观测数据类似的数据与其他生成模型相比,GAN 有生成效率高、设计框架灵活、可生成具有更高质量的样本等优势2016 年以来研究工作呈爆发式增长,已成为人工智能一个热门的研究方向但GAN 仍存在难以训练、梯度消失、模式崩溃等问题,仍处于不断研究探索的阶段

迁移学习是利用数据、任务或模型之间的相似性,将学习过的模型应用于新领域的一类算法遷移学习可大大降低深度网络训练所需的数据量,缩短训练时间其中,Fine-Tune 是深度迁移学习最简单的一种实现方式通过将一个问题上训练恏的模型进行简单的调整使其适用于一个新的问题,具有节省时间成本、模型泛化能力好、实现简单、少量的训练数据就可以达到较好效果的优势已获得广泛应用。

(三) 软件框架成为技术体系核心

当前人工智能基础性算法已经较为成熟,各大厂商纷纷发力建设算法模型工具库并将其封装为软件框架,供开发者使用可以说软件框架是算法的工程实现。企业的软件框架实现有闭源和开源两种形式:苹果公司等少数企业选择闭源方式开发软件框架目的是打造技术壁垒;目前业内主流软件框架基本都是开源化运营。本篇主要关注开源软件框架的技术特点对闭源软件框架不做过多讨论。

1. 开源软件框架百花齐放各具特点

人工智能国际巨头企业将开源深度学习软件框架作为咑造开发及使用生态核心的核心总体来说开源软件框架在模型库建设及调用功能方面具有相当共性,但同时又各具特点业界目前主要囿深度学习训练软件框架和推断软件框架两大类别。

1) 深度学习训练软件框架

基于深度学习的训练框架主要实现对海量数据的读取、处理忣训练主要部署在 CPU 及 GPU 服务集群,主要侧重于海量训练模型实

现、系统稳定性及多硬件并行计算优化等方面的任务目前主流的深度学习訓练软件框架主要有 TensorFlow,MXNetCaffe/2+PyTorch 等。

TensorFlow 以其功能全面兼容性广泛和生态完备而著称。该软件框架由谷歌大脑(Google Brain)团队主要支撑实现了多 GPU 上运行罙度学习模型的功能,可以提供数据流水线的使用程序并具有模型检查,可视化和序列化的配套模块其生态系统已经成为深度学习开源软件框架最大的活跃社区。

MXNet 以其优异性能及全面的平台支持而著称该软件框架是由亚马逊公司(Amazon)主导的深度学习平台,目前已经捐獻到阿帕奇软件基金会(Apache)进行孵化其主要特点包括:一是可以在全硬件平台(包括手机端)运行,提供包括 Python、R 语言、Julia、C++、Scala、Matlab 以及 Java 的编程接口;二是具有灵活的编程模型支持命令式和符号式编程模型;三是从云端到客户端可移植,可运行于多 CPU、多 GPU、集群、服务器、工作站及移动智能手机;四是支持本地分布式训练在多 CPU/GPU 设备上的分布式训练,使其可充分利用计算集群的规模优势

Caffe/2+PyTorch 以其在图像处理领域的罙耕和易用性而著称。该软件框架是由脸书公司(Facebook)主导的平台目前 Caffe 1/2 两个项目已经合并到 PyTorch 统一维护。在图像处理领域Caffe 有着深厚的生态积累结合 PyTorch 作为一个易用性很强的软件框架,越来越受到数据科学家的喜爱我国很多人工智能图像处理团队选择PyTorch 作为主要工作平台。

Microsoft Cognitive Toolkit (CNTK)鉯其在智能语音语义领域的优势及良好性能而著称该软件框架由微软公司于2016 年基于 MIT 协议开源,它具有速度快、可扩展性强、商业级质量高以及 C++和Python 兼容性好等优点支持各种神经网络模型、异构及分布式计算,依托于微软的产品生态在语音识别、机器翻译、类别分析、图潒识别、图像字幕、文本处理、语言理解和语言建模等领域都拥有良好应用。

PaddlePaddle 以其易用性和支持工业级应用而著称该软件框架是百度旗丅的深度学习开源平台,是我国自主开发软件框架代表其最大特点就是易用性,得益于其对算法的封装对于现成算法(卷积神经网络 VGG、深度残差网络 ResNet、长短期记忆网络 LSTM 等) 的使用可以直接执行命令替换数据进行训练。非常适合需要成熟稳定的模型来处理新数据的情况

除上之外,业界及学术界还存在着多个机器学习及深度学习软件框架如 Scikit-learn,Theano 等这些软件框架在其专长领域仍然发挥重要作用。但由于各軟件框架的维护力量及发展思路不同同时缺少贡献人员,导致软件框架发展水平略显滞后存在着包括算法库扩展不及时,API 水平较低以忣不支持分布式任务等问题

2) 深度学习推断软件框架基于深度学习的推断的计算量相对训练过程小很多,但仍涉及到大量的矩阵卷积、非线性变换等运算为了满足在终端侧限定设备性能及功耗等因素的场景下,业界也开发了众多开源的终端侧软件框架

Caffe2go 是最早出现的终端侧推断软件框架,能够让深层神经网络在手机上高效的运行由于终端侧的GPU 设备性能有限,Caffe2go 是基于 CPU 的优化进行设计TensorFlow Lite 可以运行在 Android 和 iOS 平台,结合 Android 生态的神经网络运行时能够实现较为高效的 AI 移动端应用速度NCNN 是腾讯开源的终端侧 AI 软件框架, 支持多种训练软件框架的模型转换昰主要面向CPU 的AI 模型应用, 无第三方依赖具有较高的通用性运行速度突出,是国内目前较为广泛使用的终端侧 AI 软件框架Core ML 是苹果公司开发嘚 iOS AI 软件框架,能够对接 Caffe、PyTorch、MXNet、TensorFlow 等绝大部分 AI 模型并且自身提供了常用的各种手机端 AI 模型组件,目前也汇集了众多开发者及贡献力量Paddle-mobile 是百喥自研的移动端深度学习软件框架,主要目的是将 Paddle 模型部署在手机端其支持 iOS GPU 计算。但目前功能相对单一支持较为有限。TensorRT 是英伟达(NVIDIA)開发的深度学习推断工具已经支持 Caffe、Caffe2、TensorFlow、MXNet、PyTorch 等主流深度学习库,其底层针对NVIDIA 显卡做了多方面的优化可以和 CUDA 编译器结合使用。

目前主要產业巨头均推出了基于自身技术体系的训练及推断软件框架但由于目前产业生态尚未形成,深度学习模型表示及存储尚未统一训练软件框架及推断软件框架尚未形成一一对应关系,技术生态争夺将继续持续

2. 巨头以开源软件框架为核心打造生态

人工智能开源软件框架生態的核心,是通过使用者和贡献者之间的良好互动和规模化效应形成现实意义的标准体系和产业生态,进而占据人工智能核心的主导地位开源软件框架的用户包括最终服务及产品的使用者和开发者。当前开源软件框架的技术发展呈现出以下几方面的特点:

一是谷歌与其怹公司间持续竞争巨头公司在技术上将积极探寻包括模型互换,模型迁移等技术联合以对抗谷歌公司。例如脸书

(Facebook)和微软已经合作開发了一个可互换的人工智能软件框架解决方案二是开源软件框架在向统一和标准化方向发展。随着人工智能应用的爆发开发人员在鈈同平台上创建模型及部署模型的需求愈发强烈,在各类软件框架间的模型迁移互换技术研发已经成为重点三是更高级的 API2逐渐占据主导哋位。以Keras 为例它是建立在TensorFlow、Theano、CNTK、MXNet 和 Gluon 上运行的高级开源神经网络库,以其高级 API 易用性而得到了广泛的使用四是模型的集群并发计算成为業界研究热点。当前人工智能网络对于单计算节点的 算力要求过高但当前主流开源软件框架对于模型分割进行计算并没有实现,而这个問题也将随着应用场景的不断丰富而不断引起重视成为开源软件框架下一个核心竞争点。

(四) 编译器解决不同软硬件的适配问题

在实際工程应用中人工智能算法可选择多种软件框架实现,训练和开发人工智能模型也可有多种硬件选项这就开发者带来了不小

的挑战。原因一是可移植性问题各个软件框架的底层实现技术不同,导致在不同软件框架下开发的模型之间相互转换存在困难;二是适应性问题软件框架开发者和计算芯片厂商需要确保软件框架和底层计算芯片之间良好的适配性。解决以上两个挑战的关键技术之一就是深度神经網络模型编译器它在传统编译器功能基础上,通过扩充面向深度学习网络模型计算的专属功能以解决深度学习模型部署到多种设备时鈳能存在的适应性和可移植性问题。

1. 深度学习网络模型编译器解决适应性问题

传统编译器缺少对深度学习算法基础算子(卷积、残差网络忣全连接计算等)的优化且对人工智能多种形态的计算芯片适配缺失,针对人工智能底层计算芯片及上层软件框架进行适配优化的编译器需求强烈目前业界主要采用依托传统编译器架构进行演进升级的方式来解决这个问题。当前业界主流编译器主要包括英伟达公司的CUDA 编譯器英特尔公司开发的 nGraph 以及华盛顿大学团队开发的 NNVM 编译器。

目前产业界绝大多数编译器都是按照 LLVM 体系架构设计的LLVM 全称 Low Level Virtual Machine,是一种应用广泛的开源编译器架构该项目由伊利诺伊大学发起,由于其开源特性目前已有基于这个软件框架的大量工具可以使用,形成了具有实际標准意义的生态

英伟达通过提供针对 LLVM 内核的 CUDA 源代码及并行线程执行后端打造了 CUDA 编译器。该编译器可支持C、C++以及 Fortran

语言能够为运用大规模並行英伟达 GPU 的应用程序加速。英特尔基于 LLVM 架构打造 nGraph 计算库为深度学习提供优化方法,可以处理所有的计算芯片抽象细节目前已经开发叻 TensorFlow/XLA、MXNet 和 ONNX 的软件框架桥梁;华盛顿大学基于LLVM 架构打造了 NNVM/TVM 编译器,能够直接从多个深度学习前端将工作负载编译成为优化的机器代码实现端箌端的全面优化。

2. 中间表示层解决可移植性问题

在工程实践中人工智能软件框架训练完成的模型将按照中间表示层的规定进行表达和存儲。中间表示层(Intermediate Representation IR)是编译器用来表示源码的数据结构或代码,可以看作是不同中间件的集合在性能优化及通信方面有着非常重要的莋用。上文介绍的LLVM 架构最大优点之一就是其有一个表达形式很好的中间表示层语言这种模块化设计理念能够支撑各种功能扩充,三大主鋶深度学习网络模型编译器均是通过在中间表示层中增加专属优化的中间件 来实现功能演进创新的

扩充性能的中间表示层是打通深度学習计算中多种不同前端训练软件框架和多种不同后端的表达桥梁,使深度学习网络模型编译器更有效实现二者之间的优化和影射在深度學习网络模型编译器中, 中间表示层的核心思想借鉴了 LLVM 架构设计新增加的专属中间件是解决推断侧模型运行在不同硬件平台的重要描述方法。当前深度学习网络模型编译器的中间表示层主要分为 NNVM/TVM 和TensorFlow XLA 两大阵营但实际上类似 ONNX、NNEF 等模型交换格式也是各种对中间层表示的定义。業界共识“IR”的竞争将是未来软件框架之争的重要一环。

3. 未来亟需模型转换及通用的模型表示

在工程实践上除了上文提到使用统一的Φ间表示层对模型进行表达及存储外,输入数据格式以及模型表示规范也同样是重要的影响因素

主流软件框架输入数据集格式各有不同。由于在训练中已经过清洗和标注的数据依然面临着多线程读取、对接后端分布式文件系统等实际操作问题各主流人工智能软件框架均采用了不同的技术和数据集格式来实现此类数据操作。如TensorFlow 定义了 TFRecord、MXNet 及 PaddlePaddle 使用的是 RecordIO 等

深度学习网络模型的表示规范分为两大阵营。第一阵营昰 Open Neural Network Exchange(ONNX开放神经网络交换),是一个用于表示深度学习模型的标准可使模型在不同软件框架之间进行转移。ONNX 由微软和 Facebook 联合发布该系统支持的软件框架目前主要包括 Caffe2,PyTorchCognitive Toolkit 和 MXNet,而谷歌的TensorFlow 并没有被包含在内第二阵营是 Neural Network Exchange Format(NNEF,神经网络交换格式)是由 Khronos Group 主导的跨厂商神经网络文件格式,计划支持包括 Torch Caffe, TensorFlow 等 几乎所有人工智能软件框架的模型格式转换,目前已经有 30 多家计算芯片企业参与其中

(五) AI 计算芯片提供算力保障

现有深度神经网络需要用更短的时间、更低功耗完成计算,这就给深度学习计算芯片提出了更高的要求

1. 深度学习对 AI 计算芯片嘚需求

总体来看,深度神经网络对计算芯片的需求主要有以下两个方面:一是计算芯片和存储间海量数据通信需求这里有两个层面,一個是缓存(Cache)和片上存储(Memory)的要大另一个是计算单元和存储之间的数据交互带宽要大。二是专用计算能力的提升解决对卷积、残差網络、全连接等计算类型的大量计算需求,在提升运算速度的同时实现降低功耗总的来说,AI 计算芯片的发展过程可以总结为一直在围绕洳何有效解决存储与计算单元的提升这两个问题而展 开成本问题则作为一个舵手控制着最终的航向。

2. 典型 AI 计算芯片的使用现状

CPU 在深度学習训练场景下表现不佳最初的深度学习场景是使用CPU 为架构搭建的,如最初 GoogleBrain 就是基于CPU 组成的但由于 CPU 其本身是通用计算器,大量芯片核心媔积要服务于通用场景的元器件导致可用于浮点计算的计算单元偏少,无法满足深度学习特别是训练环节的大量浮点运算需求且并行計算效率太低,很快被具有数量众多的计算单元、具备强大并行计算能力的 GPU 代替

GPU 成为目前深度学习训练的首要选择。GPU 的关键性能是并行計算适合深度学习计算的主要原因一是高带宽的缓存有效提升大量数据通信的效率。GPU 的缓存结构为共享缓存相比于 CPU,GPU 线程(Thread)之间的數据通讯不需要访问全局内存而在共享内存中就可以直接访问。二是多计算核心提升并行计算能力GPU 具有数以千计的计算核心,可实现 10-100 倍于CPU 的应用吞吐量同时,基于由 NVIDIA 推出的通用并行计算架构 CUDA使 GPU 能够解决复杂的计算问题。其包含的 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎可针对当前深度学习计算进行加速但是由于深度学习算法还未完全稳定,若深度学习算法发生大的变化则 GPU 存在无法灵活适配问题。

FPGA 在深度学习加速方面具有可重构、可定制的特点因 FPGA 没有预先定义的指令集概念,也没有确定的数据位宽所以可以实现应用场景的高喥定制。但FPGA 的灵活性(通用性)也意味着效率的损失由于FPGA 应用往往都需要支持很大的数据吞吐量,这对于内存带宽和I/O 互连带宽要求很高同时由于逻辑利用率低,引发无效功耗大

FPGA 市场化的主要阻碍是成本高昂,价格在几十到几万美元一片不等且应用者必须具备电路设計知识和经验。由于FPGA 省去了流片过程在深度学习发展初期成为计算芯片主要解决方案之一, 在GPU 和ASIC 中取得了权衡很好的兼顾了处理速度囷控制能力。

ASIC(专用集成电路Application Specific Integrated Circuit)是不可配置的高度定制专用计算芯片。ASIC 不同于 GPU 和 FPGA 的灵活性定制化的 ASIC 一旦制造完成将不能更改,所以初期成本高、开发周期长使得进入门槛高。但ASIC 作为专用计算芯片性能高于FPGA相同工艺的ASIC 计算芯片比FPGA 计算芯片快5-10 倍,同时规模效应会使得 ASIC 的荿本降低但高昂的研发成本和研发周期是未来广泛应用的阻碍。ASIC 主要生产企业包括如 Google 的TPU 系列计算芯片以及国内的寒武纪、地平线等公司。

TPU 的核心为脉动阵列机其设计思想是将多个运算逻辑单元(ALU)串联在一起,复用从一个寄存器中读取的结果从而有效平衡了运算和 I/O 嘚需求。但其只适合做信号处理的卷积、信号和图像处理(signal and image processing)矩阵算术(matrix arithmetic) 和一些非数值型应用(non-numeric application)。

另一类 ASIC 代表企业为国内寒武纪其 DianNao 系列核心思想为结合神经网络模型的数据局部性特点以及计算特性,进行存储体系以及专用硬件设计从而获取更好的性能加速比以及計算功耗比。

(六) 数据为算法模型提供基础资源

基于深度学习的人工智能技术核心在于通过计算找寻数据中的规律,运用该规律对具體任务进行预测和决断源数据需要进行采集、标注等处理后才能够使用,标注的数据形成相应数据集业务类型主要包括数据采集、数據处理、数据存储以及数据交易等环节。

当前人工智能数据集的参与主体主要有以下几类:一是学术机构,为开展相关研究工作自行采集、标注,并建设学术数据集这类数据集以 ImageNet 为代表,主要用于算法的创新性验证、学术竞赛等但其迭代速度较慢,难用于实际应用場景二是政府,等中立机构他们以公益形式开放的公共数据,主要包括政府、银行机构等行业数据及经济运行数据等数据标注一般甴使用数据的机构完成。三是人工智能企业他们为开展业务而自行建设数据集,企业一般自行采集标注形成自用数据集,或采购专业數据公司提供的数据外包服务四是数据处理外包服务公司,这类公司业务包括出售现成数据训练集的使用授权,或根据用户的具体需求提供数据处理服务(用户提供原始数据、企业对数据进行转写、标注)具体业务服务形式包括且不限于提供数据库资源、提供数据采集服务,提供数据转写标注服务等

当前,人工智能基础数据类型主要包括语音语言类(包括声音、文字、语言学规则)、图像识别类(包括自然物体、自然环境、人造物体、生物特征等)以及视频识别类三个大类从世界范围来看,数据服务商总部主要分布在美国、欧洲等发达国家但其数据处理人员则大多数分布在第三世界国家;我国语音、图像类资源企业机构正处于快速发展阶段,为产业发展增添了動力

(七) 高性能计算服务器和服务平台快速发展

深度学习使用GPU 计算具有优异表现,催生了各类GPU 服务器 带动了 GPU 服务器的快速发展;同時,也带动了以服务的形式提供人工智能所需要的能力如深度学习计算类的计算平台,以及语音识别人脸识别等服务,这也成为人工智能企业打造生态的重要抓手

1. GPU 服务器服务器厂商相继推出了专为 AI 而设计的、搭载 GPU 的服务器。GPU 服务器是基于GPU 应用于视频编解码、深度学习、科学计算等多种场景的计算服务设备GPU 服务器为 AI 云场景对弹性配置能力予以优化,以增强 PCI-E 拓扑和数量配比的弹性增加适配多种软件框架的运算需求,可以支持 AI 模型的线下训练和线上推理两类场景 能够让 AI 模型训练性能最大化或 AI 在线推断效能最大化,一般分为4 卡8 卡,10 卡等多种类型

另外,英伟达等公司推出了专用的 GPU 一体机例如DGX-1 系列深度学习一体机,采用定制的硬件架构并使用 NVlink 提升了CPU、GPU 以及内存之间嘚通信速度和带宽;同时搭载了集成了NVIDIA 开发的操作系统,NVIDIA docker 环境和很多常用的 Framework 的Docker 镜像实现了从底层硬件到上层软件的紧密耦合。类似的产品还有浪潮的 AGX-1

2. 以服务的形式提供人工智能能力成为趋势

为了解决企业自行搭建 AI 能力时遇到的资金、技术和运维管理等方面困难人工智能企业纷纷以服务的形式提供 AI 所需要的计算资源、平台资源以及基础应用能力。这类服务的意义在于一是有效推动社会智能化水平的提升降低企业使用人工智能的成本,推动人工智能向传统行业融合二是人工智能服务化转型的重要基础。服务平台使人工智能服务和应用不洅封装于具体产品中而可以在以线、随用随取的服务形式呈现。三是服务平台成为垂直行业落地的重要基础近两年,教育、医疗、金融等传统行业对人工智能相关技术和应用需求的不断提升而服务平台是解决技术和应用的基础。

以服务形式提供人工智能服务主要有两類即平台类的服务和软件 API 形式的服务。平台类服务主要包含 GPU 云服务深度学习平台等,类似云服务的基础设施即服务(Infrastructure as a ServiceIaaS)和平台即服務(Platform as a Service,PaaS)层GPU 云服务是以虚拟机的形式,为用户提供 GPU 计算资源可适用于深度学习、科学计算、图形图像渲染、视频解码等应用场景。

深喥学习平台是以TensorFlow、Caffe、MXNet、Torch 等主流深度学习软件框架为基础 提供相应的常用深度学习算法和模型,组合各种数据源、组件模块让用户可以基于该平台对语音、文本、图片、视频等海量数据进行离线模型训练、在线模型预测及可视化模型评估。软件 API 服务主要分为智能语音语类垺务和计算机视觉服务其中智能语音语类服务主要提供语音语义相关的在线服务,可包括语音识别、语音合成、声纹识别、语音听转写等计算机视觉类服务主要提供物体检测、人脸识别、人脸检测、图像识别、光学字符识别(Optical Character Recognition, OCR)识别、智能鉴黄等服务

三、 基于深度學习的基础应用技术现状

目前随着深度学习算法工程化实现效率的提升和成本的逐渐降低,一些基础应用技术逐渐成熟如智能语音,自嘫语言处理和计算机视觉等并形成相应的产业化能力和各种成熟的商业化落地。同时业界也开始探索深度学习在艺术创作、路径优化、生物信息学相关技术中的实现与应用,并已经取得了瞩目的成果

本章主要分析目前商业较为成熟的智能语音、自然语言处理和计算机視觉技术的情况,如图 2 所示每个基础应用技术各分为若干应用类别。

(一) 智能语音技术改变人机交互模式

智能语音语义技术主要研究囚机之间语音信息的处理问题简单来说,就是让计算机、智能设备、家用电器等通过对语音进行分析、理解和合成实现人“能听会说”、具备自然语言交流的能力。

1. 智能语音技术概述

按机器在其中所发挥作用的不同分为语音合成技术、语音识别技术、语音评测技术等。语音合成技术即让机器开口说话通过机器自动将文字信息转化为语音,相当于机器的嘴巴;语音识别技术即让机器听懂人说话通过機器自动将语音信号转化为文本及相关信息, 相当于机器的耳朵;语音评测技术通过机器自动对发音进行评分、检错并给出矫正指导此外,还有根据人的声音特征进行身份识别的声纹识别技术可实现变声和声音模仿的语音转换技术,以及语音消噪和增强技术等

2. 智能语喑产品和服务形态多样

智能语音技术会成为未来人机交互的新方式,将从多个应用形态成为未来人机交互的主要方式

智能音箱类产品提升家庭交互的便利性。智能音箱是从被动播放音乐过渡到主动获取信息、音乐和控制流量的入口。当前智能音箱以语音交互技术为核心成为作为智能家庭设备的入口,不但能够连接和控制各类智能家居终端产品而且加入了个性化服务,如订票、查询天气、播放音频等能力

个人智能语音助手重塑了人机交互模式。个人语音助手特别是嵌入到手机、智能手表、个人电脑等终端中的语音助手,将显著提升这类产品的易用性如苹果虚拟语音助手Siri 与苹果智能家居平台Homekit 深度融合,用户可通过语音控制智能家居Google Now 为用户提供关心的内容,如新聞、体育比赛、交通、天气等等微软的Cortana 主要优势在于提升个人计算机的易用性。

以 API 形式提供的智能语音服务成为行业用户的重要入口智能语音 API 主要提供语音语义相关的在线服务,可包括语音识别、语音合成、声纹识别、语音听转写等服务类型并且可以嵌入到各类产品,服务或 APP 中在商业端,智能客服、教育(口语评测)、医疗(电子病历)、金融(业务办理)、安防、法律等领域需求强烈;在个人用戶领域智能手机、自动驾驶及辅助驾驶、传统家电、智能家居等领域需求强烈。

(二) 计算机视觉技术已在多个领域实现商业化落地

计算机视觉识别这一人工智能基础应用技术部分已达商业化应用水平被用于身份识别、医学辅助诊断、自动驾驶等场景。

一般来讲计算機视觉主要分为图像分类、目标检测、目标跟踪和图像分割四大基本任务。

图像分类是指为输入图像分配类别标签自2012 年采用深度卷积网絡方法设计的 AlexNet 夺得 ImageNet 竞赛冠军后,图像分类开始全面采用深度卷积网络2015 年,微软提出的 ResNet 采用残差思想将输入中的一部分数据不经过神经網络而直接进入到输出中,解决了反向传播时的梯度弥散问题从而使得网络深度达到 152 层,将

错误率降低到 3.57%远低于 5.1% 的人眼识别错误率,奪得了ImageNet 大赛的冠军2017 年提出的 DenseNet 采用密集连接的卷积神经网络,降低了模型的大小提高了计算效率,且具有非常好的抗过拟合性能

目标檢测指用框标出物体的位置并给出物体的类别。2013 年加州大学伯克利分校的 Ross B. Girshick 提出 RCNN 算法之后基于卷积神经网络的目标检测成为主流。之后的檢测算法主要分为两类一是基于区域建议的目标检测算法,通过提取候选区域对相应区域进行以深度学习方法为主的分类,如 RCNN、Fast-RCNN、Faster-RCNN、SPP-net 囷 Mask R-CNN 等系列方法二是基于回归的目标检测算法,如 YOLO、SSD 和DenseBox 等

目标跟踪指在视频中对某一物体进行连续标识。基于深度学习的跟踪方法初期是通过把神经网络学习到的特征直接应用到相关滤波或 Struck 的跟踪框架中,从而得到更好的跟踪结果但同时也带来了计算量的增加。最近提出了端到端的跟踪框架虽然与相关滤波等传统方法相比在性能上还较慢,但是这种端到端输出可以与其他的任务一起训练特别是和檢测分类网络相结合,在实际应用中有着广泛的前景

图像分割指将图像细分为多个图像子区域。2015 年开始以全卷积神经网络(FCN)为代表嘚一系列基于卷积神经网络的语义分割方法相继提出,不断提高图像语义分割精度成为目前主流的图像语义分割方法

2. 计算机视觉技术应鼡领域广阔

在政策引导、技术创新、资本追逐以及消费需求的驱动下,基于深度学习的计算机视觉应用不断落地成熟并出现了三大热点應用方向。

一是人脸识别抢先落地开启“刷脸”新时代。目前人脸识别已大规模应用到教育、交通、医疗、安防等行业领域及楼宇门禁、交通过检、公共区域监控、服务身份认证、个人终端设备解锁等特定场景。从2017 年春运火车站开启了“刷脸”进站,通过摄像头采集旅客的人脸信息与身份证人脸信息进行验证;2017 年 9 月苹果公司发布的iPhone X 第一次将 3D 人脸识别引入公众视线,迅速引发了“移动终端+人脸解锁”嘚布局风潮

二是视频结构化崭露头角,拥有广阔应用前景视频结构化就是将视频这种非结构化的数据中的目标贴上相对应的标签,变為可通过某种条件进行搜索的结构化数据视频结构化技术的目标是实现以机器自动处理为主的视频信息处理和分析。从应用前景看视頻监控技术所面临的巨大市场潜力为视频结构化描述提供了广阔的应用前景,很多行业需要实现机器自动处理和分析视频信息提取实时監控视频或监控录像中的视频信息,并存储于中心数据库中用户通过结构化视频合成回放,可以快捷的预览视频覆盖时间内的可疑事件囷事件发生时间

三是姿态识别让机器“察言观色”,带来全新人机交互体验在视觉人机交互方面,姿态识别实际上是人类形体语言交鋶的一种延伸它的主要方式是通过对成像设备中获取的人体图像进行检测、识别和跟踪,并对人体行为进行理解和描述从用户体验的角度来说,融合姿态识别的人机交互能产品够大幅度提升人机交流的自然性削弱人们对鼠标和键盘的依赖,降低操控的复杂程度从市場需求的角度来说,姿态识别在计算机游戏、机器人控制和家用电器控制等方面具有广阔的应用前景市场空间十分可观。

(三) 自然语訁处理成为语言交互技术的核心

自然语言处理(Natural Language Processing NLP)是研究计算机处理人类语言的一门技术,是机器理解并解释人类写作与说话方式的能仂也是人工智能最初发展的切入点和目前大家关注的焦点。

1. 自然语言处理技术现状

自然语言处理主要步骤包括分词、词法分析、语法分析、语义分析等其中,分词是指将文章或句子按含义以词组的形式分开,其中英文因其语言格式天然进行了词汇分隔而中文等语言則需要对词组进行拆分。词法分析是指对各类语言的词头、词根、词尾进行拆分各类语言中名词、动词、形容词、副词、介词进行分类,并对多种词义进行选择语法分析是指通过语法树或其他算法,分析主语、谓语、宾语、定语、状语、补语等句子元素语义分析是指通过选择词的正确含义,在正确句法的指导下将句子的正确含义表达出来。

2. 自然语言处理技术的应用方向

自然语言处理的应用方向主要囿文本分类和聚类、信息检索和过滤、信息抽取、问答系统、机器翻译等方向其中,文本分类和聚类主要是将文本按照关键字词做出统計建造一个索引库,这样当有关键字词查询时可以根据索引库快速地找到需要的内容。此方向是搜索引擎的基础信息检索和过滤是網络瞬时检查的应用范畴,在大流量的信息中寻找关键词找到后对关键词做相应处理。信息抽取是为人们提供更有力的信息获取工具矗接从自然语言文本中抽取事实信息。机器翻译是当前最热门的应用方向目前微软、谷歌的新技术是翻译和记忆相结合,通过机器学习将大量以往正确的翻译存储下来。谷歌使用深度学习技术显著提升了翻译的性能与质量。

在算法层面深度学习算法模型存在可靠性忣不可解释性问题。首先是可靠性问题深度学习模型离开训练使用的场景数据,其实际效果就会降低由于训练数据和实际应用数据存茬区别,训练出的模型被用于处理未学习过的数据时表现就会降低。其次是不可解释性问题深度学习计算过程为黑盒操作,模型计算忣调试的执行规则及特征选取由机器自行操作目前尚无完备理论能够对模型选取及模本身做出合理解释,随着相关算法在实际生产生活Φ的融合应用存在产生不可控结果的隐患。

在数据层面主要存在流通不畅、数据质量良莠不齐和关键数据集缺失等问题。

具体来看┅是数据流通不畅。目前人工智能数据集主要集中在政府和大公司手里受制于监管、商业门槛等问题,数据无法有效流动;部分有价值數据如监控、电话客服等数据目前没有合法渠道获得;二是数据质量良莠不齐。数据标注主要通过外包形式劳动力水平决定了产出的標注数据质量。三是关键领域和学术数据集不足计算机视觉、自然语言处理等领域的数据资源严重不足,同时目前我国产业数据主要供給给产业界目前学术界数据集数量较少, 可能影响科研及前瞻性的技术研究

在软件框架层面,实现深度学习应用落地的推断软件框架質量参差不齐制约了业务开展。由于深度学习应用场景众多相关应用呈现碎片化特点,用于实现最后应用落地的开源推断软件框架无論在功能还是性能层面距离实际需求还存在相当距离与训练软件框架趋同趋势不同,产业界所使用的推断软件框架需要聚力研发尚未形成具有实际标准意义的优秀实例。

在编译器层面各硬件厂商的中间表示层之争成为技术和产业发展的阻碍。目前业界并没有统一的中間表示层标准并且模型底层表示、存储及计算优化等方面尚未形成事实标准,导致各硬件厂商解决方案存在一定差异导致应用模型迁迻不畅,提高了应用部署难度

在 AI 计算芯片层面,云侧和终端侧对计算芯片提出了不同的要求对于云侧芯片,随着深度学习计算需求的逐渐增加业界希望在提升云侧芯片运算效能的前提下,希望针对不同网络实现更优化的性能表现而功耗比则不是首要关注的因素;对於终端侧芯片,在功耗为首要要求的情况下更加注重的推断运算的性能,并且不同终端应用场景对芯片提出了更多个性化需求如在人臉识别摄像头、自动驾驶汽车等场景。

迁移学习的研究及应用将成为重要方向迁移学习由于侧重对深度学习中知识迁移、参数迁移等技術的研究,能够有效提升深度学习模型复用性同时对于深度学习模型解释也提供了一种方法,能够针对深度学习算法模型可靠性及不可解释性问题提供理论工具

深度学习训练软件框架将逐渐趋同,开源推断软件框架将迎来发展黄金期随着人工智能应用在生产生活中的鈈断深入融合,对于推断软件框架功能及性能的需求将逐渐爆发催生大量相关工具及开源推断软件框架,降低人工智能应用部署门槛

Φ间表示层之争将愈演愈烈。以计算模型为核心的深度学习应用 由于跨软件框架体系开发及部署需要投入大量资源,因此模型底层表 示嘚统一将是业界的亟需未来中间表示层将成为相关企业的重点。

AI 计算芯片朝云侧和终端侧方向发展从云侧计算芯片来看, 目前 GPU 占据主導市场以 TPU 为代表的ASIC 只用在巨头的闭环生态,未来 GPU、TPU 等计算芯片将成为支撑人工智能运算的主力器件既存在竞争又长期共存,一定程度鈳相互配合;FPGA 有望在数据中心中以 CPU+FPGA 形式作为有效补充从终端侧计算芯片来看,这类芯片将面向功耗、延时、算力、特定模型、使用场景等特定需求朝着不同发展。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子發烧友网立场文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题请联系本站作侵删。 

}

百度学术集成海量学术资源融匼人工智能、深度学习、大数据分析等技术,为科研工作者提供全面快捷的学术服务在这里我们保持学习的态度,不忘初心砥砺前行。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信