1.2 技术构成:算法、算力、大数据
算法、算力和大数据是人工智能快速发展的3个要素,如图1-1所示。
首先,在算法上的突破让人工智能的商业化发展看到了希望;其次,计算能力的提升使得复杂的算法得以实现,快速获得训练成果,降低成本;最后,大数据时代为人工智能的训练学习提供了大量的资料。三者相互联系、不可分割,离开其中任何一样,人工智能都无法实现大规模商业化应用。
图1-1 人工智能发展的3个要素
1.2.1 算法
算法是人工智能发展的基础,现在主要应用的是深度学习算法。算法框架中如TensorFlow、Caffe、Torch[1]等已经实现了开源,成为大多数工程师的选择,对行业的加速发展和人才的培养起到了非常大的作用。
全球开源平台的成熟,也使得中国企业能够快速地复制其他地区开发的先进算法。就应用层面而言,中国的算法发展程度与其他国家并无太大差距。事实上,中国在语音识别的人工智能算法上取得了突破性进展,居于世界领先水平。
1.2.2 算力
计算能力是人工智能的基础设施之一,因此具有极高的战略意义。GPU(图形处理器)强大的并行计算能力显著提升了计算机的性能,而且降低了成本。英伟达最新的RTX 2080游戏显卡拥有9 TFLOPS[2]的浮点性能,但是价格只有700美元,每GFLOPS[3]的算力成本只有8美分。
根据高盛的数据,1961年的IBM1620要提供1GFLOPS的算力,所需费用大概是9万亿美元。在算力部分,英伟达、英特尔和美国超威半导体公司(AMD)这家全球最大的芯片供应商负责提供GPU和CPU(中央处理器)。硅谷也在有针对性地发展现场可编程门阵列(FPGA)和专用集成电路(ASIC),应用于人工智能计算。云计算和超级计算机也在为人工智能的发展提供服务。
1.2.3 大数据
机器学习是人工智能的核心和基础,而数据和以往的经验是机器学习优化计算机程序的性能标准。随着大数据时代的到来,来自全球的海量数据为人工智能的发展提供了良好的基础。据IDC统计,2011年全球数据总量已经达到1.8 ZB,并以每两年翻一番的速度增长,预计到2020年,全球将总共拥有35 ZB的数据量,数据量增长近20倍;在数据规模方面,预计到2020年,全球大数据产业规模将达到2047亿美元,我国产业规模将突破万亿元。
人工智能系统必须通过大量的数据来“训练”自己,才能不断提升输出结果的质量。拥有的高质量数据越多,神经网络就会变得越有效率。现在国家各统计部门的人口数据库通过大数据技术可以实现互联互通,形成个人完整生命周期的医疗健康大数据,为人工智能技术在医疗健康行业的应用提供了有力的支撑。
那么,如何获取学习的数据呢?
人工智能想要发展,会面临一项非常大的来自真实世界的挑战,那就是训练数据量严重不足。目前的数据来源主要有3个方面。
一是企业自有数据。通过大量的人力采集,再对数据进行结构化处理,形成人工智能的训练基础。大部分人工智能企业在进入这个领域之前,正是在各自领域采集到了相当多的行业数据,才考虑对数据资源进行利用,形成人工智能业务。
二是各国政府的公共数据。美国联邦政府在Data.gov数据平台上开放了来自多个领域的13万个数据集的数据,包含医疗、商业、农业、教育等领域。我国和其他国家也陆续开放了部分领域的公共数据。
三是产业合作数据。人工智能创业公司通过和行业公司及产业链上游的数据公司建立合作关系来获取数据,如医疗方面和医院建立合作关系。IBM Watson一开始就是通过和纪念斯隆—凯特琳癌症中心(MSKCC)[4]合作获取病历、文献等数据的。
谷歌阿尔法狗在规则定义明确的简单环境下,通过自行对弈创造了大量训练棋谱。但是在复杂的真实环境中,模拟数据难以发挥作用。人工智能想要实现自动驾驶或者疾病的治疗,就需要大量真实的交通事故数据和病历数据。但这方面的数据供给非常有限,而且数据采集难度很大。
如果遇到数据量不足的情况,同时又很难通过之前那些行之有效的方式增加数据供给,就无法发挥深度学习的优势,更重要的是,还会遇到数据类型不一样的问题。物理世界中使用的是不同传感器获取的实时数据流,而现在深度学习在信息世界中的应用,如图像识别,使用的数据都是基于图片的数据点,而非数据流,所以这也是将深度学习现有的成果延伸到真实物理世界应用的一个底层障碍。
降低对数据量的需求、实现小样本学习甚至One-Shot Learning[5],是目前深度学习研究中的关键问题。延恩·勒昆(Yann LeCun)和约书亚·本吉奥(Yoshua Bengio)等深度学习专家也多次在演讲中提到解决深度学习中One-Shot Learning问题的重要性。但是,在两三年之内,小样本学习技术还无法取得突破,仍然需要给计算机提供大量真实数据让其学习。
[1] TensorFlow、Caffe、Torch:深度学习框架的类型。全世界最流行的深度学习框架有Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
[2] TFLOPS:每秒1万亿次的浮点运算次数。
[3] GFLOPS:每秒10亿次的浮点运算次数。
[4] 纪念斯隆—凯特琳癌症中心(MSKCC):世界上历史最悠久、规模最大的私立癌症中心。
[5] One-Shot Learning:属于迁移学习领域,主要研究的是网络小样本精准分类问题和单样本学习能力。