移动终端人工智能技术与应用开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.2 数据和算法成为主要驱动力

本轮人工智能浪潮的兴起,主要得益于算法、算力和大数据的进步。首先,算力的提升是本轮人工智能浪潮兴起的基础。人工智能算法(特别是深度学习算法)的实现需要强大的计算能力支撑。早在20世纪80年代,学术界已经提出了相关的人工智能算法模型,1989年,杨立昆(Yann LeCun)提出了深度学习常用模型之一——卷积神经网络(Convolutional Neural Network, CNN),并将其成功用于手写体数字识别,但由于当时计算机的硬件水平有限,难以提供可以支撑深度神经网络训练/推断过程所需要的算力,并且当神经网络的规模增大时,反向传播(BP)算法会出现“梯度消失”的问题,这使得神经网络的研究和应用受到很大限制,这些模型的真正价值没有得到体现。直到近年来,算力大幅提升,才使人工智能应用真正得以普及。通过一组数据可以看出人工智能技术对算力的庞大需求:根据OpenAI统计,2012—2019年,随着深度学习模型的演进,模型计算所需计算量已经增长30万倍,所需算力直接呈现阶跃式发展。根据斯坦福大学的报告The 2019 AI INDEX Report,2012年之前,人工智能的算力需求每两年翻一番,2012年以后,算力需求的翻番时长缩短为三四个月(见图1-2)。未来,移动互联网和物联网设备使得数据仍将保持爆炸式增长,人工智能软件框架和模型可能会向越来越复杂的趋势发展,人工智能算力将进一步提高,成为承载和推动人工智能应用技术落地的关键,支持云端训练、云端推理、边缘推理应用的巨大需求。

AI算力近年来获得如此大的提升,主要得益于AI芯片的发展。AI计算任务具有单位计算任务简单、逻辑控制难度低、并行运算量大、参数多的特点,要求硬件具有高效的线性代数运算能力,对于芯片的多核并行运算、片上存储、带宽、低延时的访存等提出了较高的需求。传统的CPU(Central Processing Unit,中央处理器)主要是串行执行指令,对于深度学习这种大规模并行计算需求往往很难高效满足。GPU(Graphics Processing Unit,图形处理器)由并行计算单元、控制单元以及存储单元构成,拥有大量的核和大量的高速内存,计算单元明显增多,擅长进行类似图像处理这样的并行计算,也适合进行大规模并行计算,更适应AI应用的数据量大、需要并行处理的特点,因此当GPU与人工智能结合后,人工智能才迎来了高速发展。虽然GPU已经被AI领域广泛采用,但它并非为AI而生,没有针对AI工作负载进行优化,因此对于特定的AI任务,人们还推出了专用AI加速芯片,如TPU(Tensor Processing Unit,张量处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)芯片等。AI芯片目前广泛应用于云端、边缘端及物联网设备、移动智能终端等。目前来看,CPU、GPU和FPGA(Field Programmable Gate Array)等芯片是运行通用人工智能算力的主要芯片。而在各类移动终端设备上,针对神经网络算法的专用ASIC芯片正在发挥更大作用,我国的人工智能企业也在终端ASIC芯片领域加速布局,并取得了一定成果,华为、地平线等公司在移动智能终端、机器人等应用领域已经推出了成熟的产品。

图1-2 深度学习应用对算力需求的递增

来源:斯坦福The 2019 AI INDEX Report

数据是人工智能发展的“燃料”,已经成为人工智能时代的重要生产资源。深度学习算法多采用监督学习模式,即需要用标注数据对模型进行训练(见图1-3)。通常情况下,训练的数据量越大、覆盖越全面,模型的推理效果越好,现在的人脸识别、自动驾驶、语音交互等应用都采用这种模式训练,对于各类标注数据有着海量需求。目前,ImageNet的公开图库拥有1300万张以上的训练图。特斯拉在推出其自动驾驶功能AutoPilot之前,收集并分析了大量驾驶数据,并且每10小时通过它连接的汽车增加百万公里的数据。据Quartz报道,中国某头部计算机视觉算法企业声称拥有20亿张训练图,因此可以说,数据资源一定程度上决定了这些人工智能应用的实际可用程度。

图1-3 标注数据对深度学习的作用

移动手机、泛智能终端设备、物联网设备产生了海量的数据,低功耗云存储系统为这些数据的存储和处理提供了技术手段,促进了人工智能基础数据服务业的发展。人工智能基础数据服务包括为AI算法训练及优化提供的数据采集、清洗、信息抽取、标注等服务。人工智能算法的有效性与训练数据的质量密不可分,为了不断提高算法精度,做人工智能算法的企业对基础数据服务的需求越来越大,2018年中国人工智能基础数据服务市场规模。为25.86亿元,其中数据资源定制服务占比86%,预计2025年市场规模将突破113亿元数据来源:2019年中国人工智能基础数据服务白皮书。随着竞争加快,AI公司对训练数据的质量要求也不断提高,对垂直场景的定制化数据采标需求成为主流。目前,数据标注主要采用机器辅助标注、人工主要标注的手段,随着算法对数据的需求越来越旺盛,增强数据处理平台的持续学习和自学习能力、增加机器能够标注的维度、提升机器处理数据的精度、由机器承担主要标注工作将成为下一阶段的行业方向。

机器学习中的数据通常分为训练集和测试集。例如,我们可以将60000幅图像分为两部分,大的一部分包含50000幅图像,作为训练集用于训练我们的模型,另外的10000幅图像用作测试集。在模型的训练过程中,只会用到训练数据集。当训练完成,模型的参数固定后,我们再使用测试集作为输入来检验模型的性能。将数据分为训练集和测试集非常重要,因为使用训练集进行测试,模型的表现可能非常完美,但是一旦遇到模型从未见过的图像,则结果可能会不尽如人意。机器学习中有个专门的概念叫作过度拟合,就是说特定的训练数据可能掩盖一些更为通常的特征。在机器学习中避免过度拟合是很重要的,使用测试集来验证模型的处理效果有助于发现过度拟合问题。

算法的发展是本次人工智能浪潮的另一主要驱动力。基于多层神经网络的深度学习算法是引领本轮人工智能浪潮的关键,虽然深度学习算法的可解释性和算法的歧视性等问题一直被质疑,但目前的人工智能应用大部分仍然基于深度学习算法。当前,开源深度学习平台集成了常用的算法,允许公众使用、复制和修改源代码,具有更新速度快、拓展性强等特点,可以大幅降低企业的开发成本和客户的购买成本。因此,这些平台被企业广泛应用于快速搭建深度学习技术开发环境,实现产品的应用落地,巨头公司(如Google、百度等)也通过开源框架来打造自身的人工智能技术和产品生态。在本书的1.2节中,具体阐述机器学习算法和软件框架。