写点什么

AI 架构师 Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单

  • 2020-01-06
  • 本文字数:4457 字

    阅读完需:约 15 分钟

AI架构师Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单


拍摄:Maryse Boyce


Yoshua Bengio(https://mila.quebec/en/person/bengio-yoshua/)被称为深度学习领域的“三个火枪手”之一,深度学习是人工智能(AI:Artificial Intelligence)领域的一个分支,目前在该领域占据主导地位。


Bengio 是蒙特利尔大学教授,因在神经网络应用领域实现了诸多关键突破而闻名业内——同样重要的是,在 AI 所经历的 20 世纪 80 年代晚期和 90 年代的漫长冬天里,他依然坚持 AI 的研究工作,那时大部分人都认为神经网络是一个死胡同。


由于坚持不懈的努力,在 2018 年,他获得了回报,他和他的火枪手同伴(Geoffrey Hinton(https://www.cs.toronto.edu/~hinton/)和 Yann LeCun(http://yann.lecun.com/))赢得了图领奖(https://www.acm.org/media-center/2019/march/turing-award-2018),这个奖项被誉为计算机界的诺贝尔奖。


现在,人们越来越多地讨论着深度学习的缺点(https://www.wired.com/story/greedy-brittle-opaque-and-shallow-the-downsides-to-deep-learning/)。在这样的背景下,IEEE Spectrum 采访了 Bengio,探讨该领域未来将走向何方。12 月 11 日,他在 NeurIPS(世界上最大的、最热门的 AI 会议,https://nips.cc/Conferences/2019/)大会上发表了类似的演讲;他的演讲题目是“从深度学习第一系统到第二系统。”(https://nips.cc/Conferences/2019/Schedule?showEvent=15488


以下是 Yoshua Bengio 的采访目录:


深度学习及其瑕疵


受大脑启发计算方式的曙光


学会如何学习


“工业界还没有准备好”


物理、语言和常识

深度学习及其瑕疵

IEEE Spectrum:你如何看待对深度学习局限性的这些讨论?


Yoshua Bengio:大多数公开场合下的讨论,都不太理解 AI 和其他学科中的研究人员做研究的方式:我们试图去理解我们所从事的理论和方法的局限性,这是为了拓展我们的智能工具的应用范围。所以深度学习研究人员也在寻找深度学习在哪些地方存在局限性,在哪些地方深度学习并没有像预期的那样运转得很好。通过这样的探索,我们就能弄明白需要往现有知识中添加什么,需要朝哪个方向继续探索。


Gary Marcus 对 Bengio 描述深度学习的立场提出了质疑。Marcus 说道:“Yoshua 的描述,听起来好像我是(严格地)反深度学习的,而我实际上是赞成混合学习的,我青睐于使用深度学习,但也倾向于深度学习能与其他机制方法结合使用。深度学习是一个不错的工具,但也只是众多工具中的一种。”


Gary Marcus(https://arxiv.org/abs/1801.00631)等人就抓住了这点,他们认为:“瞧,深度学习不管用了。”但实际上,像我这样的研究人员正在做的只是扩大深度学习的应用范围。当我谈到 AI 系统需要有能够理解因果关系的机制(https://www.wired.com/story/ai-pioneer-algorithms-understand-why/)时,我不是说这种机制会取代深度学习。我只是想往深度学习这个工具箱里添加点东西进去。


作为一名科学家,对我来说重要的是需要探索什么东西才能解决问题,而不是谁是正确的,谁是错误的,或者在哪个宗教教堂里祈祷。


Spectrum:你怎样评估目前的深度学习状态?


Bengio:关于最近二十几年这方面所取得的进展:我认为我们的人工智能水平离一个两岁小孩子的智力水平都还差得很远。但也许我们的算法可以和低等动物的智力水平相媲美了(https://spectrum.ieee.org/preview/tech-talk/robotics/artificial-intelligence/animal-ai-olympics-tests-ai-on-intelligence-tasks-for-crows-and-chimps),这些算法可以用于感知周围世界。并且我们在人工智能工具的阶梯上不断攀登,这些工具能让一个智能体探索其周边环境。


最近这些日子里争论最多的问题之一是:高级认知的组成元素有哪些?因果关系是其中之一,还有推理、规划、想象和信度分配(“想象如果是我,我会怎么做?”)在经典人工智能中,他们试图用逻辑和符号得到这些东西。有些人说我们可以用经典人工智能来做,但也许需要一些改进。


然而,有些人(比如我)认为我们应该用过去几年建造的工具来创造这些功能,使智能体能够像人类一样具备推理能力,这样的能力和纯粹依赖基于搜索的逻辑系统而得到的能力是很不一样的。

受大脑启发计算方式的曙光

Spectrum:我们怎样才能构造出和人类推理相似的功能?


Bengio:注意力模型让我们了解到了如何把我们的计算聚焦在少数几项元素上,即一小组计算步骤的集合。人类就是这样做的——这是意识处理中相当重要的一部分。当你意识到某些事情时,你就会聚焦在少数几项元素上,这些元素也许是某种想法,当你这个想法想得差不多了,你的大脑才会继续转移到另一个想法上。这和标准的神经网络方法很不一样,标准的神经网络是在大规模数据集上做并行处理。多亏了注意力模型,我们才能在计算机视觉、翻译和记忆方面取得很多重大突破,但我相信这只是对受大脑运转模式启发而产生的计算方式研究的一个开端。


这并不是说我们已经解决了这个问题,但是我认为我们已经有了开始解决问题的许多工具。我不是说这很容易。我在 2017 年写了一篇论文《先验意识》(The Consciousness Prior,https://arxiv.org/abs/1709.08568),阐述了这个问题,我有几个学生也在做这个方向,我知道这需要长期的努力才能取得成果。


Spectrum:人类智慧还有哪些方面是你想复制到 AI 中的?


Bengio:我们还讨论了神经网络想象的能力:推理、记忆和想象是在你头脑中发生的同一件事情的三个方面。你把你自己投射到过去或者未来,当你沿着这些投射点前进时,你就是在做推理。如果你预料到未来将有不好的事情发生,你就会改变方向——这就是你做计划的方式。你也会使用记忆,因为你会回忆起熟知的过去,基于此做出自己的判断。你从当前时刻以及过去的历史中选择相关事项。


注意力是这里构建基础模块的关键部分。比如说,我正在给一本书做翻译。对于每个单词,我都必须仔细查看书中的一小部分。注意力能够让你从书中剔除出不相关的部分,而只聚焦在真正重要的部分上。能够挑选出相关的元素——这正是注意力机制在起作用。


Spectrum:注意力机制是怎样通过机器学习学到的?


Bengio:你不用告诉神经网络哪些地方是需要关注的——这就是神经网络美妙的地方。神经网络会自己学习。在一组可能需要关注的元素里,神经网络能学会需要给其中每个元素分配多大程度的注意力(或者称为注意力权重)。

学会如何学习

Spectrum:你最近关于因果关系的研究与这些观点是怎样联系起来的?


Bengio:人们所推理的高层次概念往往是因果关系的一些变量。你并不是基于像素来推理的。你是基于像“门”或者“把手”,像“打开”或者“关闭”这样的概念来推理的。因果关系对机器学习接下来的发展至关重要。


这会关联到另一个话题,在深度学习中,人们经常思考这个话题。人们具有系统性的泛化能力,这种能力可以让人们从已知的概念出发进行拓展,这样这些概念就能以新的的方式进行组合,组合出的新概念可能是人们以前从没见到过的。当今的机器学习就不知道如何做到这点。所以你在某个特定的数据集上训练时就会经常遇到这样的问题。比如说,你在一个国家的数据集上进行训练,训练的结果被部署到另一个国家,此时你就需要泛化和转移学习方法。那你怎样才能训练出一个神经网络模型,使得当这个模型用于一个新的环境时,它可以继续展现出较好的性能或者说能快速适应新的环境。


Spectrum:实现这种适应能力的关键是什么?


Bengio:元学习(https://arxiv.org/pdf/1905.03030.pdf)是最近非常火的一个话题,即学习如何学习。我早在 1991 年就写了一篇论文(http://bengio.abracadoudou.com/publications/pdf/bengio_1991_ijcnn.pdf),但直到最近我们才具备了实现这种能力的算力,因为它非常耗费计算资源。这里的想法是这样的:为了实现对新环境的泛化能力,你需要不断练习在新环境中的泛化能力。你想想,其实很简单。孩子们一直在做这样的事情,当他们从一个房间进入另一个房间时,环境不是静态不变的,环境始终在变化。孩子们训练着他们自己,使他们自己擅长适应环境。为了高效地适应环境,他们必须利用以往获得的知识。我们已经开始理解这种能力了,并且开始建造工具来复制这种能力。


对深度学习的一个批评是:它需要大量的数据来学习。如果你只是在一个任务上进行训练,这确实是这样。但是孩子们基于很少量的数据就能够展开学习过程,因为他们能利用以前学到的东西,更重要的是,他们能利用适应和泛化的能力。

“工业界还没有准备好”

Spectrum:这些想法能够马上在真实世界中使用吗?


Bengio:还不行。比起真实世界的问题,现在的基础研究指向的问题简直就是小巫见大巫。不过没关系,这就是我们现在所处的状态。我们可以探索这些想法,继续做出新的假设,但这不并是明天早上就可以用于工业界的。


不过,对于工业界所关心的目前深度学习的两个切实的局限性,这样的研究是可以帮上忙的。其中一个局限性是:希望建造对环境变换更健壮的系统。第二个局限性是:我们怎样才能建造出自然语言处理系统、对话系统和虚拟助手?目前使用了深度学习的最先进系统都是有问题的,问题就在于这些系统需要使用大量的数据来进行训练,而且这些系统根本不懂什么是语言。像 Gray Marcus 这样的人会说:“这就是深度学习不管用的一个例证。”而像我这样的人会说“有意思,让我们来迎接挑战吧。”

物理、语言和常识

Spectrum:聊天机器人怎样才能做得更好?


Bengio:最近,有一种被称为“grounded language learning”(接地气的语言学习)的想法引起了人们的注意。这里的想法是,一个 AI 系统不应该仅仅是从文字上学习,它应该同时学习这个世界是如何运转的,以及怎样用语言描述这个世界。你可以问下自己:如果孩子们仅仅通过文字来和世界交互,那他们能够理解这个世界吗?我猜测他们如果真那样做的话,日子就会过得很艰难。


这与有意识和无意识的知识有关 ,这是我们知道但是说不出名字的东西。一个不错的例子是直觉物理学。一个两岁小孩就理解直觉物理学。他们不知道牛顿方程式,但是,他们理解像重力这样具体场景下的概念。一些人正尝试建造可以与他们的环境互相作用的系统,并发现基本的物理学定律。


Spectrum:为什么掌握一些基本的物理知识对交谈有帮助呢?


Bengio:语言交谈的问题通常在于这个系统其实并不理解这个世界的复杂性。例如,在 Winograd 范式(https://en.wikipedia.org/wiki/Winograd_Schema_Challenge)中使用的语句;为了合理正确地使用这些语句,你必须掌握一些物理知识。比如像这样的句子:”Jim 想把灯放进他的行李箱,但是它太大了。”你知道如果一个物件因为太大而未能放入行李箱,那上面句子第二句话的主语就一定得使用“it”(“它”)了。”你可以用语言来传达这种知识,但是这种知识不是我们到处说的那种具象性知识,比如:“这个行李箱的通常大小是 x 长 x 宽。”


我们需要系统在理解语言的同时还能理解这个世界。目前,AI 研究人员正在寻找捷径,但目前的研究还不充分,AI 系统需要能够生成关于这个世界如何运转的模型。


原文链接


https://spectrum.ieee.org/tech-talk/robotics/artificial-intelligence/yoshua-bengio-revered-architect-of-ai-has-some-ideas-about-what-to-build-next


2020-01-06 17:552294

评论

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

如何搭建一个HBase集群

Rayjun

HBase

啃碎并发(九):内存模型之基础概述

猿灯塔

Java 猿灯塔

那些让程序员目瞪口呆的Bug

Java小咖秀

程序员 bug

RESTful 架构及实践

Geek_z9ygea

Java 大前端 RESTf

架构师训练营第六周作业

张明森

游戏夜读 | 如何分析游戏体验?

game1night

猿灯塔:spring Boot Starter开发及源码刨析(三)

猿灯塔

Java 猿灯塔

给 Spring Boot 项目减减肥!18.18M 到 0.18M 是如何做到的?

给你买橘子

Java 程序员 Spring Cloud 编码 SpringBoot 2

图说前端-内存管理(1/3)

梦见君笑

大前端 内存

图说前端-使用Atomics避免SharedArrayBuffers中的race conditions(3/3)

梦见君笑

大前端 内存管理

redis里的数据结构

流沙

redis

java 后端博客系统文章系统——No3

猿灯塔

计算机的时钟(一):NTP协议

ElvinYang

图解:深度优先搜索与广度优先搜索

淡蓝色

Java 数据结构 算法

基于Kubernetes实现的大数据采集与存储实践总结

岿然独存5

Docker Kubernetes S3 EFK Fluentd

玩转Redis高可用 - 哨兵(Sentinel)模式

Man

高可用 redis高可用 中间件

redis系列之——Redis为什么这么快?

诸葛小猿

Java redis 程序员

如何基于 BitMap 进行海量数据分析

GrowingIO技术专栏

互联网 数据分析 科技互联网 数据化

ARTS 打卡 第2周

Scotty

如果你想写自己的Benchmark框架

程序那些事

JVM 性能调优 GC benchmark

《精益思想》读后感分享

zhongzhq

高效工作 精益 精益思想 精益生产方式

无价值人生记录.0:浪费1000%时间去做一个用来节省1%时间的“轮子玩具”(上:因缘)

八苦-瞿昙

C# 程序员 随笔 随笔杂谈 aop

DOM 树的构建

法正

html 大前端 DOM

图说前端-ArrayBuffers 和 SharedArrayBuffers(2/3)

梦见君笑

大前端 内存管理

分布式系统的一些基础理论

俊俊哥

分布式事务 CAP Base

Java 线程的生老病死

武培轩

Java 线程 多线程 并发 线程状态

刘华:上云还是不上云,这是一个问题

刘华Kenneth

架构 敏捷

计算机操作系统基础(十七)---进程同步之Unix域套接字

书旅

php laravel 线程 操作系统 进程

架构师必须知道的架构知识

Chank

架构 架构师 Architecture Architect

Git 常用操作汇总-cheat sheet

多选参数

git GitHub gitlab gitee

使用 Dockerfile 创建镜像 | Docker 系列

AlwaysBeta

Docker 容器 镜像 Dockerfile

AI架构师Yoshua Bengio:深度学习的研究,对于工业应用来说太过简单_大数据_Eliza Strickland_InfoQ精选文章