【AI灼见·三】算法流派的迷途

举报
沈MM 发表于 2017/08/29 16:42:32 2017/08/29
【摘要】 算法流派的迷途

之前一篇关于AI智能程度的博文里,我画了张图,在人工智能程度排位上,我将Watson排在了AlphaGo前面一丢丢,引起部分同学不服。


 

[就是这张图]

我当时对此做了说明,这是两个产品背后所代表的学派之间的排位,我个人比较看好Watson背后代表的符号学派。

今天终于有空来好好说说这个事,纯粹个人见解,不喜勿喷,但欢迎探讨。

特别要申明的是,不是对这两种智能应用当前能力的排序(应用场景和方向都完全不同根本没法排),而是对其背后算法/技术流派的演进趋势做一些评价和预测,顺带着讲讲其他几个学派。

另外需要特别指出的是,应用的发展好坏,和背后公司的技术能力、运营也有很大的关系,比如说我看好的Watson为代表的符号学派,但没准哪天Watson就挂了,但不代表符号学派前景惨淡。这里AlphaGo没有PK赢,也不代表联接学派一无是处,相反,联接学派的几次起落为AI带来了颠覆性的技术突破和并成功加速了智能应用的商业化进程,同样是令人尊敬的研究。

好了,该怎么开始呢?

近年来人工智能大热的背后,其实是算法突破衍生出一些有趣的应用,又刚好通过一些有心机的公司运营,得以进入大众视野并引起关注爆发。

人工智能,除了之前聊过的到底是不是应该更像人之外,说白了本质是教会机器自主做事情,让机器拥有学习能力,机器学习在人工智能中所占的比重是非常大的,可以说是人工智能的技术基石。

机器学习很多很多年前就已经有了,那时候的算法淳朴一些,但就像武林中高手都有门派一样,机器学习也有很多种思路,从不同角度看问题,进而形成不同学派。

到今天依然存在的,一共有大学派:符号学派(Thesymbolists)、联接学派(Theconnectionists)、进化学派(Theevolutionaries)、贝叶斯学派(TheBayesian school of thought)以及类推学派(Theana/logizers)。

其中,联接学派、贝叶斯学派和类推学派是以统计学思想为导向的研究流派。

 

【图】五大学派

 

符号学派symbolists)更多关注哲学,逻辑学和心理学,并将学习视为逆向演绎(inverse ofdeduction),使用基于规则的符号系统做推理和分析问题。

符号学派由来已久,上世纪80年代开始流行,主导方法是知识工程(Knowledgeengineering),由某个领域专家制造能够在特定领域发挥一定决策辅助的机器,俗称专家机。因其解决问题的方法是使用预先存在的知识来填补空白,所以大多数专家系统都使用符号学派,以if-then的方式解决问题。

常用方法:规则(逻辑逆向演绎)和决策树

联接学派的主要思想是通过神经元之间的连接来推导知识。联结学派聚焦于物理学和神经科学,并相信大脑的逆向工程(reverseengineering)。他们相信用反向传播算法或向后传播错误的算法来训练人工神经网络以获取结果。

这种方法第一个具体形式是1959年出现的感知器,但自那以后,这种方法消亡又复活了好几次,目前一跃成为最火的学习形式:通过各种深度神经网络进行学习。

深度学习在许多不同的领域彻底改变了AI,特别是在语音识别,图像描述及生成有意义的句子这些方面取得了非常好的效果。

常用方法:神经网络

贝叶斯学派,同联接学派一样是以统计学为基础的,贝叶斯学派专注于研究概率推理和用贝叶斯定理解决问题。这里需要和统计学中另一个概率推理的学派频率学派研究理论有一个区分:频率学派认为所有事物发生的概率是恒定的,比如抛硬币,永远是50%的概率。但贝叶斯学派认为事物发生的概率是随着环境变化而变化的。

知乎上有一个有趣的解释很易懂:你看打麻将的时候:只看牌池有什么牌来决策的就是频率学派;除了看牌池有什么牌,还考虑了这个牌是谁打出的,什么时候打出的,打出的这个人和其他牌友什么联系等一系列问题的就是贝叶斯学派。

简单说,贝叶斯学派就是使用概率规则及其依赖关系进行推理的一派。概率图模型(PGM)是这一派通用的方法,主要的计算机制是用于抽样分布的蒙特卡罗方法。这种方法与符号学方法的相似之处在于,可以以某种方式得到对结果的解释。这种方法的另一个优点是存在可以在结果中表示的不确定性的量度。

常用方法:朴素贝叶斯或马尔科夫。

类推学派,更多地关注心理学和数学最优化来推断相似性判断,遵循最近邻原理进行研究,认为学习的关键是认识相似性,由此推导其他相似性。

类推学派的三个方向:最近邻算法、支持向量机和类比推理法。

最后一个学派,进化学派,他们信奉的是遗传学和生物进化学,在此基础上得出应用进化的过程,比如交叉和突变以达到一种初期的智能行为。另外,机器人学也是进化学派的理论产物。

进化学派的主算法是遗传算法,它通常并不作为一个独立的算法工作,而是用于优化其他算法过程,如在深度学习中,遗传算法被用来替代梯度下降法。

以上,简单介绍了五大学派及他们使用的主算法(各学派思想及算法的详情感兴趣的同学可以参考机器学习领域的先驱人物Pedro Domingos 的书:《终极算法》,其实我们(大众)接触的最早的可能是类推学派及贝叶斯学派的应用,亚马逊网站上的推荐购买系统就是类推学派的典型成功应用,而贝叶斯是用来过滤垃圾邮件的典型算法。

OK,背景知识科普完毕,来说说中心思想,为什么我将Watson排在了AlphaGo前面一丢丢。

从主算法理论归属学派的角度区分,Watson背后是以认知学习为主的符号学派,AlphaGo背后是以深度神经网络为代表的联接学派。

很多人都知道,AlphaGo背后的团队是DeepMind这是一帮追捧深度学习以及神经网络的狂热分子,当然,在深度学习方向上还有很多其他牛X支持者,比如Facebook,微软等等。作为联接学派的研究者,他们都认为深度学习模型是AI所有问题的答案,这应当是一个机器学习的主算法。

联接学派的理论来源,其实就是对人类大脑机构的一个1:1模拟复制,他们研究人类的神经科学,并且想通过机器的形式模拟出一个人类的神经系统,通过外接的输入,一层一层反向传导最终形成一个输出,但可惜因为深度神经网络目前还是一个黑盒应用,所以没有人能说清楚输出是怎么来的,无法给出一个人类能够理解的解释。

 


 

【图】人类神经细胞与计算机神经网络

 

而符号学派则不同,它所擅长的就是根据逻辑去推导,它得出来的结论,以及结论的推导过程,都是人类可以理解的。

从另一个角度来说,模拟人类的神经元组成神经网络,是从硬件上去模拟,人类的神经怎么长,计算机里的神经就怎么处理连接;而用规则和逻辑去推导,是软件角度去模拟,模拟的是人类的思维模式,人是怎么推断问题的,如何思考如何决策的。

人是一个非常复杂的动物,人和猴子,在硬件上有多少区别?猴子有没有神经系统?为什么猴子没有人聪明

我认为人之所以区别于其他哺乳动物,最主要的是人有思维,是思维让人能够学习,能够推导,能够举一反三,进化出智能,这才是人独特的地方。

单纯从硬件上1:1模仿是非常粗浅的,从古至今人类从未停止对自然的模仿,并由此点亮了仿生学,可仿生学从来不是1:1的模仿。

举个例子:

当初人类觉得鸟儿可以飞翔,很好,于是学着鸟儿在胳膊上绑翅膀,结果怎么样呢?这样的1:1完全照抄的仿生是不能成功的,只有后来,人类真正理解了流体力学,知道飞行是怎么一回事,于是才能造出飞机,飞机不能拍翅膀,不那么完全像鸟,但飞机同样可以飞得很好,甚至更好。

技术发展的推动力一定是我们对基础理论的理解,而不是简单的仿生。单纯用神经元/神经网络模仿大脑还是一个初级的仿生,如果只拼神经元,人类大脑的神经细胞大约是86,000,000,000个,而大象的神经细胞有100,000,000,000,为什么大象没有征服世界?

所以只有我们在一定的理论基础上,彻底理解智能的理论基础是什么,理解之后,我们才能够做出更高级的智能,可能那个时候,就是强人工智能时代的来临。

不可否认的是,从上世纪末开始,联接学派在经历了历史上几次大起大落之后又重新掀起热潮,神经科学和概率论的方法得到了广泛的应用,特别是神经网络在识别图像、语音,做机器翻译甚至情感分析等任务上都有不错的表现。这些领域上做的智能识别,本质上还是基于对“自然符号”的识别(注意这里的符号识别”与符号学派的符号是不同含义),声音的声纹、频率,图像图形,语言单词,都可以化为一类符号,在种符号处理型任务中,深度神经网络特别合适,能够大幅度提升传统算法的准确率,短短几年时间已经催生了各类商业级应用。

但对于应用范围更广的人工智能、机器学习来说,单纯地模拟神经元传导的方式很快就会到瓶颈,会永远停留在AI的范围内,而我们需要去理解去掌握智能的本质,虽然在今天来说还没有人能够真正说清楚智能的原理,但是符号学派的思想是从逻辑学和心理学出发,更接近认知学习的智能,我认为这是较为接近智能本质的方式,如果未来会出现强AI,那么是从符号学派理论演进而来的概率最高。

所以,从这个角度讲,我是更看好符号学派的未来的,当然联接学派当前的各种深度神经网络算法也在向前发展,也有很多适用的应用场景和对应的数据类型,但符号学派未来的空间却更大

然而必须要指出的是,各大学派算法之间并不是孤立的,越来越呈现出一种交融和优势互补的趋势,而实际上,从本世纪初开始,联接学派就已经在和符号学派相互借鉴、融合,并由此产生了记忆神经网络以及能够根据知识进行简单推理的智能,如Watson的底层就有使用到DeepLearning的技术(如迁移学习等)。而在联接学派与符号学派相互影响之后,贝叶斯学派也在加入,未来几年,这三种算法将有一个很好的融合应用出现。

其实在各学派都开始交融的今天,说某一个应用是单纯某一个学派下的应用是不严谨的,比如说“Watson是只属于符号学派的产物”,这是不准确的,所以我也仅仅是说,在此处Watson代表符号学派为主,它的主思想是以符号学派为主,在实现这个应用的过程中,它用到很多其他学派的算法和技术

我们先来看看Watson是如何工作的,这里有一张图,是我在IBM的会议直播上截图出来的,Watson的一个子功能被用来进行医疗诊断的辅助,它对病例的判断完全是基于一个逻辑推导过程:

 

【图】Watson对话处理流程示意图

 

符号学派擅长的就是基于已有的资料库对问题进行判断,所以首先Watson有一个医疗知识的数据库,然后对需要解决的问题进行分析,基于分析再提出一个问题,获得回答后再分析,如此循环,最终得出一个正确率最高的结论。

IBM自己将这种基于为假设认知和大规模的证据搜集、分析、评价的技术称为DeepQA。(我认为这其中已经有了一些贝叶斯学派的思想)

IBM内部透lu,Watson是基于关联知识构筑而成的,其实现过程如下:


【图】“关联知识”处理框架

 

通过解读措辞含糊的问题并通过其通用知识数据库搜寻答案,Watson展示了理解自然语言的能力,而这正是计算机所需要攻克的最困难的难题之一。这似乎预示着计算机不久之后就能真正理解复杂信息并与人类交谈了,甚至还可能继续发展以至于在大部分人类专有领域超越人类。(这个看法来自IBM

据介绍,Watson集成了上百种算法从不同的维度分析备选假设的证据,如类型、时间、空间、流行度、段落支持度、来源可靠度、语义相关度等。每种分析都产生一些特征或评分,反映了在相应的维度上证据对备选答案的支持程度。如果在最终系统中去掉任何单个评分器,在上千个问题的测试集上都不会造成显著的影响,实际上没有一个评分器产生的影响超过1%。但组合起来,Watson在回答40%-70%的问题时,达到了92%的平均精度。

Watson当前最主要的攻破方向是医疗,但它的目的不是代替医生,IBM曾在多种场合强调过,Watson不是代替,而是辅助,因为Watson本身还是一个专家系统,专家系统的主旨还是辅助人类进行决策。

AlphaGo未来也会进军医疗界,离开围棋后,AlphaGoWatson终于可以在一片正面战场竞争,不能忽略的是,Google是一个非常擅长运营/营销的公司,所以AlphaGoWatson的竞争还掺杂了很多其他的东西,所以我开始讨论这个问题之前特别指出,我所做的AlphaGoWatson的排名评价,是他们背后代表的学派而不是产品本身。

如果说符号学派的未来是强AI(假设),联接学派的未来则是迁移学习

【图】深度学习的演进趋势

这一切将在AlphaGo上得到体现:AlphaGo最初使用的是深度学习,在进化到第二代时(对战柯洁)已经不满足于深度学习了,人类的棋谱无法再满足这个围棋狂,它通过自己和自己下棋来继续学习,也就是强化学习的模式。

强化学习相对深度学习最明显的优势就是更快速的反馈,深度学习得到的结果在被验证通过前没有办法及时反馈给系统是否正确,而强化学习就缩短了反馈链,及时反馈结果,让机器知道这样是对还是错,错的及时调整修正,以此来不断完善自身系统,AlphaGo 2.0 中的价值网络便是强化学习的重要组成。

在强化学习之后,需要集中突破的是迁移学习,让机器人可以做到举一反三对于新领域不再需要海量的数据重新建模运算,而是快速地通过少量的数据就可以将在原领域的模型调整适配到新领域Google的意思,让AlphaGo基于目前的模型进行迁移,以此进军到医疗领域,尝试一番作为。

说实话,还蛮期待AlphaGoWatson的正面战争。

哦对了,目前在语音识别,图像识别方面都已经有了可以商用的支撑算法技术,未来的下一个攻破重点是自然语言处理(NLP,别以为你现在可以和SiRi、小冰或者其他什么机器人聊上两句就已经很智能了,真正的自然语言处理现在还是让科学家们头大的事,那么在这个未来战场上,哪一个学派会率先胜出呢??

在上文提到的机器学习领域大牛的《终极算法》一书中,作者认为各学派之间的优势和思想会慢慢交融,最终演变成一个通用型的算法,可以解决所有的问题​

而普华永道前不久发布的信息也基于此预测,再往后几十年,大约到2040年以后,各学派的主流算法将会有一个大一统的融合,形成Algorithmic Convergence,机器学习的形式变成元学习Meta-Learning),计算服务和机器智能将无处不在。

我个人对此持保留意见,相互交融一定会有,但最终只有一个算法包括一切,我觉得稍微有点过火,可能会一个算法能够包括80%的问题,但总有一些问题有特例,有极端,从通用的角度性价比不够高,为了解决某个小问题而用一个大而全的算法,是不明智的。

至少从底层硬件上,我没有看到大一统的演进趋势。底层芯片的发展就是非常有针对性的,不同的应用,不同行业,不同数据,计算框架/系统框架的不同,导致他们所侧重的计算需求不同,芯片公司会针对某一类计算场景去研究,如何设计才能达到性能功耗最优

于是我们可以看到各种处理器:网络处理器(NPU),通用处理器(CPU),图形处理器(GPU),以及在此基础上进而根据不同需求演进出的VPUATI),APUAMD),TPUGoogle等等

其实对于很多特定的问题,使用针对性的算法会更有效率,大一统的算法是科研层面较为感兴趣的问题,从工程学角度还是应当关注效率

什么任务应当使用什么算法,取决于很多因素,尤其是算法使用的数据及其特征,要训练的类型,特别是具体的应用场景,大多数情况下,并不需使用特别复杂的算法,在很多数据库的测试结果表明,并不是越复杂的模型效果越好,合适的才是最好的。

未来究竟会不会大一统,会不会出现强AI和超AI,作为浩瀚宇宙中的一个蝼蚁,我只能说我很期待,但不敢妄加猜测,也猜不出来,那一定是很多很多年后的事了,倒不如看看眼下的五年十年,人工智能会如何发展才是我们应当关注的重点。

现在的深度学习大行其道,其对大数据的依赖不言而喻,而随着算法优化和交融,几年之后,人工智能是不是还依然会停留在云端,网络会不会成为人工智能发展的瓶颈,下一篇文章我们再来聊一聊罢。

 -------------------------The End

【版权声明】本文为华为云社区原创内容,未经允许不得转载,如需转载请发送邮件至hwclouds.bbs@huawei.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。