[铁人12:Day 28] 「AI 的未来十年」摘要 4:混合式架构

要把那些技术混合在一起,才能达到我们的目标呢?

符号式操作 (Symbolic Operation)

符号式操作 (Symbolic Operation) 是混合式架构的其中一项重要技术。软件工程师们对符号式操作绝对不陌生,我们每天写的电脑程序就是一种符号式操作。变数 (variables) 、实例 (instance)、变数与实例结合 (bindings that tie variables to instances)、以及对变数的操作 (operations over variables) 代表了每一个电脑程序运作的状况。

当我们写一个程序来比较两个输入浮点数 (floating point) 的大小时,经过除错後,我们可以预期对於所有的浮点数,不管在程序开发时我们有没有用到它们来测试,这个程序都可以输出正确的结果,或者是说我们可以信任这个程序的输出结果。

「可信任」,这个是符号式操作的很重要的优点,试想如果是一个 DNN 模型,我们要收集多少训练资料来训练我们的模型,而後我们才敢说「对所有可能的输入,此模型的输出是可以被信任的」!

符号式操作另外一个重要的特点是,它处理的是经过符号化的高阶抽象概念,一个符号代表了某一类型资料的全体,而现今的机器学习模型,它们是针对训练资料集合中的每一个「个别资料」执行训练,在复杂的问题上,我们不太容易保证所收集到的训练资料集可以完全代表实际运作时的输入资料。

Marcus 与许多认知科学家都认为,对於符号的掌握 (symbol manipulation) 是人类认知行为中的重要基础。例如「姊姊」这个语言符号,小孩子很快就会学会它不只代表某一个人,它代表了家庭里具有某种特质的一群人。研究显示,七个月大的婴儿就可以学会认出像「la ta ta」这种 ABB 音节的声音模式,并且可以将此模式外插至她从来没有听过的音节组合 (例如「噜拉拉」)。

对於符号的掌握也是建构人类高阶认知结构的基础,同时人类也用这个能力来追踪某一「随着时间变化的特定个体」,不致因为此个体的些许变化而造成我们不认得它。

虽然符号的掌握是如此的重要,现今大多数的 AI 研究都忽略了它的存在。然而 Marcus 预估在未来的几年,AI 的研究会重新重视它。深度学习的技术,在「人工学习」与「大量资料的运用」上发挥得淋漓尽致,而符号的处理则适合於知识的抽象化,研究人员将会开始思考将符号处理与现行的深度神经网路结合,建立一个混合式的系统,因为这是突破 DNN 限制的最佳选择。

混合系统的兴起

一般说来,混合系统会比单一系统更加有效能。

事实上,现今一些知名的 AI 系统皆是混合系统,Google Search 就是一例,由许多资料来源显示,它是融合了深度学习技术与符号处理机制的一个混合系统。它使用了一个称为 Google Knowledge Graph 的传统符号图形资料结构 (classic symbolic graph structure),并结合 BERT 和 RankBrain 等深度神经网路模型。

AlphaGo 也是一个混合系统,它结合了蒙地卡罗树搜寻 (Monte Carlo Tree Search) 技术,其结构本身就是一个由符号架构出的搜寻树。文献中记载,若仅使用深度学习模型,AlphaGo 是无法达到现在的水准的。

也有其他一些尝试将符号处理与深度神网路结合的研究,有些获得相当不错的效果。有许多这类的例子,不胜枚举,他们提出了各式各样的新的架构建议。目前还无法判断那些架构未来将会胜出,就让我们拭目以待。

反对的声音

当然会有些立场鲜明的反对声音,其中之一是来自大师 Hinton,他认为投资在混合模型是一个巨大的错误,就好像拿一个古老的汽油引擎放入现代的电动车里。(真的很毒)

另外还有:

符号并没有在生物学或生理学上存在的证据
Symbols are not biologically plausible

符号式的系统和混合式的系统过去并没有良好的效能表现
Symbolic systems/hybrid systems haven't worked well in the past

符号处理和混合式的系统没有办法扩充
Symbol manipulation/hybrid systems cannot be scaled

Marcus 认为这些论述虽然确实部份反应了现况,但并不是永恒的真理,事实上其中充满了偏见。

结语

符号操作提供了解决资料外插问题的部份解答 (亦即还要配合其他方法),其中最有效的符号操作方式,应是使用变数来架构演算法,使得此演算法适用於这些变数所代表的所有数值。符号操作同时提供了一个建构「更结构化的知识表达体系」的基础。

了解了符号操作的优点,接下来最重要的,是找出一个令人满意的学习 (或训练) 框架 (framework for learning)。这个框架要能以混合系统来整合两者的强项:深度学习处理大量资料及学习的能力,加上符号处理知识抽象化能力及逻辑推理能力。


<<:  【Day27】为爬虫加上通知 - 透过 POSTMAN 了解 LINE Notify 如何使用

>>:  第 28 天 - RxGesture

Day 10 - 宽高尺寸使用

既然昨天提到自订 spacing,width和height 也会跟着继承,今天威尔猪就来讲讲宽高的使...

Day12|【Git】档案管理 - 忽略档案 .gitignore

为何会需要 .gitignore ? 常用的情况如下: 是否常常在 commit 档案时,会发现有一...

Day 28 [Python ML、资料清理] 处理字元编码

Get our environment sep up # modules we'll use imp...

Day11:开发 MVP

开发 mvp ...

第54天~

这个得上一篇:https://ithelp.ithome.com.tw/articles/10260...