AutoML不够用,智能系统才是人工智能的未来

微软Custom Vision


2017年微软Build开发者大会上,微软高级项目经理Cornelia Carapcea展示了一项技术:

用户创建的自定义视觉API模型只需要一个训练数据样例(只有几十个摄影样本),而Custom Vision则可以完成其余的工作。

一旦创建了这个模型(只需几分钟),用户就可以通过安装在微软服务器上的REST API访问。Carapcea说它可以用于识别食物和地标,甚至是应用在零售环境中。

Custom Vision可以选择最可能为模型增加最大增益的图像,允许用户手工标记图像,然后继续改进总体的准确性和可靠性。

微软亚洲研究院副院长、人工智能系统联合中心负责人周礼栋博士在接受AI前线记者采访时说:Microsoft Custom Vision和Google Cloud AutoML都是针对视觉识别领域里的AutoML(自动学习)的一个应用,都非常的简单易用。通过把复杂的模型选取、参数调优的过程掩藏在了产品的背后,Microsoft Custom Vision可以给用户提供一个非常简单易用的体验,使非专业人士也能零门槛的定制自己的模型。

同时,Microsoft Custom Vision也是微软认知服务(Cognitive Services)中的一部分,微软推出的认知服务包括视觉、语音、语言、知识和搜索等五大类别的二十多个API,如人脸识别、情绪识别、语音识别、拼写检查、语言理解等等。微软认知服务的侧重点是为用户提供一个通用的服务,用户可以直接调用现成的智能API来开发出更智能、更有吸引力的产品,而不需要花费大量时间来自己训练模型。

而对于最近刚刚兴起的AutoML技术,周博士也发表了一些自己的看法:

近年来,“AutoML(自动学习)”已经成为了一个研究热点。通过自动化的方式,机器试图学习到最优的学习策略,从而避免机器学习从业者低效的手动调整。经典的AutoML方法包括用于超参数调节的贝叶斯优化(Bayesian Optimization),以及用于优化器和网络结构调整的元学习技术(Meta learning/Learning-to-Learn)。除了在学术界引起了广泛研究兴趣,AutoML在工业界也已经得到了实际应用,例如此前提到的微软Azure提供的自定义影像(Custom Vision)服务,它能够方便云计算用户自动训练用于计算机视觉机器学习模型。

AutoML让用户在没有专业知识的情况下使用机器学习的门槛大大地降低,甚至可谓是零门槛。在没有机器学习专家指导的情况下,用户通过AutoML就能在一定情况下得到高质量的模型,这使机器学习的行业应用更加容易可行。周博士说,微软亚洲研究院希望把这类技术的使用和研究更加普及化。微软正在着力打造一款用于深度学习的项目,名曰:深度学习智能探索(Neural Network Intelligence),简称叫NNI。

开发NNI工具包的目的是为用户提供智能化、自动化的深度学习工具包,可以帮助用户或者开发者自动地进行数据分析,自动的帮他们搜索模型,进行参数调试和性能分析,通过这样自动迭代的准备过程,用户可以节省更多的时间,将精力放在探索更有深度的机器学习的道路上。

周礼栋博士表示,NNI集成了AutoML算法,是一个支持不同操作系统的,在本地也可以云端运行的工具包。它特别适合有一定人工智能基础的科研人员更加有针对性、精准的选取模型。微软为此制定了全新的语言,使得定义和描述搜索空间只需几行代码,所有的底层通信等复杂问题都被封装起来,对使用者完全透明。NNI着重解决了一系列支持AutoML的系统问题,以开放的方式有效加速AutoML算法研究者在这一领域的创新。为了鼓励更多人工智能的科研工作者一起加强这项研究,NNI计划将在近期开源。

另辟行径,打造智能系统

然而,微软对降低人工智能门槛,提升深度学习普及化的想法可不止于此,AutoML技术只是其中的一环,微软要做的是智能系统。

周博士表示,AutoML是人工智能系统的一部分,它也对人工智能系统提出了包括资源管理、任务分配等一系列挑战。简单的说:灵活可扩展的好的人工智能系统能够更好的支撑AutoML,使其更好更快的生成结果。而好的AutoML则能够使人工智能系统更加完备,更方便使用。

智能时代,系统为先

周礼栋博士首先表示:人工智能如果没有系统的话,就只是一个海市蜃楼——看上去很美,但一点都不真实。

他认为,系统就是把复杂的东西变得有序易用。而在计算机领域,系统的重要性是不言而喻的,在整个计算机发展的过程当中,我们感受到的每一次大的突破,背后实际上都有很多计算机系统的理论和设计作为推动力。

周博士分析了每一个时代下,系统的重要性:

  • 互联网时代,有很多非常新的系统出现在我们的生活中,其中最有代表性的一个系统就是搜索引擎。大家很多人都用搜索引擎搜索网上的信息,而搜索引擎背后就有很多系统领域的技术、理论。其中一个典型的系统理论就是分布式系统理论。

  • 在大数据或者说大家都熟知的云计算时代,云计算的系统就是非常典型的系统。现在我们看到很多公司都在提供云计算的服务。这里就用到了一些新的计算机系统的技术,其中有虚拟机技术、容错技术等,因为这些技术才使得这样的服务和系统成为了可能。

  • 如今的人工智能时代,我们看到越来越多深度学习计算机视觉语音识别、自然语言等领域都取得了突破,这就对系统产生了更大的需求。我们研究开发了很多大规模深度学习的平台,这其中也依托了最近在系统方面的进展和研究成果,包括怎么利用异构的硬件高效地执行这些深度学习的任务,也包括怎么进行高性能的并行计算。这些使得深度学习,特别是非常有深度的模型的处理成为可能。

周博士说:“我们还可以设想,未来量子计算将成为主流的技术。但是我们也可以看到,现在在系统方面的发展还没有到能够让它付诸实用的阶段。虽然理论上很成熟了,但若要变成现实,还需要在系统方面进行很多创新、研究、实践,才能促成这一步大的变革。”

深度学习的瓶颈

在演讲中,周博士提到了深度学习目前已经取得进一步的发展,但还是会遇到一些瓶颈,而且很多瓶颈还是产生在系统方面。他说:“现在,即便我们有很多不同的硬件加速,有很多不同的模型,我们能怎么解决把这个模型非常高效地映射到相应的硬件上,并且有不同定制的优化呢?整个深度学习领域里面的工作目前其实都是人工去做的,而不是用系统化的方法去完成的。”

此外,进行深度学习模型训练的时候,开发者们一般使用GPU来进行加速,当训练样本只有百万级别的时候,单卡GPU通常就能满足我们的需求,但是当训练样本量达到上千万、上亿级别之后,单卡训练的耗时会很长,所以这个时候通常需要采用多机多卡进行加速。在这种情况或者一些更复杂的情况下,我们就需要很多系统方面的设计和考虑。人工智能的实践者不用再担心是不是需要自己架一个GPU集群才可以做人工智能的事情。因为这是系统应该完成的事情,周博士说:“我们应该把这些事情都做了,那么人工智能方面的研究者就能被解放出来专注研究人工智能的问题了。”

人工智能领域的门槛非常高,所以人工智能从业者的身价也非常高。这也是因为系统层面的很多工作还不够深入。周博士表示,他们推进自己的工作,就希望能够把这个门槛降低,真正做到“人工智能普及化”。这将是非常可行、且必行的下一步工作。

微软的智能系统

周博士认为:系统最关键的创新,就是把抽象实现的非常完美。用户其实“看不到”系统,大家谈起来,似乎看到的都是视觉等上层的突破,永远看不到下面底层的进步。所以我们一直说,系统的最高境界就是完全不可见的,是隐形的

他告诉我们:微软一直认为,未来,整个世界就是一台计算机。现实世界也好,虚拟世界也罢,所有这些部分都将连接在一起。

周博士说:“微软亚洲研究院对系统这个领域的理解是:首先,系统是一个跨领域、有广度的研究,我们需要对从底层的硬件一直到上层的应用,包括人工智能这样新的应用,都有非常广博的了解,这样才能够设计出适合应用的系统。其次,编译器原理、编译优化、数据库系统这些领域,我们也都需要有深入了解,这样才能够通过合理的系统设计充分利用硬件的能力,也就是说,系统方面的研究也一定要有深度,这也是非常重要的。”

据介绍,微软亚洲研究院系统领域的研究成果在现实的商业场景中已经有了广泛的应用,并产生了实际的商业效能,例如:

  • GraM分布式并行图处理引擎,能够在内存里面通过集群处理具有超过10亿条边的图;

  • Apollo大数据任务调度系统,可以直接部署在10万台机器上,每天能够调度几百万条的任务,用来支持搜索引擎、广告等部门的日常业务;

  • StreamScope分布式流数据处理平台,能够实时处理数十亿的广告信息;

  • KV-Direct Key/Value系统,可处理每秒12亿次以上的操作,相比同类最前沿的研究系统有至少一个数量级的提升。虽然这个系统还没有得到部署,但它是微软目前研究的最前沿的一个代表,发表在计算机系统的顶级会议SOSP 2017。这些只是冰山一角,据说微软在智能系统方面的探索远不止于此,智能时代的微软似乎拥有着更多的可能性。

智能系统的未来

最后,周博士表达了他个人对智能系统发展趋势的一些看法:

首先,现在很多深度学习的框架,将来都将互通统一。其实数据库就是一个很好的例子——很久以前有各种各样的数据库,但最后大家发明了所谓的以Relational algebra(关系代数)为基础的数据库,让所有数据库模型都成为一种统一的模型。在人工智能方面,这种互通的统一性,从系统角度来说也是肯定会发生的一件事情。

其次,系统的能力会越来越强,会有无界的资源。整个世界就是一台计算机,所以我们最后希望能够达到的目标就是,在资源无界的环境里,你所使用的资源,无论是来自于计算中心还是来自于自己的计算机,甚至是来自于一个不知道是什么的地方,都会被系统很好地隐藏起来。你只要把事情做好,而不用关心资源是从哪里来的。

最后,也是需要再强调的一点,在系统研究里最关键的创新在于要提出一种更简约的抽象,并且用全新的工具和平台来支持这个抽象,从而让大家各方面的工作效率得到提升。

结尾

为了推进人工智能普及化、降低开发门槛,微软正在不断地努力和尝试,相信用户很快就能享受到这些努力的成果。就像周礼栋博士所说:系统的最高境界是无形的。也许技术的最高境界就是无形的,好的技术就是这样在潜移默化中改变了我们的生活,虽然我们没有感觉,但是它的确发生了。

入门AutoML
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

计算机视觉技术
Computer Vision

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

人脸识别技术
Facial recognition

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

超参数技术
Hyperparameter

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

元学习技术
Meta learning

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

优化器技术
Optimizer

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

量子计算技术
Quantum computing

量子计算机是一种使用量子逻辑进行通用计算的设备。不同于电子计算机,量子计算用来存储数据的对象是量子比特,它使用量子算法来进行数据操作。马约拉纳费米子反粒子就是自己本身的属性,或许是令量子计算机的制造变成现实的一个关键

调度技术
Scheduling

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

语音识别技术
Speech Recognition

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

微软研究院AI头条
微软研究院AI头条

微软亚洲研究院是微软公司在亚太地区设立的研究机构,也是微软在美国本土以外规模最大的一个。从1998年建院至今, 通过从世界各地吸纳而来的专家学者们的鼎力合作,微软亚洲研究院已经发展成为世界一流的计算机基础及应用研究机构,致力于推动整个计算机科学领域的前沿技术发展,并将最新研究成果快速转化到微软全球及中国本地的关键产品中,帮助消费者改善计算体验。同时,微软亚洲研究院着眼于下一代革命性技术的研究,助力公司实现长远发展战略和对未来计算的美好构想。

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

推荐文章
返回顶部