人工智能行业驱动力 之一: 数据量

海量数据为人工智能发展提供燃料
数据量、运算力和算法模型是影响人工智能行业发展的三大要素。2000年之后,数据量的上涨、运算力的提升和深度学习算法的出现极大的促进了人工智能行业的发展。
• 海量数据为人工智能发展提供燃料
要理解数据量的重要性,得先从算法说起。数据量和算法可以分别比作人工智能的燃料和发动机。算法是计算机基于所训练的数据集归纳出的识别逻辑,好的算法模型可以实现精准的物体和场景识别。数据集的丰富性和大规模性对算法训练尤为重要。因此可以说,实现机器精准视觉识别的第一步,就是获取海量而优质的应用场景数据。以人脸识别为例,训练该算法模型的图片数据量至少应为百万级别。

2000年以来,得益于互联网、社交媒体、移动设备和廉价的传感器,这个世界产生并存储的数据量急剧增加,这为通过深度学习的方法来训练计算机视觉技术提供很好的土壤。IDC数据显示,从2011 年起,全球所产生的数据量已达到ZB级别(1ZB约为10亿GB ),海量的数据将为计算机视觉算法模型提供远远不断的素材。而关于数据量对提高算法准确率方面的重要性,更有学者提出:“It’s not who has the best algorithm that wins. It’s who has the most data. 

人工智能行业驱动力 之二: 运算力

人工智能领域是一个数据密集的领域,传统的数据处理技术难以满足高强度、大数据的处理需求。 AI芯片的出现让大规模的数据效率大大提升,加速了深层神经网络的训练迭代速度,极大的促进了人工智能行业的发展。
AI算法的处理需要大量的矩阵计算操作,因此特别适合使用并行运算芯片进行数据处理。而传统的CPU一次只能同时做一两个加减法运算,无法满足并行运算的需求。目前,出现了GPU、NPU、FPGA和各种各样的AI-PU专用芯片。而其中, 出现最早的GPU为人工智能的发展做出了巨大的贡献。
擅长并行计算的GPU大幅提升机器学习效率。在GPU出现之前,算法运行的速度是很慢的,即使是一个简单的神经网络数据的培训,也得花费几天、甚至几周的时间。 1999 年,Nvidia 公司在推销Geforce 256 芯片时,提出了GPU( 图像处理器) 概念。GPU是专 为执行复杂的数学和集合计算而设计的数据处理芯片。它的出现让并行计算成为可能,对数据处理规模、数据运算速度带来了指数级的增长,极大的促进人工智能行业,尤其计算机视觉领域的发展。

GPU与传统CPU相比,在处理海量数据方面有压倒性的优势。 据Rajat Raina 与吴恩达的合作论文 “用 GPU 进行大规模无监督深度学习” 显示,在运行大规模无监督深度学习模型时,使用 GPU 和使用传统双核 CPU 在运算速度上的差距最大会达到近七十倍。在一个四层,一亿个参数的深度学习网络上,使用 GPU 将程序运行时间从几周降低到一天。
今天,数据处理速度不再成为制约计算机视觉发展的主要瓶颈。想要发挥专用芯片的计算优势,需要芯片结构和软件算法两者相匹配。目前的趋势是,随着对人工智能各类应用需求的不断增强,专门用于加速人工智能应用的AI-PU或将成为计算机另一个标配组件。
人工智能行业驱动力 之三: 算法

深度学习突破人工智能算法瓶颈
在深度学习出现之前,机器学习领域的主流是各种浅层学习算法,如神经网络的反响传播算法(BP算法)、支撑向量机(SVM)、Boosting、Logistic Regression等。这些算法的局限性在于对有限样本和计算单元的情况下对复杂函数的表示能力有限,对复杂数据的处理受到制约。以计算机视觉为例,作为一个数据复杂的领域,浅层学习算法的识别准确率并不高。该类识别原理多为通过寻找合适的特征来让机器辨识物品状态,由于这个处理逻辑是浅层的,不能穷举各种复杂的情境,因而算法拟合的准确率不高。
深度学习突破人工智能算法瓶颈。2006年,Geoffrey Hinton 和合作者发表论文,“A fast algorithm for deep belief nets”,此后“Deep Learning(深度学习)”的概念被提出。
以计算机视觉为例,深度学习出现之前,基于寻找合适的特征来让机器辨识物体状态的方式几乎代表了计算机视觉的全部。尽管对多层神经网络的探索已经存在,然而实践效果并不好。深度学习出现之后,计算机视觉的主要识别方式发生重大转变,自学习状态成为视觉识别主流。即,机器从海量数据库里自行归纳物体特征,然后按照该特征规律识别物体。图像识别的精准度也得到极大的提升,从70%+提升到95%。

在短短几年时间里,深度学习颠覆了语音识别、语义理解、计算机视觉等基础应用领域的算法设计思路,逐渐形成了从一类训练数据出发,经过一个端到端的模型,直接输出最终结果的一种模式。由于深度学习是根据提供给它的大量的实际行为(训练数据集)来自我调整规则中的参数,进而调整规则,因此在和训练数据集类似的场景下,可以做出一些很准确的判断。