GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

实现通用人工智能,还需要解决这三个问题

2020 年 5 月 09 日

实现通用人工智能,还需要解决这三个问题

原文最初发布在 SICARA 博客,经原作者 Etienne Bennequin 授权,InfoQ 中文站翻译并分享。


我们离通用人工智能还有多远?我们通过研究当前机器学习的三个局限性来回答这个问题。


又来了。上周,当我给别人解释我的工作时,他们打断了我的话,说:“我明白了,你这是在建设天网对吧?”我认为我有必要写下本文给他们看,因为我觉得,我这样做能很好地为他们描述人工智能领域的现状。


译注:天网(Skynet),是《终结者》(The Terminator)电影系列中挑战人类的人工智能超级计算机,原本是一个由美国政府研发出来的国防计算机系统,未来的世界因计算机防卫系统 “天网” 产生自我智能,判定人类是威胁它们的物种,所以将其人类设定 “毁灭” 而发生核战。



通用人工智能与务实思维

不用说,超人类的人工智能远未实现。尽管如此,我认为公众对超级智能计算机统治世界的想法很着迷。这种着迷就叫做:奇点神话。


所谓奇点,是指人工智能将进入一个呈指数级提升的过程。一个软件的智能程度会越来越高,以至于它能够越来越快地提升自己。到了这个时候,技术进步将成为人工智能的专属行为,对人类物种的命运产生不可预见的影响。


奇点与人工智能的概念有关。通用人工智能可以定义为能够执行人类能够完成的任何任务的人工智能。我觉得,这个概念比奇点概念更有意思,因为这个概念的定义至少比较具体。


译注:奇点(singularity),一般设想为将由超越现今人类并且可以自我进化的机器智能、或者其它形式的超级智能的出现所引发。由于其智能远超今天的人类,因此技术的发展会完全超乎全人类的理解能力,甚至无法预测其发生。之所以被称为奇点,因为它是一个临界点。当我们越来越接近这个临界点,它会对人类的事物产生越来越大的影响,直到它成为人类的共识。但当它最终来临的时候,也许仍会出人意料并且难以想象。就好比物理学上引力接近无穷大时产生的黑洞的物理属性一样,已经不在一般正常模型所能预测的范围之内。


因此,你可以使用一些元素来决定一个算法是否为通用人工智能。我,一个人类,可以设计出实用和创新的解决方案,以增加你的数据的价值。但当前的人工智能软件还不能做到这点。因此,它还没有达到通用人工智能的级别。


更为有用的是:如果我们能够识别出人类智能的特征,那么我们就可以知道我们的算法中缺少什么,从而可以改进它们。


让我们就这样做吧。


我们该如何描述人类智能的特征?

我们对通用人工智能定义为:至少可以与人类智能能力相匹配的人工智能。如果我们想更进一步的话,最好能够知道是什么造就了人类智能。


我们有两个选择:要么我们关注人类智能的本质,要么我们关注它的特征。它起源于自然,特征就是我们如何识别它。


在每个研究领域中,都有成千上万的理论旨在定义人类智能的本质,如心理学、生物学、遗传学、社会学、认知科学、数学、神学……而所有这些我几乎一无所知。但有个好消息是:我们只需关注人类智能的特征即可。


如果我们想要更接近通用人工智能,最好的办法就是不要试图复制人类大脑。通用人工智能的定义是功能性的:一种可以执行人类能够完成的任何事情的人工智能。那么,人类智能能够做什么呢?


当然,要列举出一个详尽的清单,我们可做不到。但我们能想到的特征倒是有很多,比如:


  • 抽象推理

  • 从过去的经验学习

  • 元素的组成

  • 对新环境的适应性

  • 创造力

  • 共情能力

  • 感知

  • 解决问题

  • 沟通

  • 还有更多


我说过,我们离实现通用人工智能还很远的原因有三个。因此,我将任意选择人类智能的三个特征,这三个特征是我们的算法目前所不具备的:


  • 分布外泛化(Out-of-distribution generalization)

  • 语意合成性(Compositionality)

  • 有意识的推理(Conscious reasoning)


平心而论,我选择这三个特征也不是那么武断。之所以要关注人类智能的这三个特征,是因为我们有办法实现它们。这难道不令人兴奋吗?


通用人工智能的这三个特征

分布外泛化

根据认知结构可变性(Structural Cognitive Modifiability)理论,智能是是指“人类改变或修改其认知功能结构以适应生活环境不断变化的需求的独特倾向。”不可否认的是,我们人类非常善于适应巨大的变化。当还是婴儿最小的时候,人类的身体和环境变化就非常快,但婴儿就能够适应这些变化,不断学习。


译注:所谓认知结构,就是学习者头脑里的知识结构。个人的认知结构是在学习过程中通过同化作用,在心理上不断扩大并改进所积累的知识而组成的,学习者的认知结构一旦建立,又成为他学习新知识的极重要的能量或因素。认知结构可变性的核心思想是个体认知结构是一个开放的系统,个体在新情境的学习活动中有学习并改善自身认知结构的潜能,这种潜能也被称为 “认知改变力”也即 “‘学会如何学’的能力”。


但就目前机器学习的现状来看,人工智能是不可能适应如此彻底的变化的。我想,我有一个堪称完美的例子,可以告诉你我们在通往通用人工智能的路上到底处于什么位置。


ObjectNet 示例

几个月前,麻省理工学院的学生发布了 ObjectNet。它是目标识别算法的测试数据集。而且它完全是由奇怪的角度或不寻常的环境中的物体照片组成的。


放在床上的烤箱手套,或拿在手里的锤子,都是 ObjectNet 的两个例子。


人类在识别这些物体时,绝对不会有任何问题。因此,通用人工智能也不会有问题。然而,当在这个数据集上进行测试时,与通常的 ImageNet 的测试集相比,最先进的算法正确率下降了 40~45%。即使这些算法已经用成千上万的锤子或烤箱手套训练过,但当它们被设定在一个从未见过的环境中时,反而无法识别出来。


这背后的原因是,最先进的机器学习算法并不善于在其训练过的分布之外进行泛化。它们所擅长的是在这个分布之内进行推断。这意味着,如果你展示一张与它们所看过的非常相似的图像,如果这个图像能够以很高的概率存在于它们从你已经展示给它们的图像所构建的世界的视野中,那么它们就会擅长处理这个图像。但是截止目前,人工智能的想象力还是非常弱。这使得它们对世界的看法受到所展示样本的限制。


元学习和语意合成型

但是,为什么我们人类就擅长这种泛化问题呢?最先进的算法在达到通用人工智能方面还缺少什么?对于这一问题,我有两个答案。当然这答案并不是详尽的,但对我来说,它们提供了令人满意的改良区。


第一个原因是元学习(Meta-learning)。元学习可以定义为学会学习。我们说,当一个个体(人类或人工智能体)在一个特定任务上的表现随着这个任务的经验而提高时,它就是在学习。相比之下,当个体在一个新任务中的表现随经验和任务数量的增加而提高时,它就是在学习如何学习。


因此,元学习的目标是开发能够快速、有效地适应新任务的算法。所以,元学习算法通常在训练分布中的泛化能力较好,因为它们没有经过专门处理某项任务的训练。它们已经被训练成能够适应新的、以前不太可能见过的数据。人类是元学习的实践者,因为:


  1. 他们终其一生都在接受各种任务的训练;

  2. 他们从祖先的经验中受益。自然选择是进化的训练策略。我们和所有其他物种一样,从基因中继承,这些基因从生活在难以想象的多样化环境中的先祖身上学到一点东西。这是我能想到的、最令人印象深刻的元学习例子。


我能提供的第二个解释是,为什么人类比机器学习算法在对未见过情况的归纳能力要强得多,这就是语意合成性。我有一整章的篇幅来说明这一点。


语意合成性

语意合成性的含义可能不是一眼就能看清楚的。Chrome 甚至坚称它不是一个词汇。那么闷,让我们从一个定义开始。语意合成性是从有限的组合中学习,关于一组更大的组合。让我们来看看这个典型的社交网络垃圾的例子。



你是天才吗?

这是语意合成性的一个很好的例子。从三个元素(本文是苹果、香蕉和叶子)的有限组合状态中,你应该能够推断出这些元素的任何新组合的值。


语意合成性与语言哲学密切相关。复合性原理指出,一个复杂表达式的意义是由其各组成部分的意义以及用以结合它们的规则来决定的。“People love apples”有着特殊的含义,而“Apples love people ”则有另一种含义。同样的元素,但组合方式不同。


更广泛地说,我们一直在组合元素:发明新概念、新对象,并理解它们。2015 年,Bernden Lake 和他的团队在他们的论文《通过概率程序归纳进行人类水平的概念学习》(Human-level concept learning through probabilistic program induction)中,选择了交通工具作为例子。


这种看上去怪异的单轮摩托车是组成其他交通工具的元素的重组。


通过语意合成性,我们能够很容易地想象新的对象。总结一下,我们可以利用我们所知道的关于一组对象的知识来学习组成对象的概念,因此,我们可以推断出在训练数据集的分布下概率为零的新对象。


数学插曲:零概率

“具有零概率”与“未出现”是不同的。


在训练数据集的分布下,概率为零是什么意思?在上图中,训练数据集是用绿点表示的所有示例的集合。使用这组示例,大多数机器学习算法都会对概率分布进行建模(这里用的是高斯(Gaussian)模型)。


这代表了算法认为最有可能发生的事情。有些案例,通常是因为它们与训练集中实际发生的案例很接近,因此即使在我们从未见过的情况下,它们在训练分布下的概率也很高。机器学习算法非常擅长处理这些情况。


在训练数据集分布情况下,其他情况概率为零。这并不意味着它们永远不会发生。这只是意味着,根据算法在训练数据集中“看到”的内容,它们不是算法的世界观的一部分。这种算法在处理这些情况时,表现会非常糟糕。


但是,使用语意合成性,我们已经看到,我们可以通过重新组合构成我们已经看到的案例的元素来生成这些案例。这是拓宽机器学习算法视角的绝佳机会。直到今天,我依然相信这是我们最好的改良区之一,也许,在未来某一天,通用人工智能将会得以实现。


意 识

“意识”是一个很大的词。就像所有的大词一样,它有很多复杂的定义。有些人考虑的是意识的本质,有些人则考虑的是意识的功能。每一次都是从不同的角度来看的。我们不会试图去解决意识的整个概念。我们将重点讨论有意识的推理。


当我们以积极的方式思考时,我称之为有意识的推理。例如,当你想到呼吸,有意识地进行呼吸时,你会交替地专注于吸气和呼气。而当你不去想呼吸这码事的时候就不一样了。


很难想象,当你不专注于呼吸时(甚至当你睡着的时候),你的身体在吸气和呼气之间控制着你的呼吸。这个过程更像是许多生物现象的组合的结果(许多器官收缩和舒张,氧气从空气转移到血液中,二氧化碳从血液转移到空气中……)。


这就是有意识推理的特殊性:它能够通过非常高层次的概念来处理现实。通常情况下,这些概念可以用文字或句子来表达。为了理解这一点,我在 2019 年 NeurIPS 大会上听到 Yoshua Bengio 演讲中的一个最好的例子,正是这个例子启发了本文。



当你开着车上下班时,每天都是同样的通勤,就会变成自动驾驶。你走的是一条完全熟悉的路,根本不会去想它。然而,当你开车去朋友家,在很远很远的地方,在一个你从未去过的城市,你开车的方式就完全不同了。你会更加专注。你会主动地去思考每一个转弯,看清每一个路标。


这种操纵高级概念的能力,是最先进的机器学习算法所缺乏的另一点。幸运的是,实现这种能力还有希望。


全局工作空间理论


在认知科学中,全局工作空间理论(Global Workspace Theory)认为存在信息瓶颈。在每一个瞬间,只有一小部分感知到的信息被这个瓶颈过滤,并在整个大脑中进行广播。这种信息连续流动的概念受到个社区的广泛质疑。不过,这里有一个有趣的收获。我们在有意识的推理过程中操纵的高层次概念是基于低层次、高纬度的信息。所有进入瓶颈的感知。


这启发了机器学习的一个新兴分支:注意力机制(Attention mechanisms)。2015 年,Dzmitry Bahdanau 和蒙特利尔大学的研究人员于 2015 年首次提出。从那时起,注意力机制让神经机器翻译和自然语言处理以及其他技术改进取得了巨大的进展。例如,他们提出了一个有效的解决深度神经网络中反复出现的梯度消失问题的解决方案。


注意力机制背后的逻辑很简单:通过一次只关注几个输入元素来简化计算。这听起来是不是很耳熟?如果我们继续研究注意力机制,我们就能更接近人类的能力,将成千上万的低级感知与少量有意识操纵的高级概念联系起来。


我们离通用人工智能还有多远?

我刚才说漏了一句:很远。我们必须承认,在那三个特征中,即使我们可以希望在不久的将来取得巨大的进步,但离人类水平的表现仍然相去甚远。我们还必须记住,这是三个最有希望的改良区,就算解决了它们,也远不足以实现通用人工智能。


通用人工智能是一个让人热血沸腾的热门词汇,因为它要么是巨大的承诺,要么是可怕的威胁。像其他任何一个热门词汇一样,必须谨慎地使用它。我必须承认,在本文中,我将它作为一个借口,就是为了让读者注意到有意识的推理、语意合成性和分布外泛化。因为与奇点或通用人工智能不同,它们代表了改进机器学习算法的实用方法,实际上是可以提升人工智能的性能的。


作者简介:


Etienne Bennequin,数据科学家,致力于元学习和少样本计算机视觉的研究。


原文链接:


https://www.sicara.ai/blog/artificial-general-intelligence


2020 年 5 月 09 日 16:151316
用户头像
陈思 InfoQ编辑

发布了 575 篇内容, 共 202.7 次阅读, 收获喜欢 1178 次。

关注

评论

发布
暂无评论
发现更多内容

内存数据库解析与主流产品对比(一)

星环科技

数据库 大数据

一文读懂HTTP协议的昨天,今天与明天

后台技术汇

28天写作

软件测试在不同应用场景中,我们该如何进行测试呢?

程序员一凡

编程 程序员 软件测试 教程 测试环境

互斥锁 vs 自旋锁

行者AI

互斥

云原生架构下复杂工作负载混合调度的思考与实践

星环科技

云计算

阿里P8大牛亲自教你!实战讲述Flutter跨平台框架应用,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

一文告诉你Java日期时间API到底有多烂

YourBatman

LocalDateTime Date JSR310 Calendar

牛掰!阿里新产性能优化小册:五角度入手,全新演绎性能优化

程序员小毕

Java 架构 面试 性能优化 高并发

同事有话说:ThreadPoolExecutor是怎么回收线程的

云流

Java 程序员 面试

kotlin下载!我们究竟还要学习哪些Android知识?Android岗

欢喜学安卓

android 程序员 面试 移动开发

不满于天天CRUD,奋起直面阿里斩下25K*16offer面经分享!

程序员小毕

Java 架构 面试 分布式 算法

Elasticsearch和Kibana变更开源许可协议;Facebook利用AI增强为视障人士描述照片能力

京东科技开发者

云计算

使用 async_hooks 模块进行请求追踪

智联大前端

node.js 前端 koa async_hooks

PostgreSQL使用clickhousedb_fdw访问ClickHouse

PostgreSQLChina

数据库 postgresql 开源 软件

听说隔壁班的程序员给女友做了个智能风扇

智能物联实验室

物联网

毫不留情地揭开负载均衡的真面目~

田维常

负载均衡

面试官:一年跳槽三次,你是怎么做到的?

程序员一凡

程序员 面试 软件测试 测试工程师

产品利益相关者分析

LT_product_elearning

图解分析:Kafka 生产者客户端工作原理

码农架构

kafka 中间件 消息队列 消息中间件

免费ETL批量调度,任务调度,作业调度自动化运维工具Taskctl Web

会飞的鱼

大数据处理 kettle 海豚调度 自动化部署 ETL

【Skeleton】按钮

学习委员

CSS 前端 CSS小技巧 28天写作 纯CSS

2021分享三面阿里:Java面试核心手册+Java电子书+技术笔记+学习视频

比伯

Java 编程 架构 面试 程序人生

nacos 配置中心自动化运维之namespace坑

Sky彬

nacos

JDK源码深度学习!阿里P9架构师终于总结出了这份“源码级”的笔记了

Java架构追梦

Java 源码 架构 jdk 面试

LeetCode题解:389. 找不同,位运算,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台

Obsuite

kafak 滴滴开源 监控告警 运维平台

Alibaba最新产物手册宝典:分布式核心原理解析,简直是Java程序员福音!

996小迁

Java 架构 分布式 面试程序人生 面试c

区块链养成宠物游戏开发动物世界app系统搭建方案

v16629866266

不可忽视的PHP数据精度损失问题

架构精进之路

php 七日更 28天写作

【并发编程的艺术】内存语义分析:volatile、锁与CAS

程序员架构进阶

Java Java内存模型 28天写作 架构·

自动化测试现状趋势解读,附带近年自动化测试常用工具

程序员一凡

程序员 软件测试 自动化测试 测试工程师

DNSPod与开源应用专场

DNSPod与开源应用专场

实现通用人工智能,还需要解决这三个问题-InfoQ