原创: 金榕
文章来源:阿里技术 《火了这么久的 AI,现在怎么样了?》
近年来 AI 发展迅猛,从最初的萌芽到今天非常成功的应用,AI 有很多优秀的实践,同时也遇到了非常多的挑战,需要不断地通过技术革新来解决这些困局。阿里巴巴达摩院高级研究员金榕将通过本文介绍当前 AI 已取得的应用实践,解析 AI 的创新以及可探索的未来。
本文将主要围绕以下四个方面展开:
AI 技术背景
自然语言处理
语音技术
机器视觉
一、AI 技术背景介绍
目前的 AI 技术都是以深度学习为基础,而深度学习完成如此复杂的学习过程需要两个条件,首先需要大量的数据,深度学习非常依赖数据挖掘技术,用于产生大量有效的训练数据。此外,深度学习还需要优化算法,因为深度学习要在非常复杂的网络中找到最好的模型,用于匹配数据。在最基础的深度学习模型上,有三个主要的领域,既图像视觉、语音交互和自然语言处理。其中,图像视觉是由图像处理和理解、自然人识别、视频编解码和内容分析、三维视觉等技术组成。语音交互是由语音识别、语音合成、语音硬件技术等组成。自然语言处理包括自然语言应用技术、语义理解计算、翻译基础计算等技术。所有这些技术组成了人工智能技术。综上而言,人工智能是由深度学习和机器学习组成的。
1 机器学习
机器学习的目标是利用有限的样本对未知的目标函数求近似。任何机器学习模型都有三个 component 组成,首先确定要学习的函数空间、然后确定使用的数据,用哪些训练数据拟合机器学习模型,最后是找到优化算法,让机器从函数空间中学习到最好的模型,即最佳匹配数据的模型。
2 深度学习
机器学习是考虑所有可能的函数,而深度学习只考虑一个特殊类的函数,神经网络。在数据方面,深度学习的数据要求比普通模型的要求要高很多。在大数据支持的前提下,才能够真正发挥深度学习的作用。传统的优化只是做凸优化,而在深度学习场景中要处理非凸优化。因此,深度学习在三个 component 中都会遇到非常大的挑战。首先,神经网络构成的函数空间非常不清楚。其次,由于大数据的复杂性,训练数据的难度比传统机器学习的难度要大。最后,非凸优化无论在理论或实践层面都没有很成型的模版。所以业界为了找到最佳的实践也在做很多的实验研究。
3 人工智能发展的关键
人工智能发展主要包含两个关键点。首先可以利用大量丰富的“活”数据。利用“活”数据的应用有很多,如 2016 年谷歌的 AlphaGo 战胜了围棋世界冠军。另外,AI 技术具备强大的计算能力,如目前非常火的自动驾驶技术,Google 的 Waymo 可以在非常长的距离下无需人为干预的进行自动驾驶。但是这些技术早在 20 多年以前都有所实践,在 1995 年,Backgammon 通过和自己下 1.5 万盘棋,成为了世界冠军。在 1994 年,Alvin 以每小时 70 英里的速度从美国的东海岸开到了西海岸。相比这 20 多年的发展,本质上的不同点是数据的数量级和计算能力的提升。如人脸识别技术现在都需要上亿级别的训练数据,而以前只有几百万张的数据。传统的 AI 技术要依靠很多的 GPU 才能得到比较好的模型效果。
自然语言处理
1 自然语言处理模型
自然语言处理也有着很长的历史,以前叫计算语言学。传统的计算语言学方法使用统计学的语言概率模型构建自然语言模型。如下图中的“中国鼓励民营企业家投资国家基础建设”,这一句话可以被解析为一个语言树,分为主语、谓语、宾语、动词和名词等内容。也就是利用语言树表达这句话的语法结构。另外,传统的自然语言中常用的技术叫统计语言模型。如下图中的拼音串 “ta shi yan jiu sheng wu de” 可以有多种可能的汉子串表达,人为判断的话应该是最后一条“他是研究生物的”。实际上,人类大脑中通过大量阅读会形成一个概念图表,知道哪些表达是可能发生的,形成了一种统计语言模型。最典型的统计语言模型是 Bi-gram 模型,计算一个词之后可能出现的词的概率。但传统的计算语言学方法存在模型欠精准,文本处理效果一般等弊端。
鉴于传统方法的局限,深度学习可以用于自然语言处理中,其中最成功的的模型叫深度语言模型。与传统方法的区别在于它将所有词的上下文信息用张量表示,还可以双向表示,即对未来和过去都做预测。此外,深度语言模型利用了 Transformer 结构,可以更好的捕捉词和词之间的关系。
自然语言模型 - 问题应用
问答应用传统的方式是常见问答对(FAQ)和知识图谱(KBQA)。如下图中的例子,问答对是一个数据库,包含问题和回答。这种方式相对保守,且编辑问答对要求人对相应的 domain 有比较深的理解,很难扩大领域,且冷启动慢。为了解决此问题,随之出现了机器阅读理解的技术,它可以直接自动从文档中找到匹配问题的答案,通过深度语言模型将问题和文档转化为语义向量,从而找到最后的匹配答案。
目前问答应用广泛应用于各大企业,如阿里小蜜,闲鱼卖家助理,每天帮助百万级的买家自动获取商品和活动信息。
2 自然语言处理 - 机器翻译
另外一个比较成熟的 AI 技术的应用是机器翻译。传统的翻译模型叫统计机器翻译模型(SMT),如下图左侧,从翻译结果来看,统计机器翻译模型容易产生错译,整体流畅度差,包含语法错误。引入深度学习的神经网络机器学习模型(NMT)的结果错译少,流畅度也比较高,符合英文的语法规则。
下图中可以看到,Google Brain 对神经网络做了一个评估报告,其中 phrase based 翻译模型达到的效果有限,而基于神经网络的翻译模型有了明显的提升。同时,在阿里巴巴业务中机器翻译也得到了广泛应用,如电商场景中对商品信息的翻译,钉钉 AI 翻译等。但是因为钉钉的信息都是比较随意的表达,所以钉钉 AI 翻译在未来还有很大的进步空间。
三、语音技术
语音技术在很长一段时间内都被想象成是编码的技术,将文字编译成语音信号。而语音识别的过程是属于解码的过程。
通常语音识别有两种模型,语言模型(Language Model)和声学模型(Acoustic Model)。语言模型主要的场景是预测某词或词序列的概率。声学模型预测通过词 W 的发音生成特征 X 的概率。
1 语音识别
混合语音识别系统
传统的混合语音识别系统叫 GMM-HMM,GMM 用于声学模型, HMM 用于语言模型。即使在语音识别领域大家做了很长一段时间的努力,但还是无法达到人类语音识别水平。到了 2009 年之后,基于深度学习的语音识别系统开始发展, 2017 年微软声称它们的语音识别系统比传统的语音识别系统有了明显的提升,甚至比人类的语音识别水平更好。
传统的混合语音识别系统包含独立优化的声学模型,语言模型和语言学家设计的发音词典。不难发现,传统的语音识别系统的构建流程非常繁琐,它需要多个 component 并行开发,各个模型都是独立优化的,导致最终的优化效果不尽人意。
端到端的语音识别系统
基于传统的语音识别系统遇到的问题,端到端的语音识别系统中将声学模型、解码器、语言模型、发音词典都结合在一起,统一进行开发和优化,使得效果达到最优。实际的实验结果明端到端语音识别系统可以进一步降低识别 20+% 的错误率。此外,模型的达到会大大缩小,可以达到传统语音识别模型的几十分之一。而且端到端的语音识别系统还可以在云上发挥作用。
2 语音合成
语音合成大概分为几个 component。首先是前端的文本分析,进行词的拆分,识别 break,这些会构成语言信息。之后,传到后端通过声学模型产生声波。
语音合成历史
语音合成技术从最早的 GMM,到 2000 年的 HMM,再到 2013 年,基于深度学习的模型。而到了 2016 年,WaveNet 相较于之前的模型,在语音质量上有了质的飞跃。2017 年出现了端到端的语音合成模型。2018 年阿里巴巴的 Knowledge-aware Neural 模型不仅能够产生很好的音质,还实现了大规模的模型压缩和计算效率的提升,可以实时产生有效的合成语音。
语音合成一直存在一个较大的 borderline,即定制化成本非常高。通常传统的语音定制则需要专业的发言人,还要在录音棚中录制,人工精准的标注,而且需要大量的数据,一般大于 1 个小时。而如今,语音合成需要在个性化声音定制方面做一些尝试,任何的普通人只要通过手机进行录制,即便在噪声环境下,也可以完成个性化的声音定制。如可以将车内导航系统的语音换成家人的声音。
3 多模态语音交互方案
当人和人对话时,不只是在听声音,而是通过视觉和听觉结合起来理解对方表达的意思。未来的语音交互系统中,还需要将多模态交互方案引入进来。目前的语音识别系统在嘈杂环境下的效果还是不尽人意的,在地铁等嘈杂的公共环境中还是会遇到较大的挑战。阿里达摩院希望将语音识别和机器视觉进行结合,采用多模态的人机交互技术将语音识别与计算机视觉结合的方式,让机器人看着对方,听对方说话,就可以在嘈杂的环境中精准识别用户发出的声音。
举一个例子,假如在地铁站买票,和卖票机器进行对话,同时因为后面也排着很多人,他们也会说话。这时通过视觉的方式,可以判断哪一个人脸更大,从而识别买票的人说的话。下图展示了基于人脸特征监督信息的目标说话人语音分离主要算法处理流程。最后是提出的音视觉特征输入和基于音视觉融和的信源掩码估计模型。
音视觉融合技术应用
音视觉融合技术已经在很多生活场景中得到广泛应用。覆盖了上海的主要交通枢纽,如地铁站,虹桥火车站、上海火车站、上海南站、虹桥机场和浦东机场等。从 2018 年 3 月至今累计服务旅客超百万人。此外,2018 年 9 月杭州云栖大会上达摩院和肯德基合作的基于多模态技术的智能点餐机在 3 天内完成了4500 单。2019 年 8 月钉钉推出了搭载多模态交互技术的智能办公硬件新品 M 25,可以在嘈杂的声音环境下使得交互更加有效。
四、视觉技术
1 图像搜索
视觉技术中最核心的就是图像搜索的识别,同样也经历了很长的发展过程。在早期的 90 年代初期是基于全局信息的底层特征进行搜索,如将图像颜色的信息做分布,但这种方法的精度非常糟糕,如 ImageNet Top 5 只达到了 30%。到 2000 年初,大家开始基于局部的特征编码特征做图像的搜索和识别,精度达到了 70%。但是其中局部信息都是由人工确定,如果出现人没有见过的特征,则无法有效提取。到了 2010 年左右,大家开始使用深度学习的技术,自动的提取局部信息特征,从而精度达到了 92%,使得图像搜索技术完全可以应用于商业场景。
图像搜索和识别发展历程
目前,图像搜索面临的挑战主要有三点,首先数据越来越多,10 亿级别的训练数据。同时还要处理上亿级别的分类。而且模型的复杂度也越来越高。
为了解决以上挑战,阿里推出了九鼎,一种大规模 AI 训练引擎。九鼎是大规模训练载体和专家系统,涵盖了视觉、NLP 等领域。九鼎由两部分组成,首先是通讯,因为所有大规模训练都需要多级多卡,如何有效的通过多级多卡提升模型的训练,减少通讯的代价是较为重要的问题。另外一部分是优化算法部分,如何做好分布式的优化问题同样也是目前遇到的较大的挑战。这种大规模训练引擎可以处理大规模数据的分类并达到很好的训练效果。ImageNet ResNet50 可以在 2.8 分钟内就可以训练完成。若处理 1 亿级的 ID,10 亿级别的图片分类可以在 7 天内训练完成。
图像搜索应用
图像搜索在实际生活场景中被广泛应用。目前,拍立淘可以处理超大规模的图像识别和搜索任务,其中有 4 亿+ 的商品,30 亿+ 的图片,和 2000 万+ 的活跃用户。可以识别 3000 万+ 的实体,覆盖了 SKU 商品,动物,植物,车辆等。
天巡是用于遥感图像识别分析的应用,可以进行大规模的遥感影像训练,拖动遥感图像的路网提取,地物分类,新增建筑物识别,违章建筑识别等任务。
2 图像分割
图像分割指的是从一张图中将 object 分割出来。传统的图像分割方法是如下图左侧,分割成很多像素,看每个像素之间的相似度,相似的像素聚合起来一些区域,再输出。但传统的图像分割技术无法学习到语义的信息,只能知道图中的 object,但不知道 object 是什么物体。另外,因为采用了无监督的学习,在分割边角时精度不高。
而基于深度学习的分割技术基于监督学习,将很多训练样本接入技术中。同时还可以得到分割的结果和分类的结果,理解每个像素的实例归属。而且在大规模的数据前提下,编码器和解码器模型可以精细的分割 object 的边缘。
图像分割应用
阿里将图像分割技术应用于淘系的全类目商品中,可以自动生成商品白底图,提速商品发布。
另外,还可以用于服饰的素材拼图场景中,商家会提供模特素材,利用分割技术,将模特身上的服饰进行分割,自由组合搭配。
3 模型压缩
目前,深度学习技术已经广泛应用于多种行业中,同时也遇到了很多挑战。首先,深度学习模型越来越复杂,其中计算量在不断增长,达到了 20G FLOPS+,还有不断增加的连接。模型变大那就需要较大的 memory 进行存储,找到合适的 Device 将是非常困难的事情。即使有了 Device,模型也需要跑很长的时间。此时,模型的压缩技术就显得非常重要,它可以将几十 G 的模型压缩到几十 M,用户可以在任何的 Device 上运行模型,无需等待很长时间。
模型压缩已经发展了很长时间。如下图中的模型,可以将模型中不重要的边去掉,进行稀疏化。然后对模型的边进行量化,给不同的权重。最后对模型进行分支,改变结构。FPGA 的加速方案可以在相同 QPS 条件下,相对 GPU 提速 170 倍(RESNet-18 仅需 174us)。
模型压缩本质上是改变模型的结构。模型结构的选择是比较难的问题,它不是一个普通的优化问题,不同结构之间是一个离散的空间。阿里提出出的 cargotainer 方法,可以更快速的获取准确的 pseudo gradient,在 2019 年 ICCV 大会举办的低功能耗图像识别挑战(Low-Power Image Recognition)中获得了冠军。
模型压缩技术的应用
基于 FPGA 的解决方案在盒马自助收银机得到了应用,利用机器视觉方法识别是否漏扫商品,GPU 成本缩小到 1/2。同时自研的高效检测算法,可以在 1 秒内完成多种行为分析任务,扫码动作分类准确度达 90% 以上。场景分类准确度达 95% 以上。
4 目标检测
另外,机器视觉技术可以应用与视频信息的结构化任务中,检测目标物体,跟踪识别。目标检测和跟踪识别任务主要的处理流程如下图,对视频进行解码,目标检测,目标跟踪,高维特征提取,属性提取,存储为结构化数据。
目标检测技术也出现了很长一段时间,传统的检测方法是 HoG,DPM 等,依靠 Handcrafted 特征,即人工选择特征。这种方法的问题在于鲁棒性差,无法泛化,计算量冗余度高。而现在也出现了很多基于深度学习的目标检测方法,如 Faster RCNN、SSD、RetinaNet、FCOS 等。它们的优点是机器可以替代人工识别的特征,可以对物体的尺寸,外观的变化更加鲁棒,泛化性能好。如下图中的折线图,可以发现从 2008 年到 2019 年,从较低的准确度(大约 20%)提升到了 83% 左右。
5 目标跟踪
目标识别出来后还要进行跟踪。在目标跟踪中遇到的挑战是人是动态的,在行动的过程中会被其它物体或人遮挡,这档过程中会丢失目标,如下图中的红色衣服的人会被紫色衣服的人遮挡。传统的方法是根据 position 进行匹配,但在上述拥挤场景中,预测位置难以精确,匹配很容易出现错误。而基于深度学习的方法是抽取 appearance feature 进行匹配,预测结果更加鲁棒。
目标检测和跟踪应用
目标跟踪的应用场景一般在新零售场景中。购物中心和品牌门店需要对客流及场内行为进行深入洞察,构建线下人、货和场地的数据关联。提升线下运营的管理效率,提升消费者体验,最终促进业务的增长。
另外,目标跟踪技术用于案发场景下。但因为案发场景中视频都是非常长时间的内容,难以人为检查识别。那么能否将整个 24 小时的信息浓缩后在几分钟内看完。其中需要利用目标检测和目标跟踪的技术,识别人和物,跟踪轨迹。将不同时间的轨迹一起播放,如果对某一个或某一类轨迹感兴趣可以点击进去,看到这类的视频内容,大大减少了观看视频的时间。
总结
可以发现 AI 技术的发展离不开大量数据的支持,因此目前的人工智能技术还是以数据为驱动。如机器翻译和专业的翻译人员相比,人在翻译的时候并不是完全以数据为驱动,不需要阅读上亿的数据,更多是基于 Knowledge 的方法,高效的处理已有的信息。所以在未来,如何让机器从 Data Driven Approach 走向 Knowledge Based Approach 还需要进行不断的探索和努力。