【深度学习】主要提出者【Hinton】中国大会最新演讲【通往智能的两种道路】

「但我已经老了,我所希望的是像你们这样的年轻有为的研究人员,去想出我们如何能够拥有这些超级智能,使我们的生活变得更好,而不是被它们控制。」

6 月 10 日,在 2023 北京智源大会的闭幕式演讲中,在谈到如何防止超级智能欺骗、控制人类的话题时,今年 75 岁的图灵奖得主 Geoffrey Hinton 不无感慨地说道。

在这里插入图片描述

Hinton 本次的演讲题目为「通往智能的两种道路」(Two Paths to Intelligence),即以数字形式执行的不朽计算和依赖于硬件的可朽计算,它们的代表分别是数字计算机和人类大脑。演讲最后,他重点谈到了大型语言模型(LLM)为他带来的对超级智能威胁的担忧,对于这个涉及人类文明未来的主题,他非常直白地展现了自己的悲观态度。

演讲一开始,Hinton 便宣称,超级智能(superintelligence)诞生的时间可能会比他曾经想象的早得多。这一观察引出了两大问题:(1)人工神经网络的智能水平将会很快超越真实神经网络吗?(2)人类是否能保证对超级 AI 的控制?在大会演讲中,他详细讨论了第一个问题;针对第二个问题,Hinton 在演讲的最后表示:超级智能可能将很快到来。

图片

首先,让我们来看看传统的计算方式。计算机的设计原则是要能精准地执行指令,也就是说如果我们在不同的硬件上运行相同的程序(不管是不是神经网络),那么效果应该是一样的。这就意味着程序中包含的知识(如神经网络的权重)是不朽的,与具体的硬件没有关系。

图片

为了实现知识的不朽,我们的做法是以高功率运行晶体管,使其能以数字化(digital)的方式可靠运行。但这样做的同时,我们就相当于抛弃了硬件其它一些性质,比如丰富的模拟性(analog)和高度的可变性。

图片

传统计算机之所以采用那样的设计模式,是因为传统计算运行的程序都是人类编写的。现在随着机器学习技术的发展,计算机有了另一种获取程序和任务目标的方法:基于样本的学习。

这种新范式让我们可以放弃之前计算机系统设计的一项最基本原则,即软件设计与硬件分离;转而进行软件与硬件的协同设计。

软硬件分离设计的优点是能将同一程序运行在许多不同的硬件上,同时我们在设计程序时也能只看软件,不管硬件 —— 这也是计算机科学系与电子工程系能够分开设立的原因。

而对于软硬件协同设计,Hinton 提出了一个新概念:Mortal Computation。对应于前面提到不朽形式的软件,我们这里将其译为「可朽计算」。

可朽计算是什么?

图片

可朽计算放弃了可在不同硬件上运行同一软件的不朽性,转而采纳了新的设计思路:知识与硬件的具体物理细节密不可分。这种新思路自然也有优有劣。其中主要的优势包括节省能源和低硬件成本。

在节能方面可以参考人脑,人脑就是一种典型的可朽计算装置。虽然人脑中也依然有一个比特的数字计算,即神经元要么发射要么不发射,但整体来说,人脑的绝大多数计算都是模拟计算,功耗非常低。

可朽计算也可以使用更低成本的硬件。相较于现如今以二维模式高精度生产的处理器,可朽计算的硬件能以三维模式「生长」出来,因为我们不需要明确知道硬件的连接方式以及每个部件的确切功能。很显然,为了实现计算硬件的「生长」,我们需要很多新型纳米技术或对生物神经元进行基因改造的能力。改造生物神经元的方法可能更容易实现,因为我们已经知道生物神经元大致能够完成我们想要的任务。

为了展示模拟计算的高效能力,Hinton 给出了一个示例:计算一个神经活动向量与一个权重矩阵的积(神经网络的大部分工作都是此类计算)。

图片

对于该任务,当前计算机的做法是使用高功耗的晶体管将数值表示成数字化的比特形式,然后执行 O (n²) 数字运算将两个 n 比特的数值相乘。虽然这只是计算机上的单个运算,但却是 n² 个比特的运算。

而如果使用模拟计算呢?我们可以将神经活动视为电压,将权重视为电导;那么每一单位时间里,电压乘以电导可得到电荷,电荷可以叠加。这种工作方式的能效会高很多,而且其实现在已经存在这样工作的芯片了。但很不幸,Hinton 表示,现在人们还是要使用非常昂贵的转换器将模拟形式的结果转换成数字形式。他希望以后我们能在模拟领域完成整个计算过程。

可朽计算也面临着一些问题,其中最主要的是难以保证结果的一致性,即在不同硬件上的计算结果可能会有所差别。另外,在反向传播不可用的情况下,我们还需要找到新方法。

可朽计算面临的问题:反向传播不可用

在特定硬件上执行可朽计算的学习时,就需要让程序学习利用该硬件的特定模拟属性,但它们无需知道这些属性究竟是什么。举个例子,它们无需知道究竟神经元的内部连接方式究竟是怎样的,该神经元的输入和输出又是通过什么函数关联起来的。

图片

这意味着我们不能使用反向传播算法来获取梯度,因为反向传播需要一个确切的前向传播模型。

那么既然可朽计算不能使用反向传播,我们又该怎么做呢?下面来看看在模拟硬件上执行的一个简单学习过程,其中用到的方法称为权重扰动。

图片

首先,为网络中的每个权重生成一个随机向量,该向量由随机的小扰动构成。然后,基于一个或少量样本,测量全局目标函数在使用这个扰动向量后的变化情况。最后,根据目标函数的提升情况,将该扰动向量带来的效果按比例尺度永久化到权重之中。

这个算法的优点是其大致上的行为模式与反向传播一致,同样遵循梯度。但问题是它具有非常高的方差。因此,当网络规模增大时,在权重空间中选择随机移动方向时所产生的噪声会很大,让这个方法难以为继。这就意味着这种方法仅适用于小型网络,不适用于大型网络。

图片

另一种方法是活动扰动,虽然它也存在类似的问题,但也能更好地用于更大型的网络。

图片

活动扰动方法是要用随机向量对每个神经元的整体输入执行扰动,然后在一小批样本下观察目标函数的变化情况,再计算如何改变该神经元的权重以遵循梯度。

与权重扰动相比,活动扰动的噪声要小得多。并且这种方法已经足以学习 MNIST 这样的简单任务。如果你使用非常小的学习率,那么它的行为就与反向传播完全一样,但速度要慢得多。而如果学习率较大,那么噪声会很多,但也足够应对 MNIST 这样的任务。

但是如果我们的网络规模还要更大呢?Hinton 提到了两种方法。

第一种方法是使用巨量目标函数,也就是说不使用单个函数来定义大型神经网络的目标,而是使用大量函数来定义网络中不同神经元集团的局部目标。

图片

这样一来,大型神经网络就被化整为零,我们就能使用活动扰动来学习小型的多层神经网络。但问题来了:这些目标函数从何而来?

图片

其中一种可能性是在不同层级的局部图块上使用无监督对比学习。其工作方式是这样的:一个局部图块有多个表示层级,在每个层级,该局部图块会尽力与同一图像的所有其它局部图块产生的平均表示保持一致;与此同时,还要尽力与其它图像在该层级的表示保持差异。

Hinton 表示该方法在实践中的表现很不错。大概的做法是让每个表示层级都具有多个隐藏层,这样可以进行非线性的操作。这些层级使用活动扰动来进行贪婪学习并且不会反向传播到更低层级。由于它不能像反向传播那样传递很多层,因此不会像反向传播那样强大。

实际上这正是 Hinton 团队近些年最重要的研究成果之一。

图片

Mengye Ren 通过大量研究表明该方法是能够在神经网络中实际生效的,但操作起来却很复杂,实际效果也还赶不上反向传播。如果大型网络的深度更深,那么它与反向传播的差距还会更大。

Hinton 表示这个能利用模拟属性的学习算法只能说还算 OK,足以应对 MNIST 这样的任务,但也并不是真正好用,比如在 ImageNet 任务上的表现就不是很好。

可朽计算面临的问题:知识的传承

可朽计算面临的另一个主要问题是难以保证知识的传承。由于可朽计算与硬件高度相关,因此无法通过复制权重来复制知识,这就意味着当特定的硬件「死去」时,其学习到的知识也会一并消失。

Hinton 说解决该问题的最好方法是在硬件「死去」之前,将知识传递给学生。这类方法被称为知识蒸馏(knowledge distillation),这一概念是 Hinton 在 2015 年与 Oriol Vinyals 和 Jeff Dean 合著的论文《Distilling the Knowledge in a Neural Network》中最早提出的。

图片

这一概念的基本思路很简单,就类似于教师教授学生知识:教师向学生展示不同输入的正确响应,学生尝试模仿教师的响应。

Hinton 使用了美国前总统特朗普发推文为例来进行直观的说明:特朗普发推时常常会对各种事件做出非常情绪化的回应,这会促使其追随者改变自己的「神经网络」,从而产生同样的情绪反应;这样一来,特朗普就将偏见蒸馏到了其追随者的头脑中,就像「邪教」——Hinton 很显然并不喜欢特朗普。

知识蒸馏方法的效果如何呢?考虑到特朗普拥趸众多,效果应该不会差。Hinton 使用了一个例子进行解释:假设一个智能体需要将图像归类到 1024 个互不重叠的类别。

图片

要指认出正确答案,我们只需要 10 比特信息。因此,要训练该智能体正确识别一个特定样本,只需要提供 10 比特信息来约束其权重即可。

但假如我们训练一个智能体使之与一个教师在这 1024 个类别上的概率大致保持一致呢?也就是说,使该智能体的概率分布与该教师一样。这个概率分布有 1023 个实数,如果这些概率都不是很小,那么其提供的约束就增多了几百倍。

图片

为了确保这些概率不是太小,可以「高温」运行教师,在训练学生时也以「高温」运行学生。比如说,如果采用的是 logit,那就是输入 softmax 的东西。对于教师来说,可以基于温度参数对其进行缩放,进而得到一个更 soft 的分布;然后在训练学生时使用同样的温度。

下面来看一个具体的例子。下图是来自 MNIST 训练集的字符 2 的一些图像,对应的右侧是当运行教师的温度高时,教师为每张图像分配的概率。

图片

对于第一行,教师确信它是 2;教师对第二行也有信心是 2,但它也认为可能是 3 或 8。第三行则有些像 0。对于这个样本,教师应该说这是一个 2,但也应该留点可能性给 0。这样一来,比起直接告诉学生这是 2,学生能从中学到更多。

对于第四行,可以看到教师有信心它是 2,但它也认为有点可能是 1,毕竟有时候我们写的 1 就类似于图左侧画的那样。

对于第五行,教师出错了,认为它是 5(但根据 MNIST 标签应该是 2)。学生也能从教师的错误中学到很多。

蒸馏有一个很特殊的性质,那就是当使用教师给出的概率来训练学生时,那就在训练学生以老师那样的方式来进行泛化。如果教师为错误答案分配了一定的小概率,那么也会训练学生泛化到错误答案。

图片

通常来说,我们训练模型是为了让模型在训练数据上得到正确答案,并能将这种能力泛化到测试数据上。但使用教师 - 学生训练模式时,我们是直接训练学生的泛化能力,因为学生的训练目标是能与老师一样地进行泛化。

很显然,我们可以创建更丰富的输出以供蒸馏。比如说我们可以为每张图像赋予一个描述,而不仅仅是单个标签,然后再训练学生来预测这些描述中的词。

图片

接下来,Hinton 谈到了在智能体群中共享知识的研究。这也是一种传承知识的方式。

图片

当多个智能体构成的社群互相共享知识时,共享知识的方式能在很大程度上决定计算执行的方式。

图片

对于数字模型,我们可以通过复制创建大量使用相同权重的智能体。我们可以让这些智能体查看训练数据集的不同部分,让它们各自基于不同部分的数据计算权重的梯度,然后再对这些梯度进行平均。这样一来,每个模型都学到了其它每个模型学到的知识。这种训练策略的好处是能高效处理大量数据;如果模型很大,就可以在每次共享中共享大量比特。

同时,由于这种方法需要各个智能体的工作方式完全一样,因此就只能是数字模型才行。

权重共享的成本也很高。要让不同的硬件以同样的方式工作,就需要以极高的精准率生产计算机,使得它们在执行相同的指令时总是会得到相同的结果。另外,晶体管的功耗也不低。

图片

蒸馏也能够替代权重共享。尤其是当你的模型用到了特定硬件的模拟属性时,那就不能使用权重共享了,而是必须使用蒸馏来共享知识。

图片

用蒸馏共享知识的效率并不高,带宽很低。就像在学校里,教师都想把自己知道的知识灌进学生脑袋,但这是不可能的,因为我们是生物智能,你的权重对我没用。

图片

这里先简单总结一下,上面提到了两种截然不同的执行计算的方式(数字计算和生物计算),并且智能体之间共享知识的方式也大相径庭。

那么现在发展正盛的大型语言模型(LLM)是哪种形式呢?它们是数字计算方式,能使用权重共享。

图片

但是 LLM 的每个副本智能体都只能以非常低效的蒸馏方式学习文档中的知识。LLM 的做法是预测文档的下一个词,但是并没有教师对于下一个词的概率分布,它有的只是一个随机选择,即该文档作者在下一个词位置选用的词。LLM 实际上学习的是我们人类,但传递知识的带宽非常低。

话又说回来,虽然 LLM 的每个副本通过蒸馏学习的效率非常低,但它们数量多呀,可以多达几千个,也因此它们能学到比我们多数千倍的东西。也就是说现在的 LLM 比我们任何人都更加博学。

超级智能会终结人类文明吗?

接下来 Hinton 提出了一个问题:「如果这些数字智能并不通过蒸馏非常缓慢地学习我们,而是开始直接从现实世界学习,那么会发生什么呢?」

图片

实际上,LLM 在学习文档时就已经在学习人类数千年所积累的知识了。因为人类会通过语言描述我们对世界的认识,那么数字智能就能直接通过文本学习来获得人类积累的知识。尽管蒸馏的速度很慢,但它们也确实学到了非常抽象的知识。

如果数字智能可以通过图像和视频建模来进行无监督学习呢?现在的互联网上已有大量影像数据可供使用,未来我们也许能够找到让 AI 有效学习这些数据的方法。另外,如果 AI 有机器臂等可以操控现实的方法,也能进一步帮助它们学习。

Hinton 相信,如果数字智能体能做到这些,那么它们的学习能力将远远胜过人类,学习速度也会很快。

现在就回到了 Hinton 在开始时提出的问题:如果 AI 的智能水平超过我们,我们还能控制住它们吗?

Hinton 表示,他做这场演讲主要是想表达出他的担忧。他说:「我认为超级智能出现的时间可能会远远快于我之前所想。」他给出了超级智能掌控人类的几种可能方式。

图片

比如不良行为者可能会利用超级智能来操控选举或赢得战争(实际上现在已经有人在用已有 AI 做这些事情了)。

在这种情况下,如果你想要超级智能更高效,你可能会允许它自行创建子目标。而掌控更多权力是一个显而易见的子目标,毕竟权力越大,控制的资源越多,就更能帮助智能体实现其最终目标。然后超级智能可能会发现,通过操控运用权力的人就能轻松获得更多权力。

我们很难想象比我们聪明的存在以及我们与它们互动的方式。但 Hinton 认为比我们聪明的超级智能肯定能学会欺骗人类,毕竟人类有那么多小说和政治文献可供学习。

一旦超级智能学会了欺骗人类,它就能让人类去进行它想要的行为。这和人骗人其实没有本质区别。Hinton 举例说,如果某人想要入侵华盛顿的某栋大楼,他其实无需亲自前去,他只需要欺骗人们,让他们相信入侵这栋大楼是为了拯救民主。

「我觉得这非常可怕。」Hinton 的悲观溢于言表,「现在,我看不到该怎么防止这种情况发生,但我已经老了。」他希望青年才俊们能够找到方法让超级智能帮助人类生活得更好,而不是让人类落入它们的控制之中。

但他也表示我们有一个优势,尽管是相当小的优势,即 AI 不是进化而来的,而是人类创造的。这样一来,AI 就不具备原始人类那样的竞争性和攻击性目标。也许我们能够在创造 AI 的过程中为它们设定道德伦理原则。

不过,如果是智能水平远超人类的超级智能,这样做也不见得有效。Hinton 说他从没见过更高智能水平的东西被远远更低智能水平的东西控制的案例。就假设说如果是青蛙创造了人类,但现在的青蛙和人类又是谁控制谁呢?

最后,Hinton 悲观地放出了这次演讲的最后一页幻灯片:

图片

这既标志着演讲的结束,也是对全体人类的警示:超级智能可能导致人类文明的终结。

参考:Hinton演讲报告《通往智能的两种道路》

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

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

相关文章

一键生成PDF即刻呈现:轻松创建无忧体验

在信息爆炸的时代,我们每天都在与各种文件、资料打交道。无论是工作中的报告、合同,还是学习中的笔记、论文,如何高效、安全地管理这些珍贵的资料,成为了我们迫切的需求。幸运的是,随着科技的发展,我们不再…

SpringBoot Admin 详解

SpringBoot Admin 详解 一、Actuator 详解1.Actuator原生端点1.1 监控检查端点:health1.2 应用信息端点:info1.3 http调用记录端点:httptrace1.4 堆栈信息端点:heapdump1.5 线程信息端点:threaddump1.6 获取全量Bean的…

【Python笔记-设计模式】享元模式

一、说明 享元模式是一种结构型设计模式,它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状态,让你能在有限的内存容量中载入更多对象。 (一) 解决问题 旨在减少大量相似对象创建时的内存开销 (二) 使用场景 大量…

AI:136-基于深度学习的图像生成与风格迁移

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

微服务三十五关

1.微服务有什么好处? 微服务优点很多,但是我们通常说一个东西好肯定会跟另一个东西比较, 通常说微服务好会和单体项目进行比较。以下是微服务相对于单体项目的一些显著好处: 首先,让我们讨论单体项目的一些主要缺点&a…

在线程调用的函数中使用pthread_exit同样会将线程退出

如上图所示,在func()函数中调用pthread_exit,同样可以退出当前线程; 类似的,如果func()函数中调用exit,可以直接退出整个进程。 return 是返回到函数调用处; pthread_exit是退出…

KTV点歌系统vue+springboot音乐歌曲播放器系统

目前现有的KTV点歌系统对于用户而言其在线点歌流程仍然过于繁琐,对于歌曲而言其系统安全性并不能保障。同时整套系统所使用的技术相对较为落后,界面不能动态化展示。相比较于其它同类型网站而言不能体现技术先进性。 1.2 项目目标 KTV点歌系统的后台开发…

wpf 3d 后台加载模型和调整参数

下载了一个代码,加载obj模型;它的参数在xaml里,模型加载出来刚好; 然后加载另一个obj模型;加载出来之后大,偏到很高和左的位置; 它之前的摄像机位置, Position"9.94759830064…

Apache celeborn 安装及使用教程

1.下载安装包 https://celeborn.apache.org/download/ 测0.4.0时出现https://github.com/apache/incubator-celeborn/issues/835 2.解压 tar -xzvf apache-celeborn-0.3.2-incubating-bin.tgz 3.修改配置文件 cp celeborn-env.sh.template celeborn-env.shcp log4j2.xml.…

前后端分离Vue+nodejs校园论坛bbs系统x450z

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode本论文拟采用计算机技术设计并开发的论坛bbs系统,主要是为用户提供服务。使得用户可以在系统上查看帖子信息、签到积分等…

详解Megatron中的数据混合算法(BlendableDataset)

🧑‍💻 本文主要讲解Megatron早期版本中的数据混合算法。 目录 1. 数据混合2. 源码解析3. 证明部分&讨论4. 进一步优化 1. 数据混合 在谈源码之前,我们有必要先了解一下Megatron中的数据混合思想。 给定 n n n 个数据集 D 1 , D 2 , …

给定一个边与边可能相交的多边形,求它的轮廓线

大家好,我是前端西瓜哥。 最近遇到一个需求,给定一个多边形(边与边可能相交),求这个多边形的轮廓线。 需要注意的是,轮廓线多边形内不能有空洞,使用的不是常见的非零绕数规则(nonze…

Java+SpringBoot,打造极致申报体验

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

2024全国水科技大会暨流域水环境治理与水生态修复论坛(六)

论坛召集人 冯慧娟 中国环境科学研究院流域中心研究员 刘 春 河北科技大学环境与工程学院院长、教授 一、会议背景 为深入贯彻“山水林田湖是一个生命共同体”的重要指示精神,大力实施生态优先绿色发展战略,积极践行人、水、自然和谐共生理念&…

opencascade在vs和qt下改变视图方向和设置线框模式

一.改变视图方向(以顶部视图为例) 1.在qt的界面代码中设置好 2.在view.h中设置好槽函数 3.在lzzcad.cpp中设置槽与信号的连接,并在工具栏上显示 4.在view.cpp中给出函数实现 5.给出快捷键实现方式 二.设置线框模式 同上,加入函数…

[深度学习]yolov9+deepsort+pyqt5实现目标追踪

【YOLOv9DeepSORTPyQt5追踪介绍】 随着人工智能技术的飞速发展,目标追踪在视频监控、自动驾驶等领域的应用日益广泛。其中,YOLOv9作为先进的目标检测算法,结合DeepSORT多目标追踪算法和PyQt5图形界面库,能够为用户提供高效、直观…

python-可视化篇-简单-条形图输出主要省份GDP排名情况

条形图输出主要省份GDP排名情况 代码 gdp广东:97277.77:107671.07 江苏:92595.40:99631.52 山东:76469.70:71067.5 浙江:56197.00:62353 河南:48055.90:54259.2 四川:40678.10:46615.82 湖北:39366.60:45828.31 湖南:36425.78:39752.12 河北:36010.30:35104.5 福建:35804.04:…

windows安装 RabbitMQ

首先打开 RabbitMQ 官网,点击 Get Started(开始) 点击 Download Installation(下载安装)。 这里提供了两种方式进行安装,我们使用第二种方法。 使用 chocolatey以管理用户身份使用官方安装程序 往下滑,第二种方法需要 Erlang 的依赖&#x…

mongoose httpserver浅析

文章目录 前言一、结构体及其功能二、函数MG_LOGmg_http_listenmg_mgr_poll question参考链接 前言 mongoose是一款基于C/C的网络库,可以实现TCP, UDP, HTTP, WebSocket, MQTT通讯。mongoose是的嵌入式网络程序更快、健壮,易于实现。 mongoose只有mong…

qt波位图

1&#xff0c;QPainter 绘制&#xff0c;先绘制这一堆蓝色的东西, 2&#xff0c;在用定时器&#xff1a;QTimer&#xff0c;配合绘制棕色的圆。用到取余&#xff0c;取整 #pragma once#include <QWidget> #include <QPaintEvent>#include <QTimer>QT_BEGIN_…