大数据在人工智能领域的应用浅谈

发布时间:2017-03-01 作者:丁辉(中兴通讯)

      最近非常热门的人工智能,其显著特点是由计算机完成大量的科学和工程计算,比人脑做得更快、更准确。人工智能的核心是计算机不断从经验中获取知识,学习策略,在遇到类似的问题时,运用经验知识解决问题并积累新的经验,就像普通人一样。经验越多,越有利于人工智能解决问题的能力提升。经验本质上就是数据,数据的量很大时就需要用大数据技术来处理,因此人工智能离不开大数据技术。


  任何智能的发展,都需要一个不断训练和学习的过程。近期人工智能之所以取得突飞猛进的进展,不能不说是大数据技术取得长足进步的结果。正是由于各类感应器和数据采集技术的发展,现在人们可以采集以往难以想象的海量数据,并且在某些领域拥有深度的、细致的数据。这些都是训练某一领域“智能”的前提。

  人工智能中比较主流的技术是机器学习(Machine Learning)。机器学习有多种途径和方法,如Deep Learning、GMM、SVM、HMM、Dictionary Learning、Knn、Adaboosting,不同的方法使用不同的模型、不同的假设、不同的解法。这些模型可以是线性,也可以是非线性的,可能是基于统计的,也可能是基于稀疏矩阵,他们的都是数据驱动(Data-Driven)模型,都是学习以一种更加抽象的方式来表达特定的数据,假设和模型都对特定数据广泛适用。这种学习出来的表达方式,也就是训练模型,这些模型以参数、权重、偏置量形式展现,可以帮助我们更好地理解和分析数据,挖掘数据隐藏的结构和关系。可以是预测、分类、聚类、识别、重建、约束、降噪、超分辨、除马赛克等。


  深度学习(Deep Learning)是机器学习的一个子类,一般特指学习高层数的网络结构。这个结构中通常会结合线性和非线性的关系。深度学习有各种不同的模型,如CNN、RNN、DBN,各自解法也不同。深度学习目前非常流行,在图像、视觉、语音等各种应用中表现出了很好的实效。利用GPU的并行运算,在模型相当复杂、数据量特别大的情况下,深度学习依然可以达到理想的学习速度。


  基于大数据的深度学习为强人工智能的实现提供了一种极大的可能。人类的大脑本质就是一台模式分类器,接收各种传感器(眼、耳、鼻、舌、皮肤)输入的信息,融合处理,正负反馈,在信息塑造神经元结构、神经元结构处理信息的反复迭代过程中,最终诞生了人类的智能。青蛙的视觉系统只能看到运动的物体,狗看不到颜色,人类的视觉系统可以识别几万种颜色,人类的大脑接收和处理的数据远多于其他生物。数据越多,塑造培养出的信息处理系统越聪明,这就是大数据之于人工智能的意义。


  深度学习是通过神经网络的方式,基于大量标注后的数据集进行监督学习,通过训练数据的前向拟合和反向传播,迭代训练,获得模型,然后利用模型在生产环节中进行数据推理。

 
  人工智能技术立足于神经网络,同时发展出多层神经网络,从而可以进行深度机器学习。与传统的算法相比,这一算法并无多余的假设前提(比如线性建模需要假设数据之间的线性关系),而是完全利用输入的数据自行模拟和构建相应的模型结构,其特点决定了它更为灵活,且可以根据不同的训练数据而拥有自优化的能力。如图1,图1上部分展示了监督学习的场景下,训练的过程是通过反向传播的方式进行,图形下半部分是训练结果的模型,这部分为推理过程,即应用训练结果模型进行推理和预测,从而获得真正的实用价值。

 


 

  一些主流的神经网络开源框架包括Caffe、H2o.ai、moa、torch、TensorFlow、neon、theano。其中,Tensorflow是Google的开源深度学习框架,采用python和C++接口,背靠微软,拥有庞大的用户量,大有一统江湖的趋势。


  深度学习通过构建多层数、多节点、高复杂度的模型来解决实践问题,人们依然缺乏对学习的结构模型的理解。但神经网络不需要我们全面系统地理解结构模型,而通过神经网络训练就可以获得较好的推理参数,这一显著的优点带来的是显著增加的运算量。在一些深层神经网络中,梯度或权重数据轻易可达到上GB的规模,在对计算效率要求较高的训练场景中,训练效率过低,周期过长(几周甚至上月),在计算机运算能力取得突破以前,这样的算法几乎没有实际应用的价值。但今天的情况大大不同了,高性能计算被提了出来。高性能计算采用密集计算专用硬件,其数据处理器性能、内存带宽均大幅提升;采用并行计算框架,实现大规模数据训练加速;优化算法,采用稀疏矩阵、剪枝算法等。

  
  并行计算分几个层次,分别是地域/跨地域并行、数据并行、模型并行。地域/跨地域并行计算包括本地分布式计算、数据中心级分布式计算、全球分布式计算几种形式。数据并行指不同批次数据在不同GPU卡上训练,结果梯度进行数据连接,起到并行的效果(见图2)。模型并行是指神经网络模型中有多层,对于同一数据批次,每层都在不同的GPU卡上处理,减少层与层之间的等待时间(见图3)。

 


 



  密集计算专用硬件、高速并行运算大数据、优化的算法共同促成了人工智能发展的突破。这一突破,或许在30年以后回头来看,将会是不弱于互联网对人类产生深远影响的另一项技术,它所释放的力量将再次彻底改变我们的生活。