分享一篇关于AGI的短文:苦涩的教训

学习强化学习之父、加拿大计算机科学家理查德·萨顿( Richard S. Sutton )2019年的经典文章《The Bitter Lesson(苦涩的教训)》。

文章指出,过去70年来AI研究走过的最大弯路,就是过于重视人类既有经验和知识,而他认为最大的解决之道是摒弃人类在特定领域的知识、利用大规模算力的方法,才是通往AGI路径的方向

理查德·萨顿

过去70年人工智能研究领域最重要的一堂课,是只有通用计算方法(蛮力计算 brute-force)最终是最有效的,而且优势很大——因为摩尔定律,每单位计算成本持续呈指数下降。大多数人工智能研究都是假设Agent可用的计算量是恒定的(在这种情况下,利用人类知识将是提高性能的唯一方法之一),但是,在稍长的时间里看,可用的计算量必然会大大增加。

为了在短期内获得改善,研究人员试图启用本领域内的现存人类知识,但长远来看,唯一重要的是利用算力。基于人类知识的方法往往很复杂,不太适合利用好通用算力。有许多人工智能研究人员迟迟未能学习这个苦涩的教训的例子,回顾这些年的一些最突出的例子是很有启发性的。

在电脑国际象棋中,1997年击败世界冠军卡斯帕罗夫的方法基于大量的深度搜索。当时,许多计算机国际象棋研究人员对此感到失望,他们一直致力于利用人类对国际象棋特殊结构的理解的方法。当一种更简单的基于搜索的方法,结合特殊的硬件和软件,取得了更大的成功时,这些基于人类知识的国际象棋研究人员没有虚心接受失败。他们反驳道,“粗暴的”搜索可能这次赢了,但这不是一种通用的策略,而且也不是人们玩国际象棋的方式。这些研究人员希望基于人类的行棋思路获胜,当它没有获胜时他们感到失望。

在电脑围棋中,也出现了类似的研究进展,只是比国际象棋晚了20年。最初的巨大努力是避免用蛮力搜索,而是想办法利用人类知识(一千年的棋谱),或游戏的特殊特征,但是所有这些努力都被证明是无关紧要的。更糟糕的是,一旦有效地进行了大规模搜索,这些努力都是负向的。还有一点,通过自我对弈学习价值函数的方法,对于围棋和其他许多游戏而言都非常重要,尽管学习在1997年首次击败国际象棋的世界冠军的程序中并不起重要作用。

学习和搜索是利用大规模计算的人工智能研究中最重要的两类技术在计算机围棋中,与计算机国际象棋一样,研究人员最初的努力是利用人类的理解(以减少搜索量),后来才通过搜索和学习取得更大的成功。

在语音识别方面,20世纪70年代有一场由美国国防部高级研究计划局赞助的早期竞赛。参赛者挖空心思,使用了一系列利用人类知识的招术,包括对单词、音素、人类声道等的理解。另一方面,还有一些更统计学的方法,它们基于隐马尔可夫模型(HMMs)做了更多的计算。再次,统计学方法胜过基于人类知识的方法。这导致自然语言处理领域出现了一个重大变化,几十年来,统计学和计算逐渐主导了这一领域。语音识别中最近深度学习的兴起是这一持续发展的最新一步。

深度学习方法甚至更少地依赖于人类知识,使用更多的计算,加上在巨大的训练集上的学习,来产生更好的语音识别系统。正如游戏中一样,研究人员总是试图制造出研究人员认为自己的大脑运作方式的系统——他们试图把这些知识放入他们的系统中——但最终证明是适得其反,也是研究人员时间的巨大浪费,因为通过摩尔定律,大规模计算变得可行,而且能得到很好的利用。

在计算机视觉/CV领域,也有类似的模式。早期的方法将视觉理解为寻找边缘、广义圆柱体或基于SIFT特征进行处理。但今天这一切都被抛弃了。现代的深度学习神经网络仅使用卷积和某些不变性的概念,并且表现得更好。

这是一个重要的教训。纵观整个AI 人工智能领域,我们仍然没有彻底地学习到这个教训,因为我们仍在犯同样的错误。为了看清这一点并有效地抵制它,我们必须理解这些错误的吸引力。我们必须学习苦涩的教训,即把我们认为的思维方式构建到系统中是行不通的。

这一苦涩的教训是基于历史观察,即

1)人工智能研究人员经常试图把知识构建到他们的代理系统中,

2)这在短期内总是有帮助的,并且对研究人员来说是个人满意的,但

3)从长远来看,它总会达到一个瓶颈,甚至会阻碍进一步的进展,

4)最终的突破性进展是通过一种相反的方法——基于搜索和学习的大规模堆算力——而获得的。

从这一苦涩的教训中应该学到的一件事是通用方法的巨大力量,即随着可用算力的增加,这些方法仍然可以继续扩展。似乎可以以这种方式无限扩展的两种方法是搜索和学习

从这个苦涩的教训中学到的第二个普遍点是,人类心智的实际内容是极其复杂的,我们不应该再试图找到简单的方法来思考心智的内容,比如简单地思考空间,物体,多个代理或对称性。所有这些都是任意的、内在复杂的外部世界的一部分。它们不应该被构建,因为它们的复杂性是无止境的;相反,我们应该构建可以找到和捕获这种任意复杂性的元方法这些方法的关键是它们可以找到良好的近似值,但算法应该是基于我们的方法(如学习),而不是我们已经学到的知识。我们希望AI Agent 能够像我们人类一样去发现,而不是在系统里集成我们已经发现的知识。

原文:The Bitter Lesson

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探究Android的多分辨率支持以及各种类型图标尺寸大小

术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸…

Docker部署nginx并且实现https访问

实验环境: 在已有的docker环境和nginx镜像的基础上进行操作 1、生成私钥 (1)openssl genrsa -out key.pem 2048 生成证书签名请求 (CSR) 并自签证书: (2)openssl req -new -x509 -key key.pem -out cert.pem -day…

DDD:根据maven的脚手架archetype生成ddd多模块项目目录结构

随着领域驱动的兴起,很多人都想学习如何进行ddd的项目开发,那ddd的项目结构是怎么样的?又是如何结合SpringBoot呢?那么针对这个问题,笔者使用maven的archetype封装一个相对通用的ddd的项目目录,方便一键生成…

karpathy Let‘s build GPT

1 introduction 按照karpathy的教程,一步步的完成transformer的构建,并在这个过程中,加深对transformer设计的理解。 karpathy推荐在进行网络设计的过程中,同时利用jupyter notebook进行快速测试和python进行主要的网络的构建。 …

STM32标准库SPI通信协议与W25Q64

目录 一、SPI通信 1.SPI通信简介 2.硬件电路 3.移位示意图 4.SPI基本时序图 (1)起始和终止 (2)交换一个字节 模式0: 模式1:​编辑 模式2:​编辑 模式3:​编辑 5.SPI时序 …

初识C语言——第九天

ASCII定义 在 C 语言中,每个字符都对应一个 ASCII 码。ASCII 码是一个字符集,它定义了许多常用的字符对应的数字编码。这些编码可以表示为整数,也可以表示为字符类型。在 C 语言中,字符类型被定义为一个整数类型,它占…

数据仓库实验三:分类规则挖掘实验

目录 一、实验目的二、实验内容和要求三、实验步骤1、创建数据库和表2、决策树分类规则挖掘(1)新建一个 Analysis Services 项目 jueceshu(2)建立数据源视图(3)建立挖掘结构 DST.dmm(4&#xff…

43 单例模式

目录 1.什么是单例模式 2.什么是设计模式 3.特点 4.饿汉和懒汉 5.峨汉实现单例 6.懒汉实现单例 7.懒汉实现单例(线程安全) 8.STL容器是否线程安全 9.智能指针是否线程安全 10.其他常见的锁 11.读者写者问题 1. 什么是单例模式 单例模式是一种经典的&a…

线性数据结构-手写队列-哈希(散列)Hash

什么是hash散列? 哈希表的存在是为了解决能通过O(1)时间复杂度直接索引到指定元素。这是什么意思呢?通过我们使用数组存放元素,都是按照顺序存放的,当需要获取某个元素的时候,则需要对数组进行遍历,获取到指…

【skill】onedrive的烦人问题

Onedrive的迷惑行为 安装Onedrive,如果勾选了同步,会默认把当前用户的数个文件夹(桌面、文档、图片、下载 等等)移动到安装时提示的那个文件夹 查看其中的一个文件的路径: 这样一整,原来的文件收到严重影…

吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):2.1神经元与大脑

目录 神经网络1.初始动机*2.发展历史3.深度学习*4.应用历程 生物神经元1.基本功能2.神经元的互动方式3.信号传递与思维形成4.神经网络的形成 生物神经元简化1.生物神经元的结构2.信号传递过程3.生物学术语与人工神经网络 人工神经元*1.模型简化2.人工神经网络的构建3.计算和输入…

Java与Go: 生产者消费者模型

什么是生产者消费者模型 生产者-消费者模型(也称为生产者-消费者问题)是一种常见的并发编程模型,用于处理多线程或多进程之间的协同工作。该模型涉及两个主要角色:生产者和消费者,一个次要角色:缓冲区。 生…

18 内核开发-内核重点数据结构学习

课程简介: Linux内核开发入门是一门旨在帮助学习者从最基本的知识开始学习Linux内核开发的入门课程。该课程旨在为对Linux内核开发感兴趣的初学者提供一个扎实的基础,让他们能够理解和参与到Linux内核的开发过程中。 课程特点: 1. 入门级别&…

办公数据分析利器:Excel与Power Query透视功能

数据分析利器:Excel与Power Query透视功能 Excel透视表和Power Query透视功能是强大的数据分析工具,它们使用户能够从大量数据中提取有意义的信息和趋势,可用于汇总、分析和可视化大量数据。 本文通过示例演示Power Query透视功能的一个小技…

Linux专栏08:Linux基本指令之压缩解压缩指令

博客主页:Duck Bro 博客主页系列专栏:Linux专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Linux基本指令之压缩解压缩指令 编号:08 文章目录 Linu…

Spring Boot与OpenCV:融合机器学习的智能图像与视频处理平台

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

【模板】二维前缀和

原题链接:登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 二维前缀和板题。 二维前缀和:pre[i][j]a[i][j]pre[i-1][j]pre[i][j-1]-pre[i-1][j-1]; 子矩阵 左上角为(x1,y1) 右下角(x2,y2…

PG控制文件的管理与重建

一.控制文件位置与大小 逻辑位置:pgpobal 表空间中 物理位置:$PGDATA/global/pg_control --pg_global表空间的物理位置就在$PGDATA/global文件夹下 物理大小:8K 二.存放的内容 1.数据库初始化的时候生成的永久化参数,无法更改…

brpc中http2 grpc协议解析

搭建gRPC服务 | bRPC https://blog.csdn.net/INGNIGHT/article/details/132657099 global.cpp http2_rpc_protocol.cpp ParseH2Message解析frame header信息 ParseResult H2Context::ConsumeFrameHead( 这个是固定长度的9字节帧头部,length是,3*8bit…

Mysql技能树学习

查询进阶 别名 MySQL支持在查询数据时为字段名或表名指定别名&#xff0c;指定别名时可以使用AS关键字。 BETWEEN AND条件语句 mysql> SELECT * FROM t_goods WHERE id BETWEEN 6 AND 8; 查询特定数据 &#xff08;CASE&#xff09; select name,case when price <…