很多人可能使用过手机上带的语音助手,比如Siri,常用的人大概可以感受到它确实越来越精准,但也还是不能尽如人意,现在我们来大致拆解下这样的一种系统。
这种语音助手基本由以下三个部分构成:
第一部分是语音识别,这相当于要求语音助手能精准地听出来用户在说什么,这部分的难点是要能适应各种嘈杂的环境,适应各种口音和方言等。如果安装了摄像头,那么这种助手获取信息的渠道就不只是听到了什么,还包含看到了什么,这就会牵涉到计算机视觉。
第二部分是语义识别,只是听清还不够,还要理解用户到底想干什么,说的是什么意思。这部分在正常情况下也要负责关联上下文进行会话,不能前言不搭后语。
第三部分则是信息获取,这和传统搜索比较相似,但要求有更高的精度,因为精度不高就会导致这种语音助手显得很傻,要说很多句话才能完成一个买东西这种本身并不太复杂的行为,一旦如此大家是不愿意用的。
为了达成第三部分中搜索变得更精准的目的,其实还有两种技术会变得越来越重要,那就是根据人的历史行为来对他进行画像,比如你偏好川菜,有很好的消费能力等;也要能尽可能精确地感知到当前的情境,比如你在北京,天气不错等。这些都相当于为语音助手补足信息,否则单纯地面对“给我来杯咖啡”这样的请求,那么就一定会产生多轮的会话,而轮数越多,智能语音助手就会显得越傻。只有知道这个人喜欢黑咖啡,常去星巴克,当前又在798,那才可能一次给出答案,展现出比用触屏或者鼠标还高的效率。
这样的技术结合起后端的数据处理能力会为我们解决非常多的问题,那么相关的各种技术到底发展到了怎样的一种程度呢?截至2016年3月,人工智能在语音和图像上已经取得了阶段性成果,但语义上暂时还看不到能彻底解决的迹象。
(1)语音识别。
这是一个最近几年基本已经被深度学习攻克的领域,只要花足够的钱,识别精确度甚至可以达到99%。在语音识别这种领域,最后几个点精度的提升很可能比前面达成90%的精度还要费劲,但最后这几个点的精度往往正是跨越能用和不能用的关键。没有深度学习之前,人们已经尝试攻克语音识别很多年,一般来讲1952年贝尔实验室研究的第一个能识别10个英文数字发音的语音识别系统被认为是语音识别的起点,这样算起来人类已经在这件事上努力了60多年。随后人们在20世纪70年代搞定了小词汇量的语音识别,在80年代搞定了大词汇量的语音识别,然后精度就卡在那里了,大概在85%徘徊,一卡就接近30年。微软、IBM当年都曾经尝试把这项技术应用起来,但显然没什么效果,好多人甚至不记得它们干过这件事情。深度学习应用于语音识别后,事情有了根本性的变化,现在只要有足够的数据进行训练,大多数公司自己都可以训练出足够精确的语音识别模型。这项技术基本上要货品化了,越来越可以认为这是一种不要特别多的投入就可以搞定的技术。
(2)图像识别。
这也可以认为是一个基本已经被攻克的领域,但实现起来比语音要费劲一些。图像识别比语音识别要麻烦,因为语音识别的对象总是各种有限的语言。但图像里人脸和猫的识别在具体实现上还不能用一个通用的方法来处理。当前的状态是如果选定一个点比如人脸识别,砸入几十个PhD、几百块GPU,还能找到落地点不断获得数据,那么花个一两年就可以做到非常高的精度(99%以上),但这种精度眼下还没办法一下子就覆盖到其他领域,比如人脸就不能很容易地迁移到猫脸上,只能一个点一个点来搞定。像人脸这种领域因为有切实的落地场景(银行等),所以一下子就发展起来了,其他的领域要想都达到同样的水平,还需要一点时间。
(3)语义理解。
和语音识别与图像识别不一样,语义理解处在一种基本没搞定的状态。我们看演示的时候时常能看到一个机器人或智能型产品与人进行流畅的交流。达到这种状态有两种可能:一种是作弊,后面放了个人,属于人工的人工智能;另一种是对话被限定在特定的场景下,比如在汽车里打电话,让地图导航等。语义理解的难度与所要处理的概念数有关,当要处理的概念数在几千个以下的时候,针对特定场景按照基于规则的方式还是可能搞定的,会做得比较流畅。但是一旦这个范围扩大到整个社会生活,那么最多也就是Google Now和Siri那个样子。与这点密切相关的应用,一个是各种智能语音助手在对话时的智能程度,另一个则是翻译。
(4)数据挖掘。
由于这个点往往是面向企业的业务,所以大众会比较陌生,但其实在美国这是落地最多的方向。这个方向的状态和图像有点像,在每一个垂直的方向都可以优化出很有用的系统,但没办法做出通用的系统。比如有的公司会根据医疗诊断数据以及你的财务状况直接提供性价比最高的治疗方案,但这样的系统就不能扩展用来做金融欺诈检测。这个方向其实比上面所有的方向都更能吸引投资,因为它的收益往往更加直接。换个视角,这种后端数据整合工作也可以看成是在为前端的智能助手等储备能量,一旦它成熟到一定程度,并接入某个终端比如亚马逊的Echo,那么Echo的力量就会瞬间增强。图4-1是到2015年年底风险投资在各个与人工智能相关领域的投资分布统计,看了之后,我们会惊讶地发现最主要的投资确实是落在企业和行业应用(下图中标为黄色的领域)这些我们不太关注的领域里,这可以从侧面证明这个领域确实是整个人工智能图谱中成熟度最高的。
这也就意味着当前非语义识别的领域已经接近成熟,但语义识别上离成熟还比较有距离,非常多的对话程序依赖于规则匹配,也就是说查关键词来确定你到底要的是什么,这种方式解决开灯、关灯这类需求是可以的,解决帮我订杯咖啡就有点难,解决我想看赵本山2011年的小品就基本搞不定了。
所以说一般的认识是人类暂时还做不出来通用型的语义理解、对话系统,只能在特定场景下进行优化,比如车里面放音乐、打电话。如果场景变大,比如一个视频网站的所有内容,那就需要针对这个场景建立知识图谱,用这种方式就有可能建立特定场景的精确对话系统。如果我们把问题划分为一般人能搞定的问题、牛人能搞定的问题、顶尖科学家能搞定的问题、没人能搞定的问题,那么这个领域属于顶尖科学家能部分搞定的问题,如果非要归类的话则必须归在没人能搞定的那一类问题里。
假设上述问题搞定了,我们真的如愿做出了某种小机器人,人类很喜欢它,走到哪里都带着,但突然有一天把它带到九寨沟,它就像死了一样,再也没反应了,这时候体验无疑也会很差。这个问题背后隐含了人工智能的第二个难点,这个难点和上面的纯技术有点不一样,它牵涉到硬件。
这个难点可以简单总结为终端上的计算速度和智能问题。深度学习通常需要大的基于GPU的计算能力和非常多的数据。一旦需要放到小的终端上,比如一个摄像头或者小机器人上,那就会因为计算能力不够而产生麻烦。有的公司现在尝试做一种可以在小的终端上跑
机器学习的芯片,如果这种东西出现,那么无疑会让人工智能和
智能硬件的结合更加容易,但是单靠一块芯片实质上不可能解决深度学习在终端上跑的问题。形象地讲,如果上述现象成为可能,则会违背能量守恒定律,本来那么多GPU耗费很多电量跑下来才能搞定的问题,怎么可能用一小块芯片搞定。这种芯片实质上在做的东西更像是小型化的GPU,这种小型化其实是极有价值的,它确实可以让某些依赖于端的算法跑得更好。与此完全对立的另一种思路则是不用深度学习,而起用只需要少量数据的学习方法,这在语音识别上也有人在尝试。
上面说的这个难点对于有些人工智能落地产品而言并非什么大问题,比如IBM沃森系统,这种系统整合医疗数据,给医生提供诊疗意见,因为这种
应用只会在限定场合发生,网络条件是可以确保的,所以完全可以依赖于当前的深度学习方法获得更好的结果。但必须连接网络这一条件对于机器人、无人机这类所处位置不确定的产品就会造成比较大的障碍,在这些场景下当下的网络环境还无法保证时时畅通的连接,以支持连接到云端进行处理的要求。
如果不连网,就一点智能没有,那么机器人这类位置不固定的
人工智能应用产品就很可能被卡住。遗憾的是,现在还比较难以揣测究竟什么时候能彻底解决上述两个问题,关键就在于人工智能仍然还没走完自己从0到1的过程,仍然处在一种盲人摸象的状态中。