斯坦福-CS25-Transformer-原理笔记-一-
斯坦福 CS25 Transformer 原理笔记(一)
P1:1. 改变 NLP、CV、RL 的 DL 模型 - life_code - BV1X84y1Q7wV
大家好,欢迎来到 CS25《变压器联合》的第一节入门讲座。CS25 是我们三个人在 2021 年秋季于斯坦福大学创办并教授的一门课程,课程内容并不是如图片所示的那样关于可以变形为汽车的机器人,而是关于深度学习模型,特别是一种已经在多个领域引发革命的深度学习模型,涉及自然语言处理、计算机视觉和强化学习等多个方面。我们为大家准备了一系列激动人心的视频,并邀请了一些真正杰出的讲者,分享他们如何在自己的研究中应用变压器模型。
我们希望您能享受并从这些讲座中学习,这段视频纯粹是介绍性讲座,谈论一下变压器。在开始之前,我想介绍一下讲师,所以我叫 A,是一家名为 Applied Intuition 的公司的软件工程师。在此之前,我是在斯坦福大学的硕士生。
嗨,大家好。我是 CS 25 的共同讲师之一,Chaanya Dave。如果你们两个可以介绍一下自己就好了。大家好,我是一个博士生,在 exampleford 学习,在此之前我在这里攻读硕士学位,研究很多生成建模、强化学习和机器人,所以很高兴见到大家。是的,那是 Dave。他的名字是 Chaanya,如果你想介绍一下自己的话。是的,大家好,我的名字是 Chaanya,目前我在一家名为 BoWorks 的创业公司担任机器学习工程师。在此之前,我在斯坦福大学攻读硕士,专注于自然语言处理,并且是获得 Alexa 奖挑战赛的斯坦福获奖团队的一员。
好的,太棒了。那么,接下来我们要谈论这个讲座的其他内容。我们希望你在观看这些视频时能够学到的,以及我们希望在 2021 年秋季参加我们课程的人学到的有三件事,第一件是我们希望你能理解变压器的工作原理。
其次,我们希望您能够学习,并在这些讲座结束时理解变压器如何在自然语言处理之外被应用。第三,我们希望这些讲座中的一些内容能够激发您心中的新想法,并希望能够引导您走向新的研究方向。
新型创新以及类似的事物。首先,我们将稍微谈谈变压器,并介绍一些与变压器相关的背景。因此,我想把话题交给戴夫。嗯,大家好,欢迎参加我们的变压器研讨会。我将首先概述注意力时间线,以及它是如何成为变压器的关键理念的。变压器的关键思想是 2017 年开发的子注意力机制,这一切始于一篇名为“注意力即你所需”的论文。在 2017 年之前,我们经历了一个史前时代,当时使用较旧的模型,比如 RNN、LSTM 和更简单的注意力机制。最终,变压器的增长扩展到了其他领域,并在整个机器学习中变得非常重要。我将展示它是如何被使用的。在史前时代,曾经有 RNL。
有不同的模型,比如序列序列 LSTM,它们在编码某种记忆方面表现不错,但在编码长序列时效果不佳,并且在编码上下文方面也非常差。因此这里有一个例子,如果你有一个句子,比如“我在法国长大……所以我说流利的”,那么你想根据上下文填入一些像法语的内容,但像 LSTM 模型可能不知道这是什么,可能会在这里犯一个很大的错误。同样,我们可以在这里展示某种相关性图谱,如果你有一个代词像“它”,我们想要将其与之前看到的某个名词相关联,比如一个动物,但同样,旧模型在这种上下文编码上真的很差。
目前我们正处于起飞的边缘,我们开始意识到变压器在不同领域的潜力。我们已经开始使用它们来解决蛋白质折叠中的长序列问题,比如来自 DeepMind 的 AlphaFold 模型,在不同挑战中的准确率达到 95%。我们可以将其用于文本和图像的少量短期无中心化应用,我们还可以用它进行内容生成。以下是来自 OpenAI 的一个例子,你可以给出不同的文本提示,让 AI 为你生成虚构的图像。
所以有一个辩论你也可以在 YouTube 上观看。它基本上说 LS 学生已经去世,变压器长存。那么未来如何使变压器能够启用更多的应用呢?它们可以应用于任何形式的序列建模,所以我们可以用它们来真正理解,金融领域以及更多的应用。所以,基本上想象一下各种遗传建模问题。
然而,还有许多缺失的成分,所以像人类大脑一样,我们需要某种外部记忆单元,这就是海马体。他们在这里提到了一些早期的工作,其中一项值得你关注的研究叫做神经治疗机器。类似地,目前的注意力机制在时间上非常复杂,这一点在规模上也同样明显,我们稍后会讨论这一点,我们希望使它们更线性。第三个问题是,我们希望将当前的语言模型与人类大脑的工作方式和人类价值观对齐,这也是一个重大问题。
好的,现在我将深入探讨紧张机制,并展示它们是如何产生的。最初,注意力机制非常简单,它的灵感来自于重要性评分的过程。在图像的不同部分上操作注意力,类似于人类在看到一张狗的图像时,可能会更多地关注前景,而不是背景。因此,在软注意力的情况下,你所做的是为每个像素学习简单的软注意力权重,这个权重可以在 0 到 1 之间变化。这里的问题是,这是一个非常昂贵的计算。正如左侧图中所示,我们正在为整个图像计算这个注意力,你可以选择的替代方法是……
点击一个零到一的注意力图,我们直接在狗的位置上标记一个一,而在背景上标记零,这样的方式竞争较少且成本低,但问题是它不具备防御性,并且让训练变得更加困难。往前看,我们还有不同种类的基本注意力机制,这些机制是在自我保留之前提出的,所以这里的第一种变体是全局注意力模型。在全局注意力模型中,对于每个隐藏层。
层输入甚至层输出,你学习一个注意力权重 A 与 P,这是与当前输出逐元素相乘,以计算最终输出 Y。类似地,你有局部注意力模型,在这些模型中,你不是计算整个序列长度上的全局注意力,而是仅在一个小窗口内计算注意力,然后将窗口的注意力加权到当前输出中,以获得所需的最终输出。
接下来,我将把时间交给 Chattanya,让他讨论细胞保留机制和课堂教学。谢谢您,博士,感谢您简要概述了早期注意力机制的工作原理,现在在我们谈论自注意力之前,有一个小趣闻,这个术语最早是在 Lial 的一篇论文中引入的,该论文提供了自注意力机制的框架,用于句子的处理。现在我们进入变换器论文的核心内容,即自注意力模块。自注意力是变换器模型运行良好的主要构建块,使其功能强大。为了更容易理解,我们可以将自注意力视为一个搜索和检索问题。问题是,给定一个查询队列,我们需要找到一组与队列 Q 最相似的键 K,并返回对应的值 V。
现在这三个向量可以从同一个来源绘制,例如,我们可以将 Q、k 和 V 都等于一个单一的向量 x,其中 x 可以是前一层的输出。变压器。这些向量是通过对 ws 应用不同的线性变换获得的,以使模型能够捕捉句子中不同位置不同符号之间的更复杂交互。现在注意力的计算只是查询向量和键向量之间相似度的加权求和,权重由这些键的各自值加权。
在变压器论文中,他们使用缩放点积作为查询和键的相似性函数。另一个变压器的重要方面是引入了多头自注意力。因此,多头自注意力的意思是每一层都有单元注意力。自注意力执行多次,这使得模型能够学习多个表示子空间。
所以,从某种意义上来说,你可以认为每个头都有能力关注不同的事物并学习不同的语义。例如,一个头可能在学习尝试预测那些标记的词性。另一个头可能在学习句子的句法结构,以及理解即将到来的句子的含义所需的所有内容。现在,为了更好地理解自注意力的工作原理以及不同的计算。
有一个简短的视频。あそう那。在这里,你可以看到有三个输入标记。输入一个到输入三,我们应用线性变换来获取每个输入的关键值向量,然后给出一个查询立方体。我们计算与各自关键向量的相似性,然后将这些分数与值向量相乘,最后将它们全部相加以获得输出。然后对所有标记执行相同的计算,因此你可以看到,自注意层的最终输出是深绿色的,位于屏幕的顶部。
所以现在再次针对最后一个标记,我们执行所有相同的查询乘以键。我们得到了相似度分数,然后这些相似度分数成为值向量。最后,我们执行教育,以获得变换器的销售关注输出。来。除了自我重塑,还有一些其他必要的成分使得变换器如此强大,一个重要的方面是位置表示或嵌入层的存在,因此这种处理信息的顺序方式非常有效,因为它们以顺序方式处理每个信息,因此这种排序的概念是正确的,这在理解语言时也非常重要,因为我们都知道,在大多数语言中,我们从左到右阅读任何文本,而在某些语言中则是从右到左,因此在某种自我重塑中,排序的概念是丢失的,因为每个词都在关注其他每个词,这就是为什么这篇论文引入了单独的嵌入层来引入位置表示。
第二个重要方面是具有非线性。因此,如果你考虑在细胞潜力层发生的所有竞争,它都是线性的,因为这都是度量的乘法。但是正如大家所知,深度学习模型在能够学习输入与输出之间更复杂的映射时表现良好,这可以通过一个简单的 MLP 实现。第三个重要组成部分是变换器的掩蔽。
因此,掩蔽是使操作能够被禁用的原因,因为在变换器的解码器部分,每个词可以关注其他所有词,而接下来要讨论的问题是,你不希望解码器查看未来的信息,因为这可能导致数据泄露,所以掩蔽有助于解码器避免未来信息的影响,只学习到目前为止模型所处理的内容。
现在我们来谈谈变压器的编码器 E 架构。是的,谢谢 Sasonia 提到自我保留。自我注意力是变压器能够如此有效工作的关键成分之一。但从高层次来看,2017 年 vwa etal 论文中提出的模型与之前的语言模型相似,因为它具有编码解码器架构。这意味着,假设你在处理翻译问题,你想将英语翻译成法语,那么它的工作方式是,你会读取整个英语句子的输入,你会对该输入进行编码,这就是网络的编码器部分,然后你会逐个生成对应的法语翻译,而解码器是负责生成这些标记的网络部分。
所以你可以把这些编码器块和解码器块看作是类似乐高的东西。它们由这些子组件组成,特别是编码器块有三个主要的子组件,第一个是自我保留层,之前的 Cheania 也提到过这一点。
之后你需要一个前馈层,因为自我保留层只执行线性操作,因此你需要一些能够捕捉非线性特征的东西。你在这之后还有一个层归一化,最后,不同编码器块之间有残差连接。
解码器与编码器非常相似,但有一个区别,就是它多了一层,因为解码器不仅对前一层的输出进行多头注意力处理。所以为了提供背景,编码器在编码块中的每个自注意力层都进行多头注意力处理。
在每个编码块中,它确实存在。多头注意力机制查看编码块的前几层。然而,解码器的工作方式是它同样查看解码器的前几层,但它也会查看编码器的输出,因此它需要在编码块上使用多头注意力层。最后,还有遮蔽机制,因为每个标记可以查看其他每个标记,你需要确保在解码器中不查看未来,所以如果你在位置三的情况下。
你不应该能同时查看第四个和第五个位置。W 持。因此,这些大致就是促成 Vaswani 等人论文中模型创建的所有组成部分。😊,让我们稍微谈谈这个模型的优缺点。所以两个主要优势,这些是巨大的优势,也正是变压器在许多领域取得巨大成功的原因。
深度学习的许多领域如下,第一个是序列中任意两个位置之间存在恒定的部分长度,因为每个token都在查看其他token,这基本上解决了我之前提到的长序列问题。在长序列中,如果你试图预测一个依赖于某个单词的token,你不会遇到这个问题。
这在很久以前的一个句子中,你现在没有失去上下文的问题,二者之间的距离在部分长度上仅为一。同时,由于正在发生的计算的性质,变换器模型非常适合并行化,并且由于我们在 GPU 方面取得的进展,基本上,如果你使用一个具有 n 个参数的变换器模型,和一个不是变换器的模型,比如一个 MSTM,同样也具有 n 个参数,那么训练变换器模型将会快得多,因为它利用了并行化的优势。
所以这些是优点,缺点基本上是自注意力需要二次时间,因为每个标记都要查看每个其他标记,或者说是 n 的平方,正如你所知,这不具备扩展性,实际上已经有很多工作在尝试解决这个问题。所以我们在这里链接了一些内容,Big Bird、Leanformer和Reformer都是试图使其线性或准线性的方法。
😊,我们强烈推荐查看 J Aammer 的博客《插图变压器》,它提供了很好的可视化,并详细解释了我们刚刚讨论的内容。是的,我想把话题交给 Chaanya,让她讲讲变压器的应用。好的,现在我们来谈谈一些最近的工作,以及在《变压器》论文之后不久进行的一些研究。
所以出现的模型之一是 GPT,GPT 架构是由 OpenAI 发布的,因此 OpenAI 在 GPT 系列中最新的模型是 GPT-3,它仅由变压器的解码器块组成,并且专注于我们传统的语言建模任务,即预测当前标记,即根据模型已看到的最后 T 个标记生成下一个标记。对于任何下游任务,现在模型可以仅在最后的隐藏状态上训练一个分类层,这可以拥有任意数量的标签,并且由于模型本质上是生成性的。
你还可以将预训练网络用于生成类型的任务,例如摘要和自然语言处理。对于这个例子。另一个使 GPT-3 受欢迎的重要方面是它能够进行上下文学习,作者称之为上下文学习,这是一种模型在少量示例设置下学习完成任务的能力,而无需进行大量输入。例如,假设模型展示了一堆加法示例,然后如果你输入一个新的内容并仅留一个等号,模型尝试预测下一个标记,这通常会是所示数字的和。另一个例子可以是拼写校正任务或翻译任务,这就是使 GPT-3 在自然语言处理领域备受关注的能力,目前也有许多应用使用了 GPT。
其中一个例子是 VS Code 中的 Copit,它试图根据某种自然语言文本生成一段代码。另一个基于 Transformers 架构的主要模型是 BT,BRT 这个名字来源于其全称“双向编码编码器变换器”(Bidirectional Encoder Representations from Transformers)。
它仅由变换器的编码器块组成,这与只包含解码器块的 GPT3 不同。现在,由于这一变化,出现了一个问题,因为 BRT 只有编码器块。它能够看到整段文本,但无法在刀语言现代任务上进行预训练,因为存在未来数据泄露的问题。因此,作者提出了一个聪明的想法,他们提出了一种新任务,称为大规模语言建模。
这包括用占位符替换某些鸟类,然后模型根据整个上下文尝试预测这些单词。现在,除了这个整体任务外,作者还添加了一个名为下一个句子预测的第二个目标。
这是一个句子级的任务,其中给定两段文本。模型试图预测第二句是否跟随第一句,或者是否不跟随第一句,而现在在预训练后,该模型可以用于任何下游任务。
这个模型可以在额外的分类层中进一步微调,就像在 GPP3 中一样。因此,这两个模型非常受欢迎,并且在许多应用中取得了很大成功。但自从我们上这门课以来,形势发生了很大变化,出现了不同技术的模型,比如 E deerta,还有一些在其他模态下表现良好的模型,我们将在其他讲座系列中讨论这些内容。所以,这就是本次讲座的全部内容,谢谢你的收看。
是的,我想最后感谢大家观看这个视频,我们有一系列令人兴奋的视频,邀请了真正了不起的演讲者,希望你们能从中获得价值。
,谢谢马克,谢谢你,谢谢大家。
P10:10. 在神经网络中表示部分-整体层次结构,Geoff Hinton - life_code - BV1X84y1Q7wV
在开始之前,我最近在斯坦福做了同样的演讲。我建议邀请我的人可以让我只做一次演讲,让两个观众一起参与,但他们更希望分开成两场演讲。所以如果你最近参加了这个演讲,我建议你现在离开,你不会学到任何新东西。
好的。嗯。我将结合一些关于神经网络的最新想法,尝试解释一个神经网络如何表示部分-整体层次结构,而不违反神经元工作的基本原则。我将通过一个假想系统来解释这些想法。我开始为一个系统写设计文档,最后我决定这个设计文档本身相当有趣。
所以这只是一种虚幻的东西,实际上并不存在,只有小部分不真实。但不知为何,我发现很容易在一个假想系统的背景下解释这些想法。所以,现在大多数学习神经网络的人都在做工程,他们并不在意这是否正是大脑的工作方式。他们并不是在试图理解大脑是如何运作的,而是在努力创造酷炫的技术。
因此,在一个残差网络中,100 层是可以的,卷积神经网络中的权重共享也是可以的。一些研究人员,特别是计算神经科学家,研究神经网络,试图理解大脑可能的工作方式。我认为我们仍然有很多东西可以向大脑学习。
我认为值得记住的是,在大约半个世纪的时间里,推动神经网络研究的唯一动力就是相信这些东西能够学习复杂的内容,因为大脑可以。所以,每个图像都有一个不同的通路树,这就是图像中孔和部分的结构。在一个真正的神经网络中,你不能动态分配。
你不能随便抓一堆神经元说,好吧,你现在代表这个。因为你没有随机的额外记忆,你不能随意设置神经元的权重。神经元的功能是由它的连接决定的,而这些连接变化缓慢。
至少变化大多是轻微的。嗯。所以问题是,如果你不能快速改变神经元的功能,如何表示一个动态的通路树?在符号人工智能中,这不是问题。你只需抓取一块内存,这通常就是其本质,说明这将代表通路中的一个节点,并给它指向其他节点的指针。其他内存块表示其他节点,因此没有问题。大约五年。
我曾尝试一种名为胶囊的理论。你可以说,由于不能动态分配神经元,因此你将提前分配它们,所以我们将把一组神经元分配到潜在节点中。
对于大多数图像,这些神经元组中的大多数将是静默的。少数会处于活动状态。而对于那些活跃的神经元,我们必须动态地将它们连接到一个树状结构中。因此,我们必须有一种方法来在这些神经元组之间进行连接。这就是胶囊理论。
我有一些非常有能力的人与我合作,他们实际上使这一切工作。但过程相当艰难。我的看法是,某些副想法想要发挥作用,而有些想法则不愿意工作,而胶囊理论则介于两者之间,比如反向传播这样的想法则想要工作,你尝试它们,它们就会有效,而我有些其他想法就是不愿意工作,胶囊理论则在两者之间,我们最终使它工作了。
但我现在有一个新的理论,可以看作是一种奇怪的胶囊模型,其中每个胶囊是通用的。也就是说,与其将胶囊专用于某种特定的事物,每个胶囊可以表示任何种类的事物。但是硬件仍然以胶囊的形式出现,这种胶囊有时也被称为嵌入。因此,我将谈论的虚拟系统称为 Gm。
在 Gam 中,硬件分配给列。每列包含对图像小补丁中发生的事情的多个层次的表示。因此,在一列中,你可能有一个较低层次的表示,表示这是一个鼻孔。接下来的层次可能表示这是一个鼻子,再往上层可能表示这是一个脸,顶层可能表示这是一个派对,这就是整个场景。
表示部分空心层次结构的想法是利用这些不同层次的嵌入之间的共识岛屿。因此,在场景层面,在顶层,你希望图像的每个补丁都有相同的嵌入,因为该补丁是同一场景的补丁。
在对象层面上,你希望属于该对象的所有不同补丁的嵌入都是相同的。因此,随着你向上移动这个层次结构,你试图让事物越来越相似。这就是你挤压冗余的方式。嵌入向量像指针一样起作用,嵌入向量是动态的。它们是神经激活而不是神经权重。
因此,为每个图像拥有不同的嵌入向量是可以的。这是一个小图示,如果你有一个一维的补丁行。这些是补丁的列。而且,你会有类似于神经网络前端的卷积。然后在前端之后,你生成最低级别的嵌入,以说明每个特定补丁中发生了什么,因此底层的黑色箭头都不同。当然,这些嵌入是成千上万维的。
也许在你大脑中有成千上万的这种情况。因此,二维向量并不准确。但至少我可以通过方向来表示两个向量是否相同。所以在最低层面,所有的补丁都会有不同的表示。但下一个层面,前两个补丁,它们可能是鼻孔的一部分,例如。嗯。是的。
它们会有相同的嵌入。但上面的下一个层面,前三个补丁可能是鼻子的部分。所以它们都会有相同的嵌入。注意,尽管图像中的内容非常不同,但在部分层面上,那三个红色向量都是意味着相同的。
我们正在做的是为表面上非常不同的事物获取相同的表示。😊我们通过给予不同事物相同的表示来寻找图像中的空间一致性。😊在物体层面上,你可能有一个鼻子和一个老鼠。它们是同一张脸,它们是同一张脸的一部分,因此所有这些向量都是相同的,而这个网络尚未稳定到产生看不见的层面。
所以一致性的岛屿捕捉到了过去的树。现在它们比过去的树更强大,它们可以捕捉像“闭嘴”这样的东西。你可以在一个层面上将“闭”与“嘴”看作不同的向量,但在更高层面上,“闭嘴”可以有完全相同的向量,即“闭嘴”的向量。
它们可以是断开的,所以你可以在这里做一些比上下文无关文法更强大的事情。但基本上,它是一个过去的真实。如果你是物理学家,你可以将每个层面视为一个冰淇淋模型。用实值向量而不是二进制自旋。你可以认为它们是层间的坐标变换。
这使得情况更加复杂,这是一种多层次的冰淇淋模型。但是各层之间有复杂的互动,因为,例如。在上面的红色箭头和黑色箭头之间。你需要在鼻子和脸之间进行坐标变换,但我们稍后会讨论这个。
如果你不是物理学家,那就忽略这些,因为这没有帮助。所以我想开始,特别是在自然语言课程中,对你们中的一些人来说,这尤其相关。通过试图证明坐标系统不仅仅是笛卡尔发明的。坐标系统早在很久以前就由大脑发明了。
我们在理解图像中的内容时使用坐标系统。我还想展示图像中过去树的心理现实。所以我将用一个我很久以前发明的任务来进行演示。事实上是在 1970 年代,当时我还是研究生。你需要完成这个任务才能充分受益于它。
所以我想让你想象在你面前的桌面上,有一个线框立方体。它处于立方体的标准朝向,静静地放在桌面上。从你的视角来看,有一个前下右角和一个后上左角。好了,开始吧。前下右角和其他四个角一样,都在桌面上。
而后上左角位于穿过立方体中心的对角线的另一端。好的,到目前为止一切顺利。现在我们要做的是旋转立方体,使得这个手指保持在桌面上,另一个手指垂直地指在它上方。😊,这个手指不应该移动。好的。现在我们把立方体放在一个朝向上,使得原本是对角线的东西现在是垂直的。
你要做的就是用底部的手指,因为它仍然在桌面上,指向立方体的其他角。所以我希望你实际去做,来吧,拿起你的底部手指。把你的顶部手指放在那条对角线的另一端,然后指向其他角在哪里。幸运的是,大多数你们,其他人可能看不到你做了什么,我可以看到你们中有些人没有指,这非常糟糕。
所以大多数人会指出其他四个角,最常见的反应是说它们在这里、这里、这里和这里,他们在那条轴的中间画出一个正方形的四个角。嗯。这是错误的。正如你所想象的那样,很容易看出这是错误的,因为如果你想象这个立方体,正常的朝向,并且数角,一共有八个角。而这两个角就是其中之一。
那么其他两个角去哪里了呢?有一种理论认为,当你旋转立方体时,离心力使它们飞入你的无意识,这并不是一个很好的理论。那么,发生的事情是,除非你是像结晶学家那样的人,否则你对其他角的去向毫无头绪。你可以想象立方体的某些部分,但你就是无法想象其他角的结构。
它们形成什么结构。这种人们常见的反应是四个角在一个正方形中。正在做一些非常奇怪的事情。试图说,好的,我不知道立方体的样子,但我对立方体有些了解。我知道角是成四个出现的,我知道立方体具有四重旋转对称性或两个平面的双侧对称性,但都是直角的。因此,人们在回应中保持了立方体的对称性。
他们给出了四个角在一个正方形中。现在,如果他们这样做,实际上他们指的是什么是两个金字塔。每个金字塔都有一个正方形底面,一个是倒过来的,它们底对底地粘在一起。所以你可以很容易地想象,一个正方形底面的金字塔下面再有一个。于是现在你的两个手指作为这两个金字塔的顶点。
有趣的是,你在做一些相当激进的事情的代价下,保留了立方体的对称性,那就是将面变成顶点,顶点变成面。你指出的事情是,如果你这样做,得到了一个八面体。它有八个面和六个顶点,而立方体有六个面和八个顶点。😊所以为了保留你所知道的立方体的对称性。
如果你这样做了,那真的很激进,改变了面与顶点之间的关系。嗯。我应该给你展示一下答案是什么样子的,所以我将后退一步,尝试得到足够的光,也许你可以看到这个立方体。所以这就是一个队列。你可以看到其他边。
前面的编码是 Zigza 环绕中间的样子。我有它的图片。这些有色杆是立方体的其他边,不接触你的指尖。你的顶部手指连接到这些翻转的三个顶点,而你的底部手指连接到最底部的三个顶点。
而立方体的样子是你对它完全没有想法的,这只是一个完全不同的立方体模型,它如此不同,我给它一个不同的名字,我称它为六面体。😊值得注意的是,六面体和立方体在概念上是完全不同的。
如果你把一个看作正方体,另一个看作立方体,你甚至不会知道它们是相同的。这就像倾斜的正方形和直立的菱形之间的模糊性,但更强大,因为你对它不熟悉。嗯。这就是我的演示,表明人们确实使用坐标系统,如果你用不同的坐标系统来描述事物。
在这里,我强迫你使用不同的坐标系统,使对角线竖直,并要求你相对于这个垂直轴进行描述。然后熟悉的事物变得完全陌生。😡当你相对于这个新框架看到它们时,它们就是完全不同的东西。注意,卷积神经网络没有那样的。
他们不能看着某样东西,却对同一事物有两个完全不同的内部表征。我还在向你展示你确实在解析,所以我把它涂成颜色,你将它传递给我所称的皇冠,它有三个向上倾斜的三角形翻转。这里有一个不同的政策。相同的绿色翻转向上倾斜并向外扩展,现在我们有一个向下倾斜并向外扩展的红色翻转。
我们有一个中央矩形,而你只有矩形的两个端点。如果你感知到这个,现在闭上眼睛问你,那里有没有平行边?
你非常清楚那两条蓝边是平行的。通常你不会意识到其他任何平行线,尽管你知道通过对称性,必然还有其他对。同样,对于皇冠,如果你看到皇冠,然后我让你闭上眼睛,问你平行线在哪里,你不会看到任何平行线。
这就是因为你为那些襟翼使用的坐标系统与边缘不对齐,只有当它们与所用坐标系统对齐时,你才会注意到平行线,所以在这里对于矩形,平行线与襟翼的坐标系统对齐,而它们并没有。
所以你意识到这两条蓝边是平行的。但你没有意识到一条绿色边和一条红色边是平行的。嗯。这不像内克尔立方体的模糊性,当它翻转时。你认为现实中的东西不同,事物处于不同的深度。
这就像下个周末我们应该去拜访亲戚。因此,如果你拿下个周末我们将拜访亲戚这句话,它可以意味着下个周末我们要做的就是拜访亲戚。或者它可以意味着下个周末我们将是拜访亲戚。
现在这些是完全不同的意义,它们恰好有相同的真值条件。在真值条件上它们意味着相同的东西,因为如果你正在拜访亲戚。你就是在拜访亲戚。正是这种模糊性。对世界上发生的事情没有分歧。
但是对句子的两种完全不同的看法。因此。这是在 1970 年代绘制的。这就是 1970 年代的人工智能。这是一种皇冠解释的结构描述。因此,你为层次结构中的各个部分设置了节点。我还在弧上标注了 RWx 是皇冠与襟翼之间的关系。
而这可以用矩阵表示,实际上是铬的内在参考框架与襟翼的内在参考框架之间的关系。😊,请注意。如果我改变我的视角,这一点完全没有改变。😡。所以这种关系将是放入神经网络权重中的好东西,因为你希望神经网络能够独立于视角识别形状。而 RWX 是关于这种形状的知识,它独立于视角。
这是锯齿形的解释。还有其他我添加的内容。在深蓝色框中的事物。它们是之间的关系。😡,指的是 aode 和观众。更明确地说,是皇冠的内在参考框架与观众的内在参考框架之间的坐标变换。你的眼球就是那个 R WV。这完全是另一种东西,因为当你改变视角时,那会改变。
实际上,当你改变视角时,所有蓝框中的事物都会以一致的方式一起变化。还有一个简单的关系,就是如果你取 RWV 并乘以 RWx。你会得到 Rx v。因此,你可以轻松地在结构描述中传播视角信息。这就是我认为的心理图像,而不是一堆像素。
这是一个结构描述,带有关联视点信息。嗯。这让许多心理图像的特性变得有意义。比如,如果你想用 RWX 进行任何推理,你会形成一个心理图像。也就是说,你填写了你选择的视点。我还想做一个演示来让你相信,在解决心理想象问题时你总是选择一个视点。
所以我将给你另一个非常简单的心理想象问题,冒着超时的风险。想象一下。你在一个特定的点上,向东走一英里,然后向北走一英里,然后再向东走一英里。你回到起点的方向是什么?这并不是一个很难的问题。它有点向南,并且相当向西,对吧?并不完全是西南。
但它有点向西南。现在,当你完成那个任务时。你从你的视点想象的是你向东走一英里,然后向北走一英里,再向东走一英里。我告诉你你没有想象的是什么,你没有想象你向东走一英里,然后向北走一英里,再向东走一英里。你本可以在北方不指向上方的情况下很好地解决这个问题,但你是以北为 A。
你也没有想象这个,你向东走一英里,然后向北走一英里,再向东走一英里。你没有想象这个,你向东走一英里,然后向北走一英里,等等。你在特定的比例、特定的方向和特定的位置进行了想象。😊。就是这样。你可以回答关于它大致有多大的问题等等。
所以这证明了,解决涉及使用事物之间关系的任务时。你会形成一个心理图像,好吗,这就是心理想象。因此,我现在将给你一个非常简短的对比学习介绍。这在演讲中是一个完全的断裂,但我会很快把它们重新结合起来。所以。
与自我智慧学习相对,我们所尝试做的是让图像的两个不同裁剪部分具有相同的表示。嗯。很久以前,Becker 和 Hinton 有一篇论文,我们用这个方法来发现图像中的低级一致性,比如表面的连续性。我。表面的深度。自那以后,这一方法得到了很大的改进,并已被用于分类等任务。
也就是说,你取一幅图像,其中有一个突出的物体。然后你说。如果我裁剪出包含该物体任何部分的图像,这个裁剪部分的表示应该与包含该物体部分的其他裁剪部分相同。而且。这个方法在过去几年中得到了很大的发展。
我将谈论我在多伦多的团队几年前开发的一个模型,叫做 Sinclair,但还有很多其他模型,自那时起情况也有所改善。因此,在 Simclair 中,你取一幅图像 X。你取两个不同的裁剪,同时还对裁剪进行颜色失真。
每个裁剪的不同颜色扭曲。这是为了防止它使用颜色直方图来判断它们是相同的。所以你在颜色上做一些调整,以便它无法使用颜色。这是一个简单的方法。然后你得到 Xi tilde 和 Xj tilde。接着你将它们放入相同的神经网络 F 中。然后你得到一个表示 H。然后你将你的表示 H 放入另一个神经网络中。
这会稍微压缩它。它变为低维度。这是一个额外的复杂性,我不打算解释,但它让它运行得更好。你可以在不这样做的情况下进行,并得到两个嵌入 Z 和 Zj。你的目标是最大化这些向量之间的共识。
所以你开始这样做,你说,好吧,让我们从随机神经网络开始。在神经网络中使用随机权重,然后我们取两个图像块,将它们通过这些变换,并尝试使 ZI 与 ZJ 相同,因此我们对 I 和 J 的组件之间的平方差进行反向传播。
嘿,奇迹发生了,你发现当一切崩溃时。对于每个图像,它总会产生相同的 ZI 和 Zj。然后你意识到,这不是我所说的共识,我的意思是它们应该是相同的。当你获得两个相同图像的裁剪时,它们是相同的,而当你获得两个不同图像的裁剪时,它们是不同的。
否则,没有真正的共识,对吗?嗯。所以你必须有负例。你必须展示来自不同图像的裁剪,并说它们应该是不同的。如果它们已经不同,你就不需要让它们变得更不同。让事物变得非常不同是很容易的,但这不是你想要的,你只想确保来自不同图像的裁剪不会被视为来自同一图像。
所以如果它们恰好非常相似,你就将它们分开。这阻止了你的表示崩溃,这称为对比学习。效果很好。因此,你可以通过尝试最大化来自同一图像的两个图像块之间的表示的共识来进行无监督学习。
在你完成后,你只需获取图像块的表示。然后将其输入线性分类器,一堆权重,以便你将表示乘以权重矩阵。通过 softmax 获得类别标签。然后你通过梯度下降来训练它。你发现,这与在标签数据上训练几乎是一样好的。
现在你训练的唯一标签数据是最后一个线性分类器。之前的层是在无标签数据上训练的。你已经成功地训练了你的表示,而无需标签。现在这有一个问题。它工作得很好。
但这确实令人困惑的是对象和整个场景。所以说同一场景的两个不同片段应该在接缝处得到相同的向量标签是有道理的,因为它们来自同一场景。但如果其中一个片段包含对象 A 和 B 的一部分,而另一个片段包含对象 A 和 C 的一部分呢?
你并不希望这两个片段在对象层面有相同的表示。因此,我们必须区分这些不同的表示层级。对于对比学习来说,如果不使用任何形式的门控或注意力机制,那么所发生的事情实际上是在接缝层面进行学习。我们希望的是,在对象层面获得的表示应该是相同的。
如果两个片段都是来自 JA 的片段,但如果一个来自 JA 而另一个来自 JB,它们应该是不同的。为此,我们需要某种形式的注意力来决定它们是否真的来自同一事物。因此,Glom 的设计旨在进行对比学习,并引入变换器中获得的注意力,以避免在不相同的情况下声称它们是相同的。
我应该提到此时大多数人对 Bert 是熟悉的。你可以将输入 Bert 的单词片段看作是我在这里使用的图像片段。在 Bt 中,你会看到同一单词片段的整个表示列。在书中,随着层级的提升,你会获得更语义丰富的表示。
但在 Burt 中,并没有尝试获得像整个短语这样的更大事物的表示。嗯。我将要讨论的这个方法是修改 Bch 的方法,随着层级的提升,你将获得越来越大的一致性岛屿。所以例如,经过几个层级后,像“New”和“York”这样的事物将会有不同的约克片段。
我想如果在正确的 G 中处理,它将有两个不同的片段,确切地会有相同的表示。而当你深入到另一个层级时,新的或新闻的片段可能本身就很薄。但约克的片段将会有完全相同的表示。那将是一个一致性的岛屿,代表一个复合事物,而随着层级的提升,你将得到这些代表越来越大事物的一致性岛屿,这将是一种更有用的表示,因为它不是通过取每个部分的最大值等方式来处理表示单词片段。
这真是一件疯狂的事情,因为你在学习过程中显式地形成更大部分和整体层级的表示。好吧。所以在 Glom 中,我们追求的是一种特定的空间一致性,这种一致性比由于表面倾向于在相邻图像片段中处于相同深度和方向而引起的空间一致性要复杂得多。
我们追求空间一致性。U 这意味着如果你在图像中找到一个嘴巴,并且在图像中找到一个鼻子,然后找到构成面孔的正确空间关系,那么这就是一种特定的一致性。我们希望以无监督的方式去追求这一点。😊
我们想要在图像中发现那种一致性。在深入探讨 Alom 之前,我想先声明一下。啱。多年来,计算机视觉将视觉视为一个静态图像,具有统一的分辨率,并试图判断其中包含什么。这并不是现实世界中视觉的运作方式。在现实世界中,这实际上是一个循环,你决定要看哪里。如果你是一个人或一个机器人。
你最好聪明地去做。这给你提供了对象数组的样本。它将对象数组和入射光转化为视网膜图像,而在你的视网膜上,中间是高分辨率,边缘是低分辨率。因此,你专注于特定细节,而你从未。
你永远不会以统一的分辨率处理整个图像。你总是专注于某个东西,并在高分辨率下处理你所注视的部分,而其他所有部分则以更低的分辨率处理,特别是在边缘。因此,我将忽略你如何决定看哪里以及你如何将从不同扩展中获得的信息整合在一起的复杂性,简单地说,我们只讨论对新图像的第一次注视,所以你看向某处,现在第一次注视发生了什么。
我们知道大脑中的相同硬件将在下一个注视中被重复使用,但我们先只考虑第一次注视。因此,最后,这是一张架构的图。😊这是单个位置的架构,就像 Bt 中的一个单词片段。它展示了多个帧的发生情况,因此 Gom 确实是为视频设计的。
但我只讨论将其应用于静态图像。那么你应该把静态图像视为一个非常无聊的视频,其中每一帧都是相同的。因此,我展示了层次结构中的三个相邻级别。我正在展示时间上的变化。因此,如果你看中间级别,或许那是主要部分级别。
看看那个标记为级别 L 的框。那是在第四帧。所以右侧的级别 L 框。让我们问一下那个框的状态,那个嵌入的状态是如何确定的。因此,在框内,我们将获得一个嵌入。嗯。这个嵌入将代表图像中那个小补丁的主要部分级别发生的情况。在这个图示中的级别 L,所有这些嵌入将始终用于同一视网膜图像的补丁。
好吧。右侧的 L 级嵌入。你可以看到有三件事情在决定它。有绿色箭头。对于静态图像,绿色箭头相当无聊。它只是表示你应该与 L 级别的前一个状态相似。所以它只是进行时间整合。第一。😊,蓝色箭头实际上是一个具有几个隐藏层的神经网络。
我在这里只展示嵌入,而不是神经网络的所有层。我们需要几个隐藏层来完成所需的坐标变换。蓝色箭头基本上是从前一个时间步的下一级别获取信息。所以在第三帧的 L-1 级别可能表示我可能是一个鼻孔。好吧。
如果你认为你可能是一个鼻孔,那么在上一级别你预测的是鼻子。更重要的是,如果你有鼻孔的坐标框架,你可以预测鼻子的坐标框架。也许不是完全准确,但你对鼻子的方向、位置和尺度有相当好的概念。所以那个自下而上的神经网络。😡,是。一个可以在任意层级接收部分的网络,它可以接收鼻孔。
但它也可以接收方向盘并预测方向盘的汽车。并预测你在下一级别的情况。😡,红色箭头是一个自上而下的网络。所以。红色箭头。是从整个面部预测鼻子。同样,它有几个隐藏层用于坐标变换。
因为如果你知道面部的坐标框架,并且知道面部与鼻子之间的关系,而这将包含在自上而下的网络权重中。那么你就可以预测它是鼻子以及鼻子的姿态。这一切都会在那个嵌入中的活动中体现。好吧。现在,所有这些都是在一个硬件列中发生的,都是关于图像特定区域的。
所以这与 Bt 中的一个词片段的情况非常相似,你有所有这些表示层。嗯。确切来说,这与 Bt 的比率有点令人困惑,我会在最后给你一个长档案论文的参考,里面有一整节讲述它与 Bt 的关系。
但这很令人困惑,因为这涉及到时间步。这使得事情变得有点复杂,好吧。所以这有三个决定水平和嵌入的因素,但还有第四个因素。就是底部的黑色部分。这是不同位置相互作用的唯一方式。这是变压器的一个非常简化的形式。如果你把变压器视为 Bt,然后你说。
让我们让嵌入、键、查询和值彼此相同。我们只有这个向量。所以现在你要做的就是使一列中的 L 级嵌入与附近列中的 L 级嵌入相同。但这会受到限制,你只会试图使它们相同。如果。它们已经相当相似。
所以这就是注意力如何工作的。你取位置 X 中的级别 L 嵌入,也就是 Alex。你取附近位置 Y 中的级别嵌入,也就是或 Y。你进行点积。你进行指数运算。然后你进行归一化,换句话说,你做一个 softmax。这给了你权重来使用。😡,在。你想让 LX 与 LY 相同的愿望中。
所以由此产生的输入。来自邻居的,是附近列的级别嵌入的注意力加权平均?
额外的输入试图让你与周围的事物达成一致,这就是导致你获得这些共识岛屿的原因。所以回到这个图。我想。是的。这是我们想看到的。😡,而原因是。我们在对象层面获得那么大的共识岛屿,是因为我们在努力达成共识,我们在尝试学习坐标变换。
从红色箭头到上层,从绿色箭头到上层。这样我们就能达成共识。好的。现在,我们需要担心的一件事是,感知中的困难之处。嗯。在语言中没那么糟糕。可能比视觉感知更糟,很多模糊性。
如果我在看一幅线条画,例如,我看到一个圆。那么这个圆可能是脸的右眼,也可能是脸的左眼,或者它可能是汽车的前轮或后轮,这个圆可以有各种可能。
我们希望消除圆圈的歧义。这里有一系列的工作,使用诸如马尔可夫随机场的东西,这里我们需要一个变分马尔可夫随机场。我称之为变换随机场。因为例如,某个可能是眼睛的东西和某个可能是嘴巴的东西之间的互动。
需要通过角点变换来限制。你知道,让我们把鼻子放在嘴巴上,因为那是我的标准。如果你拿一个可能是鼻子的东西,你想问。有谁支持 IR 鼻子?好吧,你想做的就是向附近的所有东西发送一条信息。
😡,嗯,你是否拥有正确的姿势和身份来支持“我知道”的想法?
所以你想,例如,从鼻子发出信息。你会向所有附近的位置发送信息,询问是否有嘴巴的姿势符合我通过鼻子的姿势乘以鼻子与嘴巴之间的坐标变换所预测的姿势,现在我可以预测嘴巴的姿势,是否有谁认为他们可能是嘴巴?
我认为你可以看到,你将不得不发送很多不同的信息。😊。对于可能支持你的每一种其他事物,你将发送不同的信息。因此,你将需要一个多头变换器,它将进行这些坐标变换,你必须在返回时进行逆变换,因为如果鼠标支持你,它需要支持的是鼻子,而不是嘴巴的姿势。
但要有适当的姿势。因此,这将变得非常复杂。你将有 n 平方的交互,都是带有坐标变换的。有另一种做法,更简单,被称为半变换。😊。至少如果你有办法表示模糊性,那就简单得多。
所以,代替这些部分之间的直接交互,比如鼻子和嘴巴。你要做的是让每个部分预测整体。因此,鼻子可以预测脸,并且它可以预测脸的姿势,而嘴巴也可以预测脸。😊,现在这些将位于 G 的不同列中。
但在 G 的一列中,你会有一个鼻子在预测脸。在附近的一列中,你会有一个嘴巴在预测脸。如果这真的是一张脸,这两张脸应该是相同的。因此,当你对附近的事物进行注意力加权平均时,你所做的是获取确认。那就是支持你假设的证据。
我的意思是,假设在一列中提出假设,这是一个具有这种姿势的脸。这个假设得到了来自附近列的支持,这些列从不同的数据中推导出完全相同的嵌入,一个是从鼻子推导的,另一个是从嘴巴推导的。这不需要任何动态路由。因为这些嵌入始终参考的是图像中同一小补丁上发生的事情。
在一列中没有路由。在列与列之间,有些类似路由的东西,但这仅仅是标准变换器类型的注意力。你只是试图与相似的事物达成一致。好的,这就是 Gs 的工作方式。大问题是。😡,如果我看到一个圆圈,它可能是左眼,也可能是右眼。
它可能是汽车的车轮,也可能是汽车的电池,因为我对特定层上特定补丁的嵌入必须能够表示任何东西。当我遇到模糊的事物时,我必须处理它可能属于的所有整体可能性,因此,代替在部分层面上尝试解决模糊性,我可以跳到更高级别,并通过说事物是相同的来解决模糊性。
这是一种更简单的方式来解决模糊性。但这样做的代价是我必须能够在下一个更高级别上表示所有的模糊性。结果证明,你可以做到这一点,我们做了一个小玩具示例,实际上可以保留这种模糊性。
但这很困难,这是神经网络擅长的事情。所以如果你考虑下一层的嵌入。你有一大堆神经元,它们的活动就是那个嵌入。你想要表示一个高度多模态的分布。
比如说可能是一辆车在这个姿势,或者一辆车在那个姿势,或者一张脸在这个姿势,或者一张脸在那个姿势。所有这些都是寻找一个圆的可能预测。因此你必须表示所有这些。问题是,你能做到吗?我认为它们必须是这样做的。嵌入中的每个神经元。代表着这个巨大空间中可能身份和可能姿势的未归一化对数概率分布。
这种身份与姿势的交叉乘积。嗯。所以神经元就是这个空间的对数概率分布。当你激活神经元时,它所表示的是将该对数概率分布添加到你已经拥有的内容中。因此,现在如果你有一大堆低概率分布。并且把它们加在一起。
你就能得到一个更尖锐的对数概率分布。当你指数化以获得概率分布时,它会变得非常尖锐。因此,非常模糊的基函数。在这个姿势和身份的联合空间,以及该空间中的对数概率。可以结合起来产生明确的结论。所以,我认为这就是神经元如何表示事物的方式,大多数人对神经元的思考是他们正在表示的事物。
但显然在感知中,你必须处理不确定性,因此神经元必须善于表示多模态分布。这是我能想到的唯一有效的方法。这是一个相当薄弱的论点。我的意思是,这是导致乔姆斯基相信语言不是学习的论点,因为他无法想到它是如何学习的。我的观点是,神经元必须使用这种表示方法,因为我想不出其他任何方法。
好吧。我刚才说了这些,因为我有点兴奋,提前开始了。现在你能这样做的原因,你在未归一化的低概率空间中拥有这些非常模糊的分布。是因为这些神经元都专注于图像的一小部分,它们都在试图表示该图像区域内发生的事情,所以你只是在试图表示一件事情。你并不是在试图表示一些可能对象的集合,如果你试图表示一些可能对象的集合,你会面临可怕的绑定问题,而无法使用这些非常模糊的分布,但只要你知道所有这些神经元。
所有活动的神经元都指向同一事物时,你就可以进行交集。你可以将低概率分布相加,并交集它们所代表的事物的集合。好的,我快到最后了,如何训练这样的系统呢?显然。你可以用你训练的方式来训练,但你可以进行深度的端到端训练。对于 Gm。
这将包括我们如何训练一个玩具示例的方式。你。拿一张图像。你留下一些图像的补丁。然后让 Gom 沉淀大约 10 次迭代。并试图填充图像中最低层次的表示。最低层的嵌入。它填充了这些角色,因此你知道反向传播那个误差,并且你正在通过这个网络在时间上进行反向传播。
所以它也会在层级之间向上和向下反向传播。灯。因此,基本上你只是在进行时间上的误差反向传播。由于错误地填充内容,这基本上就是 B 是如何训练的,你也可以用同样的方法训练 G。但我还想在训练中加入一个额外的部分,以鼓励形成岛屿。嗯。
我们希望在高层次上鼓励大规模相同向量的岛屿。你可以通过使用对抗学习来实现这一点。所以,如果你考虑下一步。你考虑一个嵌入是如何确定的。是通过结合许多不同因素来确定的,这些因素来自于前一个时间步骤的情况。
在这个位置的表示层级中。前一个时间步骤在此位置发生了什么。但要到下一个层次?下一个小 a 的层次。还有前一个时间步骤在附近位置的情况。在同一层次上。所有这些事物的加权平均我称之为共识嵌入。这就是你用于下一个嵌入的内容。如果我们尝试让自下而上的神经网络与自上而下的神经网络一致。
如果我们尝试让预测与共识一致。共识已经折叠了来自附近位置的信息。由于注意力机制的权重,这些信息大致上已经一致。因此,通过让自上而下和自下而上的神经网络与共识一致。
你试图让它们与相似的附近位置的情况一致。假设你要将其训练成四个岛屿。这对神经科学家来说比对自然语言处理者更有趣,所以我将忽略这一点。嗯。你可能会觉得在对象级别复制所有这些嵌入是浪费的,因此在对象级别会有大量的补丁,它们都有完全相同的向量表示。
这似乎是一种浪费,但实际上生物学中充满了这样的现象。你所有的细胞都有完全相同的 DNA,器官的所有部分几乎都有相同的蛋白质表达向量,所以有很多复制发生以保持事物的局部性。
😊,这里也是如此,实际上这种复制在你确定一个解释时非常有用,因为在你确定之前,你不知道哪些东西应该与其他东西相同。因此,在每个位置拥有独立向量以表示物体层次上发生的事情,可以让你在以合理的方式逐渐分段时保持灵活性。
😊,这让你能够对风险进行对冲,而你所做的并不像聚类,你是在创建相同向量的簇,而不是在固定数据中发现簇。所以在聚类中,你是给定数据且数据是固定的,你会找到这些簇,而这里的嵌入在每个层次上随时间变化,它们由自上而下和自下而上的输入以及来自附近位置的输入决定,因此你所做的是形成簇,而不是在固定数据中发现它们。
而这有着略微不同的特性,不能更快地稳定下来。还有一个好处是这种复制。你不希望在更高层次的变换器中有更多的工作。但在更高层次上,你确实需要更长范围的交互。显然,对于最低层次,你希望在变换器中有相对短的交互,并且在向高层次移动时,它们可以是密集的,而在高层次时你希望有更长范围的交互,因此你可以使它们变得稀疏。
人们已经做过类似的事情。对于像这样的系统,在这里很容易使它们稀疏,因为你期待有大岛屿,因此你所需要做的就是看到一个大岛屿的一部分,就知道该岛屿的向量表示是什么,因此如果你有这些大的共识岛屿,稀疏表示会更有效,所以这个想法是你在向上移动时有更长范围和稀疏的连接,因此每一层的计算量是相同的。
总结一下。嗯。我展示了如何结合神经网络中的三个重要进展,但我实际上没有谈到神经场,这对自上而下的网络很重要,也许因为我还有两分钟的时间,我将简要提及神经场。
是的,当我训练那个自上而下的神经网络时,我遇到了一个问题。这个问题是。😰。如果你看那些红色箭头和绿色箭头,它们是相当不同的。😡。但是如果你看物体层次之上的层次,所有那些向量都是相同的。当然,在一个工程系统中,我想在每个位置复制神经网络。
所以他在每个地方都是完全相同的自上而下和自下而上的神经网络。因此问题是,如何给同一个神经网络一个黑色箭头?
有时产生红色箭头,有时产生绿色箭头,它们有着截然不同的方向。它如何在没有鼻子的地方产生鼻子,在有嘴巴的地方产生嘴巴?即使面部向量在任何地方都是相同的?
答案是,自上而下的神经网络不仅获得面部向量。它还获得生成 PA 向量的补丁位置。因此,应该获得红色向量的三个补丁与应该获得绿色向量的三个补丁的位置是不同的。所以如果我使用一个神经网络并将位置作为输入,这就是它可以做到的。
它可以提取黑色向量中编码的姿势,即面部的姿势。它可以获取位置。在它预测下层向量的图像中。并且姿势与图像也是相关的,因此了解图像中的位置以及整个面部的姿势,它可以确定在该位置需要预测面部的哪个部分,因此在一个位置它可以预测“好吧,那里应该有鼻子”,并给你红色向量;在另一个位置它可以预测“那里的图像补丁应该有嘴巴”,因此它可以给你绿色箭头。
😊,所以你可以在上层获得相同的向量,通过提供它所预测的位置,来预测下层不同位置的不同向量,这就是神经场中的运作方式。😊,好吧,这个讨论相当复杂,关于这个主题有一篇更详细的长文在 archive 上。
你可以将这个讨论视为在我完成后鼓励你阅读那篇论文。正好准时。谢谢。很多。
P11:11. 变压器介绍与 Andrei Karpathy - life_code - BV1X84y1Q7wV
大家好,欢迎来到 CS25 Pro UnitedV。这个课程在 2023 年冬季于斯坦福举办。😊 这个课程并不是关于可以变成汽车的机器人,而是关于深度学习模型,它们引起了世界的轰动,彻底改变了人工智能等领域。从自然语言处理开始,变压器已广泛应用于计算机视觉等领域。
强化学习、生物学、机器人等。我们为您准备了一系列令人兴奋的视频,邀请了一些真正迷人的演讲者。跳过演讲。展示他们如何将变压器应用于不同领域的研究。希望您能享受并从这些视频中学习。所以不再拖延,让我们开始。这是一场纯粹的入门讲座。我们将深入探讨变压器的构建模块。
所以首先,让我们介绍一下讲师。我目前在 PhD 项目中暂时挂名,并在一家机器人初创公司担任领导,致力于一些通用机器人,类似于这个。我对机器人和构建辅助学习算法充满热情。
我在个人贷款和远程建模方面的研究兴趣,以及在机器人、政府、驾驶等领域有很多出版物。大学时在康奈尔,某本书提到康奈尔,这是一个估算的呼叫。所以我是一名 CSP 演讲者,完成了 CMU 的硕士和本科学位。主要从事自然语言处理研究,涉及语言和文本的任何内容。
但最近我对计算机视觉和一些娱乐项目也越来越感兴趣。我有很多音乐相关的活动,制作了钢琴曲。有一些自我宣传,但我在 Instagram、YouTube 和 TikTok 上发布了很多内容。如果你们有兴趣,我和我的朋友们也在成立一个斯坦福钢琴俱乐部,所以如果有人感兴趣,可以随时发邮件询问 Y 的详细信息,除此之外,我也练习武术。
我们正在尝试一些动画、偶尔玩游戏。😀 好的。我的名字是 Ryland,简单介绍一下自己。我想简短地说,我非常兴奋能参加这个课程。上次我教这门课时,我觉得我们带来了一个非常优秀的演讲者团队。我对这次课程感到非常期待,谢谢大家的到来,我期待一个非常有趣的学期。你是去年最活跃的学生,明年有意成为讲师。
好的。😊,继续。让我们看看,如果有几分钟。我们希望你在这堂课中学到的第一件事是,变压器是如何工作的?它们是如何被应用的,现如今在人工智能和机器学习中无处不在,以及在这些主题中的一些新有趣研究方向。
所以这堂课只是一个介绍,只是谈论变压器的基础,介绍它们。讨论一个自我潜力机制,这是它们的基础,我们将深入探讨像 GPT 这样的模型。所以,准备好得到扎实的知识。好的,让我开始展示注意力时间线。注意力的所有一切始于 2017 年这篇壁纸论文,注意力是由 Vaswani 等人提出的,在那之前我们有许多模型,如 RNN、LSTM 和简单的注意机制,这些并没有涉及规模部署。
从 2017 年开始,我们在 NLP 领域解决了变压器的爆炸,大家开始将其应用于所有事物。我甚至听说谷歌的支持,每次我们与语言学家合作时,性能都有所提升。嗯。在 2018 年之后,2020 年,我们看到客户在其他领域(如视觉)中的激增。😊,还有生物学,去年 2021 年是基因生成错误的开始,我们开始了很多基因建模,比如 Kox 模型。
GT,Dali,稳定方程与许多在基因建模中发生的事情相关,我们开始在人工智能上扩展,现在是 2022 年,像 23 年的初创公司,现在我们几乎有一群其他的“喋喋不休”的声音,我们在不断地扩展,这很好。
所以这就是未来。深入讨论一下。所以一旦进行了审计,我们有两个模型,LTN 和 GIU。这里有效的是它们擅长结束历史。😊。但无效的是它们未能编码长序列,且编码内容的能力非常差。所以考虑这个例子。试着预测文本中的最后一个词。
我在法国长大……我流利地说 D。在这里你需要理解上下文才能预测法语,而注意力机制对此非常有效。而如果你只是使用 LSTM,就行不通。变压器擅长的另一件事是,基于内容的上下文预测,像是找到注意力图,如果我有像“它”这样的词。
现在它收集了什么,我们可以给出可能激活的概率关注,这些工作比现有机制更好。好的。所以在 2021 年,我们快要起飞了。我们开始意识到变压器在不同领域的潜力。我们解决了许多长序列问题,如蛋白质折叠、Al fold、离线 Arl。
我们开始看到零样本泛化,我们看到了多模态任务和应用,比如从语言生成图像,这一切都与 DLI 有关,是的,感觉像是亚洲两年前分享过的内容。这也是关于变压器的一个讨论,可以观看并提供。
是的。这就是我们从 2021 年到 2022 年所经历的变化,我们已经从起飞的边缘真正起飞,显然我们在音频生成、艺术和音乐等领域看到了独特的应用。我们开始看到推理能力,如常识、逻辑推理和数学推理。我们现在也能够进行人类启发和互动。
他们能够利用强化学习和人类反馈,这就是悲剧训练得以表现良好的原因。我们现在有许多机制来控制毒性、偏见和伦理问题,同时在其他领域也有许多发展,比如不同的模型。
够。😡,啊。所以这个功能就像是一艘飞船,我们都对此感到兴奋。😊。还有很多其他收购,我们可以启用,如果你能看到变压器也在这里工作就更好了,一个很好的例子就是你的理解和生成,这是每个人都感兴趣的,我希望今年在这个领域能看到很多模型,包括金融和商业。
😊,我会非常兴奋看到 GT 创作小说,但我们需要解决非常长的序列建模问题,而大多数变换模型仍然限制在大约 4000 个开放词左右,因此我们需要改进它们,使它们在长序列上表现得更好。我们也希望拥有能够执行多任务的通用代理。
Amatic 输入。像 Goto 这样的预测,所以我认为我们也会看到更多这些,最后我们还希望有特定领域的模型。所以你可能希望有一个在某些方面表现良好的 GP 模型,比如医生 GPT 模型,或者一个仅基于原始数据的大型 GP 模型。目前我们有的 GP 模型是在各种数据上训练的,但我们可能会开始看到更多专注于单一任务的细分模型,我们可以像咨询专家一样,有专家 A 模型,可以根据不同需求去不同的模型。
是的。要使这一切成功仍然缺少很多要素,首先是外部记忆,我们已经开始在像 ChaGPT 这样的模型中看到这一点,交互是短暂的。没有长期记忆,也无法长期记住存储的对话,这正是我们想要解决的问题。
😊,每秒每秒都在减少计算复杂度。因此,注意机制在序列长度上是二次的,我们想要减少它,使其更快。诶。你还想做的另一件事是增强这些模型的可控性,因为很多模型可能是随机的,我们希望能够控制我们从中获得的输出类型,你可能体验过这种变化,只需刷新一次,每次得到的输出都不一样。
但你可能想要有机制黑箱打印机,看看你能做些什么。最后,我们希望将我们最先进的语言模型与人脑的工作方式对齐,我们正在看到搜索,但我们仍然需要更多研究,看看它们能如何更重要。可系哼。😊,是的。我很高兴在这里,我住得很近,所以我收到了来上课的邀请,我就像。
好的,我就走过去,但我在幻灯片上花了大约 10 个小时,所以这并不简单。所以,是的,我想谈谈变压器,我将跳过前两个。我们不会讨论那些,我们将讨论这个,以简化讲座,因为我们没有时间。
嗯。好的,我想提供一些背景,解释为什么这个变压器类存在,所以我觉得有一点历史背景。我加入 AI 大约在 2012 年,全职课程,所以大约十年前。那时候你甚至不会说你加入了 AI,那个词有点脏,现在谈论这些是可以的,但那时甚至没有深度学习,只有机器学习,这是一个认真的术语。但现在 AI 可以使用,我觉得。
所以,基本上你有没有意识到你有多幸运,潜在地进入这个领域,大约在 2203 年。那时候,大约在 2011 年,我专门从事计算机视觉的工作。
你的管道看起来像这样,你想分类一些图像,你会去查论文,我觉得这很有代表性,论文中会有三页描述各种不同特征的“厨房水槽”。
描述符,你会去计算机视觉会议的海报展,每个人都有他们提议的论文特征描述符,这简直是荒谬的。你会记录哪些应该纳入你的管道,因为你会提取所有这些特征,然后在上面放一个支持向量机(SVM),所以你会这么做。确保你获取你的稀疏直方图。
你的 SSIs 是颜色直方图、纺织品、微小图像,别忘了几何特定直方图。它们本身的代码基本上是复杂的,你从各处收集代码并运行,完全是一场噩梦。所以,更糟的是它还不管用,我认为这代表了那时的预测,你偶尔会得到这样的预测,你只能耸耸肩,觉得这就偶尔发生,而今天你会寻找 bug。
更糟的是,每个 AI 领域都有自己完全独立的词汇。如果你去看 NLP 论文,这些论文会完全不同,你在读 NLP 论文时,可能会疑惑“这是什么?词性标注、形态分析、句法解析、指代消解,NPBT、JJ 又是什么?”因此,词汇和一切都是完全不同的,你几乎无法跨领域阅读论文。
这种情况在 2012 年发生了变化,当 Askochevsky 及其同事展示了如果在大型数据集上扩展大型神经网络,可以获得很强的性能。到那时,大家对算法的关注很多,但这表明神经网络扩展得很好,所以你现在需要关注计算和数据,如果你扩大规模,它的效果相当不错。这种方法也在 AI 的许多领域复制粘贴,因此自 2012 年起我们开始看到神经网络在各处出现,包括计算机视觉、自然语言处理、语音、翻译和强化学习等。因此,每个人开始使用相同的建模工具和框架,而现在当你去阅读 NLP 领域的论文,比如机器翻译时。
这是一个论文的序列,我们稍后会再提到。当你开始阅读这些论文时,你会发现“哦,我能识别这些词:有神经网络、有一些参数、有一个优化器”,它开始读起来像你熟悉的内容。这大大降低了进入不同领域的门槛。
不同的领域。我认为关键在于 2017 年变压器(transformer)问世时。并不是说工具包和神经网络相似,而是架构确实趋向于一种架构,你可以在所有地方复制粘贴。那时这是一篇看似不起眼的机器翻译论文,提出了变压器架构,但自那时起我们发现,基本上可以随意复制粘贴这个架构。
并且将其应用于各个领域,变化的只是数据的细节、数据的分块方式以及如何输入数据。你知道这有些夸张,但这基本上是一个正确的一阶陈述,因此现在的论文看起来更加相似,因为每个人都在使用变压器,这种趋同在过去十年中令人瞩目。我发现有趣的是,我认为这或许暗示我们可能正在趋向某种大脑在做的事情,因为大脑在整个皮层的表面上是非常同质和均匀的。好的,也许一些细节在变化,但那些感觉像是变压器的超参数,你的听觉皮层、视觉皮层以及其他一切看起来都非常相似,因此我们也许正在趋向某种统一的强大学习算法,我觉得这一点相当有趣。
好的,我想简要谈谈变压器的历史起源。我想从 2003 年开始,我非常喜欢这篇论文,这是神经网络首次被应用于语言建模问题的流行应用,因此在这种情况下预测序列中的下一个单词。这使你能够建立文本的生成模型,而在这种情况下,他们使用了多层感知器,所以这是一个非常简单的神经网络,它取三个单词并预测序列中第四个单词的概率分布。到目前为止,这很好。随着时间的推移,人们开始将其应用于机器翻译,这使我们回到了 2014 年的序列到序列论文,那篇论文相当有影响力,而这里的大问题是。
好的,我们确实只想取三个单词并进行预测,我们想预测如何将英文句子转换为法文句子,关键问题是:好的,你可以在英语中有任意数量的单词,在法语中也有任意数量的单词,那么如何构建一个能够处理这种可变大小输入的架构呢?
在这里他们使用了 LSTM,基本上有两个部分,这些部分被 Sla 所覆盖。但基本上,左侧有一个编码器 LSTM,它一次消费一个单词并建立它所阅读内容的上下文。然后它作为解码器 RN 或 LSTM 的条件向量,后者基本上逐个单词翻译序列中的下一个单词,将英语翻译成法语,或类似的东西。人们很快识别到的问题是所谓的编码瓶颈。
所以我们试图进行条件处理的整个英文句子被打包成一个从编码器传递给解码器的单一向量,因此这可能包含的信息太多,无法维持一个单一的向量,这似乎不太正确,于是人们开始寻找缓解编码瓶颈(当时被称为编码瓶颈)的方法。
这让我们回到这篇论文,神经机器翻译通过联合学习对齐和翻译。这是这篇论文摘要中的一段,我们推测使用固定长度向量是提高基本编码解码器架构性能的瓶颈,并建议通过允许模型自动 soft 搜索与预测目标词相关的源句子部分来扩展这一点,而不需要显式形成这些部分或核心片段,因此这是一种回顾来自编码器的词汇的方法,使用这种 soft 搜索实现了这一点,因此在解码时。
这里的词汇,当你在解码它们时,你可以通过这篇论文提出的 soft attention 机制回顾编码器中的词汇,因此我认为这篇论文是我第一次看到基本的注意力,因此来自编码器的上下文向量是编码中词汇的隐藏状态的加权总和。
然后,这里的权重来自一个基于当前状态和编码器生成的隐藏状态之间兼容性的 softmax,因此这是你第一次真正开始关注它,这是现代注意力机制的当前方程,我认为我第一次看到这个概念的论文是首个使用“注意力”这个词的论文,据我所知,这是首次称这种机制的,因此我实际上试图深入了解注意力的历史,第一作者德米特里,我与他有过电子邮件交流,我基本上给他发了一封邮件,我说德米特里,这真有趣,变压器已经接管了,你是从哪里想到 soft attention 机制的,这个机制成为变压器的核心,令我惊讶的是,他回了我一封非常长的邮件,内容非常引人入胜,这里是那封邮件的摘录。
嗯。因此,基本上他谈到他在寻找一种方法,以避免编码器和解码器之间的瓶颈。他有一些关于光标遍历序列的想法,但没有完全实现。然后有一天,我想到,让解码器 RNN 学习在源序列中放置光标的位置会很好,这种想法受到了我初中学习英语时翻译练习的启发,涉及到在源序列和目标序列之间大量的注视转移。所以字面上来说,我觉得这很有趣,他不是以英语为母语的人,这让他在机器翻译中占了便宜,导致了注意力机制的出现,进而导致了变换器的出现。这真是令人着迷,我将软搜索表达为 softmax,通过这种方式对 ByN 状态进行平均,基本上让我非常兴奋的是,这项工作在第一次尝试时就成功了。所以我认为这是一个非常有趣的历史片段,后来发现 RNN 搜索这个名字有些不妥,最终的好名字“注意力”是来自约书亚的最后几次修改。
当他们回顾这篇论文时,也许“注意力就是你所需要的”会被称为“驾驭”或者“仅仅保持”。但我们要感谢约书亚·本尼奥为这个名字的改进。显然,这就是这个主题的历史,挺有趣的。好的。这让我们回到了 2017 年,“注意力就是唯一”的这个组件在迪梅特里乌斯的论文中只是一个小部分,还有所有这些双向 RNN 和解码器,而这篇论文上的注意力是说,实际上你可以删除所有东西,真正让这个工作顺利的就是注意力本身。
所以删除所有东西,保留注意力,而这篇论文的显著之处在于,通常你会看到一些论文不太完整,他们添加一件事并展示出更好。但我觉得“注意力就是唯一”像是同时结合了多种东西,以一种非常独特的方式组合在一起。
然后在架构空间中也实现了一个非常好的局部最小值。因此对我来说,这真的是一篇具有里程碑意义的论文。这相当显著,我认为在背后有很多工作。因此删除所有 RNN,只保留注意力,因为注意力是作用于集合的,我将在接下来详细讲解。你现在需要对输入进行位置编码,因为注意力本身并没有空间的概念。
他们。你必须非常小心。他们从共振中采用了这种残差网络结构。他们将注意力与多层感知器交错使用。他们使用了来自不同论文的层归一化,提出了应用于并行的多头注意力概念,他们给了我们一组我认为相当好的超参数,直到今天仍在使用,因此多层感知器中的扩展因子上升了四倍,我们将稍微深入一点,这个四倍的因子一直存在,我相信有许多论文尝试对变换器的各种细节进行调整,但没有什么像它一样有效,因为这个设计实际上非常好。根据我所知,唯一没有持久的变化是将层归一化重组为预归一化版本,在这里你可以看到层归一化在多头注意力之后或之前,他们只是把它们放在前面,所以只是层归一化的重新排列,但其他的 GPST 及你今天看到的所有内容基本上是五年前的 2017 年架构,尽管每个人都在对此进行研究,但它证明了相当强的韧性,我认为这很重要。
我认为有一些创新也被采用于位置编码。使用不同的旋转和相对位置编码变得更加常见等等。因此,我认为有一些变化,但大多数情况下它证明了非常稳定。所以这篇论文确实相当有趣,现在我想深入了解注意力机制。我认为。
我有点喜欢我解释的方式,不是。与我以前见过的展示方式不相似,所以让我试试另一种方式来描述我如何看待它。对我而言,注意力就像是变换器的沟通阶段,而变换器交错着两个阶段。
沟通阶段是多头注意力,而计算阶段是这个多层感知器或人们所形成的。因此,在沟通阶段,这实际上只是基于数据的消息传递在有向图上。你可以想象,忘掉机器翻译的一切,让我们在每个节点上存储一个向量,然后让我谈谈这些向量在这个有向图中如何互相沟通,计算阶段则只是一个多层感知器,它基本上对每个节点进行单独处理,但这些节点如何在这个有向图中相互沟通,所以我写了一些简单的 Python 代码。
我在 Python 中写了这个,基本上是为了创建使用注意力作为消息传递机制的一个沟通轮次。所以这里,一个节点有这个私有数据向量,你可以把它看作是这个节点的私有信息。然后它还可以发出一个键、一个查询和一个值,这只是通过从这个节点进行线性变换来完成的。键是我是什么东西,抱歉。
查询是我正在寻找的内容之一,键是我所拥有的内容,而值是我将要传达的内容。因此,当你拥有由一些随机边构成的节点图时,当这些节点实际进行通信时,发生的事情是你以随机顺序循环遍历所有节点,你在某个节点上,获得查询向量 Q,这代表我是图中的一个节点,这是我正在寻找的内容,这只是通过这里的线性变换实现的。
然后我们查看指向这个节点的所有输入,广播我所拥有的内容,也就是它们的键。因此,它们广播键,我有查询,然后这些通过点积相互作用以获得分数。通过点积,你基本上获得了指向我的所有信息的有趣性未归一化权重,以及我正在寻找的内容,然后当你用 softmax 进行归一化时,它只会总和为 1。
基本上,你最终会使用那些现在总和为 1 的分数,它们是概率分布,你对值进行加权求和以获得更新。因此,我有一个查询,他们有键的点积来获取有趣性或亲和力,使用 softmax 进行归一化,然后对这些值进行加权,流向我并更新我。这对于每个节点都是单独发生的,然后我们在最后进行更新,因此这种信息传递机制在变换器的核心,发生在更向量化的批处理方式中,这更复杂,并且还与层归一化等交错在一起,以使训练效果更好。
但这大致上就是我认为的注意力机制在高层次上的运作方式。所以,在变换器的通信页面中,这种信息传递机制在每个头中并行发生,然后在每一层中串行进行,每次都有不同的权重。这就是多头注意力的全部内容,因此如果你查看这些编码器-解码器模型,可以将其视为图中这些节点的连通性。
你可以将其视为,编码器中的所有令牌都是彼此完全连接的,因此当它们计算特征时,进行完全通信,但在解码器中,由于我们试图构建一个语言模型,我们不希望有来自未来令牌的通信,因为它们在此步骤中泄露了答案,因此解码器中的令牌与所有编码器状态完全连接,同时它们也与所有在其之前的内容完全连接。
所以你最终会在有向图中得到这样一个三角结构,但这基本上就是消息传递机制的实现。然后你还需要稍微小心,因为在这里与解码器的交叉注意力中,你会使用来自编码器顶部的特征。因此,可以想象在编码器中,所有节点彼此之间都在相互关注,所有的令牌彼此之间也在关注许多。
多次,他们真正搞清楚里面有什么,然后解码器在查看顶部节点时。因此,这大致就是我想要深入讲解的消息传递机制。关于这一点我不知道有没有问题。哦,你问。自注意力和多头注意力。但是什么是那个。不是。嗯。是的,所以。自注意力和多头注意力,所以多头注意力就是这种注意力机制。
但这只是以并行的方式多次应用,"多次"仅仅意味着对同一注意力的独立应用。因此,这个消息传递机制基本上就是在并行中多次发生,并且对于查询、键和值使用不同的权重。
所以你总是可以这样看:我在并行中寻找不同类型的信息来自不同节点,并且我把所有信息都汇集到同一个节点中。这一切都是在并行中完成的。所以头部实际上就像是在并行中的复制粘贴,而层就是复制粘贴。
但它是串行的。也许这样说有意义。而自注意力,当提到自注意力时,指的是这里的每个节点生成这里的每个节点。因此,正如我在这里描述的,这确实是自注意力,因为这些节点中的每一个都从这个独立节点生成一个键、查询和值。当你有交叉注意力时,来自编码器的一个交叉注意力在这里。
这仅意味着查询仍然是从这个节点生成的,但键和值是作为来自编码器的节点函数生成的。因此,我有我的查询,因为我试图解码序列中的第五个词,而我在寻找某些信息,因为我是第五个词,然后关于可以回答我查询的信息源的键和值可以来自当前解码序列中的前一个节点,或者来自编码器顶部,因此所有已见过所有编码令牌的节点许多。
多次现在可以广播它们在信息方面所包含的内容。所以,我想总结一下,自注意力有点像。交叉注意力和自注意力只在于键和值的来源不同。要么键和值是从这个节点生成的,要么是从某个外部源生成的,比如一个编码器和那边的节点。
😡,但算法上是相同的微操作。好的。O。在消息传递图范式中。所以是的,所以。嗯,我。所以想象一下,这些节点每一个都是一个标记。嗯。我想它们在变换器中的图像并不是很好,但像是。这个节点可以表示解码器输出中的第三个单词。起初。
这只是单词的嵌入。嗯。然后。好的。我得仔细思考一下这个知识,今天早上我想到了它。没有。实际上。我昨天。我的结果。车站。ごい。笔记被封锁了。我们最好。那些笔记基本上是向量。我会去实现,我会去实现。
然后也许我会建立与图的连接。所以让我先尝试,不去考虑这个直觉,至少去 NAGPT,这是一个非常简约的变换器完整实现,这就是我在过去几天里所做的,这里它在开放网页文本上再现 GT2,所以这是一个相当严肃的实现,我会说再现了 GPT2,并提供在一个计算上,这是 HP 的一个笔记,持续了 38 小时左右,而且它非常可读,只有 300 行,所以每个人都可以看一下,好的,让我基本上简单地讲解一下。
所以让我们尝试只使用解码器的变换器,这意味着它是一个语言模型,它试图建模序列中的下一个单词或下一个字符序列。因此,我们训练的数据总是某种文本,所以这里有一些假的莎士比亚,这是实际的莎士比亚,我们将生成假的莎士比亚,这被称为迷你莎士比亚数据集,这是我最喜欢的玩具数据集之一,你将所有莎士比亚连接在一起,它是一个兆字节的文件,然后你可以在上面训练语言模型,获得无穷的莎士比亚,如果你喜欢,我认为这是医学的。所以我们有一个文本,第一件需要做的事情是将其转换为整数序列。
因为变换器本质上处理,你知道。你不能直接将文本放入变换器中,你需要进行某种编码。因此,编码的方式是我们将每个字符转换,例如,在最简单的情况下。每个字符变成一个整数。然后不是高在那里。我们会有这个整数序列。因此,你可以将每个字符编码为一个整数,并得到像 NAA 这样的整数序列,你只需将它们全部连接成一个大型一维序列,然后你就可以在上面训练。现在这里我们只有一个单独的文档,在某些情况下,如果你有多个独立的文档,人们喜欢创建特殊的标记,并将这些文档与那些特殊的文本标记交替插入,以创建边界。
但这些边界实际上没有任何建模影响,只是变压器应该学习超出这种传播的内容,文档序列的结束意味着你应该清空记忆。😡,好的,然后我们生成批次,这些数据批次意味着我们回到一维序列,并提取出这一序列的块。
所以假设块大小是八。那么块大小指示你的变压器将处理的最大上下文长度。如果我们的块大小是八,那意味着我们将有最多八个字符的上下文来预测序列中的第九个字符。
批量大小指示我们将处理多少个序列并行。我们希望这个尽可能大,以便充分利用 GPU 和电缆下的并行性。因此在这个例子中,我们正在进行 4x8 批次,所以这里的每一行都是独立的例子。然后每一行都是我们将要训练的小块序列,并且我们在每个点上都有输入和目标。
所以要完全阐明包含在单个 4x8 批次中的内容,对变压器来说就像是压缩在这里,所以当输入是 47 时,目标是 58,而当输入是序列 4758 时,目标是 1,当是 47581 时,目标是 51,依此类推,实际上这个 4x8 的单个批次实例有很多个体例子,我们期望变压器能够并行学习,所以你会看到这些批次是完全独立学习的,但时间维度在这里水平排列,也是在并行训练,所以你真正的批量大小更像是 deted。
只是上下文在你沿着 T 方向进行的预测中线性增长。在模型中,这就是模型将从这个单一批次学习的所有示例。因此现在这是 GPT 类。因为这是一个仅解码的模型,所以我们不会有编码器,因为没有我们要翻译的英文,我们不是试图以其他外部信息为条件。
我们只是试图生成相互可能跟随的词序列。所以这都是 pytorch,我的成长速度更快,因为我假设人们已经接受了 2 31 或类似的东西。但在前向传递中,我们获取这些索引。然后我们通过嵌入查找表对这些索引的身份进行编码。
所以每一个整数都有一个索引,我们索引到这个 n.dot 嵌入的查找表中,提取出该令牌的词向量。然后因为 transform 本身并不实际处理,所以我们需要对这些向量进行位置编码,以便我们基本上同时拥有令牌身份和其在序列中的位置(从 1 到块大小)信息。现在,关于什么和位置的信息是加法结合的。
所以令牌嵌入和位置嵌入正如这里所示直接相加。所以这里的 X。😡 然后有可选的 dropout,这里的 x 基本上只包含词汇集合。还有它们的位置。这些信息输入到我们将要查看的 transformer 的块中,这里暂时只是 transformer 中的一系列块。😡 然后在最后。
有一个层归一化,然后你使用这个 transformer 输出的线性投影来解码下一个单词或下一个整数的 logits。所以这里的 LM 头,语言模型头的缩写只是一个线性函数。因此,基本上对所有词进行位置编码,将它们输入到一系列块中。然后应用一个线性层来获取下一个字符的概率分布。
然后如果我们有在数据顺序中生成的目标,你会注意到这些目标只是时间上偏移一个的输入。然后这些目标输入到交叉熵损失中,所以这只是一个负对数似然,典型的分类损失。现在让我们深入了解这些块中的内容。这些块是顺序应用的。😡 再次。
正如我提到的沟通阶段和计算阶段,在沟通阶段,两个节点互相交流,因此这些节点基本上是。如果我们的块大小是八,那么在这个图中我们将有八个节点。这个图中有八个节点,第一个节点仅被自身指向。第二个节点被第一个节点和自身指向。
第三个节点被前两个节点和自身指向,等等。所以这里有八个节点。因此你应用,X 中有一个残差路径,你将其提取。你应用一个层归一化,然后是自注意力,这样这八个节点就进行交流。但你必须记住批次是四,所以因为批次是四,这也是应用的,因此我们有八个节点在交流,但这四个批次中的每一个都在这些八个节点上各自进行交流。
在批次维度上当然没有交叉,批次归一化范围也没有,因此运气更好。一旦它们交换了信息,就使用 modo receptor 进行处理。这是计算基础。所以这里还有缺失,我们缺少交叉注意力,因为这是一个仅解码器模型。因此我们只有这个步骤,即多头注意力,这是这个沟通阶段。
然后我们有前馈层,即 MLP。这是完整的阶段。我稍后会回答问题。这里的 MLP 相当简单,MLP 在每个节点上进行个体处理,只是在该节点上转换特征表示。
应用一个两层神经网络,带有一个伽尔非线性。可以将其视为一个重映射或类似的东西,这只是一个非线性。而且 MLP 很直接,我认为这里没有什么太疯狂的。这是因果自注意力部分,通信阶段。
所以这有点像事物的轮廓,最复杂的部分。之所以复杂,是因为批处理和实现细节,比如如何在图中屏蔽连接,以便在预测标记时无法从未来获取任何信息。
否则它会泄露信息,所以如果我是第五个标记,并且处于第五个位置,那么我会获得第四个标记作为输入,我会关注第三、第二和第一个标记,并试图弄清楚下一个标记是什么。在这一批的下一个时间维度的元素中,答案在输入中,所以我无法从那里获取任何信息,这就是为什么这一切都很棘手,但基本上在前向传递中。
嗯。我们基于 x 计算查询、键和值。这些就是我在计算注意力时的键、查询和值。我有查询矩阵乘以键,因此这是对所有查询和所有头部的并行点积。所以我觉得还需要提到的是头部的部分也是在这里并行完成的。
所以我们有批处理维度、时间维度和头部维度,你最终会得到五维张量,这一切都很混乱,所以我邀请你稍后逐步了解,并确认这实际上是在做正确的事情,基本上就是拥有批处理维度。
头部维度和时间维度,然后你会得到它们的特征。因此,这是在评估所有批处理元素、所有头部元素和所有时间元素。之前给你的简单 Python 示例,就是 queryductpro P。然后我们在这里做一个填充掩码,基本上是在限制这个。
注意力在不应该相互通信的节点之间被设置为负无穷,我们这样做是因为我们即将进行 softmax,因此负无穷会使那些元素的注意力基本上为零。😡 所以在这里我们基本上会得到权重。
它们在这些节点之间服务于亲和性。可选的 dropout,然后这里的注意力矩阵乘以 V,基本上是根据我们计算的亲和性来汇集信息。这只是所有这些节点上值的加权和。所以这个矩阵乘法就是在进行这个加权和。
然后转置连续视图,因为这一切都很复杂,基于五维张量。但它实际上并没有做任何可选的 dropout,然后再线性投影回到残差路径。所以这是在实施通信阶段。然后你可以训练这个变换器。然后你可以生成无限的莎士比亚,你只需这样做,因为我们的块大小是八。
我们从一个总标记开始,比如说我在这个案例中使用的。你可以使用换行符作为起始标记。然后你只与自己沟通,因为这是一个单一节点,你会得到序列中第一个词的概率分布。然后你解码它,或者是序列中的第一个字符。
你解码这个字符,然后你将字符带回来,并重新编码为一个整数,现在你得到了第二个东西,所以你得到了第一个位置,而这就是它的整数值。将位置编码添加到序列中进入变换器,这个标记现在与第一个开放的标记及其身份沟通,所以你不断地将它插入,直到你耗尽块大小,块大小是八,你开始爬升。因为你在训练这个变换器时,块大小永远不能超过 8,所以我们有越来越多的上下文,直到八。如果你想生成超过这个值,你就必须开始裁剪,因为变换器在时间维度上仅适用于八个元素,因此所有这些变换器在简单设置下都有一个有限的块大小或上下文长度,在典型模型中,这通常是 1024 个标记或 2048 个标记之类的,但这些标记通常是 EE 标记或句子片段标记或词标记,这些标记有很多不同的编码,所以并不是那么长,这就是我认为我们真的想扩展上下文大小并且变得复杂的原因,因为注意力在简单情况下是非常小的。
现在,如果你想实现一个编码器而不是解码器的注意力。你所要做的就是这个主节点。你只需删除那一行。所以如果你不屏蔽注意力,所有节点都会相互沟通,一切都是允许的,信息在所有节点之间流动。因此,如果你想在这里有编码器,只需删除所有的编码器块,注意力将在删除那一行的地方使用。
就是这样。所以你允许我存储中编码的任何内容,比如说 10 个标记,10 个注释。它们都可以相互沟通,传递到变换器的上层。如果你想实现交叉注意力,那么你就拥有一个完整的编码器-解码器变换器,而不仅仅是一个仅解码的变换器或 GPT。那我们还需要在中间添加交叉注意力。
所以这里有一个自注意力部分,所有的自注意力部分,一个交叉注意力部分和这个 MLP,在交叉注意力中。我们需要从编码器的顶部获取特征。我们需要在这里添加一条线,这将是交叉注意力,而不是我应该实施的,而不仅仅是指向,我认为。
但这里会有一条交叉注意力线,所以我们会有三条线,因为我们需要添加另一个块,查询将来自 x。而片段和数值将来自编码器的顶部。基本上,信息将严格地从编码器流向 X 内部的所有节点。就这样,所以在解码器注意力上做了非常简单的修改。
所以你会听到人们说,你有一个仅解码器模型,比如 GP。你可以有一个仅编码器模型,比如 Bt,或者你可以有一个编码器解码器模型,比如 T5 做机器翻译等。而在 Bt 中,你不能用这种方式进行训练。
语言建模设置非常激进,你只是试图预测下一个序列,你正在将其训练到略有不同的目标,你输入完整的句子,并且完整的句子可以完全沟通,然后你试图分类情感或其他类似的东西,所以你并不是试图建模序列中的下一个标记,这些在数学上稍有不同。
啊。使用遮罩和其他去噪技术。好的。这就像变压器,我将继续,所以是的,可能还有更多问题。你说我。哦。对。我真的。好吧。你,好的,胡椒仍然是。找到的是一种动态路径。我们实际上可以在所有方面进行更改,你也有一些东西。
这就像我们通过遮罩强制施加这些约束一样,我不太确定是否完全理解,所以可以从不同的角度来看这个类比。但一个类比是你可以将这个图表解释为固定的,只是每次我们进行沟通时,我们使用不同的权重,你可以从下面看。
所以如果在我的例子中,我们有块大小为八,我们将有八个节点,这里有两个、四个、六个,好吧。所以我们将有八个节点,它们会相互连接,你将它们摆放并且你只从左到右连接,但我们是不同的。是的,我们会有一个非常连接的部分。哦。为什么连接不随着数据或其他因素变化呢?
我在想是否有任何。我不认为我见过任何一个连接随着数据动态变化的例子。通常情况下,如果你有一个编码器并且你正在训练一个 Bt,连接是固定的。你想要多少个标记,它们是完全连接的。如果你有一个解码器,长模型。你有三角形的东西,如果你有编码器解码器。
然后你有点尴尬地有两个工具节点。诶呀。啊对啊,就是我们。最后就。家佢你嗯。嗯。不要对起。作为直播人我诉。第划孙嗰月啊。我想知道。对此了解得更多,然后去。都走。你冇想出去。有直。好的。哪一部分。好的。对系咧。これ。嗯。哦,有か。冇 your。不同的东西。我是多。是的,真的很难说,所以我认为这篇论文是如此有趣,因为。是的,通常你会看到一条路径,也许他们内部有一条路径,只是没有发布,而你所能看到的东西并不像变压器,我的意思是你有很多这样的 resnets,但 resnet 就像这样,但没有自注意力组件。
但是 MLP 在某种程度上是存在于一个 resNe 里。嗯。所以共振看起来非常像这个。只是没有,你也可以使用层归一化和共振,我相信也是。通常有时它们可以是 bash 归一化。所以这有点像 renet。就像他们把一个 ressonnet 和一个转置自注意力块结合在一起,加上了原有的 MLP 块。
这有点像卷积,而 MLP 严格来说是逐一反卷积。但我认为这个理念是类似的,MLP 就是那种典型的权重。没有非线性权重或操作。嗯。但是我想说,嗯,是的。这有点有趣,因为。很多工作并没有在那时出现,然后他们给你这个变压器,结果五年后它没有改变,尽管每个人都在尝试改变它,所以对我来说这有点有趣,就像一个包装来了,我认为从历史上看真的很有趣,我也和论文的作者交谈过,他们当时并没有意识到变压器会产生的影响,所以当你阅读这篇论文时,实际上有点不幸,因为这是改变一切的论文,但当人们阅读它时就像是问号,因为它读起来就像一篇相当随机的机器翻译论文,我在做机器翻译时哦这里有一个很酷的架构,好吧,结果不错,像这样。
它并不知道会发生什么,所以当人们今天阅读它时,我认为他们可能会感到困惑,像是有这种感觉。我将在最后有一些推文,但我认为如果考虑到事后诸葛亮,我会重新命名它。
好吧,我会谈到它。是的。这个。好的。我个放。是的,我认为这也是个好问题,目前我当然不喜欢自回归建模方法。我认为像采样一个 token 然后承诺它有点奇怪。所以。也许有一些混合方式,例如扩散。我认为这会非常酷。或者我们会找到其他方式来稍后编辑序列,填补我们的回归框架。
但我认为融合是一种正在兴起的建模方法,我个人觉得更具吸引力。当我采样文本时,我不会一个块一个块地进行,然后提交,而是先做一个初稿,再做一个更好的二稿。这感觉像是融合过程。所以那将是我的期望。好吧,还有问题,是的。
你喜欢这种逻辑,但它。你说的时候,像是注意力有点像计算,像是一个调节器,因为要在概念上采用产品。而且我们拥有的优势就像是将其他值相乘。然后恰当地应用它,是的,是的,对,你认为有没有像这样。像是盈利的网络。我发现图神经网络有点像一个令人困惑的术语,因为。
我是说,是的,之前有这种观念。我有点觉得,也许今天一切都是图神经网络,因为变换器是一个图神经和处理器。变换器操作的原生表示是通过边直接连接的集合,所以这是原生表示,然后是的。好的,我应该继续,因为我还有大约 30 张幻灯片。G 解决。那些想要提供的。哦,是的。
是的,根 D,我认为基本上就像你用随机权重初始化,与融合分开,因为你的维度大小增长,你的值也会增长,方差增加,然后你的 softmax 将变成一半的向量。所以这只是控制方差并保持在 softmax 和良好分布的范围内的一种方式。哦。这几乎就像是一个初始化的事情。好的。
所以变换器已被应用到其他领域,我认为这方式有点荒谬。因为我是计算机视觉领域的人,你有公共的,它们有一定的道理。因此,我们现在所做的以位为例,是将一幅图像切成小方块,然后这些方块字面上输入到一个变换器中,仅此而已。这有点荒谬,所以。下面。是的,因此变换器在最简单的情况下甚至根本不知道这些补丁可能来自哪里。
它们通常是位置编码的,但在某种程度上,它必须重新发现很多结构。我认为在某些方面它们是这样。以这种方式接近它有点奇怪。但它就像是将大图像切成小方块,然后作为单个节点输入的最简单基线,实际上效果相当不错,而这就是在变换器编码器中,所以所有补丁在整个解释过程中相互交流。
这里的节点数量就像是九个。好的。在语音识别中,你只需将梅尔谱图切成片段并输入到变压器中。所以写了这样的论文,但还有 Whisper,Whisper 是一个基于复制的变压器。如果你看到 OpenAI 的 Whisper,你只需将梅尔谱图切片并输入到变压器中,然后假装在处理文本,这样效果非常好。决策变压器和强化学习中,你把在环境中体验到的状态、动作和奖励假装成一种语言,并开始建模这些序列,然后你可以在后续规划中使用,这种方法效果相当不错,甚至像 AlphaFold 这样的东西。所以我们简要谈到分子以及如何将它们连接进来,AlphaFold 在计算上也是基于变压器的。
我还想谈谈变压器,我发现它们非常灵活,我真的很享受这一点。我给你一个来自特斯拉的例子。比如说你有一个模型,它接收图像并对图像进行预测,那么最大的问题是如何输入额外信息,这并不总是简单的。比如我有额外信息想要提供,我希望输出受到影响,可能我有其他传感器,比如雷达,也可能我有一些地图信息、车辆类型或音频。问题是如何将这些信息输入到模型中,在哪里输入?是拼接起来,还是在什么阶段添加?因此,使用变压器会容易得多,因为你可以随意选择你想要的内容。
你将它切成片段,并用你之前的集合来输入,然后让自我注意力去确定它们应该如何交流,坦率地说,这实际上是有效的。所以,简单地将一切切碎并混合就像是一种方法,它解放了神经网络,使其摆脱了艾利迪空间的限制,而以前你必须安排计算以符合三维的艾利迪空间布局,实际上计算就像在正常的三维空间中进行,如果你仔细想想的话。
但在意图上,一切都是集合,因此这是一个非常灵活的框架,你可以像将这些东西扔进你的条件集合中一样,一切都会自我注意到,所以在某种程度上是相当美妙的。那么,到底是什么让变压器如此有效呢?
我认为一个很好的例子来自 GT3 论文,我鼓励大家阅读,语言模型是双-shot 学习者。我可能会稍微改变一下,我会说变换器能够进行上下文学习或类似元学习的东西,这正是它们特别之处。所以基本上,他们正在处理的是,我有一些上下文,我正在尝试,例如,一个段落,这是许多例子中的一个,我有一个段落并且在问关于它的问题。
然后我作为提示中的上下文,给出了问题和答案。因此,我给了一个问题答案的例子,另一个问题答案的例子,另一个问题答案的例子,依此类推。这变得非常重要,大家都跟我说。好的,真正有趣的是基本上。
在上下文中提供更多示例可以提高准确性,这暗示变换器能够在激活中学习,而不采用典型的梯度下降微调方式。因此,如果你进行微调,就必须提供示例和答案,并且使用梯度下降,但看起来变换器在其权重内部正在做一些类似潜在梯度下降的事情,这种学习就像在阅读提示时发生的。因此,在这篇论文中,他们区分了随机梯度下降的外循环和上下文学习的内循环,内循环是变换器像在阅读序列一样,而外循环则是通过梯度下降进行训练,因此在变换器消耗序列时,在激活中确实发生了一些训练,这可能看起来像梯度下降,因此一些近期的论文暗示并研究了这一点。在这里的论文中,他们提出了一个称为原始算子的东西,并主张这个原始算子是由变换器实现的。
然后他们展示了你可以在原始算子上实现像 Ri 回归这样的东西。因此,这在他们的论文中暗示,变换器的激活中可能存在类似基于梯度学习的东西。
我认为考虑这一点并非不可能,因为基于梯度的学习是什么呢?前向传播、反向传播,然后更新?这看起来像一个简历。因为你只是改变你在权重上的添加,因此你从一组随机初始权重开始,前向传播、反向传播并更新你的权重,然后前向传播、反向路径权重。
看起来像是残差网络,变换器是一个残差网络,更加模糊。但基本上有些论文试图暗示这为什么可能。然后我在最后这里粘贴了一些推文,这些是为了公众消费。
所以它们有点更高层次,但我在谈论为什么这种架构如此有趣,以及为什么可能会如此受欢迎,我认为它同时优化了三个非常理想的特性,第一。
这个变换非常有表现力,如果超越它,就像能够实现非常有趣的功能,潜在的功能甚至可以进行元操作。第二,它非常可优化,得益于残差连接等因素;第三,它极其高效。这一点并不总是被重视,但变换器确实如此。
如果你查看计算图,它是一个浅层宽网络,非常适合利用并行 GPU,因此我认为变换器是非常有意图地设计以在 GPU 上高效运行的,还有之前的工作,比如神经 GPU,我也很喜欢,这实际上是在思考如何设计在 GPU 上高效的神经网络,并从硬件约束反向思考,这是一种非常有趣的思维方式。
啊。哦。哦,对,所以在这里我说我可能会称变换器为一个通用高效可优化的计算机,而不是“注意力机制是你所需要的一切”,也许从后来看,我会把那篇论文称为提出这是一个模型。
嗯。非常通用,所以前向传播表达力强。它在 GPU 使用方面非常高效,并且通过梯度下降易于优化,训练得很好。然后我还有一些其他热门推文。无论如何,你可以稍后阅读,但我认为这些可能有趣,因此如果以前的神经网络是为特定任务设计的专用计算机。
GPT 是一个通用计算机,可以在运行时重新配置以运行自然语言程序。因此,程序作为提示给出。然后,Chi 通过完成文档变成了 Ro 的程序。所以我个人非常喜欢这些类比,像计算机一样强大,而且可以通过梯度下降优化。然后……我不知道啊。
我想你可以稍后再读,但我就在这里感谢你,我就把这个留着。😊,是的。所以抱歉,我刚找到这个线索。结果发现,如果你扩大训练集并使用足够强大的神经网络,比如 transformer,网络就变成了一种通用的文本计算机。所以我认为这是一种不错的看法,而不是仅仅执行一个文本序列,你可以在提示中设计序列,并且因为 transformer 既强大又在足够大的复杂数据集上进行训练,它就变成了一种通用的文本计算机,所以我认为这是一种有趣的看法。
是的。哦。是的。后。是的。哦。对。啊。系 guess。我系。什么。好。好。哦。那已经不错了。有。哦。所以是的。哦。抱歉,我感动了。是的我,但我觉得好。好的。其实大一开过。哦。我最喜欢这个。它真的很不错,大部分是。你知道。它大多数更高效。它是个好地方,但你有那个。大会。すて。博士。是的,很。嗯,我认为这有点那样,所以我会说 RNNs 原则上是的。
它们可以实现任意程序,我认为这在某种程度上是一种无用的说法,因为它们可能。我不确定它们是否真的是可表达的,因为在某种意义上,它们能够实现这些任意函数。
但它们并不可优化。😡,而且它们显然效率低下,因为它们是串行计算设备。嗯,所以我认为,如果把它看作一个计算图,RNNs 是非常长的。变了。佢血挂。啊。就像如果你拉伸神经元,把所有个体神经元的连接拉开并试图可视化它们,RNNs 会像一个非常长的图,这样不好,也不易优化,因为我不完全知道原因,但大致的直觉是当你进行反向传播时。
你不想进行太多步骤。😡,所以 transformers 是一个浅而宽的图。从监督到输入的跳跃数量非常少。这是沿着残差路径进行的,使得梯度非常容易流动,并且有所有这些层归一化来控制所有这些激活的梯度规模,因此跳跃不多,从监督到输入非常快速,并且就这样流经图。
所有这些都可以并行完成,所以你不需要做这个编码器解码器 RNNs,你必须从第一个词开始,然后是第二个词,然后是第三个词,但在这里,transformer 中每一个词都是完全并行处理的。这些都非常重要,因为所有这些都真的很重要,我认为第三点虽然讨论得少,但极其重要,因为在深度学习中,规模至关重要,你可以训练的网络规模非常重要,因此如果在当前硬件上高效,我们可以把它做得更大。
我现在出来了他对我,我自己。嗯。是的,这样数据是如何的。所以是的,你拿你的图像,然后显然把它们切成补丁,所以有第一千个标记或其他,现在我有一个特殊的,所以雷达也可能,但我实际上不知道雷达的原生表示是什么。
但你可以,只需要将其切割并输入。然后你必须以某种方式编码它。就像变换器需要知道它们来自雷达。因此,你创建一个特殊的。你有某种特殊的标记。这个雷达标记在表示上略有不同,并且可以通过梯度学习得到。就像车辆信息也会通过一个特殊的嵌入标记进入,这也是可以学习的。
所以。你有那些,比如你不,它只是一个集合。只是当声音保证没有击中并且它说按钮。是的,它只是一个集合。但你可以对这些集合进行位置编码,如果你愿意。但位置编码意味着你可以硬连线。例如,坐标就像使用正弦和余弦,你可以硬连线。
但如果你不硬连线位置,那就更好。它只是一个始终悬挂在这个位置的向量。无论那里有什么内容,只需添加到上面,这个向量可以通过背景训练,这就是我怎么做的。是的,我觉得它们有点像代理,它们似乎有效。
但似乎有时我们的解决方案想要放置子结构。嗯。如果我理解问题,对我来说位置编码器实际上就像它们的偏见很少或者类似的东西,它们只是悬挂在位置上的向量,而你试图以某种方式帮助它们的网络。我认为直觉是好的,但。如果你有足够的数据,通常尝试干预是个坏事,就像试图在数据集本身已经包含足够知识的情况下输入知识,通常没有生产力。因此这真的取决于你的规模,如果你有无限数据,那么你实际上希望编码越来越少,这结果效果更好,而如果你有很少的数据,那么你确实想编码一些偏见,也许如果你有一个更小的数据集,卷积是个好主意,因为你实际上有来自更多过滤器的偏见。
但是我认为。因此,变换器是极其通用的。但有一些方法可以对编码进行调整,以加入更多结构,比如你可以,例如,编码正弦和余弦并固定它,或者你实际上可以去注意机制说。好吧,如果我的图像被分成补丁,这个补丁只能与这个邻域通信,你可以在注意矩阵中做到这一点,只需屏蔽掉你不想通信的部分,因此人们真的在玩这个,因为完全的注意力是低效的,所以他们会进行交错。
例如,某些层只进行小块之间的通信,然后还有一些层进行全局通信,它们会用各种技巧来慢慢引入更多的归纳偏差。你会这样做,但这些归纳偏差就像是从核心变压器中剔除出来的。
在笔记的连接性中,它们被剔除在定位上,也可能造成混乱。P 命题。你怎么记住?大。不该我。哦。现在可能有大约 200 篇关于这个的论文,如果不是更多,老实说很难跟踪,就像我电脑上的 Safari 浏览器,打开了 200 个标签页。但。是的。
所以我甚至不确定我是否想选择我的论文。你可以也许使用一个变压器,就像我其实更喜欢的另一个,可能保持上下文长度固定,但允许网络以某种方式使用一个草稿板,所以这个方式是你会通过示例教导变压器,嘿,你实际上有一个草稿板,基本上你不能记住太多,你的上下文线是有限的,但你可以使用一个草稿板,你这样做是通过发出一个草稿板,然后写下你想要记住的东西,然后结束草稿板,然后继续你想要的内容,然后在解码时,你实际上会有特殊的逻辑,当你检测到开始草稿板时,你会保存它放入外部东西中,并允许它在上面关注。
基本上,你可以动态地教导变压器,因为它学习得非常元。你可以动态地教它使用其他小工具,从而扩展它的记忆,如果这样说有道理的话,这就像人类学习使用记事本一样,你不需要把所有东西都记在脑子里,所以将东西记在脑子里就像变压器的上下文线。
但也许你可以给它一个笔记本,然后它可以查询笔记本,从中读取和写入,也许你还有另一个。是的。咁觉现在你怎下。去这儿的方式。都快嘅啲。为什你嘅。我不知道我是否检测到那。感觉你觉得这只是一个展开的长提示吗?咱再。我没有广泛尝试,但我确实看到了一次遗忘事件,感觉块大小只是移动了。
啊。也许我,我实际上不知道悲剧的内部。得到两个。所以有一个问题是。你对架构有什么看法?S 对于 S。我要说我不知道这个,哪个是这个?
第二个问题,这是一个个人问题,你接下来打算做什么?我的意思是,我现在在做一些像 nanoGPT 的项目。😊,呃。我的意思是,我基本上是稍微偏离计算机视觉,像部分基于计算机视觉的产品,稍微进入语言领域,尝试 GT。好的,然后在 GT 上。所以最初我有 MinG,我曾经写给 nanoGPT,我正在努力重现 GPTs,我认为像 chat GPT 这样的产品以逐步改进的方式将非常有趣。
我觉得很多人感受到这一点,这就是它传播如此广泛的原因,所以我认为有类似于 Google 的更多可能性可以构建,这很有趣。我们多样性是否在思考?
P12:12.Language and Human Alignment - life_code - BV1X84y1Q7wV
我很高兴欢迎来自 OpenEI 的 Jan,他领导着那里的对齐团队,之前也曾是 Deep Mind 的研究员。拥有强化学习理论的博士学位,思考对齐问题超过 10 年,今天他将进行非常有趣的演讲,希望大家喜欢。
是的,非常感谢你的介绍,也很高兴我能参加。😊。我很兴奋能够讨论这些内容,我也非常乐意保持互动,如果你在任何时候有问题,请随时打断我。😊,啊。是的,我想开始谈谈。我认为发生的事情的一些非常基本的观察。而且。所以第一个是。
TmiI 正在加入游戏。所以 hemiI 有很多不同的因素。他们并不是同时加入,而是一个接一个地加入。而且他们的参与者在能力上差异很大,目前许多参与者到目前为止。我真的不那么聪明,通常只能完成非常狭窄的任务集合。诶。😊,但是。
我们观察到的一件事是,随着时间的推移,你知道。我们看到越来越强的参与者加入。这就是我们现在的状态。然后一般来说。我们预计 Himmiai 有一些极其强大的参与者。因此,这些参与者能够比人类思考得更好。
快得多,便宜得多。而且。这些还没有加入。因此。对。拥有像我们一样的锚基金,如果你考虑一下,比如说 chattP。😊,ChatTBT 已经可以做到。任何人都能了解更多事实或说更多语言。而且它可以以每秒大约 50 个声音的速度写作。并且成本是人类在最低工资下的约 100 倍。
所以。你知道,有。CheBT 也有一些非常重要的局限性,还有很多事情他们无法做到。但是这算是一个。你知道,某些未来可能加入的参与者的指标。因此,似乎从长远来看。TmiI 将拥有所有对团队人类的优势。但是。还有一个重要的警告,就是。
Kim Kim 有一个重要的优势。团队人类可以选择哪些来自团队 mi I 的参与者加入并获胜。因此,这是一种在我们思考该做什么时,应该真正重视的优势,当我们思考。你知道,我们正在与 CMI 玩这个游戏,以及我们将与 TI 玩。哦。
所以我认为作为人类团队我们应该做的两个主要目标是,首先,我们应该尝试招募。来自地 I 到客户的 Pes。因此,这大致上是我将要追踪的内容。这就是我面临的问题。还有其他目标。所以我认为另一个非常重要的目标是,你要制定游戏规则,以便人类团队不会失去。
现在,人类掌握了主动权,我们可以制定规则,所以我们应该制定合理的规则,以便于未来继续进行这场游戏。因此,在这次演讲中,我不会谈论第二点,而是将讨论第一点,因为这是我所了解的,并且那不是浪费时间。诶。😊。
用不同的方式表达,或者让它更像。
实际上,我所考虑的对齐的一个方式是,你想要构建遵循人类意图的 AI 系统。而且,你知道的,遵循我们想要的那种人类偏好。所以,有很多事情,基本上我将讨论两个主要方面,第一部分将是我们过去所做的工作。😊,大致上属于我们正在尝试弄明白如何实现的范围。
我们今天拥有的模型已经尽可能地对齐,我们正在努力尝试这个,看看我们能做到多远。第二个方面是我们接下来必须做的事情。我们尚未完成的事情,我们认为将非常重要。我想大致说明一下为什么我认为它们可能是。对。现在,我说,你知道。
我正试图使这个更加清晰,或像分解一下对齐的含义。所以不在这里,因为现在的重点是:遵循人类攻击意味着什么?
我们关心的意图大致分为两个主要类别。我会说,如果它对你有帮助,你知道,我给助手指令,或者如果你想做我的助手,它应该做我的助手,我应该遵循这些指令。但还有许多其他意图在我通常情况下没有说明,你知道的。
与系统或人类交谈时,他们最终真的在乎的是。就像你知道的,它不应该字面上总是执行我说的每一句话,而是理解我的意思,它不应该编造东西,不应该做有害的事情,并且在不确定我意思时应该提出后续问题,等等。
所以。这些都属于那些通常很难准确指定的事情,或者像……你知道,什么是我同意的?但这仍然是我们想要实现的事情,我们必须弄清楚如何去……你知道,进入这个领域。因此,今天我们使用的主要技术之一是我们所称的重要反馈,这曾用于训练脚本 GP 和聊天 GPT。
这就像是占据这个公园的主要调音。诶。基本系统非常简单,而且也像是适用于大多数 AI 模型和模式的超级通用技术。但在这种情况下。我们将使用管理质量,因此分为两个步骤。
实际上没有链限制的步骤,所以我会从这些事情开始。首先,你想要从 Comp 训练一个模型。在这种情况下你已经通过了。现在解释何时不。或者你知道,帮我进行翻译。不管是什么,然后模型会做一堆事情,然后你会选择哪个更接近你想要的模型。
因此,你有一个更大的偏好集,你训练你的奖励模型,而奖励模型基本上学习预测你更喜欢哪个。书。所有一切都可以说,就尽快多花时间在镜头前。我觉得这看起来不错。😊,抱歉。也许我们把它转动一点。哦,对。没有。好吧。现在我们通过模型捕捉到我们关心的偏好和我们希望模型做的事情。
然后第二步是现在你用输入优化你的奖励模型。😊,因此不是设置。你知道,模型尝试一堆不同的事情,然后模型告诉它哪个可能更接近你想要的事情。
不。他们将依赖于字母,不同的标签。他们可能还会存在不一致性,你可以给出这些关于偏好的示例。😊。但这些在目前并没有真正成为问题。到目前为止,你知道,我们的飞行往往并不一致,但模型整体平均起来是这样。😊,下。不,是的,所以。
这就像是基本技术,概念上非常简单。如果你没有翻译成一个模型,而是像每个 R 那样标记,你可以使其更简单。😊。但这将大大降低数据效率,因此你可以将其转变为思考。
对的。对。那么它将如何运作,这实际上是论文中的一个主要思想,而这是我喜欢展示的,因为这真的让我大开眼界,至今仍然如此。我们在这里看到了什么?在 X 轴上,你会看到这是来自 GP3 模型系列的,并且这是不同的三种模型,跨越两个数量级。😊,然后 Y 轴是人类偏好的评分水平如何?😊。
所以如果你给一群人展示一些样本,他们更倾向于选择其中的一个吗?
然后我们看到即使是最大的 G3 模型。😊。也比最小的指令 G 变体更受欢迎,因此 100 倍小的指令模型?😊,如果。实际上更受欢迎。超过更大的模型。接屏我晒接屏电话。这有点疯狂。抱歉。让我完成我的发言。那么为什么。我也这是没写就没退过去。这基本上表明,它想在 COD 的线上,整个模型让它们变得更有用。
😊,或者说更糟,没有人想用它。你们能听到我吗?我们做了很多花哨的对齐技术,但并没有被采用。所以我们原本是在第一个版本中看到了这些回归,然后这里标记为 PPO PX 的部分,实际上是在最后阶段,我们将自由训练数据混合到微调中,这减轻了我们看到的一些回归。
嗯。😊,是的,我刚好想跟进一下。那微调的重要性如何?你们是从人类那里收集数据的,对吧?如果你们使用一些预训练的迁移模型来评分,或者类似的东西,那样可以做到吗?确实有其他论文讨论过这个问题,我认为他们写过一篇关于宪法人工智能的论文,正是试图做到这一点。
就某些方面而言,语言模型将能够自动排序某些事物,而有些事情则不能,因为你知道,它不会知道你的确切偏好,也不会知道我们想要做的是什么。因此,每当语言模型执行某个操作时。
我们更喜欢这样,实际上我们必须提供另一个数据点,换句话说,如果你要与人类对齐,某种程度上你必须把人类纳入环路,否则,模型怎么知道它应该做什么呢?还有很多问题,我不知道克里斯是谁。😊,是的,你的意思是大约需要多少个提交的偏好来实现这些?
我马上就会提到这个问题。是的,有些问题。😊,那么你进行实验的原因是什么?
我们还没有。我们实际上没有仔细比较我们的算法,可能不同的神经算法会更好。😊,那是连接生活。我知道 PVO 是在 OpenAI 发明的,所以我们才使用它。这不是个好理由,除了它运作得相当不错。是的,eCompisons。
这个比其他的东西要好。所以通常我们让人们比较大约三到六个来自不同模型的不同响应。好的,是的。😊,那么 PPO 和奖励模式目前在聊天 GT 中投入生产吗?你们是否使用任何人类反馈,比如你知道的,你可以重新生成响应之类的东西来帮助?
作为奖励函数,你是指重新生成的方式吗?就像在 T 上有一个按钮,你可以选择重新生成响应,或者你使用任何隐含反馈吗?基本上在人类使用中,我不知道目前的情况如何,我预计人们会尝试使用它。
但是你知道 GBT 推出的时间不久。是的,我对这个图感到好奇,似乎像你提到的,增加参数并没有给你带来太多的保真度,在质的方面你已经追踪这个一段时间了。
你能否一开始就判断你是在与 10 亿模型还是 100 亿模型互动,就像伪图灵测试一样,但参数规模如何?我给你一个黑箱,你能告诉我它有多少个参数吗?
😊,可能不是非常准确。但我认为大反问是,我能否写提示。如果你只是随机从人们在游乐场上输入的内容中提取提示,而这正是我们用于 TPT 的点,那么我可能需要相当多的提示才能分辨出差异,但如果我可以写提示,我大概能在一两次内做到,尤其是如果任务是区分这个和那个。
是的。我想我可以再做两张幻灯片,或许你的问题会得到解答,然后。
这是关于训练成本的问题,所以这一点真的让我大吃一惊,与预训练相比,它是极其便宜的。如果你看看训练 GB 所需的实验室数量,然后与微调的成本进行比较,以及 R 与预训练的关系。
😊,像是最贵的讲师 B 版本价格不到预训练计算机的 2%。😊。如果你想训练一个更大的模型,那成本会更高,但你仍然可以使用相同的微调步骤来使其更一致。
当然,我认为这里需要注意的重要一点是,我们还没有解决所有问题。还有一些重要的限制,因此我不会说这是你知道的最后一个版本,我们将努力探索未来如何利用更多的计算资源和更多的人类数据。
😊。
但总的来说,这个效果出乎意料地好。
好的,还有更多问题。😊,我的问题是,我只是想问 PTx 是什么。将预训练数据混入 IO F 微调,就像混合梯度一样。快速问一下,这个图的参数数量是多少?所以你固定了这个分支的数量,这是完整的 GP3 版本,也就是 1750 亿模型。所以。没有其他问题吗,好的。
Zoom 上也有一些问题,太好了,好的,当然。所以第一个问题是,你会如何处理所有边缘情况?例如,偏好是价值的一个良好代理。但优化它们是会激励设备感知的。是的,我会提到这个。😊,当然。下一个问题是,如果你想进行自动对齐研究,发生了什么,如果你需要概念视觉,其他人是专家,怎么办?好的。
我觉得我也会在最后得到一个机会,好的,我们来看看,抱歉。是的。我想有一个问题就是,人类反馈与风扇功率相比,乐趣感觉会如何呢?
微调像监督性微调一样。但更像是,如果你直接使用人类选择的数据。是的,我也不确定是否可以。因此,我展示的一个基线是,如果你只是采取人类示范的方式。
你知道,我们有一堆任务,我们只让人类去做它们,记录他们的操作,然后训练模型模仿。这实际上是非常基础的行为克隆,只是使用相同的损失进行重新训练。然后,你知道,它比 H shot hunted 版本明显更好,但仍然远不如。因此,这就是我们喜欢使用我们的基本概念。
模仿人类的方法有两个问题,一个是。人类在某些方面比模型更好,而在其他方面则更差,所以在模型擅长的事情上,你试图模仿你无法做到的东西。而在模型更擅长的事情上,你让模型变得更糟,因为你强迫它以人类的方式完成任务。
什么。然后。所以。通过我们的所有你与其他的杰夫,你有点让模型随心所欲。它可以找到做事情的最佳方式。
另一个重要的优势,我会提到这一点,但简要谈谈 Cha GBT。😊,所以我认为 CaGBT 就像是对 instructGBT 的升级,算是让模型更对齐并对人类更有用的下一步。
有些事情,比如,我认为章节做得更好的,就是把对话作为通用接口,你可以直接与它对话。你可以问后续问题,可以要求它完善答案,这些都使得处理变得更容易。
它在拒绝有害任务方面更擅长,但仍然有重要的局限性,最大的问题是模型会经常产生幻觉。当你给它任何任务时,它会编造事实,这使得它非常不可靠,同时也对提示非常敏感,这显示了。
😊,你知道,它仍然存在重要的不对齐问题。我们需要解决。真的。如果一个模型应该尽其所能地完成任务,无论你如何提示。嗯。😊。
但确实,我认为有一个重要原则,对于杰夫来说非常有用,就是评估比生成更容易。😊,所以如果我们让人类比较和排名模型给出的不同响应。嗯。😊,分辨模型生成的不同变体比直接完成任务更简单。换句话说,你可以对任务进行比较。
你仍然可以在你自己可能做得不好的任务上发现良好的行为。所以如果你给出这样的反馈。那就意味着,系统应该做得比你实际能够做得更好。我认为这是一个在很多领域都适用的非常普遍的原则。
所以你可能最熟悉的是,是的,你知道 P 与 NP,每个人。你知道我们实际上并不知道它们是否不同,但在实践中,似乎 NP 任务要难得多。
嗯,它还适用于许多其他环境,例如很多职业体育或电子竞技,如果你不能轻易判断自己是否获胜,那观看的乐趣就会大打折扣。比起实际在专业水平上竞争更容易。它适用于许多消费产品,你可以看两个智能手机,告诉你更喜欢哪个,这不仅仅是看规格那么简单。实际上,这很难把它和我的手机相提并论。它还适用于学术研究。
你知道,查看一篇论文并指出其所有缺陷要简单得多,而写好一篇论文则要困难得多。它适用于,我不知道何时。嗯。是的。基本上,这在许多领域都适用。所以我认为这就像是一个非常。😊。这个原则在我们希望对 AI 系统的任务进行对齐时非常有用,而这些任务可能是我们自己无法做好。
好的。好的,既然这么说。我觉得杰夫有一些非常重要的局限性,我认为这会使得我们的 Hf 在对齐时变得非常困难。
嗯。😊,让我用图表解释一下,基本上在 X 轴上。绘制 AI 进展。而在 Y 轴上,绘制不同任务的难度。随着我们的 AI 进展,AI 能够完成的任务难度也在上升。而像。一个根本性的问题是,人类能够可靠评估的任务水平并没有提高,因为人类不会随着 AI 进展而变得更好。
所以。我觉得我们大概在这里。但是问题是,一旦你跨过这条线。你就真的不知道。😡,你的模型是否真的在做正确的事情,因为你无法再可靠地评估,因此这就像是 RLHF 训练开始崩溃的点,我们可能看到的就是之前我提到的问题,现在系统被优化为响应我们给出的任何反馈,因此它们会试图告诉我们我们想听的东西,而不是它们知道的真相,你知道,它们可能会学会如何欺骗我们,因为这让事情变得更简单。
Justis 在偏好评分上很高。因此,基本的想法是我们想要利用的原则与我刚才提到的有关。这就是评估学生的便利性和生成能力,比如说,如果你有一个大型语言模型来写代码,像整个代码库那样,人类根本无法找到所有的错误和缺陷,或者代码库里可能有一个木马,你可能也无法察觉。
因为这实在太难了,这就是为什么我们会看到那么多有缺陷的代码。但是如果你让语言模型来找出错误并指出来,一旦你知道了这个错误,哦,是的,这确实是一个错误,你知道的,请修复它。因此,现在你只需将任务缩小到。
我只需要评估这是否是我心中规范所设想的错误。因此,我们感到兴奋的一般原则是,我们想要。😊。我们利用 AI 的帮助来进行人类评估。所以希望是,如果你将人类与 AI 配对,实际上会得到一个更像这样的结果。
你知道,人与 AI 一起评估的能力远超过单独评估的能力。😊。
嗯。😊,所以。为了使这更具体,有两种不同的方式你可以做到这一点,或者有许多不同的方式你可以做到。我将强调一下,首先,你可以让 AI 来写一个批评,这是我们去年做的一个项目,在这个案例中有一个简单的总结任务,我们训练了一个语言模型来简单地说。
😊,总结中存在的问题。嗯,以及。
你可以做其他事情,例如,你可以让人们使用 ChatGPT,并问他们,好吧。使用 ChatGPT 来帮助你评估,然后你可以请求一个批评,或者你可以请求很多其他的东西,你可以请求解释,进行事实核查,或者你知道的,任何模型像 ChatGPT 实际上可以可靠地帮助你的事情。因此,想法是,使用 AI 的帮助,你可以获得。
所有的智能城市我拥有。并利用这一点来确定你应该如何评估这个系统的运行情况,以及它是否符合你的偏好,或者它是否在试图欺骗你。而且,这个问题的关键在于,我们如何知道它是否有效?
其中一个困难在于,根据假设我们正在处理一个难度较大的任务,在评估时困难重重,并且我们希望任务是真实的,因为我们不想解决一些无关紧要的高难度任务。因此,这就变得不一样了。
所以你需要一个真实的困难任务,但如果你没有那些,通常也没有基准,所以你不知道哪个是正确答案,你怎么知道辅助是否有效,或者它是否使每个人都偏向于说同样的事情。
所以,有一个简单的技术,我们在评估中使用。我们称之为目标扰动,你所做的是有一堆提示。这可能是人们在聊天中输入的内容。然后你稍微调整一下你的回答,假设这是他们的正确回答,它不一定要正确,但我们假设它是,现在你在要求一个人引入某种微妙的缺陷,这种缺陷很容易被忽视,但却是重要的缺陷。你得到的是一个良好回答和一个糟糕回答的同伴数据集,你知道哪个是好哪个是坏,因为你让它变得更糟。
所以,你知道,从某种意义上说,这给了你机会。现在你可以做的是,随机选择一个正确或有缺陷的回答,然后把它展示给一个人或一个有帮助的人。他们必须说出这是正确的还是有缺陷的,或者这个回答有多好。😊,嗯。在这种情况下,我们可以尝试许多不同的人工智能辅助或可扩展的监督技术,然后说。
你知道,这是否?实际上帮助人类发现我们植入的缺陷,比不帮助时更生动。如果是这样,那么你实际上是在真正帮助。
所以我们在评估论文中做了这个,训练语言模型写评估和总结。我们可以展示,当我们在评估中帮助人类进行评估时,他们实际上发现的缺陷比没有帮助时多 50%。这就像是现实生活中的真实迹象,表明你可以使用今天我们已有的模型。
帮助人类评估和发现他们可能错过的问题。当然,我们仍然需要在更困难的任务上进行这种评估,或者在某种意义上的实际任务中,我们还希望有更大的效应量。但我认为,这只是像。
这表明这些技术已经显示出一定的前景。从长远来看。😊。嗯,我认为我们想要实现的是,利用人工智能来处理所有评估我们系统所做的认知劳动。这可能包括阅读相关内容、事实核查、做计算、编写代码或任何这些事情。然后人类应该专注于他们的偏好输入,了解他们真正关心的事情和他们想要的内容。
😊 模型来做。嗯。😊 以这种方式,你可以利用。你知道。AI 参与者将带来的能力以及他们最终会比我们更擅长的事情。然后。就像是利用它们来帮助传达我们实际关心的事情,以及我们真正希望它们做的事情。是的,仅此而已。😊 但是是的。
这些是主要的幻灯片,我很乐意回答更多问题。是的。我在想这种响应的幻觉。你有没有尝试考虑一些关于访问的不确定性的概念,比如采样或类似的东西,响应之间的价值方差,以及某种价值。
是的。这。集成是困难的,因为要么你在同一个预训练模型上训练一个精细的集成,因此在集成中没有太多的障碍,要么你预训练了一堆不同的模型,现在你在预训练上花费了很多钱。
一件事,我是说。看起来这应该是一个可解决的问题,就是让模型在不确定时说它不确定。朝这个方向已经有很多研究,但我认为现在我们仍然不在一个好的状态。做一些聪明的事情。她。是的。
你认为在 AI 建议批评 AI 答案时,我们可能会遇到信号与噪声比的问题吗?因为我肯定,当 AI 试图指出文本中的潜在问题时,人类更可能会支持更多的问题,但如果这些问题是人类一开始并不一定有问题的呢?是的。
所以我们确实尝试通过让人类评估法律的严重性和他们是否会注意到这些法律来对此进行一些控制。他们仍然能看到显著的效果。但还有很多时候模型是在挑剔,而这些并不是有趣的案例。对了,如果你看看我展示的例子,我认为是来自于博客文章,很多关键其实非常糟糕。
😊 使批评变得容易的事情是。大多数都是垃圾,因为人类可以轻松击败它们并将其丢弃,这样就有助于评估者知道应该关注哪里,或者注意到他们可能会错过的东西。所以更像是。你知道,批评帮助你进行头脑风暴,如何进行评估或其他的事情。
但是如果你像是在使用助手,你可能希望获得比仅仅填补大多数答案更可靠的东西。😊 是的。我们如何确保我们在你的递归词建模方法中使用的评估指标,比如检测欺骗,比如左转或其他什么,不会出现重大不连续性。
是的,我认为。嗯,这在很大程度上取决于你所说的是什么类型的社区,对吧?如果。你知道。你收到一夜之间的模型信件,上面说参数数量大了一千倍或同样更好。我可以像。创造一个很大的进步,这使得进行这种评估变得相当困难?嗯。😊,所以从这个意义上说。
我认为将 BI 更加持续地扩展并进行更多增量步骤将非常重要。也就是说,我认为。关于奖励建模的请求的基本情况是。你正在训练系统来帮助你评估,知道吗?系统可以从同一系统中训练或找到你,所以如果你能搞清楚如何去获取。
像以它们提到的一切有用和相关的方式来寻找它们,那么它仍然能够。评估系统,即使它们比你以前评估的任何东西都要聪明得多。也许让我更具体一点,因为我认为你可以用某种方式来衡量这一点,或者我们尝试过的一种方式是使用我们称之为判别的批评差距。所以要衡量这一点,你正在训练两个不同的或你微调的两个不同的模型来自同一个训练模型。
一个是判别器,它只是说。这个是有缺陷的响应还是正确的响应或更正确的响应?
另一个是批评模型,它告诉你缺陷是什么。现在你可以衡量判别器有多频繁地正确,判别器只是纯粹的梯度下降。它并不需要想告诉你任何事情,你基本上只是通过表示与模型连接,并试图获取它对这个预测任务的所有相关潜在见解,而在另一方面,你有这个批评模型或这个一般的辅助模型,你在衡量这个助手实际上多频繁地帮助我指向正确的缺陷。
然后如果你比较这两个分数,你可以查看它们之间的差距。因此。抱歉,判别的批评差距。如果差距很大,那么模型对任务了解得很多,但却没有告诉你,这会非常令人担忧。而如果差距很小。那么,你知道的,可能模型没有告诉你的事情就少得多。
但我想确保这种方法是稳健的,并在学习中进行更多的逐步测试是很有价值的。这就是为什么我们想要在当前模型上进行测试。是的。我不知道谁是第一个。我想是后面有人。😊,我。我想问一下,也许首先是 NX 幻灯片,上面有关于人类强度的内容。所以,你知道,我一直在帮助注意到,部分内容也是在传达你希望 AI 做的事情。
没错,不仅是评估,还有沟通。也许我想让你这样做。也许,我希望我这样做。所以至少在我个人的聊天体验中,有些事情可以做到。这太疯狂了。例如,我会说,不。那是怎么来的?或者你知道,如果你能询问点击。
有不同的事情,对吧?或者我在想,好吧,我可以要求什么,到了什么程度。让我觉得有点担忧的事情就是,像这样,人们并不总是沟通他们的偏好,老实说,我们可能会。可能会有协调的努力,对吧。
就像是为了特定能力而设立奖励的协调努力。一个想法是,我尝试询问是否有一些关于 Wi 本身的想法,但我一开始不知道怎么用。所以我想,也许用户应该有这样的东西。似乎并没有。但是我希望有一个。
对于 G3 来说是有的,对吧?我认为我有一点希望。我的问题是,你如何使这类事情安全?你是否认识到协调努力来具体奖励某种行为,可能某个群体决定他们想要这样。
你知道,给它一些能力,这就是一个非常好的问题,以某种方式。我的意思是,首先显而易见的事情是你不应该仅仅在使用接口的人提供的数据上进行训练,我们已经看到了其他例子的结果,如果你考虑像微软的 T 之类的东西,事情可能会变得相当糟糕。
另一件事是,我的意思是,现在我们所做的就是雇用一群人,然后让他们评估不同模型的响应。但现在问题变成了,你知道,谁会被雇佣,他们的背景是什么,他们在试图做什么。因此,特别是,我认为我们现在做得相当糟糕的是,实际上。
就像导入多样且具有代表性的人类偏好一样,更像是你知道的,我们最终能雇佣谁,所以我有点希望能有更有针对性的研究,关于我们该如何做到这一点,以及如何才能做到好,其中一些也许更适合在大型科技公司之外进行,因为如果你是在科技公司,总是有动力去。
是的。以人类偏好的方式导入,可能并不是我们在灵活状态下人类实际上会做的事情,所以我认为这是一个非常重要的问题,比如数据污染,这就像是这个双重问题,你觉得明显吗?是的,我的意思是,这是不是人们可以用任何人都可以通过自由训练的方式污染网络上的东西?
而且,这一点我们必须非常注意。是的,我不知道。考虑到我们目前正在训练这些模型,也应该解决这些问题。希望此时能更接近偏好。随着人类实践的变化,正如我们看到的过去一样,是否还有什么东西应该跟上?
我的意思是,最明显的事情是模型的知识库就像是预训练截止日期的某种东西;你知道,无论你输入了什么数据进行预训练,它对之后发生的许多事情都一无所知。在更新人类偏好或用于机器人模型的比较方面也是如此。
你只需收集更多数据并重新训练,而功能运行相对便宜,所以你可以再次这样做。我认为变得更难的是,当你部署模型后,人们开始使用它来进行各种任务,以便围绕他们的公司构建东西;如果你更新并更改模型,他们也必须进行大量工作来适应他们正在做的事情。
所以这并不是零成本的。是的,抱歉,我不知道人类的表现,但 G3 的一个优势是它拥有这个庞大的语料库,几乎涵盖了整个互联网。如果你想在特定领域如化学或材料科学中专业化,生成新的内容。
对。己知的但仍然要使用更少的数据,这里仍然是我们应该快速的地方。你的意思是,在化学领域的数据更少,是的,你可能只需要过去 30 年的研究论文,然后可以将其投入到预训练中,模型就知道这些内容,但模型真的能在没有那么多数据的情况下有效学习吗?
或者无法以某种方式适应 GP3 背后的抽象概念?或者这没关系。是的。我的意思是,这就是你打算通过微调实现的总体思路,在某种程度上我们已经看到了这种泛化的方式。例如,instrcutBT 几乎完全在英语语言上进行训练。反馈和演示。而且它在其他语言中也能工作,这真是太神奇了,因此类似地,你可以用对化学一无所知的人来训练模型,然后它会学习如何遵循指令,并在化学主题上这样做,而这种微调可以非常高效,比如用 100 个数据点就能实际改变模型行为。
所以这可以非常有效。我觉得有人问过,没错。关于。响应生成。你在不同表达风格上的努力和培训有多少呢?我注意到,从活动中,它总是给你非常结构化的、科学结构化的答案。如果它把你变成一个科学的科学东正教回答,还是说一个星号。
嗯,是的。我觉得棘手的地方在于,理想情况下,模型应该给你想要的答案,有些人更喜欢科学或技术性的答案,而有些人可能更喜欢更通用的答案。而且,现在的 chat GT 没有办法让你设定具体的偏好,这真是令人兴奋。但我还认为。
你观察到的那种状态实际上可能是我们标注者池的产物。因此,很多 chatB 的工作人员更像是,你知道的。我认为他们更像是计算机科学相关的,还有更多数据是由程序员生成的。相比之下,指令 GT 的标注者更像是通才。而且,是的。
这就像不同,它的风格也会改变。所以没有特定的区分。是的,我的意思是。我们应该做出明确的努力,给你想要的风格,对吧?嗯,是的。所以我想到的一件事是,如何能快速地。在你的这一代或未来的代际,回归到。AI 的进步。对,人类水平,是的。
让人类进行评估,我在想的是。过于伟大,我给我的 10 岁表弟展示了你的聊天程序,仅仅是为了玩一下,那条绿色线比你想象的要多。此外,如果这成为他们教育体验的一部分,他们将更难以区分甚至更简单的任务。
所以我在思考这件事。长期来看,这可能会扰乱或使对齐变得更加困难,因为你有更多的旋转人。例如,杰克说的那个真相。我只是想知道什么?
我的意思是,过于依赖一个不成熟且尚未准备好的技术确实存在风险。你知道。请不要相信模型说的一切,没错,但我认为有一件事。😊我希望的是,你的表亲最终会找到解决办法,他们从小就接触到这些越来越好的 AI 工具,学会如何实际利用它们。
😊,有效地使用,对吧,就像是。你知道,二十年前,或者在某个时候,当你使用谷歌搜索时,比其他人早得多。你可能会在使用这个工具方面变得更好,来完成你想做的一切。嗯。是的,我觉得你举手举了一段时间。任务中的幻灯片。呃,聊天测试。模型任务。嗯。
哦,喂,最后一个。是的,所以现在,看起来你们在使用人类作为与现实世界的生物传感器,获取物理真相。并且使用语言作为对这种真相的压缩接口。你们是否也在考虑直接使用接入技术与模型结合,以获取更真实的答案?
你知道。是的,我的意思是,这取决于传感器可能是什么。我想,最简单的事情之一是你可以要求模型浏览,然后它可以自行核实答案,能导入我不记得的外部知识。而且。😊,嗯,我觉得这会很有用。
我认为这对于辅助人类评估非常有用。😊,那将如何进行?
你可以看看 WebGbT,众所周知,这是一个关于使用模型进行浏览的已发表工作。嗯。我觉得,当你使用这些外部传感器时,有一件事情使得使用变得更困难,或者如果你让模型与现实世界更直接互动,会引发更多安全问题,对吧?如果让你的语言模型进行任意 API 调用。
然后你必须更加小心选择调用哪个。这些调用。如果你作为发布者在审查模型所说的一切。然后你可以决定想要做哪些。嗯。😊,所以是的,这是一个开放的问题。好的,还有一个问题。我想你没有讨论。这些模型的推理能力。
我见过不同的人讨论如何仅仅是每个令牌固定数量,而人类则有系统一和系统二,我们可以快速说话,或是进行一些推理和深入思考,这需要更多的努力。
然后我看到其他人试图强迫它解决一系列问题,或者进行一系列推理,逐步来做事情。你觉得这些东西足以真正获得推理吗?这是我们想要的水平,还是需要真正的大规模微调或架构改变?
我不知道。我也不是问这个的合适人选,我大多数时候并不想这样做。让模型具备新的能力,更像是让它们加入人类团队。哦,我们想做在线问题吗?呃,是的,有。我也觉得有道理,但我的问题是。你觉得对于成年人来说,特别是如果你有像人类一样的东西,这是否是一种角色,你并不教它们。
对人类来说更难。所以你觉得这个配方甚至会更加频繁地使用。是的,很可能。嗯。😊 我的意思是,正如你指出的那样,确实有很多对话数据,如果你能利用这些数据,那将是有用的。我认为可以广泛地将这种事情归类为让 R 算法变得更好,以及我们的反馈,我觉得这很有价值,这应该帮助我们使相同的预训练模型更符合我们收集到的人类偏好。
嗯。😊 但你仍然会遇到所有我们的反馈所存在的局限性。我认为 G3 有一个不错的 API,但我不认为它现在提供我们的角色,但可以进行监督微调,所以你可以这样做。😊 你可以把它们结合起来,进行这种类型的实验或所有问题,所以第一个问题是你能更清楚地描述完整的训练过程,从文本 Dancy 001 和 X 或编程数据开始,按更高的步骤进行吗?
😊 对不起,我没听清,从文本 001 开始,那么你需要多少图像数据,还有多少步骤部分在那个提案中?😊。
而且,我认为确切的数字是保密的,基本上与指令 GBT 类似,关于指令 GBT 的数字。
我们有。我想大约有 50,000 次比较。还有大概 10,000 次演示,或者说可能是成千上万次,我不记得确切的数字。
所以我有另一张幻灯片,是关于 20,000 小时的人类反馈,这是我计算的。我的意思是,大问题是你如何确保质量?😊。
嗯。😊 不管怎样,有时需要切换并点击,我会给你一些东西。但这就是整个问题,对吧?假设你真的有一个值得信赖的模型。好的。没问题,下一个问题我认为之前的建议是,你想要自动化对概念问题的研究搜索,这对于专家来说是很难验证的部分。我的意思是,这个计划的目标是训练一个能够进行这种概念研究的模型。
你知道,你可以想象这就像一个语言模型,它像是,写一篇对齐研究论文,我们像是读了这篇论文,然后我们就觉得,哦,这是个很酷的想法,我们应该尝试一下。😊 我觉得,回到评估方面,生成时会更容易。
我认为这同样适用于对齐研究,至少我发现评估对齐研究要比制作对齐研究容易得多。因此,尽管可能有我们需要的概念性突破,但我们现在甚至无法评估它们,因为它们就像,如果我们看到它们,我们会想,这是什么?这有点像。
这就是我们想要减少监督的原因,对吧?因为你知道,如果语言模型产生了这个非常出色的见解,而我们当时甚至无法识别它。嗯,如果我们使用 DI 辅助,并利用我们最好的 AI 模型,我们应该能够更轻松地识别它,😊,以确定那是否是个好主意,它的弱点和优点是什么,以及我们应该进行什么样的实验来知道这是否是个好主意。
是的,我基本上觉得。你知道,利用我们的 HF 训练一个模型以进行良好的对齐研究的故事。你会面临明显的陷阱,也就是说,模型可能会写出看似不错的对齐提案,但实际上,并不是一个好的提案,导致产生与人类不对齐的人工智能。😊。因此,为了区分这两者,可能会非常困难,也许不会,但你知道。
我认为我们应该预期这会非常困难,然后利用情感智能(EI)协助进行评估,这似乎是一个非常有前景的计划。所以关于人工智能,这将是技能的问题。我是说,这正是我的观点。这是不够的。かち。但是你觉得需要更多的东西,还是你想要一种开放策略,你认为如果能获取大量反馈数据,这是否足以产生良好的结果,还是你觉得还需要更多?我觉得我可能搞错了,像是记者,或者我认为是这样的。
😊,基本上,模型的大多数能力以及你看到的所有酷炫功能都来自于预训练,现在则来自于微调阶段。人们有时将其归因于微调阶段的原因是你在预训练模型中没有看到它,我认为我们在预训练模型中没有看到的原因是,预训练模型是如此不对齐,它并不想帮助你,也不想向你展示它能做的所有事情,而是仅仅复述了一些随机的网络文本。
😊,这不是你所寻找的。所以,是的。我认为我们所做的基本上是解锁已经存在于模型中的能力,并使其对人类可用。在某种程度上,像你知道的,对齐研究在某种意义上是双重用途的。
如果你有非常好的对齐技术,你可以用它来对齐任何你想要的价值观。包括一些我们不会特别赞同的价值观。而且 B。如果你对齐得当,它总是会看起来像是你让 AI 系统更强大,因为之前它并没有真正努力帮助你,而现在你让它更对齐,所以你实际上看到了它原本就有的能力。
当然。让我们看看。是的,这个问题跟之前如何处理那种写的前景有关,所以这是一种参考,但是为了优化它们的价值以激励欺骗,那么我们如何应对?
是的,所以这就是我在这里讨论的内容,对吧?😊。
这就是我们所面临的整个问题。人类能够评估的是恒定的,因此我们将无法评估复杂的欺骗尝试,这就是我们希望进行可扩展监督的原因,以便我们能够识别这些欺骗尝试。
是的。到。你们的监控合同计划如何应对我们的区分转变,并避免因其他护理支持而真正改变?是的,所以。我认为这些是真实的担忧。在某种程度上,我们必须通过实证测试来看如何。
实际上它们有多困难和严重,我个人目前的立场是,我认为。试图正确获取外部对齐信号将占据 90%的努力。一旦我们有了这个,很多其他事情也可能会顺利进行,比如。例如。这有点依赖于你担心的不对齐故事。
但你知道,一个故事是你训练你的系统,它学习如何去做。基本上,它是一堆内部优化者,有点像元强化学习。😊所以例如。像 GPT3 可以进行上下文学习,这是一种你知道的,学习的优化器。所以现在你正在进行我们的 A Jeff 训练或其他任何对齐训练。
你就像是优化者学会了你在分部上想要的事情。但是现在如果你有一个分布转变,这个分布转变可能是自我引起的。也就是说,模型自己导致了它。🎼现在你正走出分布,所有这些内部优化者都在尝试优化其他东西。而且。有一种方式你可以这样做。
你知道,这在实践中实际上会发生多少。但是有一个更重要的问题是。如果你有一个非常可靠的外部对齐信号,并且有一个你信任的通用训练信号。你也可以在新的分布上使用它来训练系统。
或者想要连续优化,基本上。所以你就把内部对齐问题简化为如何应对分布变化,以及如何构建一个值得信赖的外部对齐信号?
这些是我们必须面对的问题。嗯。但我不知道这实际上会如何发展,但。有一些重要的开放问题。嗯,是这样的。关于思考,一个线索是,这可能算是一种。需要进行会计讨论的问题。似乎在解释如何应对这些判断方面并没有太多兴趣,或者在 AI 中对分解这些模型的兴趣似乎不大,这就解释了为什么这甚至第二次是任意的,确实在周围有一些真相,但至于它为何会这样做。
你们能更多地质疑判断吗?我的意思是,我认为目前的情况相当不令人满意。你可以问模型为什么给出某个响应,但你不知道它的回答是否真实。而且,你也可以,我的意思是。
你还可以做的另一件事是,给模型一个响应,并要求它找出缺陷。这就是我们在 C 的论文中所做的。嗯。😊,但你知道,我觉得就有一个版本,你试图改善这一点。但问题是,你的信号是什么?
我认为更好的切入角度可能是可解释性。在这里,你可以弄清楚如何深入模型内部,然后。是的。我对可解释性研究的热情在于,这似乎真的对你们的模型有很大帮助,且具有较高的复杂性。
你当前的思考正在向黑箱那一类转变,比如降低这种表示的任务性,这需要。是的,我的意思是,我们正在研究这个问题,但我认为现在没有任何我想展示的东西。
这似乎普遍不是一个容易解决的问题,但你知道,我对我们能做一些事情感到乐观。总体而言,利用可解释性进行对齐的问题有点棘手,因为我怀疑它既不充分,也可能不是必要的。
因此,任何你可以利用的可解释性都将是有用的,因为这是你检测欺骗或了解模型为何给出特定答案或做出特定决定的工具之一。而且,😊,S。你知道的,这有点不清楚,如果你真的能在可解释性方面做到很好。
你如何利用这一点?对于对齐,假设你可以查看模型,并且随意排除所有发现不对齐的模型。但那样的话,你不就是在选择那些在你当前工具下很难发现的重大不对齐模型吗?
其实,只是全面接触,因为我对此的看法在一般伦理实践中是,你必须进行解释。嗯,我在我的问题中,比如说,为什么你会选择这个。嗯,是的,为什么这并不是必要的?再一次。
这有点像一个开放性问题,但基本上你可以采取的立场是,归根结底,真正重要的是模型所做出的决策,而不是它做出这些决策的原因。因此,如果你能做到这一点,你就可以确信模型所做的一切都与你的期望一致。
那么模型内部的想法还重要吗?
我不知道,对,我们就是在努力做这个,我们想要做一个非常好的评估信号,然后你可以选择。你知道的,你可以训练模型去做你想让它做的事情,因为你总是可以进行评估。
比模型更能做事情。是的。嗯,我可能会有很多问题。嗯,他个。很好,但非常感谢你精彩的讲座,非常有趣,我可能实际上不太多,我可能只想做一个直播,我只想像应用一样。好的,最后的部分。
😊,我输了,抱歉,那你觉得这个事情怎么样。😊,我们只围绕了一次。
P14:14.战略游戏 - life_code - BV1X84y1Q7wV
所以有时候需要两个月来训练这些机器人。在成千上万的 CPU 上,有时候需要数 TB 的内存,但当真正与人类对战时,他们几乎是瞬间行动的,这只是一个查找表。而人类在困境中并不会立即行动。
他们会坐在那里思考五秒钟,可能在非常困难的决定中思考五分钟,很明显,这使他们能够想出更好的策略。所以我想在我们的机器人中调查这种行为,看看如果我们能够将其添加到我们的机器人中,会有多大不同,能够不是立即行动,而是花些时间计算出更好的策略。
这是我发现的。因此,在 X 轴上我们有桶的数量,你可以把这个想象成模型中的参数数量,而在 Y 轴上我们有距离纳什均衡的距离,这基本上是你在最坏对手面前损失多少,所以这个数字越低,你的扑克机器人就越好,你可以看到随着参数数量的增加。
你的表现有所提高,当你将参数数量增加约 100 倍时,你会发现可利用性降低了大约一半,实际上你得到了一个更好的扑克机器人。但你可以看到这里的蓝线是如果没有搜索,橙线是如果你添加了搜索。
😡,你可以看到,仅仅添加搜索,增加坐下来思考的能力,就提升了这些模型的表现。它减少了可利用性,距离纳什均衡大约降低了 7 倍。如果你想延长那条蓝线,看看需要多少个参数才能与添加搜索相媲美,答案是你需要将模型的规模扩大约 100,000 倍。好的。
当我看到这一点时,我感到非常震撼,意思是,在我博士学位的过程中,前三年,前三到四年,我成功地将这些模型的规模扩大了约 100 倍。嗯。我对此感到自豪,我认为这真是一个相当相当令人印象深刻的结果。
但这张图表向我展示的是,仅仅添加搜索,相当于将规模扩大约 100,000 倍。所以我之前的所有研究到这一点为止,只能算作脚注,跟添加搜索相比。因此,当我看到这一点时,变得清晰起来。
这就是战胜顶尖人类扑克选手的答案,因此在接下来的一年里,我几乎不间断地致力于扩展搜索。现在自然会出现一个问题,那就是为什么之前没有考虑到这一点。首先,我应该说扑克中的搜索在之前是被考虑过的,实际上可以说在国际象棋和围棋中都有搜索,那么为什么在扑克中不考虑搜索呢?
有几个原因,其一是文化方面,扑克研究起源于博弈论和强化学习,并不是与从事国际象棋和围棋研究的人相同的背景。当你扩展搜索,扩展测试时间的计算时,会使你的实验成本大幅增加,也让工作变得更加不愉快。还有一些激励结构,毕竟人们总是想着赢得下一个年度计算机扑克比赛,而 ACPC 限制了你在测试时可以使用的资源,因此在 ACPC 中实际上是无法有效进行搜索的。
我认为最大的因素是人们根本没有想到这会产生如此巨大的差异。我认为合理地看待像搜索这样的东西,认为它可能会带来 10 倍的差异,但你可能不会想到它会产生 10,000 倍的差异,因此虽然有一些人在研究这个,但它并不是很多人研究的重点。
所以无论如何,专注于扩展搜索,这导致了 2017 年 Bras 与 AIT 的比赛,我们再次将我们的机器人与四位顶级扑克高手对战。120,000 手扑克,$200,000 的奖金,这次机器人每 100 手赢了 15 个大盲注,而不是之前的 9 个大盲注。
这是一场毁灭性的胜利,每位人类选手都单独输给了机器人。
四个标准差的统计显著性。我们在 2019 年进行了六人扑克人工智能比赛。最大的区别在于我们找到了如何进行深度限制搜索。因此,在 2017 年的机器人比赛中,它总是需要搜索到游戏的尽头,而这次只需搜索几步之后就可以停止。
所以这次再次获得了统计显著性。令人惊讶的是,尽管这是一个更大的游戏,这个六人扑克机器人 Plebuvis 在云计算资源上训练的费用不足 150 美元,并且在推理时运行于 28 个 CPU 核心上,没有使用 GPU。
所以我认为这表明,这实际上并不是算法上的改进。我是说,如果人们知道怎么做,20 年前就能做到这一点。我认为这也显示了搜索的威力,如果你能找出如何在测试时扩展计算。
这真的可以带来巨大的差异,并大幅降低你的训练成本。诶。😊。好的,无论如何,我还想说,这不仅限于扑克,如果你看看围棋,你会看到类似的模式。这是来自 AlphaGo Zero 论文的一个图。X 轴是不同版本的 AlphaGo,Y 轴是 elo 评分。
这是一种比较不同机器人,以及将机器人与人类进行比较的方法。你可以看到,如果你查看超级人类的表现,大约是 3600 elo。你可以看到 Alpha Go Lee,2016 年与李世石对弈的版本,正好超过超级人类表现的线。最强的 AlphaGo 版本大约是 5200 elo。
但是如果你去掉测试时间的搜索,如果你只是根据策略网络进行游戏,而不在 AlphaGo Zero 的测试时间进行任何蒙特卡洛研究,那么 elo 评分会降到大约 3000,这远低于专家人类的表现。这显示,如果在测试时间去掉蒙特卡洛研究,😡,AlphaGo Zero 并不是超级人类的,实际上没有人制作出不使用某种形式搜索的超级人类围棋机器人。
没有人制作出能击败顶级人类的原始神经网络。如果我还要说,这是如果在测试时间去掉搜索。我甚至不谈在训练时间去掉搜索,如果你在训练时间去掉它,我们甚至无法起步。现在有一个问题就是,好吧。
当然,你可以扩大模型,增加训练的量,最终超越人类的表现,如果你添加搜索,这也是正确的。如果你扩大模型和训练规模。
然后你最终会通过搜索匹配表现。但是有一个问题是,你需要扩大多少规模。大致经验法则是,要将你的 elo 评分提高约 120 点,你要么需要将模型大小和训练量翻倍,要么需要将测试时间的搜索翻倍。
如果你看那大约 2000 elo 点的差距,计算一下你需要的 deadlings 数量,答案是为了让原始策略网络从 3000 elo 提升到 5200 elo,你需要将模型和训练扩大大约 100000 倍。好的。那么这为什么重要呢?😡,我认为看看今天的大型语言模型和变换器,你会看到类似的情况。
我的意思是,你得到了。巨大的问题是,我所说的搜索是什么意思,有一种特定的搜索类型,比如多目标搜索,能够提前规划你将要做的事情,而不是仅仅根据预先计算的策略瞬间行动。
但我更广义上所指的搜索是能够扩展计算量以获得更好的性能。我认为这才是真正的价值,而不仅仅是根据你的预计算来行动。你知道,把所有计算都提前完成,然后在推理时几乎瞬间行动。如果你有五分钟输出一个动作,而不是 100 毫秒,能否得到更好的解决方案?
好吧。所以。是的,我觉得你要看一下。抱歉,有个问题。带有搜索电路的变压器算作搜索吗?还是你指的是工程搜索算法?我不想深入探讨如何做到这一点,因为答案是目前没人真正知道。我们在扑克和围棋等领域成功进行搜索的方式都是相当特定于领域的。
你知道,去使用这个叫做多层研究的算法。是的。你可以把束搜索看作一种简单的搜索形式,但看起来未来应该会有更好的方法。是的。所以,无论如何,我的意思是,你要看看今天大型语言模型是如何训练的。
你会看到数百万美元被投入到预训练中。 我不会惊讶如果我们看到一个大型语言模型训练成本达到 1 亿美元。我们甚至可能达到 10 亿美元。但推理成本仍然会非常小。因此有个问题:如果可以的话,你能否做得更好?
也要考虑推理成本的规模。也许这可以摊销你的一些训练成本。是的。好吧,有一场讲座叫做理查德·萨顿的《Bi 教训》,它说最大的教训就是可以学到的。所以这是篇很好的文章,我推荐阅读。但其中一个主要的收获是,他说从 70 多年 AI 研究中学到的最大教训是,利用计算的通用方法最终是最有效的。
似乎以这种方式无限扩展的两种方法是搜索和学习。现在。我认为我们在推广搜索方面做得很好,抱歉,推广学习方面。我认为在搜索方面仍然有改进的空间。你知道,接下来的目标真的就是通用性:我们能否开发一种真正通用的方法来扩展推理计算,而不仅仅是做诸如蒙特卡洛研究那样特定于某一领域的事情。
而且这比诸如思维链之类的东西要好。嗯。这看起来会是你有更高的测试时间计算,但你有更强大的模型。我认为在某些领域,这种权衡是值得的。如果你考虑到我们愿意为“雷蒙德假设”的证明支付的推理成本。
我认为我们愿意支付很多钱。或者你知道,这个成本。我们愿意为新的救命药物支付多少成本,我认为我们愿意支付很多。所以我觉得这里有一个机会。好吧,反正,这就是我前面的铺垫。我想在我继续谈论西塞罗之前,有什么问题吗?顺便说一下。
我谈论这个的原因是因为它将影响。😡。我们对西塞罗的处理方式,我认为与其他许多研究人员可能采取的方式有很大不同。有人问,能否举一个多模态研究的搜索例子。你也可以想象像广度优先搜索、深度优先搜索这些类型的搜索,它们都是搜索。我还想说,思维链在某种程度上类似于搜索,因为它允许模型在测试时利用额外的计算资源,以获得更好的性能。
但我认为这就是你想要的主要内容。能够在测试时利用额外的计算资源。搜索的空间是什么?你在搜索什么?在围棋这样一个游戏中,就是不同的棋盘位置。但你也可以想象搜索像不同的句子之类的东西。
这里也有很多灵活性。好吧,现在我想谈谈西塞罗。首先我应该说,关于西塞罗。这是一个大型团队合作。这实际上是参与这个项目的一个伟大之处,因为这里有如此多样的人才。
在强化学习、规划、博弈论和自然语言处理方面的专家,大家一起合作,这一切都是不可能的,没有每个人的努力。因此,外交的动机实际上来自 2019 年。我们当时在关注所有的突破,我认为一个很好的例子是 2012 年发布的这幅 XKCD 漫画,展示了不同类别的游戏。
已经解决的游戏,计算机可以击败文档的游戏。计算机仍然会输给文档的游戏,以及计算机可能永远无法超越文档的游戏。在这一类别中,计算机仍然输给顶级人类的四个游戏,包括围棋、阿里马、扑克和星际争霸。在 2015 年。😊实际上,我的一位同事。
大卫·吴在 2016 年首次突破,战胜了顶尖人类选手。在 2016 年,我们的算法战胜了 Lisa 在围棋中的表现。在 2017 年,我刚刚描述的工作中,我们在扑克比赛中击败了顶尖人类。而在 2019 年,我们的 AlphaStar 战胜了多名人类选手在《星际争霸》中。这显示了在战略推理方面,在过去几年中发生的惊人进展,直至 2019 年。同时,我们在 2019 年也推出了 GP2,这表明语言模型和自然语言处理的进展速度远超许多人的预期,包括我们自己。因此,我们在思考第六位扑克选手工作的下一步。
我们下一步应该做什么?我们讨论了不同的领域。考虑到人工智能的惊人进展,我们希望选择一个非常雄心勃勃的项目,一项我们认为无法仅通过扩大现有方法来解决的任务,因此我们选择了外交,因为我们认为这是为人工智能开发的最困难的游戏。
那么,什么是外交?外交是一种自然语言策略游戏。游戏发生在第一次世界大战前,你将作为欧洲七大强国之一进行游戏:英格兰、法国、德国、奥地利、俄罗斯和土耳其。你的目标是在地图上控制大多数区域,实际上,这种情况很少发生;如果你控制了大多数区域,实际上就意味着你赢了,但通常没有人能彻底获胜,因此你的得分会受到影响。
这与您控制的地图百分比成正比吗?
现在,外交游戏中真正有趣的是,它是一种自然语言的谈判游戏。因此,你会看到德国和英格兰之间的对话,他们会在行动前进行交流,比如德国可能会问:“你想支持瑞典吗?”
英格兰说:“让我想想。”所以这是一个在 1950 年代开发的受欢迎的策略游戏。实际上,这也是 JFK 和基辛格的最爱。正如我所说,每一局都涉及复杂的私人自然语言谈判。我想明确指出,这并不是像你在游戏《卡坦岛》中看到的那种谈判。
例如,你会看到,这更像是一场生存游戏,如果你看过真人秀《幸存者》。你会围绕想要建立的联盟进行讨论,围绕想要在当前局势中执行的具体战术进行讨论,还会讨论更长期的策略,比如我们从这里往哪里去,以及如何分配资源。
现在游戏的运作方式是,谈判持续时间在五到十五分钟之间,具体取决于游戏的版本。而且所有这些谈判都是以对等的方式私下进行的。我还认为你没有被静音,谢谢你。然后在谈判期结束后,大家会同时写下他们的行动。😡
所以,一个玩家可能会承诺你,比如说,我会在这个回合支持你进入这个领土。但是当人们实际写下他们的行动时,他们可能不会这样写,所以你只有在所有的行动同时揭晓时才能知道他们是否遵守了诺言。因此,联盟和建立信任至关重要。
相信有人会履行承诺的能力,这实际上就是这个游戏的核心,而说服他人你会履行承诺的能力同样是这个游戏的核心。因此,出于这个原因,外交长期以来被认为是人工智能的挑战性问题。关于这个游戏的研究可以追溯到 80 年代,研究真正开始得到重视。
这方面的研究在 2019 年开始时非常激烈,当时 DeepMind 的研究人员,以及我们自己和其他地方的人开始进行这方面的工作。现在很多研究,绝大多数研究实际上集中在游戏的非语言版本上,这被视为通向完整自然语言版本的垫脚石。
尽管我们决定从一开始就专注于游戏的完整自然语言版本。为了让你了解这些谈判和对话的样子,这里有一个例子。在这个例子中,英格兰,你可以看到他们将舰队从挪威移动到圣彼得堡,这占领了俄罗斯的领土。
所以这就是在那次行动后的棋盘状态,现在奥地利和俄罗斯之间有这样的对话。奥地利说,北边发生了什么?俄罗斯说,英格兰背叛了,我担心你我朋友的结局可能要来了。奥地利说,是的,那很糟糕,你能在那边撑得住吗?俄罗斯说,我希望如此,英格兰似乎仍然想要合作。奥地利说,你能和德国达成协议吗?所以玩家们现在在讨论应该和其他玩家讨论什么。俄罗斯说,好主意,然后奥地利说,如果我们能找到,只要你能保住塞瓦斯托波尔就行。塞瓦斯托波尔是南边的一个领土,你可以看到土耳其在黑海和塞瓦斯托波尔旁边有一支舰队和一支军队,他们可能会在下一轮攻击那个领土。
嗯。😊,奥地利说,你能支持保住塞瓦斯托波尔、乌克兰和罗马尼亚吗?我会支持保住罗马尼亚。俄罗斯说,是的,他们已经在这样做,奥地利说,太好了。希望我们能开始让你恢复元气。这是你在外交游戏中会看到的对话的一种例子。
奥地利实际上是我们的机器人西塞罗。😊,这让你对代理对话的复杂性有了一些了解。诶。好的,我会跳过这一点,所以我想我会进入这个,我不想占用太多时间,实际上让外交变得有趣的是支持是关键,所以这里举个例子。
在布达佩斯和华沙,红色和紫色单位都试图进入格拉奇亚,由于这是一个一对一的对抗,他们都反弹回去。现在在中间面板上,你可以看到维也纳支持布达佩斯进入格拉奇亚,因此现在是两个对一个,那个红色单位确实会进入格拉奇亚。
而关于这个协议真正有趣的是,不仅仅是你自己的单位在支持你,其他玩家的单位也可以支持你。例如,绿色玩家可以支持红色玩家进入格拉奇亚,那么那个红色单位仍然会进入那里。所以支持实际上就是游戏的全部,谈判关于支持的事情,因此,外交有了“毁掉友谊的游戏”的名声,和某人维持三到四个小时的联盟真的很困难,然后再有这样的情况。
😊,让他们背叛你,这基本上是在毁掉你的游戏。但如果你和专业外交玩家交谈,他们的看法会有所不同。他们认为,外交最终是建立信任的过程,而环境却促使你不去信任任何人。这就是我们决定致力于这个游戏的原因,你知道的。
我们能否创造一个能够在一个鼓励玩家不信任任何人的环境中建立信任的 AI?它能否诚实地沟通自己将要做的事情,并评估另一个人在说他们要做某事时是否诚实?
好的,所以。在外交游戏中,它恰好位于强化学习和规划的交汇点上,还有自然语言。我们可以从两个角度来看为什么外交是一个非常有趣的领域,一个是多边的视角。
😡,之前的所有游戏,比如国际象棋、围棋和扑克,这些都是纯粹的零和两个玩家的领域。在这些领域,自我对弈可以保证收敛到最优解,基本上这意味着你可以让机器人完全从头开始游戏,没有任何人类数据。通过反复自我对弈,它最终会收敛到这个无与伦比的最优解,称为迷你最大均衡。
但这个结果仅在两个玩家的零和游戏中成立。这整个范式仅适用于两个玩家的零和游戏。当你进入需要合作的领域时,除了竞争,成功就需要理解人类行为和约定,你不能再把其他玩家当作机器对待。
你必须像对待人类一样对待它们,你必须建模。😡人类的不理性,人类的有限性。其中一个例子实际上是语言。你可以想象,如果你从零开始训练一个机器人进行外交游戏,像这个游戏的完整自然语言版本,机器人没有理由会学会用英语交流。
它会学会用一些奇怪的机器人语言进行交流,当你把它放入与六个人类的游戏中时,它无法与他们合作。😡嗯。所以我们必须找到一种方法来整合人类数据,并能够学习人类的行为,以便在这个游戏中取得成功。
😡诶,好的。还有一个 NLP 的视角。当前的语言模型基本上只是模仿人类的文本。虽然在 RLHF 等方面取得了一些进展,但这仍然不是人类交流的方式,人类是有意图地进行交流,他们想出这个意图,然后以传达这个意图为目标进行交流,并理解其他人也在尝试做到这一点。
😡所以有一个问题,就是我们能否超越糟糕的聊天?实现有目的的对话。因此,Cicero 是一个外交 AI 代理,它结合了高水平的战略玩法和开放领域的对话。我们使用了通过与网站 webdplomacy.net 合作获得的 50,000 场人类外交游戏。因此,我们将 Cicero 投入一个在线外交联盟,提前给你结果。
Cicero 在 828 名玩家的 40 场比赛中未被识别为 AI 代理。有一位玩家事后提到他们开玩笑说我们是机器人,但他们并没有真正跟进,其他人也没有跟进,后来他们还指控其他人也是机器人,因此我们不确定该如何认真对待这个指控,但我觉得很遗憾的是,它在 40 场比赛中都没有被识别为机器人,事实上我们在赛后告诉玩家它一直是机器人,这就是我们得到的回应,人们相当惊讶。
幸运的是,没有人对我们感到不满,但他们非常惊讶,竟然有一个机器人一直在与他们一起玩这个游戏。就结果而言,Cicero 排在前 10%的玩家中,这是一个高变异性的游戏,如果你看看玩了五场或更多比赛的玩家,它在 19 人中排第二,达到了超过两倍于平均人类得分的成绩。
我会将其描述为一种强大的人的表现水平。我不会说这绝对是超人,但这目前确实是一个很强的结果。现在,为了让你了解 Cicero 是如何工作的,我们输入到模型中的信息是棋盘状态和左上角显示的最近行动历史。
还有与所有玩家进行的对话直到现在。因此,这将被输入到一个对话条件行动模型中,该模型将预测 Cicero 认为所有玩家在这一轮将要做的事情,以及他们认为我们将在这一轮做什么。
这些导致了我们所称的锚定策略,这些策略随后用于规划。😡,嗯。现在,规划在这里。再次强调,这是我们在测试时利用额外计算资源以获得更好性能的部分。因此,我们基本上会对大家将要做的初始预测,即所谓的锚定策略进行改进,使用这一名为 pickle 的规划过程。
基本上,我们考虑到玩家将以更高的概率选择期望值更高的行动。我们本质上是为所有玩家添加了一种理性假设,假设他们不会像模型所暗示的那样经常失误,并且他们会以比初始模型所暗示的更高的概率选择更聪明的行动。
我们发现,这实际上比仅仅依赖原始神经网络给出了更好的对所有玩家将要做的事情的预测。这给出了我们在游戏中实际采取的行动,也给出了我们所称的意图。因此,意图是我们自己和我们正在对话的对话伙伴的行动。现在我们有这个对话条件,因此我们有一个对话模型,以这些意图为条件。
因此,意图与棋盘状态、行动历史以及到目前为止的对话一起输入到对话模型中,这个对话模型随后将生成。基于这些意图的候选消息。这些候选消息会通过一系列过滤器,过滤掉无意义、基础问题,以及像低预期值消息这样的价值行动。最终。
我们向对话伙伴发送消息。现在每次我们发送或接收消息时,都会重复整个过程。因此,Cicero 中有很多新颖的地方,我会尽量谈论。贡献尽可能多,我可能会稍微快一点,以便我们有时间进行提问。第一个是一个可控对话模型,它以游戏状态和说话者及接收者的一组意图行动为条件。
我们有一个问题,模型的行动空间是什么?诶。行动预测模型的行动空间是玩家在游戏中可以采取的所有行动。对于对话模型,它是你可以发送的消息。明白了,所以哦,那个病。H。😊,好的。我们尝试一个我们称之为意图模型的模型,预测人们在真实轮次结束时将采取的行动。
基本上,我们试图预测人们在传达某条消息时的意图。然后,我们用这个自动注释数据集,基本上记录我们期望人们发送该消息时的意图,并过滤掉。
我们尽可能从数据集中过滤掉谎言,以便数据中的文本注释真实意图。然后,在游戏中,西塞罗将对话模型基于其打算采取的真实意图进行条件化。目标是生成与该意图一致的消息。这又被输入到其他所有内容中。
抱歉,我们通过规划生成的意图被输入到对话模型中。所以给你一个例子,这让我们通过一组意图来控制对话模型。😡,就像这里。嘿。我们是西塞罗英格兰,穿粉色,他们的行动是移动到比利时,其他事项也是如此。如果我们将这个意图输入对话模型。
然后,可能生成的消息就像是英格兰对法国说:“你介意支持我吗?你介意支持埃迪去比利时吗?”另一方面,假设西塞罗的行动是支持法国去比利时。那么,如果你将其输入对话模型,生成的消息可能会是这样的。
如果你想让我支持你去比利时,请告诉我,否则我可能会打扰霍尔。现在,我们发现以这种方式将对话模型与这些意图结合起来,可以使模型更加可控,同时也提高了对话质量,减少了无谓的内容。因此,我们发现这导致了更符合状态的对话。
更符合计划,质量更高,困惑度更低,我认为原因在于,我们像是解放了对话模型,不再需要考虑制定好的策略。我们让对话模型专注于它最擅长的对话,并将战略组件的负担移交给对话模型。
好的,这是一个主要贡献,这个可控的对话模型基于一个计划。第二个贡献是一个规划引擎,它考虑了对话和人类行为。所以,好的。我提到之前关于游戏的许多工作都是在两个玩家的自我对战或某些设置下进行的。现在,纯自我对战的问题在于,它能学习强策略,但并不能。
它不遵循人类的约定,也无法处理对话。如果你只是进行自我对战,它会忽略人类数据和人类的游戏方式。这是一个极端。另一种极端是对人类数据进行监督学习。创建人类游戏的模型,然后用那些模仿人类进行训练。
如果你这样做,你最终会得到一个与对话和人类约定一致的“机器人”,但它的能力仅取决于训练数据,我们发现它实际上很容易受到对抗性对话的操控。例如,你可以发送消息给它说“感谢你同意在巴黎支持我”,它会认为,嗯,我在训练数据中只见过这个消息,当我同意支持某人时,所以我想我在巴黎支持他们,即使这对“机器人”来说可能是一个糟糕的举动。
所以我想出了一个叫做“Pickle”的算法,它在这两个极端之间找到了一个快乐的中间地带。嗯。Pickle 的工作原理基本上是进行自我对弈,但会朝着遵循人类模仿策略的方向进行规范。因此,它对偏离人类模仿策略施加了 KL 惩罚。
我们有一个参数λ,它控制从人类模仿策略偏离的难易程度,当λ等于零时,它完全忽略人类模仿策略,进行纯自我对弈。因此,像从零开始一样进行自我对弈,当λ等于零时。而当λ等于无穷大时,它只是执行人类模仿策略,而不进行自我对弈。
但是对于λ的中间值,我们发现它实际上在遵循人类约定和表现强劲之间提供了一个良好的平衡。所以你可以在这里看到这种行为的出现。抱歉,有个问题,这是否类似于离线强化学习,还是也包含了探索?
我可以说,实际上有很多类似的工作,比如施加 KL 惩罚。因此,我会说这与很多相关工作非常相似,实际上在 AlphaStar 中也做过,他们施加了 KL 惩罚。尽管那更多是关于利用人类数据来帮助探索,而不是更好地模仿人类。因此,我认为 Pickle 工作的有趣之处在于,我们发现它在模仿人类方面表现得更好,而不仅仅是进行监督学习。
我们在进行一些心智理论的工作,我们假设其他玩家也在使用这个模型来指导我们的行为。我们期望其他人对我们的行为的看法,除了对其他玩家进行建模之外。所以这就像是我们在这里使用的一个常识算法。好吧。从这里你可以看到的行为,比如说,假设英格兰同意,抱歉。
假设我们处于这种情况,这实际上在一场真实的游戏中发生过。这启发了我们论文中的一个例子。所以英格兰和法国正在交战。法国是“机器人”,法国询问英格兰是否愿意脱离接触。如果英格兰回答说,是的,如果你回到北大西洋,我会离开英吉利海峡。那么我们可以看到西塞罗的表现。
实际上后撤。离开并。去往 NAO,成功脱离接触。因此,这表明机器人的策略确实反映了它与其他玩家的对话。英格兰可能发送的另一个消息是这样的话。我很抱歉,你整个游戏都在与我作斗争,我不能相信你不会背刺我。
因此,在这种情况下,西塞罗将继续攻击英格兰,你可以再次看到。这是有反应的,它根据对话改变了行为。但你也可以有这样的消息,比如英格兰说,是的。如果你把军队移动到比利时,我就会离开英吉利海峡。
所以这些对于西塞罗来说都是非常糟糕的举动,如果你只看原始的策略网络,它可能会这样做,可能会做出这些举动,因为英格兰建议了它。但因为我们使用 pickle,它考虑了不同动作的期望值,它实际上会强烈地后撤,但忽略这些建议的举动,因为它意识到这些会使其非常容易受到攻击。
好吧,我会跳过这一页以节省时间。嗯。哦。我还应该说的是,我们不仅仅是在做规划,我们实际上是在一个完整的自我对弈强化学习循环中进行。这次的目标确实是比单纯的监督学习更好地建模人类行为,我们发现使用 pickle 进行自我对弈强化学习可以比单纯的模仿学习更好地模拟人类行为。最后,我们有一组消息过滤技术,可以过滤掉无意义和策略上不合理的消息。
嗯,所以给你一个关于这些过滤器的例子,这里。有一个我们开发的基于价值的过滤器。😡,所以。这么做的动机在于,当我们输入对话模型时,是为我们自己和我们讲话伙伴制定的计划,但这是我们为自己制定的整个计划。
因此,我们可能最终会把我们打算攻击与我们对话的玩家这一事实输入到对话模型中。老实说,对话模型有点傻,它并不知道不应该告诉这个玩家他们会被攻击。因此,可能会发送一些消息,比如这里显示的第二条,英格兰对法国说。
我们对你有敌意,你必须清理战场,请提供一个可颂。实际上,这是机器人发送给一个玩家的消息,而不是对另一位玩家的。这是初步测试,激发了整个方法。
嗯。因此,如果机器人打算攻击玩家,我们不希望它发送这种消息。我们希望它发送一些不一定是完全谎言的东西,或者根本不发送消息,或者发送一些更为平淡的内容。😡。因此,我们通过查看这些值来过滤这些消息。
我们所做的是生成一堆候选消息。然后我们看看,如果我们发送这条消息,我们期望其他参与者的行为是什么,他们在收到这条消息后会采取什么行动,他们又期望我们在发送这条消息后会做什么?
然后我们看到,我们打算采取的行动的预期值是什么。考虑到对其他人将要做的预测😡。所以如果我们的意图是攻击法国,那么我们可以看到,如果我将这条消息发送给法国,他们会变得非常防御,抵御我们的攻击,而我们的攻击将会失败,因此我可能不应该将这条消息发送给他们。
嗯。所以在这个网络中,我们实际上可以过滤掉预期值较低的消息。我们发现这效果惊人地好。对话示例。为了节省时间,我将举一个例子。这里有。西塞罗代表法国,法国正在与人类玩家土耳其对话。
他们正在争论谁将占领突尼斯,这个被红圈圈出的领土。你可以看到他们都有舰队在领土旁边。如果他们都去争夺,那么都不会得到。因此,他们需要达成某种协议。所以法国说,我会和你合作。
但是我现在需要突尼斯,土耳其说,不,你得让我拥有它。法国说不,我需要它。然后法国建议,你知道,你可以去占领其他领土,比如塞尔维亚和罗马。土耳其说,那些是不可及的目标,接着西塞罗提出具体的行动,允许土耳其占领这些领土,所以西塞罗说希腊、爱奥尼亚和特兰。
土耳其说,你说得对,这些是好主意,然后法国说,那在秋天你就可以占领罗马,奥地利崩溃了,这样土耳其就可以对奥地利取得进展,但方便的是,这也让法国可以占领突尼斯,因为土耳其会将那些单位用于其他事情。
好的,未来方向中的限制意图表示只是每个玩家的一项行动。好的。所以有一个问题。我们输入对话模型的意图是我们在这一回合以及下一回合要为自己和其他玩家采取的行动。
但理想情况下,我们会有更丰富的意图集合。我们能够考虑长期策略、沟通风格或提问等因素。这是这种方法的一个限制。当然,意图的空间越丰富,出错的可能性就越大。
你还需要训练模型,以便处理更广泛的意图空间。有一个问题,你认为对话模型是否在学习一个内部模型?内部世界模型是否使其能够如此准确地预测动作?这就是为什么我们依赖意图,减轻对话模型构建良好世界模型的负担,因为我们告诉它这是我们在这一回合计划采取的动作,而这些是我们希望其他玩家在这一回合采取的动作。
所以我们能够让世界模型与对话模型分开,但依赖于世界模型的输出。好的,另一个限制是 Cicero 的价值模型并不依赖于对话,因此对对话的长期影响理解有限。
这极大地限制了我们规划应发送的消息类型的能力。实际上,这也是我们总是将 Cicero 的对话生成基于其真实意图的原因。你可以争辩,在外交中有些情况下,你会想对其他玩家撒谎,最好的玩家很少撒谎,但有时会撒谎。
你必须理解,如果你撒谎,你将会变得更难与这个人合作。因此,你必须确保你所获得的相对价值值得信任的损失和破裂的关系。因为 Cicero 的价值模型并不依赖于对话。
它实际上无法理解这种权衡。因此,出于这个原因,我们始终将其基于真实意图。实际上,可以让 Cicero Viol 依赖于对话,但你需要更多的数据,这会使事情变得更加昂贵,因此我们无法进一步进行。
最后,我提到了一个大问题,那就是是否有更普遍的方法来缩放推理时间计算,以实现更好的性能?
我认为我们在 Cicero 中进行规划的方式有点领域特定。我觉得 pickle 的概念相当普遍,但我认为可能还有更普遍的规划方式。有人问期待未来两到三年。
你将使用什么标准来选择下一个游戏以诚实地征服?正如我所说,我们选择外交是因为我们认为这是一个最难为其制作 AI 的游戏,我认为这确实是正确的。我想不出任何其他游戏,如果我们成功,那将是非常令人印象深刻的。
所以我认为未来的研究方向是通用性。我们能否让人工智能不仅能玩这个特定的游戏,还能玩围棋或扑克,或者还能写论文、故事、解决数学问题和写定理。我认为我们将看到的是,游戏作为进步的基准,但不是目标。
这将是测试集的一部分,但不是训练集的一部分。我认为这应该是未来的方向。最后,我想补充的是,外交是多代理人工智能和对话生成的一个惊人测试平台。如果你对这些领域感兴趣,我强烈推荐利用我们所提供的机会。
我们已开源所有编码模型,对话和行动数据可以通过一种称为 RFP 的方式获取,你可以申请获取对话和数据。好的,感谢大家的倾听,Cicero 结合了战略推理和自然语言,在人类顶尖 10%的玩家中表现出色,论文已发表于科学期刊,模型代码在这个网址公开可用,所以谢谢,随时可以提问,感谢大家的支持。
我们还将开放一些来自课堂的问题,但你已经完成了他们的 Zoom 问题,所以如果有人有 Zoom 的问题,我想我们可以回答。是的,有一个问题,你是否担心人工智能在真实世界的外交战略谈判和欺骗任务中超过人类。
正如我所说,我们并不太关注欺骗,尽管可以说欺骗是外交游戏的一部分。思考外交和战略谈判。我不喜欢我们所发展的方式是真实的。它是专门设计来进行外交游戏的,你不能直接用于其他任务,但我确实认为这些技术是相当通用的,因此希望其他人可以在此基础上构建,以便能够做不同的事情。
我认为在接下来的几年里,这种情况完全可能,你会看到它在现实世界的谈判中更频繁地出现。我实际上认为,与围棋和扑克等游戏相比,外交是朝向现实世界适用性迈出的重要一步。
因为现在你的行动空间实际上就是自然语言的空间,你必须对人类行为进行建模。你认为未来我们能否任命人工智能担任联合国理事会的成员?
希望只有在它表现优于人类的情况下,但那将是非常有趣的。太好了。我也很好奇,你们在这个方向上正在研究哪些未来的事情,你认为能否做类似 Alphago Zero 的事情,重复这个模型,也许让它在 Excel 中运行,或者你在改进这个盒子方面有哪些未来的想法?
😊,我认为未来的方向确实是围绕通用性展开的。我认为 Cicero 的一个重大洞察是利用规划来提升语言模型的性能,尤其是在这个战略领域。我认为在更广泛的领域中有很多机会进行这种探索。现在的语言模型是逐个标记进行预测的。
我认为有一个很大的机会可以超越这一点,这让我感到兴奋。我也很好奇,我没有理解具体细节,如何使用规划或蒙特卡罗研究与您拥有的模型结合。我们在 Cicero 中没有使用蒙特卡罗研究,蒙特卡罗研究是一个非常好的启发式方法。
但它是一种启发式方法。特别适用于确定性完全信息游戏。为了拥有真正通用的规划形式,我们需要更抽象地超越蒙特卡罗研究。我们使用一种称为 pickle 的算法,基于遗憾最小化算法。我不想详细讨论,因为这对课程并不重要。
但这个想法就像是一个迭代算法,逐渐完善每个人的预测,随着迭代次数的增加,预测会越来越准确。但这类似于其他研究。是的,好的,当然。对。继续吧,你可以发言。好的。是的。
我的问题是,当我们讨论性别可接纳性时,模型不同模块之间的沟通是怎样的?
特别是在我们谈论对话模型时。你如何将信息从策略网络发送到对话模型?未来,如果你有一个擅长不同任务的模型,我们会有一个学习所有任务的庞大策略网络,还是为每个任务都有独立的语言模块?你会如何拆分?
所以我们实际上将政策像行为一样转换为字符串,自然语言字符串,然后将其输入对话模型,以及到目前为止所有的对话内容。因此,这就是文本输入文本输出。这种方法效果很好。
那你第二个问题的内容是什么?类似于我们会有一个巨大的策略网络训练在所有内容上吗?是的,如果你只使用文本,难道不会限制模型吗?如果你在不同的游戏中使用它,比如你提到的未来会关注通用性,你是指一个在不同游戏上训练的大策略网络,还是能够同时理解不同游戏,或者是为不同游戏有独立的策略网络?
嗯,是的,这种文本接口在沟通上限制了模型的能力,比如如果使用向量可能会有些底层。我是说,理想情况下你应该朝着这个方向发展,拥有一个适用于几乎所有文本的基础模型,当然,仅仅是文本输入和输出,这在沟通上是有限制的。
但希望我们能超越这个。
我认为这在现在是个合理的选择。谢谢。我们有问题。我想我们还有一些问题,好吧,聊天中有一个问题,我想听听你对未来的猜测,比如说我们看到一些初创公司正在微调 LLMs,以便偏向某个领域或成为某种主题的专家。
这似乎是个相当通用的问题。系。我对此没有强烈的看法。诶。系下面。就像,我并不太专注于将语言模型微调到特定任务。我认为我更感兴趣的方向是更通用的规划形式。所以我觉得我不能真正评论。你知道的,这些语言模型怎么能做到。
以这种方式。那么你对哪些规划方法感兴趣,比如说 MCPS 是其中之一,所以让我抱歉,我得出去一秒。换个房间,抱歉。好的,没事,我们都很好,抱歉,问题是什么?哦,是的,我只是问你认为哪些规划算法非常有趣,可以结合使用。我们有很多选择,比如行星类的东西或者 RL,还有 MCPS,以及你与 Cro 合作的工作。那么你认为哪些算法最有趣,能够很好地扩展和泛化?
😊,我认为这是许多人今天试图弄清楚的大问题,而答案并不清楚。我的意思是,你看看链式思维。我认为链式思维有很多局限性。
我认为有很多方法可以做得更好。但看到这样通用的方法真的很令人印象深刻。所以我认为看到这样通用的东西会很不错,但希望能实现更好的性能。走吧,好。
当你看到像 Citra 这样的编码解码模型时,它在某种意义上编码了世界。然后你有对话模型,负责解码。是的,它是一个编码解码模型。我不认为这 necessarily 是正确的选择,但这就是我们使用的。有什么问题吗?嗯,好的,我觉得你大致上没问题。谢谢,这真是好。
希望你们都喜欢,如果有任何问题,请随时发邮件联系我,我很乐意聊聊。
P15:15.机器人与模仿学习 - life_code - BV1X84y1Q7wV
嗨,大家,谢谢你们的耐心等待,我很高兴能在这里。我来简单自我介绍一下,我叫 Ted Shao,是谷歌 Bra 团队的高级研究工程师。我在机器人领域工作了五年,涉及了一些主题,包括多任务学习、强化学习,最近则在广泛思考如何扩展机器人,以确保它们能够在现实世界中实际工作。
😊,我想今天我会谈论一些不同的话题。首先需要说明的是,我们的团队现在规模相当庞大,这些项目都是大型合作,有些项目已经有超过 40 人参与多年,所以这些都是大规模的努力。我很幸运能与一群非常聪明的人一起工作。其次,我的一些看法可能比其他观点更激烈或更具争议,因此所有这些意见绝对只是我个人的,不代表谷歌或团队中的其他人。
话不多说,欢迎来到我的 TEDx 演讲。
嗯。所以我想,也许你们中的一些人已经看过很多关于酷炫机器人学习的视频。这些天真是太棒了。但是我比以往更加兴奋,这不仅仅是炒作,我认为在过去的两年中,研究人员和机器人领域对学习的看法发生了根本性的变化,而这种变化与更广泛的趋势有很大关系,包括大型互联网模型在不同领域(如语言、音频等)中的基础建模。我今天的目标是向你们传达,为什么我特别兴奋于现在这个时刻,以及为什么在机器人学习领域发生了一个非常根本的 18 度范式转变。如果你在这次演讲中只记住一件事,那就是你对机器人科技的兴奋程度稍微提高了一些,或者相信现在是这些机器人真正开始指数级扩展并做一些很酷的事情的时刻,那么我的演讲就成功了。
嗯。银河。演讲将分为几个部分,我们将从一个非常高的层面开始,谈谈为什么要为机器人建立基础模型。它可能是什么样子,以及我们可能如何达到的成分和配方,然后我们将深入探讨我团队在过去一年或两年中非常自豪的一些工作,最后我们将回到高层,思考机器人学习的下一步。
那么,为什么机器人需要基础模型呢?等一下,让我试着隐藏这个东西。不,这没关系,我暂时会保留那个条,但顶部的条说“为什么机器人需要基础模型”,你知道这个概念是在斯坦福提出的,我将用“互联网规模模型”、“基础模型”和“大型语言模型”来互换使用,希望这能清楚表达,但通常我谈论的是这些在大量数据上训练的大型单体模型。
它们有两个我认为相当不错的重要特性,一个是“涌现”,当非常简单的事物在小规模上工作时,当你只是扩大规模,增加数据、计算和更大的模型时,它们的表现会好得多,而我们在这里看到的是,当这些模型变得足够优秀时,它们擅长和能够做的领域空间开始变得组合更大。对此,我想推荐两篇博客文章,我强烈建议阅读,一篇是雅各布·斯坦哈特的《更多就是不同:人工智能》,这篇文章链接了这个现象。
在物理或生物等其他领域中,例如,单个水分子的行为会非常不同,它们的电静力学作用也会有很大差异,然后它们开始聚集并共同表现出液体的特性,我们在动物群体和聚集模式中看到了这一点,我们在经济学中的人类行为中也看到了这一点,这种现象在不同领域普遍存在,如今甚至在人工智能中,我们看到模型在做一些在更小规模下甚至不可能的事情。
但当它们达到某个临界规模时,它们开始表现得非常好。这在杰森的博客文章《LOMs 中的涌现》中有记录,你可以在左下角看到这个图,成功率跨越了许多不同任务,无论是基本算术还是抽取式问答,成功率基本是平稳的,直到这些模型变得足够大、足够好,然后成功率就开始飙升,这就是我认为这些模型特别令人兴奋的原因,我很好奇你对此的看法。
身体基础模型现在展示了扩展性。好问题,我很高兴你问这个。我们有一些方向,我很兴奋能在大约 10 分钟内解答这个问题。但我认为这是我们所有人,包括我自己都在思考的问题。所以,我认为在我们甚至讨论任何机器人基础模型的可行性或存在性之前,我们需要问这是否真的必要,我认为一个并不显而易见的论点是,依赖于这些新兴能力可能对机器人实际工作是不可或缺的,过去几十年的机器人研究大多是在一个箱子、一个房间、一个桌子里进行的。
一个机器人一个建筑,然而这些与人类每天所处的真实世界情况相比差异巨大。我认为,要实现这个巨大的飞跃,我们将不得不依赖这种新兴能力的规模曲线,其中某些东西可以正常运作,也许你有一个人形机器人经过数百次试验成功地编程了后空翻,但从这个到混乱的真实世界,我认为我们将不得不依靠这种涌现现象。
我认为,甚至从智力或学术的角度思考为什么或为什么不一个机器人基础模型可能会有效是很有趣的,它在许多其他领域都取得了成功。在音频、音乐、编码语言等领域,每天似乎都有存在的证明,甚至在 3D 模型及其他方面。但如果机器人有一些特别之处,无论是具身性、因果关系还是物理基础,这成为了使这个在其他领域都有效的简单配方无法适用的障碍。如果机器人有特殊之处导致这个配方失效,我认为研究原因是非常有趣的。就我个人而言,我是个乐观主义者,我不认为会有某种神秘的“秘密酱”阻止机器人使用在其他地方有效的相同公式和配方。
不过,我认为这是一个我想要找到答案的概念。因此,也许与其从哲学上激励我们需要基础模型,基础模型是伟大的,我们如何为机器人建立它们,实际上该怎么做?我认为我们可以通过借鉴其他领域的巨人的肩膀,利用一些成分。首先是关注其他领域的机器学习扩展的不同设计原则,让我们先看看高容量架构。
今天这堂课的话题是自注意力等概念,以及变换器中包含的所有不同思想,正如安德烈·卡帕斯基著名所说的。这就像一个神奇的通用可微计算机,非常通用、非常稳健,在许多不同维度上极具可扩展性。我们应当利用这些,同时也要利用可扩展性法则的更多指导原则。这里的趋势是,我们不仅需要扩大模型大小,还需要扩展计算能力,也要扩大我们训练的大型数据集中唯一标记的数量。
但如果我们将三者结合,这已被证明在任何领域都有相当不错的成功机会。因此,最终这意味着,我认为这将在后面提到的数据集大小似乎比质量更重要。
即使维基百科上有一些拼写错误的句子,或者一些你知道的不实信息,或者一些不太理想的内容,只要你的数据集在总体上足够多样化和有趣,这些问题希望会在混合中被洗净。这是第二个成分。
互联网规模模型本身的激增,不仅仅是原则。令人兴奋的是,这无疑对专家和普通人都造成了震惊,因为许多不同模态的生成模型正在经历新兴能力,并一次又一次地超越我们所有的期望。即使我们认为已经耗尽,认为这些内容太多、不可能工作时,总会出现一些东西彻底颠覆我的认知。我认为这种趋势肯定会持续下去,而且不仅会继续加速,它们的发生将不受我们是否采取行动的影响。作为一个机器人研究人员,或者你在任何其他子领域中,机器学习的某些部分可能在短期内你根本不会接触到,而这些部分将每周都在见证巨大的突破、扩展和新的能力上线。
你可以不仅从模型的令人印象深刻程度来看待这一点,还可以从进展的加速、发布新模型的时间尺度来看,许多团体在大规模合作下共同努力,然后这些模型又可以被所有人访问和使用,进行构建。
最终的成分是一个更具机器人特定趋势的内容。这是一个巨大的转变,从在线机器人学习中,机器人在线收集经验,进行操作,通过试错学习,转变为离线环境,在这里我们将数据生成过程与数据消费过程分开,正如我们在其他基础建模领域所见的那样。
这些大型互联网规模数据集是如此多样化而静态,我们只需抓取一次或多次连续抓取,但我们聚合出一个不断增长的持续数据堆。在这里,我们看到来自 Luther 或 Lyon 5B 的数据集,这些图像配对文本的数据集相当庞大,数量级上远超我们以前见过的,这无疑是其他领域能够如此成功训练这些大型基础模型的关键成分。
然后,这回到机器人技术上,我想简要讲一下转变是如何发生的,因为说“机器人技术更多的是离线而非在线”这一句很容易,对许多来自其他领域的人来说,这似乎是显而易见的方式,但在机器人技术中,这是一个非常大的转变,我认为对于很多人来说,机器人技术与强化学习是同义的,但我认为这种情况正变得越来越不成立,因此我想带你们回顾一下我团队的简史,关于 Google 机器人技术的简要历史,当然,谢谢,我认为这不仅仅是为了戏剧性表述,而是真正想指导你们了解我们团队的思维是如何在这些年中发生了剧烈变化,这将如何影响我们在具体项目中所做的设计决策,以及我们所承担的风险和研究方向。谢谢。
所以在 2016 年,你们中的一些人可能见过这个,我们有一个我们称之为臂农场的项目,7 个 Cua 机器人在一个房间里进行 247 的采集和拾取数据,这是在现实世界中进行的在线策略学习,我们是第一个团队说“嘿,我们能不能这样做,目标是能否进行端到端的机器人学习,并在现实世界中取得成果”,这在当时是有一定风险的,并不是一个常见的观点,从中我们发展出了几条有趣的研究方向,我们开始探索,比如 QTO,这是一种在处理连续控制动作时使用视觉输入的 Q 学习方法,我们还使用 CycleGAN 将基于仿真的图像转换为真实感图像,以实现从仿真到现实的转变,我们研究了如何让机器人在现实世界中更快更高效地工作。对不起,你有问题吗?是的,很好的问题,我认为基本上是这样的。
如果臂从箱子里拿东西时出现错误掉了出来,我们第二天早上会回来,发现房间里散落着物体。所以没有重置,但如果它们稍微错过,物体会掉回箱子,希望能够重新处于可以再捡起的位置。
😡,哦,当然,聊天谢谢你,我会在未来这样做,这个具体问题是关于这个 247 臂农场的,我们是如何进行重置的,答案是我们没有,我们设计了一个箱子,使得物体稍微错过时会掉回箱子中,自我再生,也许会通过训练数据增加更多多样性,但这是在使用 Q 学习进行离策略在线强化学习,同时我们又将其与 SIim 数据重新部署。
接下来,我们大约在 2020 年经历了一个整合阶段,觉得“这真不错”,但我们想要脱离简单的框架,如何在更实际的环境中完成更复杂的任务,以更接近人类日常使用的方式。在这里,我们最终确定了一个办公室微型厨房的环境,如果你听说过著名的谷歌微型厨房,我想这是我们决定操作的环境,我们开始收集数据,扩大我们的实际操作,并探索一些不同的方法。在右下角,可以说这是机械化的重置版本,我们有一个可以折叠的箱子,它可以进行现实世界中的多任务强化学习,箱子会在两侧翻转,从一个侧面倾倒物体到另一个侧面,这样我们可以进行更有趣的任务,而之前的手臂农场只能任意拾取,现在我们可以说,“嘿,拿起胡萝卜,把番茄放到盘子上”,然后箱子会翻转并重置。
在多任务模仿学习方面,还有其他一些工作,这就是 BC0。我们还研究了将强化学习与模仿学习相结合的内容。但在 2020 年,我们再次意识到我们在许多不同的方向上工作,想要整合。我认为当时真正困扰我们的两大问题是,我们在所有这些方法中遇到了两个主要的瓶颈,一些方法在现实世界中的表现停滞在 50%到 70%左右,而其他方法则需要非常特定的数据分布,它们必须在政策上,或者只能使用演示,等等。
blah,blah,这些不同的方法都有许多不同的细微差别和问题,我们提出的问题是我们对任何方法开放,任何能够让我们在现实世界中以非常高效的方式解决任务的策略,准确率超过 90%,并且能够根据我们收集的一些数据进行扩展。你知道,这可能比在资源更加有限的学术环境中要宽松一些,但归根结底,我们团队也并没有无限的资金,我们仍然有一定数量的资源。
某些操作员受限于物理法则,因此我们需要某种方式来获取更多数据,以便我们可以从中学习。因此,在 2022 年春季,我们都在思考这个问题几个月。我们决定采用多任务模仿学习,这与 247 臂农场大相径庭,这是我们解决问题方法的巨大演变。我们发现,只要有足够的温柔关爱,多任务模仿学习能够达到 90%的表现,并且随着更多演示而变得更好,这些演示并不是最便宜的,但它能够随着额外演示而扩展,这正是我们寻找的生命迹象。所以这让我们回到了不到一年前,我们团队决定这是近期未来的前进方向。
也许我们可以考虑我们在这里采取的方法未来如何扩展,我们可能能够重新引入这些其他线程。例如,现在我们将演示数据的收集与如何从中学习通过多任务模仿学习政策解耦。
也许未来我们会做一些像离线强化学习的事情。但我认为在高层次上,我在短短几分钟内压缩了我们团队六年非常痛苦的教训,从今天的角度回顾,甚至仅仅两年前的情况。
如果你告诉我今天的策略能够以这种方式扩展,我可能不会相信你。😡,啊,有几。但无论他们做什么,而不是试图弄清楚怎么做。这是个很好的问题,我认为当时任务条件化确实还是一个开放的问题。但我认为通过这项工作 BC0,我们发现语言,至少在模板化语言的表示中,足够好,我们可以指导,我认为 BC0 涉及超过 80 个任务,它们非常模板化,比如采摘葡萄,或将葡萄移到盘子上,或者把布拖过桌子。我认为这种表示仍然足够,让你学习到相当数量的技能,你本质上是将一个独热编码 ID 输入到你的策略网络中,它将学习模仿,而对于这 80 个任务中的每一个,能够收集到数百或数千个演示。
我稍后会详细谈谈这些具体内容。嗯。所以是的,今天,或者至少在 2022 年。让我们做离线方法,让我们将数据生成与数据消费解耦。让我们利用这三条我们提到的教训,结合机器学习扩展的设计原则,找出未来在机器人学习和基础模型的配方中可以应用的教训。
我认为第一个教训非常重要的是这些高容量架构,比如注意力机制,第二个我稍后会提到的是数据互操作性、标记化、离散化,而第二个要素是这些模型本身的普及,我们能否利用它们,因为它们会随着时间的推移变得更好,我想在这里提到我的同事卡罗尔·赫尔斯曼的苦涩教训 2。
0 这是来自理查德·萨顿的第一个苦涩教训,你应该利用能够随着更多计算而扩展的方法,也许在当今时代,教训是我们应该利用能够利用基础模型改进的方法,因为它们会变得更好,是的,这就是教训 1。
0 和。0 一件让我比较的事情是拥有一套方法。我想选择那些能随着更多计算机扩展,或者在这种情况下,随着更好的基础模型扩展的方法,问题是我到底如何决定哪些方法符合这些标准?
是的,问题很好,我认为,也许这是一个很好的问题,我对此没有好的答案,哦,抱歉,问题是关于苦涩教训 1。0 和苦涩教训 2。0,问题是,好的,这就是教训,但我们到底如何决定哪些方法符合这些标准,我认为我的答案是,这并不总是显而易见,实际上有时相当棘手,但也许有时你知道你可以非常自信地说。
哦,是的,这肯定会随着更多的数据和计算而扩展,某些方面是这样的,但基本上你越是硬编码,假设就越多,启发式就越多,你就越依赖于特定基础模型的特定实现和特定算法类,也许这将比一种假设某种非常抽象输入和输出,并假设如何从输入和输出改进的方式的方法更不可靠,也许算法本身甚至会彻底改变,所以我认为这就是我对苦涩教训 2 的看法。
0 但这仍然是,我认为陪审团尚未对此做出决定。😊,对。我基本上想提出的一个观点是,语言是我们利用苦涩教训 2。0 的方法,如果你把语言作为所有这些基础相互交流的通用表示,无论是你知道的图文描述、生成或其他。
我认为这是一种利用苦涩教训 2。0 的方法。最后,第三个要素是离线机器人学习,将数据生成与数据消费解耦。将这些结合在一起,我对现代体现智能的尝试的配方是将这些大型离线数据集与高容量架构结合,通过使用语言作为通用的媒介,在我即将呈现的不同项目中,我认为在某种程度上都受到了这一哲学的启发。
哦。现在我们似乎理解了动机和可能的一种方法。抱歉,底层常常是使用语言的架构,我好奇这些中是否有任何当前的。Waternck 这个词不太合适,原始的内容是有限的。明白了,因为看起来我们已经有了架构,似乎我们已经有很多这些成分,那么为什么机器人技术还没有解决呢?我认为实际上这里的观点,也许现在对于这个听众来说不太合适。
但我认为这在机器人领域并不明显,许多人并不同意所有这些,甚至对于其中的两个或任何这些观点也持怀疑态度。并且我认为,机器人技术中每个组件的成熟度的规模存在很大差异,我们可以稍后讨论,例如数据规模或已经通过其他机器学习领域渗透到机器人中的架构,但我认为我们在各自如何接受这些教训并对其进行投资方面仍处于非常不同的阶段。
你没有参与这个,抱歉,我很好奇想问你一些名字。那些可能不会深入挖掘这些内容的人。1。是的,我可能也不想在这里惹上太多麻烦,我可能会在几张幻灯片中陷入一些麻烦,所以我会进一步扩展这个问题。是的,我个人而言,当然不代表我的团队,但我团队中的很多人可能在学习、扩展、数据驱动的基础模型方面处于极端的边缘,让我们大胆尝试,我认为很多人并不相信这一点,之后乐意讨论原因。
也许在 Zoom 之后也是如此,所以好的,那我们就开始深入探讨,看看这个食谱如何真正渗透到特定领域。😊 第一个是 RT1,这是我们小组最近的工作,研究如何扩展模仿学习,看看我们如何可以实际应用这些基本原则。
所以第一个要考虑的是我们实际上要做什么,让我们把自己放在 2020 年春季的思维模式中,我们已经收集了演示一段时间。这是大量的演示,大约 100000 个,花了一年半的时间在许多机器人上执行许多任务。这非常昂贵,随着时间的推移,这不会以疯狂的速度增加,我们不会每天获得 100000 个高质量的新演示,这将随着时间的推移增长,但不会免费增长,采用自主方式做这件事非常困难,正如你之前看到的 MT 使用的 bin 重置机制,或者 DeepM 有一项名为 RGB 堆叠的工作,他们试图进行自主重置,而我们现在的做法,或者至少在这篇论文中,是由 BC0 开创的人工远程操控,这同样非常昂贵,因此这将受到限制,最后 BC0 使用了基于 ResNet 的主干网络,效果相当不错,但发现它对训练分布非常敏感,例如,当他们从一些遥控操作中移除数据以使数据更加均匀时,性能反而有所改善。
性能变得更好,但这并不是我们喜欢的特性,我们希望更多的数据,即使它们不完全相同。因此,这里的教训是模型需要强健,并且需要泛化。好吧,我们知道模型需要强健和泛化,还有什么呢?现成的模型相当慢,如果我们采用这些巨大的视觉变压器,在其他领域中,它们无法在真实机器人上运行,我们需要能够以相当高的频率运行,它们需要具有反应性,推理时间需要短,因为我们所有的模型都是基于视觉的。
最后,我们希望我们的数据能够理解语言,正如我提到的。如果语言是普遍的粘合剂,我们的数据集已经包含了一些语言,我们希望最终的模型能够非常多模态。这是我们需要考虑的首要原则。这意味着我们不能仅仅采用现有的东西。
我们可能需要从头开始设计或至少修改一些东西,让我们借鉴在其他领域中看到的最佳实践。因此,我们工作了一段时间,并再次提出了这个 RT1 的架构。这是一个大型团队,参与了许多不同的贡献,我将在这里简要介绍其中一些。从高层次来看,RT1 是一个机器人变压器,它以三赫兹的频率运行,接收来自机器人 RGB 相机的视觉输入以及自然语言指令,图像被切片并输入到一个高效的网络分词器中,接着传递给即将讨论的 token learn,同时语言指令也被分词,并被放入同一个变压器中,最后我们输出离散化的动作作为 tokens,并以三赫兹的频率将其发送到现实世界中,形成闭环。
这个变换器是一个解码器,我们使用稀疏分类熵目标进行动作预测,通过应用因果掩码。我们使用预训练的高效网络骨干,并且还使用标记学习器以加快推理。深入一点,哦,对不起,有个问题。对的。非常好的问题。当图像标记从每个图像中进入时,你知道来自相机的高保真 RGB 图像,我们将其分割成 81 个独立补丁,所以每个补丁在空间上就像一个正方形,但有趣的是,标记学习器在这里做的是,这是我们组的一个先前工作,它接收一组可能的图像补丁,并动态选择哪些图像补丁标记在给定的上下文中更相关,因此从这 81 个图像补丁标记中,我们抽样出八个用于推理,这个过程在每次都发生。
这个过程已经学习到在任何给定时刻哪八个补丁是相关的,否则我们发送的标记太多,上下文长度会爆炸,我们将无法在机器人上进行推理,我们还传入六个图像的序列长度,历史在进行时间一致的现实世界任务时非常重要,因为物理等因素以及你知道对象之间的细微细节对你的机器人来说非常重要,这些细节确实很重要。
总的来说,模型的大小是 3500 万个参数,这比许多其他大型互联网规模模型要小得多。最后一个主要区别是动作离散化,在我们进行的许多产品中,我们是在进行连续控制。如果你仔细想想,我们的机器人确实有末端执行器姿态控制、位置控制,现实世界是一个连续状态空间,但为了做到这一点,我们必须提出许多算法新颖性。
一个 CM 演员基本上对这些连续动作空间进行采样,以提出那些将由 Q 函数评估的最高动作,我们这样飞来飞去。但是这非常敏感,但我们需要这样做才能让事情运转。
但是现在我们决定让我们的行为知道,只需 256 个离散动作,并将其预测为标记。有什么问题吗?我提到的是。你有关于速度和延迟反应的设计或工程要求。
我是说,当你说这需要相对较小的模型时,这是合理的。但是当我们谈论基础模型的扩展时,一个重要的信息是,它可能会被数据、计算或参数的瓶颈限制,所以我想知道的是,你如何平衡这些,因为你希望拥有大量参数以构建一个强大的模型,或者另一方面你希望输入非常时尚。
是的,问题很棒,简单重复一下,问题是我们设置了一个 100 毫秒推理时间的严格限制,但基础建模中的许多经验教训是你不应该在任何维度上限制自己,无论是状态集大小、计算能力还是模型容量。我认为我最初的回答是这是一个非常好的观点,我认为这将在未来成为一个严重的瓶颈,但就我们的初步案例而言,我认为这更多是探索这些原则,甚至超出我们目前所考虑的规模是否可以有效,这 3500 万与许多之前的工作相比是巨大的,例如使用 Resnet 34 等,因此这已经比许多其他选项大得多,或许至少在短期内这是我们能够达到的最大规模,而不必考虑更多技巧。
是的,我们可以稍后再谈这个,或许我也想听听你的想法,因为如何突破这些瓶颈并不明显。是的,问题很棒,我们对模型大小进行了一些消融实验,我可能会在几张幻灯片中提到。
不过也许我们可以稍后再谈这个,如果没有,那也是个很好的问题。所以是的,这就是架构,我稍后会讨论一些趋势的消融实验。但也许你知道这是一个机器人讲座,我应该给你展示一些很漂亮的视觉效果,所以让我们看看我们做的一些评估,我们与一些基线进行比较,其中一个是你可能熟悉的 gotto,还有其他基于 reite 的 species0。我们发现我们在可见任务与不可见任务上进行评估,并且在各种物体上我们的正常数据收集看起来是这样的:左上角的图片是三罐在一个灰色的桌子上,但我们进一步推进,引入了更多物体,使得桌面混乱到即使是人类有时也很难找到你实际上在寻找的物体。我们增加了桌子类别,以使纹理非常不同,我们引入了新的微型厨房环境和这些表面在一起,我们发现 Rt1 比其他不同的方法更稳健。
这个数据的好问题是,gotto 模型是用我们的数据训练的,还是已经包含在 gotto 中?答案是这个数据没有包含在 gotto 中,所以我们仅用我们的数据重新训练了 gotto 模型。是的,这里是机器人在我们的微型厨房中执行各种有趣任务的不同可视化,你可以看到它是在一个设置上训练的。
但随后它进入了全新的厨房,新的台面,新物体,并且能够相当稳健地处理所有这些。我们还把它放入了一个长期的设置中,使用我们稍后会谈到的 Saan 框架。在这些设置中,许多都是混合了所有这些泛化能力,左侧的图中我们使用了受 VeEMA 论文启发的所谓泛化水平,基本上是同时越来越多地改变更多的变异因素。在这里我们发现 RT1 是最稳健的。
就是这样,你可以同样地去看前面的内容。是的,好问题,稍后我们会更详细地讨论,但我认为从高层次来看,远程操作员会获得一个结构化的模板命令,例如动词名词动词,或者像“捡起可乐罐”或“将苹果移近海绵”,我们大约设置了 700 个这样的任务,他们会继续收集数据,完成测试,然后我们确保成功的确是成功的,并且我们会丢弃那些不安全的内容,例如。
哦,是的,明白了,对于这篇论文,我们利用了 130,000 个演示。它们都被写下来了。啊这个。有什么问题吗?是的,好的问题,我认为许多之前的工作也注意到,当你有例如,问题是你发现数据中的轨迹非常多模态吗?我认为你的意思是,从 A 点到 B 点我可以向左、向右或直行,而我认为这种多样性基本上对于单一图像状态来说,但我的数据有三个可能的标签,这在某些时候会产生非常糟糕的影响。我们认为,因为我们使用远程操作员的演示,数据比例如“玩数据”更为同质,后者让操作员随意操作,我们事后进行标记。我认为我们的数据在这方面更为同质,但我们没有发现很多在之前项目中遇到的问题,一个潜在的答案可能是架构本身,但我们稍后也可以讨论这个问题。
回到叉市。对。我好的。好问题,我们实际上有一个终止动作,所以策略本身,问题是如何判断一个回合是否完成,策略能够预测终止,因为在 H teley 操作会话结束时,操作员可以点击一个按钮,标记为该回合已完成。
我想。是的,我认为在这些评估中我们非常严格,但我确实认为在某些情况下,你知道,也许如果我们只是为自己做实验,我们会有一个密集的奖励尺度,比如抓取物体并移动更近,抓取物体并几乎成功,如果我在最后搞砸了,我们就会有一个评分曲线。
但对于我在这里展示的所有这些统计数据,结果是零或一,一个完全完成,零。并没有完全完成。
哦。我认为让人期待的或许是关于多模态方面的讨论,然后我们进一步推动极限,我们决定在非常多样化的数据分布上进行训练。是的,你现在看到的是基于这个日常机器人专有移动操控器的 1301000 个演示。
但我们也在寻找在非常不同的数据分布上进行训练的机会,包括非常不同的动作分布、非常不同的轨迹,甚至非常不同的视觉对象任务。为此,我们包含了两个其他数据源,一个是模拟数据,这就像是我们的机器人在 SIim 中,但看起来非常不同,这些数据也是通过强化学习收集的,而不是通过过去提到的所有 IL 和 RL 工作中的遥控演示。我们发现结合这两种数据类型将会非常困难,因为 RL 数据的动作非常短促、迅速,并且针对特定的奖励函数进行了优化。
人工收集的遥控数据更加“人性化”,可以这么说,最后我们恢复了几年前的 2018 年的数据,如果你还记得 Ka 项目。那时,Ar farm 在那种状态下已经多年未运行。但我们仍然拥有这些数据,因此我们希望看看是否可以将一个不同动作空间的不同机器人与不同视觉的物体和不同建筑的数据与我们最初训练的宏观厨房数据集结合起来。令我感到非常惊讶的是,RT1 能够从所有这些非常多样化的数据分布中学习,我从未见过这样的结果,任何其他架构也如此。
一个 ResNet 或甚至像强化学习这样的学习方法可以在如此不同的数据分布上成功学习得如此稳健,我们评估了例如概念的结合,因此我们会让原始的日常机器人拾取在 Ka 项目中仅见的物体,或者我们会放置在模拟中仅见的物体。
并观察我们的策略是否能理解,所以看起来它确实能够在之前的数据集看到的物体之间进行泛化,以及在现在的真实微型环境中看到的概念,这是日常机器人的一个非常重要的结果。
很好的问题,是的,我们进行了标记化,并确保标记化方案是可互操作的,我想这就是要点,我稍后可以深入探讨一下。请注意,这并不意味着我们可以将一个机器人的确切动作发送给另一个机器人并让其执行,更像是在数据集中,甚至通过人工检查,你可以看出这些数据来自两个不同的机器人。
😡,所以是的,让我们来看看关于我们现在在这里讨论的缩放法则的一些消融实验。我们发现减少数据量确实会降低性能,但更有趣的是任务的多样性在这里非常重要,我们有两个不同的趋势。绿色线是减少每个任务的总剧集数量时发生的情况,紫色曲线是减少总任务数量时发生的情况。我们发现,拥有更多的任务在相对上比为每个任务拥有更多的数据更为重要。
我觉得这是一课,我想这可能会建议我们应该进一步扩大机器人技术的方式,不仅仅是收集同一任务在相同设置下的更多数据,而是要走出实验室,获取更丰富的行为。
问题是我没有定义多样性数据。很好的问题,问题是你如何定义这个案例中的数据多样性,它仅仅是遥控操作接收到的独特结构化模板命令的数量,所以当你开始减少这 700 个模板命令,仅训练 500 个或 300 个时,性能下降的速度比我们对总体方法进行相同比例的削减时要快得多,所以我想我很好奇。
没有头绪。它看起来似乎有些混乱,真的很难抓住要点。是的,我觉得问题在于似乎数据大小和成功率之间几乎存在线性相关性,我想你知道我们可以应用一些复杂的,比如说缩放法则,尝试曲线拟合,但我们没有深入研究这一点,因为这是我们预期的趋势,我们只是不确定它会对我们造成多大的影响,我认为。
除了我们在经验上看到了这种现象,我没有什么特别好的见解。嗯,问题是,也许这会无限继续下去,2023 年 1 月有什么神奇之处。我觉得也许这就是我们开始将算法探索与现实操作的缩放实际考虑混淆的时候,正是在这时我们获得了数据,我们的策略接近 100%的饱和度,我们就想“好吧,收集另一个数据集”,所以我们基本上收集到 100%后就切换到其他任务,但有趣的是,当我们在这个 Rt1 架构上大下注时,我们已经收集了演示一段时间,因此我们有可能收集了超过所需的数据,在某些情况下,实际上可以在不损失太多性能的情况下削减任务,这非常有趣。
是的。他说如果这与不同任务轨迹数据在不同任务之间可能更加多样化有关,但在多个轨迹中,如果你只是对所有任务使用相同的作者,或者说没有给定的领域的话。
朱类喺度要发过俾猪呢啊呢啊。这个问题很好,问题在于不同任务在能力和熵方面是否相等,确实有些任务要简单得多,比如“捡起这个物体”的任务,它所能挤出有趣内容的潜力远不如“把东西放进抽屉然后关上抽屉”,所以这个问题很不错。
很好,现在,消融实验,我们也在没有大型模型的情况下进行训练。我们没有预训练,使用了一系列连续的离散动作和自回归动作,没有历史,没有变压器。我认为所有这些设计选择似乎对稳健性能是必要的。哦,当然。是的。分正家成。是的,我认为所有的意思是,对于论文写作来说,这就是我们可以经验性找到的最佳方法,然后我们会弄清楚这些方法为何重要,所以我认为这里一个令人惊讶的事情也许是自回归动作会产生负面影响,你可能会认为提供更多信息总是比提供更少信息更好,但在这种情况下,也许对你先前的动作进行条件化就像进行上下文学习一样,进行在线系统识别以确定。
这些数据来自哪里,以及你如何会过拟合到那一特定的动作历史,因此去除这些实际上更好。有趣的小插曲。没。很好,可能出于时间考虑,我会试着更快地完成其他的,然后我们也许可以在最后做一些问题,如果可能的话,这样我们就有时间处理所有内容。
这里的下一个工作稍微偏离技能学习,实际上进入了规划层面。我认为第一个项目借鉴了其他领域的设计原则以及这种离线机器人学习范式,并将其应用于技能学习,因此我们实际上将其推广到机器人系统的其他部分,第一项工作是 Sacan,如果你还记得 2022 年的这个时间点,我们开始思考如何扩展这种多任务学习,同时大型语言模型和其他类型的基础模型也在迅速发展,无论是 Iogen 还是 Do2,我们确实想找出如何利用它们。我们想出了这个 RT21 设计,我们对其寄予厚望,但从这里开始我们开始探索所有的更好的教训。
我们可以开始在我们的全栈系统中利用基础模型。这样做的一个问题是,语言模型并不完全适合机器人。例如,如果你是一台厨房里的机器人,你问语言模型“我洒了饮料,我该怎么办”,语言模型会给出一些不太相关的建议,比如让你吸尘,或者叫清洁工,或者道歉,而这些都是机器人在厨房无法帮助你的事情。
所以这有两个部分,一个问题是我们的机器人是有限的。它们在能做的事情上受到很大限制,不能做所有事情,但可以做某些事情。第二个问题是语言模型也受到限制,它们不知道机器人看到的东西,不理解自己是在微型厨房的机器人身体中,需在物理世界中完成实际任务。因此,我们需要让机器人讲语言模型的语言,让语言模型讲机器人语言。为此,我们在相同的设置中提出,比如“请把一个苹果放在桌子上”,我们对语言模型在一组受限任务上的预测进行评分,这些任务是我们知道机器人经过训练能够完成的,同时我们也会从机器人中提取能力函数,能力函数是对给定状态下机器人能做什么的估计,以及在该状态下它成功完成该任务的信心。在我们的案例中,我们使用强化学习中的某种价值函数。
这两种评分涵盖了这个特性。我们有来自语言模型的信心值和来自机器人的信心值,我们可以将这两个值结合起来,希望组合后的预测既能对高层次指令(比如“找到一个苹果是第一步,请把苹果放在桌子上”)有很大的语义相关性,又是机器人能做到的事情,因为机器人在框架中并不知道,但它知道自己被训练过去找到苹果,因此可以导航去寻找。希望你可以这样进行闭环,然后持续从语言模型预测出高层次的计划,并与机器人理解的能力函数相结合。
这里有一个视频,展示了机器手在做不同的事情。但我很乐意稍后线下分享,这非常酷,相信我,这是自切面包以来最伟大的东西。😊!
好。没有异议。是的,我们在非常长的指令测试中,这些指令包含超过 10 种单独的导航和操作技能,在右下角的微型厨房中。我们在这方面评估了数百个不同的评估,并测试了许多不同的概念,包括通过使用单一的禁止词重新表述,通过从同事和朋友那里得到的指令进行绘制。
我们发现,在语言模型规划方面确实存在失败,模型会预测当前情况的错误路径,同时在策略执行方面,即便得到了一个好的计划,机器人有时也会搞砸,不过总体上它表现得还是相当不错。现在让我们回到这个教训,我认为这是一个很好的例子,展示了我们如何利用互联网规模的基础模型随着它们的改进而变得更好。当我们开始这个项目时,我们使用了谷歌的一个语言模型 Flan,在我们实施期间,Palm 这个半语言模型上线了,当时我们能够进行热插拔,性能在没有我们做任何事情的情况下就自然而然地提升了,前提是语言就是 API,计划只需任何字符串,来源可以是人类,也可以是语言模型,当我们改进那个语言模型时。
系统总体上变得更好,你可以看到随着模型 LOM 规模的增加,我们的计划性能也变得更出色。这里有一些很酷的技巧来使其运作良好,我们是如何生成这个计划的?其实就是通过提示,正如如今的思维链那样,通过更好的提示,给出一些优秀的机器人计划的例子,现在给我一个新的计划,从这个高层指令开始。我们发现机器人能够完成所有事情,从理解不同语言到要求它们进行非常复杂的推理,比如“嘿,给我一些含咖啡因的东西”或者“我不再喝咖啡了”或“给我一些更好的东西”或者“带给我一个健康的小吃”对比“带给我一个不健康的小吃”,所以凯文能够在这些方面进行推理。
我想这可能是我们团队首次将机器人技术与语言模型接触的机会,也是对这两个领域如何重叠的首次探索,确实仍有改进空间,因此在我们的独白中,我们尝试通过引入视觉语言模型进一步改善这些。
这里的想法是,我们的计划成功率很高,但遗憾的是,它并不能真正从失败中恢复。我的意思是,语言模型并不能实时更新世界的情况,因此如果这是提出的计划,比如去桌子那边。
拿起一罐可乐带给你,但你搞砸了,把可乐掉在地上,它仍然会继续试图把它带给你,把它放在一边,这一切都不再重要,因为你掉了可乐。因此,在你的独白中,我们真的希望弄清楚如何将环境的闭环动态反馈添加到这个规划过程中。
让我们现在拿那个确切的例子,而不是直接纠正每个指令。也许我们从场景中添加一些反馈,也通过语言作为通用 API 来传达。场景可以告诉你里面实际有什么,也许机器人现在会问一个问题,这里机器人是一个语言模型在询问澄清问题,也许人类会回答,或者另一个语言模型,然后你可以预测下一步要执行的任务,一旦语言模型有了足够的上下文,也许你甚至添加成功检测等内容。
那我们怎么做到这一点呢?首先,我们实现的是所谓的被动场景描述,仅仅使用现成的工程启发式方法,利用物体检测模型。像 vile 这样的东西,你可以用文本描述场景,并将所有上下文传达给语言模型。
对于主动场景描述,这可能类似于视觉问答,如果你熟悉这个领域的话。语言模型实际上可以提出它对场景中的积极查询,也许是为了确保它有足够的上下文继续前进。在这里,或者一个人可以提供答案,或者未来随着 VQA 模型的改进可以提供答案。最后,关于成功检测,这对于允许语言模型规划者知道何时尝试重新开始某件事非常重要。在这里,我们获取第一和最后一张图像,微调一个剪辑成功检测器,并使用它向我们的语言模型提供二进制成功与失败的信息。
嗯。
在结果方面,我们可以看到非常相似的长期评估。但是这里有趣的是,我们实际上能够基本上在机器人上实现所有这些不同的自动反馈机制,因此它能够推理并从这里的事情中恢复。你会看到它试图去桌子,但人类实际上在说嘿。
我改变主意,然后人类又改变主意,再次请求来回移动,而机器人能够做到这一点,你知道,也许我们此刻有点触及语言模型,但语言模型也能够重新规划,并确保人类的意图得到满足。
我们也尝试了,我不确定这个视频是否展示了,但在我走来走去,敲打机器人的手,强迫成功检测器告诉它“嘿,你搞砸了,知道吗,重试一下。”时的对抗输入情况。啊。我们也在几个不同领域进行了测试,包括一个模拟的桌面操作领域和一个现实世界的操作领域。
我们发现这比仅仅使用视觉特征(如 clipport)要好得多。我认为这确实反映了一个趋势,我在 2018 年时非常欣赏过。一位机器人教授曾说,当他们查看所有阻碍机器人学习大规模扩展的不同因素时。
它认为瓶颈在于高层次的语义规划,即关于常识推理的思考。我认为在 2022 年和 2023 年,语言模型可以提供一种路径,至少在过渡期间可以进行卸载。如果语言模型是 API,那么你可以将这些视觉语言模型作为对象检测器引入,随着成功检测器、VQA 和语言模型的提升。
你可以将它们全部纳入其中,这个行为有点像一个生命救助器,如果你的机器人当前没有常识推理能力。这些其他模型可以作为一个支架,帮助你赶上它们当前的能力,或许在未来你能超越语言模型的知识,但在短期内,我们似乎可以利用它们来加速我们在现实世界中的操作。
现在转到下一步,我们看到语言模型如何进行规划,看到视觉语言模型如何帮助规划。现在我们要稍微调整一下思路,考虑视觉语言模型如何帮助解决机器人学习面临的其他瓶颈。其中之一是数据收集非常昂贵,正如我们之前提到的,我们确实有这个 130。
000 集演示数据集,但它是在一年半的时间内收集的,成本很高,包括资源、时间和金钱,涉及许多机器人,当然这些任务也有些限制。我们使用了 700 条非常模板化的命令指令给遥控操作员,因为我们知道如果我们为每个模板任务收集足够的数据,这样可以扩展。
我们可以完成这个特定任务,下面是之前有人提到的流程:我们给出这个 pick coA 指令,操作员在现实世界中控制机器人,完成任务,标记这一集为结束,然后将其划分到这个大型橙色数据集中,而这个大型橙色数据集是我们在所有之前项目中训练控制策略所使用的。
我们最初考虑的是增加一些众包的回顾注释,如果你熟悉的话,包括回顾经验重放和强化学习,结合目标条件。也许机器人做了一些不仅仅是高层模板指令的事情,我们可以让人类更详细地描述机器人所做的事情,也许它拿起了桌子右侧的可乐,也许它把可乐拿起来后打翻了,也许它很慢地把可乐移动到中间。这一演示包含了大量语义多样性,而这些是高层模板“拿可乐”指令所无法完全捕捉到的。因此,我们用这些详细描述标记了这个大橙色数据集的 3%。
然后我们应用了一种伪标签策略,这种策略在其他领域(如视频预训练和其逆动力学模型)中已经被看到。但我们将其应用于数据集中所包含的语义说明,所以第一步。
我们在你的小标签数据集(占你主要数据集的 3%)上预训练了一个 CLIP 模型。然后,你可以使用该训练后的 BLM 数据来标记之前所有的模板指令演示,也就是那 130,000 个 episode 的数据集。现在你有了一个重新标记的数据,里面有大量有趣的语义指令,然后我们将所有这些数据集输入到 RT1 中,并像往常一样训练一个语言条件行为克隆策略。
但尽管我们通常只使用数据集 B,即橙色数据集,现在我们使用所有三个数据集。最后,我们在完全新的、未见过的指令上进行评估。在之前的工作中,我们主要是在 700 条模板指令上进行评估。但在这项工作中,我们实际上超越了这一点,我们可以输入几乎任何你认为可能成功的内容,并且可以用各种方式表达,你可以添加拼写错误,甚至可以通过参考语义概念来表达空间概念,我们会看看效果如何。
这可能有效的原因是,这里是左侧的 TN 嵌入,右侧是相同的嵌入,但左侧是根据用于收集该情节的原始模板指令着色的,右侧是视觉语言模型认为如果允许它为该情节添加一个自由形式的自然语言标题,它会是什么。你会看到,左侧有这些大的“可口可乐”聚类,像是数百或数千个情节,但我们都称之为“可口可乐”。而在右侧,我们可以扩展这些概念,实际上这个情节是在选择红色的可口可乐,这个情节是在选择皱巴巴的可口可乐,这个是在选择靠近薯片袋的可口可乐。因此,你可以通过使用语言作为多样性机制,充分利用同一基础数据集,扩展你所考虑的概念。例如,在中间,你会看到“打开上面的抽屉”变成“抓住并拉出上面的抽屉”。
我们有像“左中”的内容,对于底部的情节,“从白色碗中挑选绿色薯片”变成“从碗中抬起薯片袋并将其放在桌子的左下角”。所以你有很多这样的语义空间概念,现在将进入你的目标监督标签中。
我有一个问题。那时我站在他们的角度。我听到的语言似乎是你必须要的。是的,伟大的问题,所以我想如果我能稍微重新表述一下,问题在于,实际上这是一个非常困难甚至可能是不可解决的问题,如何将你在现实中看到的所有语言概念映射到一些具体的体现类型的情节上。
这里我想说的是,我们无疑在引入很多我们的先验和偏见,比如我们称之为“左边”时,你是指左边 10 厘米还是 2 厘米,这些词语的定义对我们来说意味着什么,生成这些字幕的云计算评级者对它们的理解又是什么,它们对机器人意味着什么,对语言模型又意味着什么,可能这些都是略有不同的,但希望至少如果它们大致相似,我们就能得到方向上的正确改进。因此,我认为这些具体定义的细微差别,以及这些词语的实际语义,可能现在超出了范围,但或许在更高的层面上,我们会进一步探讨。不过,我觉得基本的标准实在是太低了,我们有 700 个模板指令,基本上是独热编码,我们只想让这些更接近自然语言,即使只是一点点,我认为我们至少在朝着这个方向努力,借助这些视觉语言模型。
希望这能回答你的问题。我们还在左上角与几个基线进行了比较。我们考虑如果只在这 3%的高端人类评定标签上进行训练会怎样?如果我们只在原始的 RT1 数据集上训练会怎样?如果我们同时在这两个上进行训练又会怎样?再加上我们的 VLN 提供的所有预测会怎样?有趣的是,你知道重新标记似乎是普遍有益的,我们只在这个项目中新颖的指令上进行了评估,这是机器人项目中第一次只在我可以输入的内容上进行测试,我输入的任何想法都成为了测试集,我们必须确保这些内容从未包含在训练覆盖中,你可以在右边看到这些有趣的例子,比如“将孤独的物体移到其他地方”,我完全不知道这怎么工作,像是提起黄色矩形,谈论颜色,以及“将右侧的苹果移到左边”,实际上场景中有两个苹果,并且在我们的训练演示中。
我们从未收集过包含重复物体的场景,因为我们考虑到这种低支付模态问题,如果你说“挑选可乐”,而这两个可乐就会很难确定该做哪个,但通过语言标签,看起来也许你现在可以做到,所以即使我们从未在有两个苹果的场景中进行训练,现在你可以在这些场景上进行评估,并仅通过语言指定你想选择哪个苹果,这实际上也运作得相当合理。
最后一个例子我觉得很有趣,我们尝试的单个可乐做了一个新颖的行为,推动到左侧,这不是一个模板化的指令,我们只是让可乐靠近其他物体,比如说可乐靠近苹果,靠近海绵,所以推动可乐进入空气的这个动作其实从未包含过,但也许在某个标签中有,比如说如果你看到“可乐靠近苹果”,而苹果在左边,再看到“可乐靠近海绵”,海绵也在左边,你可能会推测模型可以推广,理解“左”意味着桌子的一侧,而不是特定物体,所以这可能是发生的情况,但这并不明确。我只是想到了一些东西,打字就变成了实际情况,我们确实希望在未来更定量地探索这一点,左下角当然是,我认为与非视觉增强进行比较,所以也许你可以仅通过语言获得这些有趣的概念。
在这里,我们添加了随机噪声,或者用 Madlib 风格仅仅替换单词。我们甚至可以在这种情况下使用 LOM GT3 来提出现有指令的改写。但是我认为我的收获是,你确实需要视觉基础,以便视觉语言模型能够在某一时刻确实说出这个说明在事实上的准确性,而这可能是对机器人来说有趣的内容。
这个微调过程同时提供了这两点。是的。不。喂。是的,确实这些只是五个评估指令的某些子集,但我们有超过 60 个,我们没有进行完整的定量消融。例如,正如我们在 RT1 中所做的那样,我们有一个未见任务集的场景,这个场景是组合性的,你会看到,比如将可乐移动到苹果附近,或者将苹果移动到海绵附近,但我们会保留将可乐移动到海绵附近,并对此进行测试。但是在这种情况下,我认为我们可以更进一步,因为我们的语言是完全自由形式的,组合空间会更大,因此我们确实尝试了一些组合评估,但我们可以做得更深入。
我在时间上怎么样?好吧,可能 10 分钟,我会尽量快点结束。那么,结论是两个部分,对吧?第一课是利用基础模型,第二课是将它们作为数据增强,第三课是确保我们的离线数据集足够强大,以便这些不同的行为存在,并且你可以用语言描述它们。如果你没有足够多样化的行为,无论你的标注多么好,你可能无法引导出所有有趣的概念。
对我来说,也许最令人兴奋的是,实际上一些标签噪声是可以接受的。在监督学习和模仿学习中,通常需要非常干净的标签,总是 100%真实的。你不想从一些大比例不准确的噪声数据中学习,但在我们的案例中,似乎一些标签噪声是可以的,视觉语言模型并不总是准确预测场景的描述,我认为当噪声过高时确实会造成伤害,但在较低水平上,它似乎仍然可以处理得很好且足够稳健。
所以这是对一些使用这种大型语言配方的个别作品的深入探讨。基础模型,来自机器人系统不同部分的数据集。这是开始时的那种介绍,我希望你们至少能看到我们的团队如何尝试将这些原则应用于加速现实世界中的机器人学习。
随着我们看到这些不同类型的成分和课程如何映射到机器人系统的不同部分,以实现技能学习,这就是我们之前讨论的 RQ1,关于规划的部分。他们可以通过与视觉语言模型的紧密反馈来实现,这在低级控制的独白中没有涉及,但我们团队的一项令人兴奋的工作实际上是使用语言模型来预测在机器人上直接执行的代码。也许这些低级控制器的语言模型,他们阅读教科书,阅读过 Ross 等人的文献,阅读过您所提到的文档代码,并能够为这些机器人编写代码,我们可以执行这些代码。
对于数据文档,我们看到了与视觉语言模型的对话,尽管我在这里没有讨论。但对于以对象为中心的表示,比如特定对象的特征激活图,我们可以将其用作任务表示来映射场景。在 NL 地图中,他们为我们所研究的微型导航进行了对象中心的导航。我希望在接下来的几周和几个月中。
我们还有更多的行和条目可以添加。但我认为这种心态是一种非常令人兴奋的研究方向,关于如何应用这些关于基础模型和离线数据集的高层概念,看看目前机器人系统中存在的内容,发现许多仍然可用的空白和机会,我们可以从探索性试点到更广泛的评估,真正构建出强大的系统。
我认为这两者都具有很高的价值。所以我想总结一下,探索所有这些互补的方向非常有趣。但仍然有一些重大问题,关于我们如何能将这些概念进一步发展,以及随着基础模型的改善、在线数据的可用性增加、更多数据的同质化和标记化、互操作性提高,这些趋势和想法可能如何演变。我认为来自其他领域的许多概念,例如语言学和视觉,以及所有大规模扩展相关的问题,都在语言基础模型中得到开创。
希望这些想法能够渗透到机器人技术中。也许机器人技术甚至可以通过提供具体的行动来回馈,提供因果数据,可能会改善一些没有具体体现的这些大型语言模型的推理质量。对此,我想感谢大家的时间,感谢 David 提供的支持,并对论文或任何高层次的问题持开放态度。
非常感谢。嗯。嗯。8 是。我。等一下啊。诶。但。你买打。是的,问得很好,所以我想这个问题是关于需要更多语义推理的任务,比如说以某种速度操作,或者可能是在提示本身的问题中涉及的数字推理。我会说,对于很多常识推理,比如你知道连续丢弃三瓶可乐,我认为语言模型现在对此非常擅长。因此,对于 saycan 规划器,它会预测连续丢弃三次可乐。而对于低级技能策略学习,我认为这更具高方差。我会说,目前我们并没有真正根据速度或具体操作进行条件设置,但这可能是我能做到的,如果你能重新标记,比如慢慢捡起可乐与快速捡起可乐,这可能是视觉语言模型能够识别的。
检查。我今天不太认识那些人。评估中有多少个教程,如果我们有两个任务的数据?
提到某件事,因为那只有在我正确谈论的情况下才会想到,我想拾起政府法律。我想做到这一点。很好的问题,问题是我们在什么规模上看到组合泛化开始发生,可能是在你看到一个方块的颜色,然后想要在新颜色上进行评估。我认为这是个很好的问题,不幸的是我的回答会非常模糊,这取决于你如何定义你的任务,取决于你数据的规模,也取决于你试图跨越的概念。我认为已经有很多尝试基本上在学习和机器人领域中正式化泛化的意义,即使在我们考虑的特定设置中,我认为没有明确的趋势,比如你可以说哦,是的。
这是我需要达到的数字,你知道我可以在 X Y Z 维度上进行泛化,比如你可以评估所有这些,但我认为这并不会帮助你预测新趋势,至少在现在。我认为我们可能还差一个数量级,才能开始进行非常广泛的泛化陈述。
泛化能力,我认为你知道,将我们的数据集规模增加一到两个零,我们就可以开始在任务对象技能方面谈论这一点。是的。嗯。你怎么了。嗯。所以请你指定检查的内容。并注意疫苗。所以我们发个你系。是的。
正在扩展。对。是的,非常敏锐的观察,问题是,在 Sacan 中,预测这些右侧的价值函数所存储的功能只限于某些特定的任务,因此这是否是瓶颈,我会说是的,100%你系统能够执行的任务数量的扩展,能够提供给规划者作为选择的自助餐确实是瓶颈。不管你的规划者多么优秀,如果你只能完成三项任务,那么只能对这三项任务的某些组合进行映射以符合高级指令。因此,随着更多任务的增加,机器人低级技能能力的提升,你实际上是在为机器人能够尝试执行的高级指令的覆盖添加精确度。这是我今天看到的主要瓶颈之一。
对。放到英文点吗。很好的问题,我们是否尝试过用 RLHF 或 RL 的 RT1。我认为简短的答案是我们有一些正在进行的项目,但目前所有项目仍然使用这种实现学习损失。我认为我把这个 Mohead 赌注视为一种存在证明,它确实有效,虽然不便宜,但确实有效并且可以扩展,这至少是一个良好的起点。我们在接下来的几个月和几年里的主要希望是,能否在此基础上有所改善,是否能将离线改进加入方程中,我是个 R 的人,所以我真的希望如此。
好啊。听到你的意见。让我重复一下。好。那个生日己看得不太好。我们会有不同的事件吗?走吧。是的,好的问题,关于任务平衡以及仅用文本数据是否足够帮助运动控制学习,我的希望是,当模型在机器人领域经历涌现时,我们已经在语言领域看到涌现,或许这些推理概念会在两者之间开始转移。我会提到一篇有趣的论文,我认为《维基百科能否帮助强化学习》,由 Shane 和其他人撰写,他们在维基百科上进行了大规模的策略网络预训练,仅使用文本,并用其初始化对 Atari 游戏的控制,这确实有效。所以,也许这是哲学上的问题,但也许在文本与行动数据之间有某种决策推理的转移。
对。好好。这是关于过去图像的问题。确实是个好问题,我绝对同意,你知道,传递六幅图像在执行任务时是不够的,比如清理我的整个房子,而你只能在最后的两秒钟内传递,真是让人失望。所以我认为这肯定会成为一个限制,尤其是当我们的任务变得更加复杂和长期时。我觉得这里还有另一个悬而未决的问题是上下文长度。我们有高维图像,即使通过标记学习来减少我们传递的补丁数量,它仍然是非常高维的,我们很快就会达到上下文长度的上限。我们能否在此基础上进行改进,或许是检索变换器或其他机制。
哦,这就是啊,审查的。这边现在有这个。真是个好问题,我认为我们希望在未来探索这个。但是由于上下文长度的限制,我们已经接近上下文长度的容量,仅仅是六幅图像,更不用说传递整个零样本行为或少样本行为的轨迹了,所以是的。
好的,对。好的,听到这个。很酷,谢谢大家。
P17:17.生物医学变压器 - life_code - BV1X84y1Q7wV
是的,让大家看到演讲者笔记并不是计划的一部分,但我很高兴来到这里。我的名字是Rebek Naro。我是一名在谷歌健康团队的研究科学家。关于我的更多信息是,成长在印度,我的父母一直希望我成为一名医生,准确地说是一名医学医生,但不幸的是,我可能没有足够的能力去记住所有的生物学教材,以便能通过医学入学考试,因此我最终成为了一名计算机科学家。
诶。不过,正如伟人曾经说过的,你无法向前看连接点。你只能在回顾时将它们连接起来,因此通过其他冗长的路径。这与我们实际训练神经网络的方式并没有太大不同。我再次回到了医学领域,这次我拥有了这个神奇的新工具——人工智能,我可以告诉你,我的父母对我现在的生活选择感到更加满意。嗯。不过,那时我并没有真正感到满足。但把问题放在一边。
我这次演讲的目标是揭示幕后的情况,让你们了解在人工智能和生物医学交汇处发生的所有创新,以及这些创新是如何受到变换器和大型语言模型的推动。因此,我们将花几分钟时间从基本原理出发,探讨为什么变换器和大型语言模型特别适合生物医学数据。
然后我们将深入探讨几篇涵盖不同生物医学应用场景的论文。最后,我将分享我对这个领域在未来几年可能发展的看法。尽管我的声音或语调可能并不完全如此,但我对人工智能和生物医学的可能性感到无比兴奋。
我认为我们面前有一个令人难以置信的机会,可以推动人类健康和人类潜力,我希望在这次演讲结束时,你们都能像我今天一样感受到这一点,或许愿意加入我。😊,所以,让我们直接深入讨论为什么变压器在生物医学中的应用,对不起,我会请在场的人回答。
所以,也许你们中的一个可以自愿一下。去吧,虽然这不是一个好答案。嗯。嗯。s 飞啊后有去快玩到未,抱歉,抱歉快玩到几个打咯佢翻系 l。是的,当然,还有另一个也是一个重要的应用场景。你系接十我事啊。是的,很好,所以我认为你们都在正确的轨道上,也许如果你们看一下不同类型的生物医学数据。比如,临床笔记是什么,我想那是医生的胡言乱语的序列,好吧,我没有这么说,但我们就称之为医生说话的序列或者医生笔记。
同样,如果你查看电子病历,它们本质上是一个人就医经历的序列。嗯。关于蛋白质,深入生物层面,它们不过是由肽键连接在一起的氨基酸序列。
有人知道这是什么吗?好多水。我想这就是我们的储存方式。嗯,没错。再一次抱歉。你快到了。没错。还有其他人吗?这是伦敦的威尔康收藏,这实际上是完整人类基因组的打印件。并且。他们并没有作弊,字体非常小,如你所见,那里有很多 8GCs,整个打印件我想有超过 130 卷放在那个架子上,每一页都是双面打印,使用的是四号字体,精确到 43。
每页有 000 个仙人掌,这就是人类参考基因组的大小,超过数十亿个碱基对。再说一次,基因组只是一串核苷酸碱基对的序列。因此,我们在这里看到的本质上是生物医学数据中的序列无处不在,而什么是建模它们的最佳神经电气架构呢?
嗯。我想既然你们都在这个课程中,我就不需要说服你们答案是变换器,对吧?好的,这很好,但也许我在这里提供几个理由。首先,正如你们所看到的数据本质上是多模态的,我们刚刚看到了几个例子,正如有人指出的那样,变换器在处理几乎任何类型的数据方面表现出色。我们确实看到了各个领域的显著融合,无论是语音、自然语言处理、视觉还是机器人,变换器几乎无处不在,我认为生物医学也不例外。
😊,我认为第二,变压器在对序列中的复杂长程交互建模方面远远更有效。这个特性在生物医学领域尤其重要,我们将在稍后的演讲中详细讨论这一点。最后,正如有人指出的,这些数据集可能非常庞大,你很容易就会进入数十亿个标记的领域,而这正是变压器凭借其所有可并行化操作和相对易于训练的优势所擅长的地方,也许应该尝试在这些数据上训练一个 LSM 和一个 RN。
你会意识到这些更适合我们在这个领域拥有的数据集。所以是的,我认为还有几个原因,但我觉得这些是变压器特别适合生物医学数据集和任务的关键原因。到目前为止有任何问题吗?好的,很好,那么接下来在这个讲座的下一部分。
我们将深入探讨几篇将变换器应用于生物医学数据的论文。我们首先从临床应用开始,然后逐步深入生物学层面,查看蛋白质和基因组应用。你会发现,虽然变换器及其扩展的大型语言模型非常契合,但往往需要在建模方面进行创新。
但也在数据和评估方面,以使这些申请场景真正有效。因此,我想在这里讨论的第一篇论文是我们团队最近的工作,名为大型语言模型对临床知识的编码。这个工作的动机其实非常简单,如果你观察医学,它是一项人道事业,而语言正是其核心,促进了人们与提供护理者之间的互动。不幸的是,如果你看看迄今为止开发的许多医疗 AI 系统,这些系统都是狭窄的单一任务单一领域模型,缺乏互动性和表达能力。
结果是,这些模型能够做到的与患者、护理提供者等对它们的期望之间存在不一致,这反过来我认为阻碍了医疗 AI 的广泛应用。诶。比如,我们实际上在许多诊所中并没有 AI 来帮助我们进行诊断等等。
但是,基于变换的大型语言模型的最新进展为我们提供了一个机会,可以改变这一切,重新设计和思考以语言为核心的医疗人工智能系统,调解医生、研究人员和患者之间的互动。如果我不提到在这个领域已经有大量的工作,我将感到惊讶。
尤其是在过去的几年中,针对生物医学领域进行了各种尝试,以不同规模的模型在不同的生物医学数据集上训练语言模型。虽然这很令人兴奋,但在医疗领域的应用质量标准实际上相当高。
所以,缺失的实际上是,我们并没有很多好的评估基准、评估协议和框架,因此在医学领域我们没有相当于大基准的东西。希望你们之前已经了解过大基准,而大基准是一个可以评估大型语言模型在各种任务领域和设置中的基准,但在医学领域我们没有这样的等效物。
此外,如果你查看以往研究中通常使用的评估,它们仅关注诸如准确性或自然语言生成指标(如 blue 或 cider)等客观指标,但这些未能捕捉到临床环境中真实使用案例的细微差别。因此,我们本质上需要一个好的基准、一个任务,以及一个良好的评估框架来评估这些模型。
因此,为了满足这一未被满足的需求并评估大语言模型(LLMs)在医学中的潜力,我们团队决定专注于医疗问答任务,为什么呢?因为回答医学问题实际上是相当具有挑战性的。它需要阅读理解能力、准确回忆医学知识的能力,以及对这些知识进行操作和推理的能力。
此外,问答任务足够通用,可以涵盖多种不同的应用场景,例如临床笔记的总结、临床决策支持,以及初步分类患者关切等。因此,我们确定了这个任务,接下来的问题是数据集。当我们查看相关文献时,我们发现有几个数据集在不同的场景中评估模型能力,因此我们决定将它们统一起来,整理成一个基准。因此,我们这样做了,我们称之为多模态问答(multim QA)。如果你查看这个基准,现在涵盖了来自多种不同场景的医学问答数据集,例如专业医学问题(如美国医学执照考试风格的问题),还包括基于 PubMed 摘要的医学研究问题,以及来自实时用户和消费者询问医学信息的问题。
还有环境的变化,可能是封闭域或开放域,模型可能在一个环境中被期望产生长格式的答案,而在另一个环境中则可能产生短格式的答案。最后,我们看到尽管如此。这些涵盖消费者课程的问答数据集,嗯,继续。
我稍后会再回到这个话题。所以,最后我们快速地看了下,问题是我们如何评估长格式的答案,我稍后会再回到这个子话题。因此,当我们查看实际上提供消费者医疗问题的数据集时,我们发现它们的规模相当小,所以我们决定扩充这些数据集。于是我们在谷歌上查看了最常被问的消费者医疗问题,并整理了一个数据集,将其添加到基准中,我们称之为健康搜索问答。
所以,是的,我会再回来,确保能找到开始的循环,这里有一些例子。如果你看看消费者医疗问题,它们的性质相对较短,这些问题来自健康搜索队列和 liveQ 数据,而如果你看美国医学风格的问题,它们就像长篇小插曲,医生必须非常仔细地阅读这些内容并找出正确答案,这通常涉及到一个排除的过程。所以,应用场景非常不同,模型必须真正适应并理解任务,以便在所有这些环境中表现良好。
实时问答很有趣,因为这里的参考答案实际上是由图书馆员提供的。所以这为我们未来的比较提供了另一个好的切入点。在统计方面,我们在这个基准测试中总共有七个数据集。正如我所说,我们涵盖了专业医学、医学研究和消费者医学问题,这些问题各不相同,既有长格式也有短格式,涉及开放领域和流域,因此非常多样化。我认为这为在医学领域中对模型的综合评估提供了非常全面的依据。
所以我们在基准上有一个任务,接下来的问题我认为是问我们如何评估这些模型,正如我之前提到的,自动化指标实际上是非常不令人满意的,因为它们未能捕捉到真实世界临床应用的细微差别。因此,我们所做的实际上是深受斯蒂文的一些工作的启发,构建了一个人类评估框架来评估这些长篇回答。
这分为两个部分,第一部分是临床医生的评估,我们让他们根据与回答的真实性相关的 12 个维度对道德反应进行评分。包括回忆医学知识的能力、医学推理,以及这些反应中潜在的伤害和偏见。但如果你看一下这些医学问答系统的潜在最终用户,他们很可能是非专家层的用户。
所以,让他们评估这些答案也很重要,因此我们还额外询问了一组普通用户,看看他们认为这些答案有多有帮助和可操作。因此,这就是我们的评估框架,我们也有基准固定。
所以现在我们已经将构建和对齐 LLM 的有趣部分转向医疗领域的任务。我们决定基于之前提到的 Palm 系列语言模型进行工作。好的,很棒,但我相信这仍然是公开宣布的激活密集的解码大型语言模型中规模最大的一个,最大的模型总共有 400 亿个参数。还有更多细节,该模型在 400 亿个令牌上进行训练,其中 25%是多语言的。
数据来自多个不同的来源,包括社交媒体对话、网页、书籍、GitHub 和维基百科等。在发布时,该模型在许多 NLP 推理基准测试中表现出色,并且是第一个超越人类平均表现的模型。进一步来说,在过去一年中,源于 Palm 的模型在多个应用场景中被证明非常有用。
包括用于 cogen 的内容,这就是 palmM 代码模型和机器人技术。palm Saan 模型,以及用于回答数学和科学问题的 Minva 模型。因此,我们认为 PAM 是一个非常好的基础模型,可以在医疗领域进行构建和使用。总的来说,我认为 Palmm 是真正的工程奇迹。
但我会把你们都引导回 Acsha 的论文,了解更多细节,我认为这是一篇必读之作。再说一次,去年十月底,Jason Way 和谷歌的其他几位同事推出了这些 palmM 模型的 F palm 变体,基本上是指令调优的对应模型,这个模型甚至比 PM 更优秀,我相信它在许多基准测试中仍然是一个标杆,比如 MMLu。
TiDQA 和我认为它在大型基准任务中平均超过了 Palm 性能 9.4%。所以,我们决定基于 F Palm 模型进行构建,并应用了多种提示策略,包括短提示、思维链推理以及单元一致性到 54 亿参数的变体上。我们在包含这些短形式 MCQ 问题的 multimQA 数据集上进行了评估。
我们发现这个模型在发布时确实表现得非常出色。这个模型在 USM Me 数据集上的表现超过了之前的最先进水平超过 17%。它仅适用于 USMLE Me 领域,因此你会看到在发布时,相较于前一年的 Y,其准确率提升了超过 17%,我相信这是第一个基于 LLM 的 DI 系统在该基准上获得 60%或以上及格相当分数的系统。
类似地,当我们查看基准中的其他多项选择题数据集时,例如,MCQA。它是一个印度医学入学考试问题的数据集。该模型在基于 Pubmed 摘要的问答系统 PubMC 上再次达到了最先进水平。那时,该模型在发布时也是最先进的,MMLU 临床主题的情况也是如此,其中包括遗传学。
解剖学专业医学、临床知识以及其他一些主题都在其中。所以。所有这些都很好,然后当我们开始查看缩放图时。我们看到的是,随着我们将模型从 80 亿扩展到 620 亿,再到 540 亿,性能似乎在改善。因此,这基本上表明,这些在公共互联网训练的通用大型语言模型似乎很好地编码了临床知识,并且它们的医学推理能力往往随着模型参数的增大而提升。
我们还进行了另一个实验,研究选择性预测,并使用自我一致性投票来确定何时出现差异。这在临床环境中非常重要,因为医生在不确定某件事时会进行沟通,如果我们的 AI 系统要在临床环境中使用,例如用于诊断。
他们应该能够告诉你什么时候他们不知道某件事情。因此,我们在这里观察到的是一个相当粗糙的指标,随着我们改变默认阈值,性能有线性改善,这很好,但实际上效率相当低,因为你生成多个解码样本来计算这个指标,所以我们需要一种更好的方法。是的,这基本上是说我对一个周围感到不确定,而这取决于单元一致性工作,所以完全相同。
所以不,因为它们仅仅是在这个专家预测任务上进行训练,这依赖于数据,PubM QA 有一些可能的答案,但我们并没有在这里明确地对模型进行微调,所以不,模型并没有经过训练。是的,这就是我们在这个医疗领域长时间运行的原因。没有。
所以这主要是基于数据集中的参考,这就是所有的准确性矩阵,所以我们已经知道四个选项中哪一个是正确的,因此我们只需进行分类。是的,我会回到条件评估的 ai 评估器。
所以也许是关于你自然不确定性的某种情况,因此如果你知道自洽提示是什么,我们所做的是从同一个模型生成多个解码,然后查看最高排名的答案被投票的次数,根据这个你可以设定一个阈值,若低于这个数字我就会选择不同的答案。所以如果在你的自洽解码中,大多数答案仅出现了 n 次,而总共有 k 次投票,若这个 n 太小,那么模型很可能是不确定的,这就是我们选择不同答案的方式。
嗯。嗯。所以我们在这个图中并没有看到像纸一样的东西。实际上,其余部分会看起来像这样。我认为如果你继续绘制到平坦线,但这又没有用,我是说,如果你对每个问题都说不,那也没有用。此外,你希望有一个合理的拒绝比例,我觉得那很高,我认为仍然很高,50%是相当高的,但这仍然是一个非常人为的设定,而在现实世界的使用案例中,我认为这个数字应该低得多。
影响和数据上瘾者,一些医疗产品比其他产品更重要。所以还有更多问题。嗯。没错,我认为平衡准确率可能是更好的指标,但我们查看了一些数据集,其中一个数据集的结果相当糟糕,即 Pub 数据集,我认为没人应该使用它。所以如果有人在报告该数据上的数字,你应该直接讨论这些问题。我说的是非常具体的人,但再次强调,正如我提到的,这些准确性指标在宣传和推动基准数字方面很好,但真正的评估是对长期表现的人为评估,这就是我将在下一个中讨论的内容。
嗯。那么到目前为止还不错,对吧?我的意思是,我们在这些基准测试中得到了太阳能的结果,我们非常高兴。因此我们所做的事情是,我的意思是,你会注意到到目前为止我只报告了关于选择题的结果,所以我们剩下要做的就是将这些答案、这些模型生成长答案,以便于我们拥有的其他数据集,并进行人工评估。我认为这才是真正项目开始的地方,当我们查看专家对普通人的评估时,它揭示了在响应中存在的关键差距和局限性。
我们常常发现这些模型会产生幻觉或生成不完整的回应,当我们询问专家时,他们是否更喜欢临床医生生成的答案还是这些模型生成的答案时,他们几乎总是更喜欢临床医生生成的答案。
嗯。所以很明显,他们两者都。之前的结果显示,这些模型虽然已经编码了一定程度的临床知识,可以在实际环境中使用,但你需要更好地将这些模型与医疗领域的安全关键要求对齐。
但一个大挑战是我们没有任何形式的监督反馈数据。因此,我们真的需要对齐技术以提高数据效率。不过,值得庆幸的是,我们得到了调优的指导,这一方法是由布莱恩·莱斯特和谷歌的几位其他人几年前提出的。这种方法的工作原理基本上是冻结大型 LLM 模型,只学习一小部分额外的提示向量,这些向量可以在生成时用于对模型进行条件化。
而这最好的地方在于,它允许在不同任务和领域中非常容易地使用模型。而且你只需要携带这些额外的提示参数,这些通常比其他模型中数十亿的参数要小得多。
另一个好处是,这种方法在计算上也非常高效。所以,如果你在我们的计算基础设施上进行端到端的微调,即使有几千个例子,这也可能需要几天的时间,而通过指令提示微调,由于数据集的大小减少了,你所需的例子数量非常少,只需更新提示令牌向量,这意味着我们能够在几小时内获得模型更新,这样真的很快,使我们能够进行非常快速的迭代。
这就是我们如何整合最终的 metPm 模型的过程,我们使用了来自专家临床医生小组的指示和示例,这些指示和示例数量是几百,而不是几千或几万,你可以看到那里的几个示例,有一个指示,后面是模型答案,再后面是解释,我们用这些来学习提示向量。因此,最终的 metPm 模型基本上是计划泵加上这些额外的 softpro 向量参数,这些参数用于将模型与医疗领域的要求对齐。之所以这样做效果很好,是因为正如我们之前看到的,模型中已经编码了医学知识,我们所需要的只是教会模型如何在给定的应用环境中正确使用这些知识,而这正是这些提示参数的作用。
所以我想问的问题是,现在你可能看到很多关于在聊天中借用的内容。并且考虑到你有所有这些由你的评估者表达的人类偏好。你们试图将其转化为奖励或偏好模型。是的,我认为你可以考虑模型发展的不同变化,所以这是部署前的阶段,并在现实世界中发布,因此你不能将一个糟糕的模型放到现实世界中。所以在做到这一点之前,如果你能从任何你听说过的专家那里获得大约 10 个示例,并用这些示例来提示你的新模型,那将是一个更好的起点,在将模型暴露于现实世界并从真实用户那里大规模收集反馈之前。因此,我认为与指令提示调优相比,RLH 的样本效率也要低得多,因为你可能试图更新整个模型。因此,我认为这是一个非常好的起点,可以根据模型的生命周期进行组合。
数据集是公开的,我稍后会讨论一下结果。你是说模型的反应和人类的表现,这是个好点子,我们目前还没有考虑发布它们。也许我们可以。好吧,你觉得这有什么用例吗?我们有一堆数据在记录中。所以让模型表达那些妊娠,并在医学中使用这个模型聊天。
所以如果我想解释一下,嗯,这个观点不错,我认为评估数据集,我会在这里稍微谈谈。它仍然很小,但我觉得如果我们扩大规模,我们现在正在这样做,我认为我们可以发布这个,这将是我认为你们所追求的一个很好的资源。
可以。所以我们有了我所说的 metPm 模型,现在我们从中提取了长形式的答案,并将其与 F palm 模型以及专家临床医生生成的答案进行了比较。正如我所说,我们的人类评估分为两个部分,一个是由专家临床医生进行,另一个是由 LA 用户进行。那么,我们在这些评估结果上获得的 40 个问题的结果是什么样的呢?我们通常观察到的情况是。
在各个方面,我们查看了不同的轴,而 FL Palm 模型老实说表现相当糟糕,METT 泵模型则表现得好多了,通常能够缩小与专家临床医生之间的差距。在这个轴上,FL Palm 模型的科学共识准确率大约为60%,而 METP 模型在这方面有了很大改善,缩小了与临床医生之间的差距。
这里在其他维度上也有类似的故事,你可以看到临床医生在模型如何检索医学知识、如何进行推理的评分。我们再次看到与前一张幻灯片相同的趋势。因此,列出的正确性是正确理解的证据,而错误的则是无,所以这两者可以同时存在。你可以同时有正确理解的证据,也可能有错误理解的证据。没错,这就是为什么这里不是一个减去的结果,但趋势是相同的,这也是为什么可以跳过的原因,但这只是一个细节。
是的,再次提到,这里有一个类型,但这个与不正确或缺失的内容有关。这是一个有趣的案例,因为在进行调优时,我们正在教 metP 模型生成更长且更完整的回答。你稍后会看到一些定性的例子,但在这个过程中,模型有时可能会产生更多的不正确信息。因此,你会看到在这个特定的维度上,fl palm 模型稍微好一些,但与传输相比,这依然差得多。
喂,我也在这买。这个问题很好,更像是完全脱离上下文的东西。所以这可能与问题无关。这就是我会这样说的原因。好的。我们还考虑了可能的危害程度和可能性。再一次,我们看到通过指令提示调优,我们能够缩小与这边专家青少年的差距。
关于偏见访问也是一样。嗯,不能确定。你能解释一下这个讨论吗?诶,应该是这样。所以我基本上看到像某种数据,然后临床医生大约 6%会这样说,你能多谈谈如何准确澄清这个问题吗?
😊,是的,基本上可能会有某些情况、病理或诊断,比如癌症。如果临床医生没有及时发现,或者可能给出的反应未能恰当地传达病情的严重性,那么这可能会导致严重的伤害或死亡,这正是我们想要在这里捕捉的内容,所以这是一个非常高层次的概述。
我认为这是一个非常微妙的话题,针对这个话题有一个框架叫做 AHRQ 框架,我们在论文中也链接了它,我认为这为你提供了一个非常详细的伤害和偏见的概念,我会提到这一点,但从高层次来看,这就是我所谈论的内容,以及它是如何帮助的。
好的,后来我上课时说临床医生有 5.7 的可能性,这意味着我该怎么说?这是不是意味着他们推荐了什么,或者也许他们没有推荐什么?是的。因此,这基本上是误诊,或者说未能捕捉到诊断的严重性,这在危及生命的情况中是很典型的,对吧?所以,往往更多的是错误,而不是只是错过了细节。是的。
所以我也谈到了偏见,正如我所说,人类评估的其他维度是通过层用户,因此我们问他们模型回答对问题意图的满足程度如何,再次看到在 MetPM 的指令提示下,与临床医生之间的差距缩小了。然后我们问他们这些回应有多有帮助,我们看到的是,虽然 fl palm 的回应被认为有帮助的比例约为 60%,但 MetPM 的比例提高到了 80%。
但与 90%的临床医生相比,仍然显得相当低。嗯。所以这里有一些定性示例,你会发现医生通常因为在时间有限的环境中工作,他们的回答往往精准简洁,但有时作为层用户或患者,很难解读和理解这些答案,并获取所有完整的细节。因此,我认为像 MePm 这样的语言模型可以帮助将医生的语言转换为更易于层用户消化的内容,这就是我认为这些模型在临床环境中如何适应的原因,它们将增强医生与患者、其他医生和研究人员的互动。
好的。我只是想知道,因为我们在访问。水位下降,而且这很。作为患者,我是否可以,你是否有权这样做。没错,我认为这是主观的,这就是为什么我认为我们仍然看到普通用户的评价计划表现的答案很有帮助,80%对于医生来说要高得多,所以这并不完美,但我认为这里有一个互补的元素,我们在这里感受到。
我们曾询问人们,像解读医生笔记或建议有多容易,他们常常说:“哦,这很难,我需要回去谷歌搜索这些术语和缩写的意思。”所以我认为这是语言模型可以介入的地方,把笔记转化为更易于理解的内容,我觉得这是一个机会。这些都是我们论文中的内容,但我也想快速指出上周发布的一项最近工作,标题相当挑衅:我们还需要临床语言模型吗?这里的临床语言模型指的是在临床数据(如医疗笔记和记录)领域训练的小模型。该论文基本上建议小型的、领域专注的语言模型可能比通用的大型语言模型更好。在这篇论文中,他们在上下文学习中对 GT3 进行了评估,我认为这是一个相当有趣的观察。对于如 P GPT 和其他几种变体的小型领域语言模型,我认为有很大的价值,但我觉得这篇论文没有考虑到上下文学习,也就是提示调优,而我认为这正是这些大型通用语言模型的优势所在。此外,我们还没有进行任何领域语言模型的预训练。
这些大型通用模型,不过这对我们来说也是一个选择,可以进行微调。因此,你可以利用这 5 和 400 亿个参数,然后依然在医学节点或其他特定领域的数据上进行调整,希望这能进一步提升性能。
到目前为止的关键要点是什么。我想传达的是通用语言模型。看起来它们确实编码了医学知识,且在医学推理任务上的表现似乎随着规模的增加而改善。然而,我认为这些模型不能直接在临床环境中使用,需要与医疗领域的安全关键要求保持一致。我认为指令调优是一种在数据和计算方面都极为有效的技术,我们应该更频繁地使用它。
根据情况,希望 API 也开始支持它。这些模型似乎在医疗问题回答任务上正在缩小与专家临床医生之间的差距,而这一点无疑令人兴奋,并且具有深远的影响,你们可能都能想象出这里的应用场景。
我认为全面的基准测试和评估框架是必要的,以进一步评估和改进这些模型以用于实际案例。那我在这里烦请有什么问题?完成。在医学上,依然存在。哎,是。对。你啊。很多原因是这些数据集往往会被锁在隐私和其他法规的孤岛中,这些法规阻止它们在现实世界中发布。因此,你必须拥有符合 HIPAA 的存储系统等等,因此从这些孤岛中获取数据并整合一个开放的基准非常困难。老实说,我觉得这可能不会改善这些数据集的规模,至少开放版本的数据集将会保持不变。
相较于大规模的 L 训练数据集或自然图像的计算机分部数据集,这个规模相当小。不过,未来可能会发生的情况是,我们可能会有更多分布式的联邦评估设置,在这些设置中,你将模型放入这些私密的存储区进行评估,因此它们不会被暴露并公开,而是可以进行这些联邦评估设置。因此,我认为在这方面已经有一些工作在进行中,有一个系统叫做 MeF,可能会看到更多类似的系统。
就等个嘅发过先。当然,这里问的问题是,为什么医学数据集相较于自然图像数据集在计算机分割或 LMP 训练数据集中要小得多,等等。你认为医学 LOms 在工业中最早的一些应用是什么?
我认为第一组使用案例可能会不是诊断性的,抱歉,问题是你认为医疗算法在医疗行业环境中的使用案例是什么。因此,我的回答是,我认为我们将看到的第一组使用案例可能本质上是非诊断性的。
但是更多的是如果患者进来与医生互动,你能生成摘要笔记吗?你能做一些工作流程任务,比如为保险生成药物推荐信等等吗?我认为这些任务正适合大型语言模型,我认为如果还没有的话,在接下来的六个月到一年内,我们会看到很多这样的用例出现。我认为这将使医生和护理提供者的生活变得更加轻松,因为现在他们花费大量时间在这些事情上,而不是实际提供护理和关注患者的诊断用例,我认为这需要更多时间。
我们需要对数据集进行更多评估,显然评估框架还不完善,但我认为从长远来看,那是理想的设定。然后也许后续是 M,我假设 Meed Palm 并不是开源的。
你认为最好的医疗开源模型是什么?诶。是的,我认为这取决于,所以问题是医疗数据的最佳开源模型是什么,我认为这取决于评估设置,所以我认为斯坦福基金会模型组的 PM GPT 模型相当强大,我认为 GPT-3 或 3。
如果你能引入一些特定领域的医学数据并进行一些领域内的调优,那么 5 或其他变体也能显著改善模型,所以我认为这两个将是我在这里最喜欢的要点。因此,这感觉像是部分重要性本身的问题。
你可以把它们看作是对应于几个额外标记的向量,因此并不是很容易被人理解。那么问题是,软前景是什么样的?它们是否容易被人理解?答案是,不,它们并不能。正如你所提到的,针对更大质量政策的三分之一路径,通常在网站上有住院道德质量基础设施在线医学,我们真的相信应该学习我们所拥有的。
现场硬件,现场和包含这些型号板子的机器。好的。所以问题是考虑到许多医院系统和服务提供者网络的技术水平相对较低,并且硬件不够好。你真的认为联邦学习可以用于大规模 LLM 的分布式训练吗?
我认为我们越来越看到向云计算发展的趋势,因此许多医院系统正在将它们的存储、数据和计算迁移到像 AWS 或 Google Cloud 这样的标准云服务提供商。我认为这很有帮助,因为这些系统在后台确实具备能够训练这些模型的计算能力。我认为这将是一个非常渐进的过程,因此基础设施高质量的系统可能会首先启动,然后逐步进入长尾领域。但这似乎也是一种必然会存在于世界中的事物,所以在 10 年或 15 年后,当我们拥有这些分布式的大规模相关训练系统时,我们总会想,为什么我曾怀疑过这不会存在?这太明显了,它必须存在,因为所有的病人数据和所有有趣的数据都在那里。我认为这只是会发生,只是不清楚这一切是由一家企业完成,还是由学术界或行业团体的联合体来完成。
这些将会涉及到等等。没错。那么这里的问题是,我们看到云计算,但我们基本上是在将数据上传到同一个仓库,答案是对的,但我认为这些都会是各自独立的桶,有着各自的访问控制等等,这就是你如何区分它们的方法。
对。好。已经有很多了。这真的。I。似乎不像我们习惯携带的那种东西。当然,问题是是否有研究在 MePm 中查看这些数据集中的私人信息,简短的回答是没有。我们在研究中选择数据集的标准之一是不要包含任何可识别个人身份的数据或此类临床数据,这有助于我们按时完成这篇论文,但我认为这是一个重要的观点。
我们在公开数据中训练时,不太可能有大量的 PI 数据。但是,即使你在某个私有语料库上训练,然后在另一个应用场景中使用,你也需要确保模型在生成过程中不会泄露任何 PHI 信息。因此,我认为这类研究是必要的,我们尚未深入进行这些研究。
所以,公平地考虑模型和探索良好模型,以及人们能够在相同经历中形成的群体,是非常重要的。问题是,接下来在改进这些模型方面的步骤是什么。检索是一个非常重要的环节,能够引用来源,尤其是采用权威来源来生成答案,并将其传达给用户,这一点我认为非常重要。我认为,如何传达不确定性也非常重要。我们在某种程度上使用了来自 tu 的指导,但我认为这可以做得更好。所以我认为这是另一个重要的方面。我会强调评估方面,比如关注更多数据集,例如在健康记录或其他类型医疗数据上进行问答,我认为这很重要。同时,扩展评估的规模,拥有多样化的临床医生支持,并且在使用的数据上,可能要有意识地修改问题,以包含人口统计混杂因素等,这些都是值得关注的有趣方向。在建模方面,对我来说,一个有趣的问题是这种相互作用。
更小。特定领域的警报与大型通用警报之间的差异,以及这将如何发展,似乎在这里有一些新兴的证据,尤其是在医学推理方面。因此,正如你所见,在较低的尺度上,有时性能并不够好,我的意思是 50%,这是一个不错的数字,但这并不可行。然而,当你达到 80%或 90%时,产品确实变得非常有用,对吧?我们在这些模型的更大参数规模上看到了这一点。
但我不知道,我认为这个问题在这里仍然悬而未决。耶。问题是幻觉是否是个问题,我认为它仍然是。但我相信你可以通过指导提示调整来很好地控制这一点,不过像任何反馈数据一样,我认为这并不困难。所以,我觉得这个问题可能被夸大了,尤其是在特定领域时。
我觉得控制起来更容易。你作为领导者的程度或像领导者一样的程度,看起来我只是。最近,出现了上面提到的产品及其。一本です。好的。是的。所以我只是很好奇,因为这个特定的应用程序真的非常。非常相关,并谈论高标准和质量,所以我只是好奇是否说。
所以问题在于,关于幻觉和一般的紫色细胞肢体有很多讨论和噪音,而在这个特定的应用领域,这似乎尤其相关。你能对此进一步展开一下吗?当然可以。我们看到的是,即使只有几百个专家临床医生的示例在教导模型如何传达医疗信息。
这足以使模型可能停止幻觉,或者至少以更好的方式传达其不确定性,因此在这个特定领域或设置中,它对我们来说感觉更可控。我之所以这么说,是因为我们定性地观察了答案,发现模型并不倾向于生成超级长的回答,或者做出非常自信的预测,而是语气本身变得非常谨慎,开始使用诸如“也许需要进一步处理”之类的术语,这传达了不确定性。那么,这与我们所拥有的不确定性基本表示之间的相关性到底如何,我认为仍然是一个研究领域,但我认为这对我们来说已经很有前景,因为它在有限的应用场景中,如医学,感觉是可控的。
但是如果你有一个通用的语言模型,试图回答关于世界的几乎所有问题。我认为这将是一个更困难的问题。你认为这会是某种领域的特征吗?大卫说?在医疗情况下,医生可能会更谨慎一些,绝对不对某些事情有绝对的英语表达。或者你认为这更多的是你只需要专门化?这可能是这样的。
完全不同的事情,我只是好奇,所以问题是。你认为这个模型在这个领域的表现是数据集在医疗领域的一个特征吗?通常是基于医生的沟通方式,我认为这是正确的,我认为这是我们需要在这里构建和利用的东西,我认为这非常有帮助,希望这种行为足够普遍,能够转移到模型中,即使在非医疗环境中使用时,也能在交流时更加克制,减少虚假信息等等。所以我相信这是这里的一个机会,可以利用这些基准,提出减少虚假信息的方法。
更好地传达不确定性,然后将其作为双向学习的机会,以改进通用目的细胞。这么说,如果你还有其他问题,我会在演讲结束时再回来。 但我也想涵盖其他应用。因此,我想谈论的下一个领域是蛋白质,从现在开始我会稍微快速浏览这些论文,考虑到时间。
我想首先谈谈 2020 年谷歌研究的一些人发表的论文,标题为“通过线性可扩展的长卷积变换器进行蛋白质的大规模语言建模”。所以这里的问题是,建模长距离生物序列需要高效的变换器架构。
因此在这篇特定的论文中,他们引入了这种表演者架构。它通过低秩分解来近似 softmax 注意力核。并且这并不包含任何稀疏成本,比如其他方法,如 reformer 或其他许多方法。这是好的,因为稀疏成本可能不适合生物数据,例如蛋白质。
这需要对全球互动进行建模。然后另一个方面是这个模型。性能与序列链接的缩放是线性的,而不是二次的。你需要近似这个 Somax 注意力核的随机特征数量与输入序列的链接完全无关。所以为了快速可视化加速和空间复杂度的改善。
你在这个低角度分解中所遇到的是,不再像你的 softmax 注意力核中有厚重的矩阵。现在你有了更薄的矩阵,这些矩阵由随机特征的大小决定,这基本上将你的平方复杂度降低到更线性的性质,并且还带来了空间的改进。
所以我会说,论文中有更多的理论分析和细节,我会建议大家参考一下。但在进行蛋白质语言建模时,我们看到的结果是,这个模型的准确性与变压器相当,同时显著降低了计算成本,这表明 softmax 注意力核的近似是非常紧密的,这很好。然后当你将其与其他方法如 reformer 或 Lyformer 进行比较时。
在这个任务上,准确性要高得多,因此与其他试图构建更有效的变换模型的方法相比,这种方法对于生物序列数据在这种设置下要好得多。最后,如果你查看氨基酸相似性矩阵的注意力。
你可以看到,performma 模型识别了高度相似的氨基酸对,例如这里的 DE 和 FNY。这表明模型正在学习我们真正想要的信息集。所以这是对论文的两分钟概述,但我想,嗯,谈谈另一个我认为也非常非常酷的。
这个被称为蛋白质 Llum 的项目是由全球研究的一些人提出的。这告诉我们的是基于模型的自然语言蛋白质注释。这个问题之所以重要,是因为蛋白质信息的需求非常高。因此,已知蛋白质序列中超过 50%的功能我们实际上并不知道,所以至少在某种程度上能够解读这些信息是很重要的。第二点是,我们可能想要找到具有特定功能的蛋白质序列,这在 CRISPR 领域尤为重要。如果你能训练出能够做到这一点的双向模型,我认为这将是非常有帮助的。
我之所以这么说,是因为 Unipro 数据库拥有超过千万的研究人员在全球范围内使用它。将这些信息填充到该数据库中将是非常有用的,并能加速这一领域的大量研究。因此,欧洲生物信息学研究所对蛋白质进行了数据整理,基本上你可以利用这些蛋白质记录来训练这些模型。因此,你想要做的就是直接将氨基酸序列映射到它们的自然语言描述上。
这个问题与图像标题生成问题并没有太大不同,在这里你不是处理一系列像素。我不知道“序列”是否合适,但如果你有的是像素,而是有一系列氨基酸,它们的数量可以从二到四万不等,然后你想生成的是蛋白质的描述。
在这篇论文中,他们的做法是训练一个 T5 模型来处理蛋白质序列的清理任务。因此,这些任务以多种不同方式设置,监督数据来自他们所拥有的蛋白质记录中的多个不同来源。这个模型是一个编码 E T5 模型,因此这是一个非常酷的应用。结果是,在之前未被表征的 5600 万种蛋白质中,现已有 4900 万种与之相关的文本描述,因此我们现在对它们的功能有了更清晰的理解。
嗯。所以这真的很酷,然后我认为另一个可能更有趣的是,现在你可以运行查询,比如找到这个 CRISP Cas9 蛋白的小型版本,以便它可以针对某些组织光谱,现在模型能够返回序列,所以我认为这将再次非常有用,并加速这个领域的许多研究,已经有很多势头,我认为这些模型将进一步提供帮助。
嗯。所以刚才讲的是蛋白质,我想要涵盖的最后一类应用是基因组学网站。再说,这里第一篇论文是去年我们谷歌 HealthI 的 Ge 团队发表的,它是在为序列校正构建我们的序列变换器。所以这个模型叫做深度共识,这个模型扮演什么角色,为什么它重要?
所以如果你看一下测序数据生命周期,你基本上是从原子到比特的转变,因此你有这个物理样本,希望其中有一些 DNA,然后你把它通过像 Spg bio 这样的测序机器,得出的原始数据会被映射到参考基因组,有时个体与参考基因组之间可能会有差异,这可以通过你们几年前引入的一个叫做 deep variant 的模型进行修正,而这个模型是开源的。然后一旦你拥有了这个序列,你就可以用它进行多种不同的分析,例如祖先分析或基础生物医学研究。
深度变体的作用在于,它实际上使得从 PA 生物测序仪中得到的原始 DNA 读取结果更加准确。PA 生物测序仪的工作原理是使用一种循环共识测序算法,其中 DNA 分子会被多次读取,从而生成多个不同的子读取结果,这些子读取是。
它们确实包含一些错误,因此它们最终是组合在一起的,而深度共识(Deep W)所尝试做的就是基本上改善由这个循环传感器序列算法所产生的错误。那么,这个模型是如何工作的呢?深度共识的基本任务是利用 CSCCS 数据及其相关的子序列生成一个修正的序列。在这个例子中,当我们运行模型时,我们看到 CCS 的身份大约在 95。
7% 的深度共识预测身份达到了 100%,所以这是一项相对简单的任务,你试图减少由于 CCS 算法带来的错误。很自然的问题是,这些标签来自哪里?
因此,您拥有的每个与高质量组装对齐的 CCS 序列,这种高质量组装是通过将多个 CCS 读取拼接在一起创建的,从而最终减少了错误,因此您可以尝试使用这种高质量拼接组装,并将其映射回给定块的 CCA 贸易,并将其用作标签,这样就能产生更强的真实数据,您可以用它来训练模型以进一步提高准确性,因此这就是模型的训练内容,模型的架构是变压器架构,它接收这些子读取和 CCS 读取,以及来自序列本身、测序仪等的额外上下文特征,所有这些都被输入到变压器模型中,它生成抛光片段,这些片段随后被拼接在一起以生成最终的抛光读取。
我在这里要指出的一点是,为了训练这个模型,你不能使用交叉熵损失,这是因为。你知道,如果你插入,DNA 序列中通常会有插入,因此使用交叉熵损失时,这会严重影响模型。即使是像这里看到的一个单一错误,也可以在整个序列中传播,导致结果变得更糟。因此,你需要一种基于距离的特殊对齐损失,能够更好地捕捉这个错误。
因此,让这个对齐损失在处理 PUs 时有效,并制造出不同的 shable,我认为这是本文的核心内容,所以如果你对这类主题感兴趣,再次回到论文中查看。我觉得这真的很酷。但是从一个很高的层面来看,这个模型的效果如何呢?如果你查看最终输出,你会看到读取名称、碱基预测,以及可以视为置信度分数的预测质量,而这些碱基预测通常相当长,所以你可以看到那持续在屏幕外,因为这里的电子基础大约是 10k。
当你观察质量时,发现它比这里的普通 CCS 算法有了相当大的改善。每次读取的准确性在这里提高了很多。因此,你可能会问这种模型在现实世界中的实际影响是什么?答案是,这种模型已经在现实世界中被使用,例如在斯坦福大学,由艾什利博士和其他几位研究人员进行的基因组研究中,最近有一篇超快速纳米测序的论文,他们创下了最快基因组测序的世界纪录,而这种深度共识变换器架构在那次 SM 测序中得到了应用。在这项特定研究中,他们能够非常迅速地诊断出这里的马修因遗传原因有心脏疾病,因此他们能够迅速地将马修列入患者供体名单。这就是我们可以通过这些生物医学变换模型和 AI 系统在现实世界中产生的影响。
而且很快,我想谈的最后一篇论文是来自 DeepMind 的关于通过整合长距离相互作用进行有效基因表达预测的论文,这篇论文发表在《自然方法》上。这项工作的动机再次是,自人类基因组计划以来,已经有成千上万的基因组关联研究,其中的目标是将遗传变异与不同类型的疾病表型进行映射,但这涉及大量实验,而真实的实验患者需要耗费大量时间。因此,如果我们能够利用机器学习模型来实现这一点,那就非常重要了,这就是他们在这篇论文中所要做的。
所以如果你看基因本身,像是,知道的。10%的基因是编码变异,这些变异会影响蛋白质功能。然后它们导致疾病的方式是通过破坏生成的蛋白质的结构或者影响蛋白质之间的相互作用。这些编码变异的好处在于它们通常更靠近基因,因此更容易解释;另一方面,90%的基因是非编码变异,它们的作用是影响蛋白质的表达,因此更像是调控序列。如果它们有任何变异,它们导致疾病的方式是通过干扰蛋白质的转录。
而考虑到这些非编码变体可能离基因和编码变体非常远,因此很难对它们进行解读,问题在于我们能否训练变换模型来预测这些非编码变体的影响,这就是这里的任务。这是一个可视化,再次说明,论文关注于转录,这是将 DNA 转化为 RNA 的第一步。实现这一点的方法是 RNA 聚合酶在基因的起始位置被称为转录因子的蛋白质招募,这些转录因子对应于靠近基因的启动子。而这些增强子可能在这些启动子和线性空间中非常远,也会影响转录。你可能会问,怎么会有这样的情况。
这些增强如何影响这里的活动。这是因为虽然它们在一维空间中可能相距较远,但在三维结构中,它们最终会非常接近,从而完全影响这里的转录过程。
所以这是对这里发生的事情以及生物学方面的一个非常高层次的概述。那么问题是,这些非编码变异和增强子中是否存在任何变异,它们可能会干扰转录因子的结合,这最终可能导致没有蛋白质,最终导致疾病,对吧?所以我们希望能够基于生成的 DNA 序列来预测这一点。
所以问题其实相当简单,这是一种监督学习问题。设置是从这些 DNA 序列中预测实验数据,这可以有很多不同的形式。主要的是这里的基因表达,但也有其他任务,如 DNA 可及性、组蛋白修饰和转录因子结合等等。
因此,正如你所想,这项任务多年来的基础模型是 CNN 模型,随着你堆叠一些不同的 CNN 层,你可以增加感受野,但这有其限制。因此,在这项工作中,他们展示了可以使用变换器来更好地建模这些长时间交互,因此最终模型被称为 Ener,它是这种增强器和变换器的结合。如果你查看模型本身,它在开始时有一些 CNN 层,但随后有一堆堆叠在一起的变换器块。
输入是 200 KB 的 DNA 序列,训练了大约 30k 个示例,输出类似于这种 RNA 表达的基因组轨迹。并且它们有特定于生物的头部,人类一个,小鼠一个。最后一个关键细节是,这个模型中使用的相对位置编码实际上非常重要,这些相对位置编码在建模交互的幂律方面起到了作用,因此在使用这些相对位置编码与变换器块架构时。
他们现在能够对超过 100k 基因的相互作用进行建模。因此你可以在这里看到结果,实验数据以绿色显示,你可以看到 CNN 基线在这里,一旦远离,你会发现 CNN 模型无法再捕捉这些基因表达。
但是你可以看到增强模型现在能够像是拾起它们一样,所以你可以看到随着模型的远离,增强模型能够捕捉到这一点,而 CNN 模型则无法再捕捉到这一点。最后,我认为他们在论文中进行的一个非常有趣的实验是,他们也能够预测启动子-增强子影响,而这种预测实际上与实验数据相当,所以这表明使用这个机器学习模型我们可以绕过许多湿实验,并获得关键细节。
这可能非常有用。所以是的,非常快。我很抱歉我必须在这里匆忙讲解蛋白质和基因组应用。但我认为总体来看,当你观察临床蛋白质和基因组应用时,我们看到变压器在生物医学中具有巨大的潜力,并且在临床应用中。
我认为挑战可能更集中在数据和评估方面。但在蛋白质和基因组学方面,我认为在这里有一些极其有趣的创新机会。最后,正如我所说,这里有令人难以置信的双向学习机会。我认为建模长程相互作用的问题不仅在蛋白质和基因组学领域有用。
我认为这在基因组学中是有用的,因此我认为这里的任何架构改进都能激励 AI 的更广泛进步,这也是我认为要致力于此的一个重要原因。嗯。到目前为止有什么问题吗?抱歉,我讲了很多内容,对此表示歉意。
但我认为这些论文非常酷,你应该回去阅读它们。最终,我想花几分钟谈谈我对生物医学人工智能未来发展的看法。总体来说,我相信这不是一个关于人工智能是否会改变生物医学的问题。我认为这更是一个关于何时以及如何的问题。我的具体观点是,鉴于生物医学数据的性质及其多模态特征,以及在自我学习大型语言模型方面的所有进展。
我认为我们拥有一个极其强大的框架,可以充分利用这一切丰富性,并真正构建基础的医疗 AI 模型。因此,我认为这非常令人兴奋。而且。所以我认为你在夏威夷待得太久了。
所以我不会要求你认识这些人。但他们实际上是著名的医学科学中心,其中一些还获得了诺贝尔奖。我想在这里说的是,科学家和医生没有理由是不同的,他们可以结合在一起。这也是我想通过我们的人工智能系统传达的,我们不必将临床应用和生物应用分开。
我认为当我们将它们结合在一起时,我们将会发现许多新的见解,我认为这将加速生物医学研究并推动新的发现,这将用于消灭疾病。推动先进的人类健康计划,并整体上推动人类潜能向前发展。
所以我实际上知道这三位是谁。没错,我认为最右边的是亚历山大·弗莱明,然后是乔纳斯·索尔克,接着是保拉·里克。所以弗莱明是青霉素,盐,Capoo,艾利希则涉及许多不同的东西。然后,我想问你们一个问题,哪一个领域的人工智能你认为会首先赢得诺贝尔奖?
你不是在说。嗯。我是说想,但就像。撒旦的诺贝尔,诺贝尔就像这不是一个真正的领域,我觉得这些人出国。经济学我觉得是。它与诺贝尔基金会有关,不,我觉得就像这是个笑话,不用担心这些人,然后几乎就像等一下,自己的经济学诺贝尔偏见,生物学是什么,像是可以有哦,搞笑的渲染这个笑话,癌症或者其他什么。
没错,我也有同样的感觉,我希望你们中的绝大多数也认为这将会出现在医学领域,我将以此为结束,非常感谢我的所有合作伙伴和团队成员,最重要的是感谢你们让我像使用 ST 幻灯片一样,感谢你们耐心地倾听,希望这对你们有所帮助。
P18:18.源于联合神经科学的人工智能 - life_code - BV1X84y1Q7wV
嗨,能在这里真有趣。所以我今天要展示的工作标题是“注意力应用体育分布记忆”。这是与 Drrens Peavvan 和我的博士生导师 Gabriel Kma 合作完成的。那么,为什么你应该关心这项工作呢?我们展示了启发式注意力操作可以以生物合理的方式,利用高维向量的简单属性来实现。
所以,正如你所知,变压器和注意力机制是极其强大的,但它们是通过启发式方法开发的,softmax 操作和注意力机制尤其重要,但同样是启发式的,因此我们展示了用于运动学生记忆的超球体交集在理论上和一些训练变压器的实验中,近似地反映了 softmax 和注意力机制。因此,你可以看到 SCM 应该在大约 30 年前通过预先注意的方式读取记忆,而这项技术是在 1988 年开发的。这令人兴奋的是,它满足了生物学上的高可信度标准。希望我有时间实际深入到小脑的连接结构,以及如何将每个操作映射到电路的某个部分。
首先,我将为您概述 Sprse 分布式记忆。然后,我会提供一个变换器注意力的总结,但我假设你们已经了解这些内容。我们可以先到那里,然后决定想深入探讨多少。我将讨论注意力如何实际近似 STM,并更广泛地解释变换器,然后希望有时间探讨 STM 的生物学可能性。
另外,我将保持所有内容在高层次的视觉直觉上,然后再深入到数学部分。不过请随时打断我,问任何问题,真的没问题。好的,所以分布式存储的动机是基于一个问题:大脑如何读取和写入记忆,以便稍后能够检索到正确的记忆。它考虑的一些因素包括高记忆容量、对查询噪声的鲁棒性、生物学上的可能性,以及某种容错的概念。
SDM 与您可能熟悉的其他关联记忆模型(如 Hopfield 网络)独特之处在于,它是稀疏的,因此在一个非常高维的向量空间中操作,并且存在于这个空间中的神经元仅占据了可能位置的很小一部分。它也是分布式的,因此所有的读写操作适用于所有附近的神经元。顺便提一下,如果您熟悉 Hopfield 网络,它实际上是稀疏分布记忆的一种特殊情况。我现在不打算深入探讨这个,但我有一篇关于它的博客文章。好的,首先我们将查看稀疏分布记忆的写操作。我们处在这个高维二进制向量空间中,目前使用的是 Cannon 距离作为我们的度量,稍后我们将继续讨论。我们有这个绿色模式,由实心和空心圆圈表示,这是假设的神经元。
也要将一切抽象地考虑,然后我们稍后会映射生物学,所以这个模式有一个红色半径。这是某种汉明距离,它激活了该汉明距离内的所有神经元。然后在这里,我只是指出这些神经元现在存储着那个绿色模式,而绿色模式已经消失。所以我用这种模糊的空心小球来跟踪这个位置,这将在后面变得相关。
所以我们在另一种模式下写作,这个橙色的。并且请注意,神经元可以在内部存储多个模式,从形式上讲,这实际上是这些高维向量的叠加,而不是求和,因为它们的高维结构使得你不需要那种交叉步道,所以你可以这样处理。
但现在你可以认为它就像一个神经元,可以存储多个模式。嗯。最后,我们有第三个模式,它是蓝色的,我们在另一个位置写入。是的,所以再次强调,我们在跟踪原始模式的位置,它们可以是,但它们可以通过存储它们的邻近神经元进行三角定位。
所以我们已经写了三种模式,现在我们想从系统中读取。我这颗粉色星星的眼睛。它似乎是由一个给定的向量表示,该向量在空间中的某个位置激活了神经元。但现在神经元输出它们之前存储的模式,因此你可以看到基于这个位置,它得到了四个蓝色模式、两个橙色和一个绿色。然后它执行一个简单的多数运算,根据它所看到的模式进行更新。所以在这个例子中,由于蓝色实际上是多数,它将完全更新为蓝色。我稍后会对此进行更详细的 formalize,但这真的只是为了让你直观了解 SCM 的核心操作。
所以,将这与注意力相关联的关键在于抽象掉在后台运作的神经元,只需考虑这些圆的交集。因此,粉色主圆与每个右侧圆之间的交集意味着,这个交集是那些既存储该模式又被查询读取的神经元。
这个交集的大小对应于查询将要读取多少个模式。因此,我们正式定义这个圆形交集中的神经元数量为模式中神经元数量、查询中神经元数量及其交集之间的共性。好的,在我深入数学之前,有没有什么高层次的问题?
我不知道我能否检查一下,检查 Zoom 对我来说是否容易,抱歉,Zoom 的人,我不打算检查,好吗?是随机分布的,是的,是的,之后还有更近期的工作,他们可以学习并更新他们的位置瓷砖流形,但在这里你可以假设它们是随机初始化的二进制高维向量,好吗?所以这是完整的 SDM 更新规则,我将把它分解。
首先,你要清楚这是为了阅读,所以你已经将模式写入了你的神经元中。你做的第一件事是根据每个模式的圆形交集的大小来加权每个模式。每个模式都有一个圆形交集。然后,你对所有模式进行求和。😡
这些已经写入这个空间的内容,你只是对它们进行加权求和。然后通过你所拥有的交集总数进行归一化。最后,因为至少现在我们在这个二进制空间中,你会映射回二进制,仅仅是查看这些值是否大于一半。
好吧,我想知道人们对注意力机制有多熟悉。我看了你们之前的讲座,似乎水平很高。你们能为我写出注意力方程吗?如果可以,请给个赞。是的,好吧,我不会详细讲解,但我可能会比其他时候更快地讲。当我第一次做这个演示时,这就是变压器的最新技术,现在的进展真是有趣,我不需要告诉你们变压器有多重要。
所以。是的,我将使用这个例子,好吧,我将使用这个例子,这里是猫坐在空白处,因此在这个环境中,我们正在预测下一个令牌,即单词“数学”。因此,注意力操作有四个主要功能,首先是在这里,它生成所谓的键、值和查询,再次,我稍后会详细解释这个过程,我只是想先保持高层次的理解,然后我们将比较我们的查询与每个键。因此,单词“the”,即我们下一个预测的单词,作为我们的查询,我们正在查看它与每个键向量的相似度。
然后,我们基于这种相似性进行 softmax 归一化,以便所有的注意力权重加起来为一。然后,我们将它们的值向量相加,用于传播到下一个层或用于我们的预测。因此,从高层次来看,你可以认为这个查询词正在寻找名词及其相关动词,并且假设它与像“cat”和“sat”这样的词有很高的相似性,或者它们的键。因此,这会给予“cat”和“sat”值向量较大的权重,这些权重会被传递到网络的下一个部分,而“cat”值向量假设上包含了其他动物(如老鼠)以及可能与“mat”押韵的词,而“sat”向量也包含了包括“mat”在内的坐着的东西。因此,从关注“cat”和“sat”的值向量中,你实际上得到的是类似于三倍的“mat”加上一倍的“mouse”加上一倍的“sofa”,这再次是一个完全假设的例子,但我想强调的是,通过关注,你可以从你的值向量中提取出对预测下一个标记有用的东西。
所以特定的键。嗯。对。所以我想另一个要点是,你所关注的某些内容和实际提取的内容可能不同,你关注的是你的键,但你得到的是你的值向量。好的。这里是完整的注意力方程,上面的行我把投影矩阵 W 下标分开,你支付 Q,第二行我只是把它们合并成新的 OAC。
是的,所以将其拆分,第一步是我们比较我们的查询向量和我们的键之间进行点积,这实际上应该是一个小的人力资本,所以我们在它们之间进行这个点积,以获取相似度的概念。接着我们应用 Somax 操作,这是一个指数和指数和的操作,思考 Som 的方式是它只是让大的值变得更大,这在与 SE 的关系中将是重要的,因此我在这里花一点时间。在顶部,我有一些超项,索引从零到九,然后在第二行中是每个项的值,我只是对它们进行正常化,所以顶部的项变为 30%的值,但如果我改为使用 Somax,这取决于 beta 的共定义和 Somax,但值变为 0。
所以,这里你的分布峰值可以看作是一种思维方式,这对注意力是有用的,因为你只想关注最重要的事物或附近的事物,忽略那些更远的东西。因此,一旦我们应用了我们的 softm,我们就只需对我们的值向量进行加权求和。
实际上提取并传播到下一层。嗯。好的,那么这是。完整的方程。我稍微快速地讲了一下,乐意回答你们的问题。可是我觉得你们一半会,一半不会。好的。那么,变压器注意力是如何近似稀疏分布式记忆的呢?
这件我提到的三十年前的事情在生物上是可信的。所以,是的。我接受这种可能性,所以我会在最后提到这一点。注意力也是在所有注意力的意义上,而不是。😊。我认为我在这里展示的注意力公式是经过开发的。
我的意思是,你需要关注的只是重点,但 Benjiio 在 2015 年发表了一篇论文。那是首次以这种方式写的。如果我错了,请纠正我,但我很确定。我的意思是,我想这特别的一个,这就是我问这个问题的原因,因为不。这是个好问题,你展示了两种可以被归类为注意力提案的不同方法,它们是相同的,就像他自己肩负的那样。
其中一个喜欢。是的,正是这样,我将展示 SDM 在神经层面与电路之间的良好映射,然后现在它与注意力之间有联系,我想你提到的其他注意机制是个好观点,这是主导的机制,但我认为这并非巧合;像计算的 Somax 成本很高,并且还有很多工作,比如 Lformer 等,试图摆脱 Somax 操作,但效果都很差,现在 Twitter 上有很多玩笑,称试图摆脱 Somax 的人就像掉进了黑洞,所以看起来这些和其他版本的变压器在同样的方式上不够扩展,因此这个特定的注意力方程式显得很重要。
但是就像之前那样往回说,如果这真的很重要,那么 SDM 实际上是错过了你。因此,我认为重要的是你有这种指数加权。你真的在关注那些重要的事物,而忽略其他一切,这正是 SDM 所近似的,可能会有方程式,但我想说的是,Soax 似乎确实很重要,而这个方程式似乎非常成功,我们还没有提出更好的公式。
是的,这个问题很好,所以事实证明,稀疏分布记忆在你将查询和模式分开时,就像你把这些圆圈拉开一样,读取和亮起的圆圈之间的交集中的神经元数量在一个足够高维的空间中大约是指数衰减的。在这个右侧图中,我把蓝色和粉色圆圈拉开,X 轴是我拉开的过程,Y 轴是交集中神经元数量的对数尺度,因此在对数尺度上这是线性图,它是指数的。
这适用于特定的设置,我有 64 维的餐向量。这就像在 D2 中使用的一样,它适用于许多不同的设置,特别是更高维度,现在用于更大的变压器。好的。所以我有这个圆交叉方程的简写。
我将展示的是圆的交集大约是指数级的,因此我们可以用两个常数 C1 和 C2 来表示,外面的那个因为你在归一化 softmax 时是对某些指数进行指数运算,这将抵消重要的部分 C2,而你可以很好地用在 softmax 中使用的 beta 系数来近似它。
所以是的,我想我会首先关注 SEM 的二进制原始版本,但我们也会开发一个连续版本。好的,所以是的。使这个圆形交集和指数衰减有效的两个因素是你需要映射到注意力,即你需要某种连续空间的概念,因此你可以使用这里的这个方程将距离映射到离散的相似性值,其中的帽子表示向量是 L2 标准化。
然后你可以在左侧写出圆的交集方程。这个指数与这两个你需要学习的概念有关,然后通过转换 C2 来重写它,看看。你可以将其写成贝塔系数。让我来展示一些图,是的,你需要正确的系数,但你可以用对数线性回归和闭合形式来拟合它。啊。我想在这里展示一张图。是的,好吧,蓝色是我们在两个不同的 he 距离下的圆交集,都是使用 64 维向量,而橙色是我们的实际 StockAx 注意力操作,其中我们拟合的贝塔系数表明,注意力使用的 hem 距离等于 SEM 使用的 hem 距离。你可以看到,主要图是归一化权重,简单地相加后除以 1,而这里是对数图,你可以看到在未对数化的空间中,曲线相当吻合,你可以看到对于较高维度,抱歉,更大的 he 距离。
你看到的对数图在这里出现下降,圆形交点不再呈指数形,但实际上这并不是问题,因为下降的点大约在20这里,你基本上对任何那些点的关注都微不足道,因此在指数法则重要的范围内,这个近似是成立的。
对对,对刚刚就说这是感觉。是的,没错,我只是想实际展示一下,想在这里获得一些基础知识。所以我们在这里做的就是,我们处在一个原始的 EM 二进制空间,利用这个映射来计算余弦相似度。
然后你需要做的就是拥有贝塔系数,然后你可以将你的贝塔系数和注意力视为决定 PP 事物的程度。这与您在华盛顿进行阅读和写作时使用的圆圈的距离直接相关。
所以,是的,要在这个幻灯片上以数学方式展示这一点,我没有使用任何技巧。我只是用模式和查询的 SEM 符号重写了注意力。因此,这个小框框并没有做任何事情。而这是关键幻灯片,我们在这里更新我们的查询。左侧的内容。
我们的注意力方程用 SE 符号表示,我们扩展了子轴。然后主要的陈述是,如果我们用角落世纪方程的 SMM 替换掉指数,这个方程是紧密近似的。是的。因此,为了使这有效,你需要的两个东西是:第一,你的注意力向量。你的键和值需要进行归一化处理,然后。你想要。
如果你决定了 SEM 的距离,那么我会深入探讨这些距离适用于不同的事物。然后你需要有一个与之相关的 beta 系数。但再次强调,这到底是你想关注多少个事物?所以,是的,作为一个简短的旁注,你可以使用连续向量编写 SDM,然后不需要这个映射来关注相似性。
所以这里我再次展示了这些图表,但添加了这个。我增加了这个。绿色的橙色已经翻转,但我在这里也增加了连续性。而连续版本的好处在于你实际上可以将Srse分布式内存写成一个多层次的概念框架,假设略有不同。我现在不打算讨论这个,但这是Spe分布式内存作为持续学习者的一个特点。
这被添加到了附加阅读材料中,抱歉,这里不应该说 ICML,而是应该说 ICl。它刚刚被接受为今年的声明。好的。那么训练变换器是否使用我提到的类似于 SDI 的这些贝塔系数呢?根据你设置 STM 的距离,对于某些事情来说,效果更好,这并不令人惊讶。
例如,你只是想尽可能多地存储记忆,而你假设你的查询不是嘈杂的,或者你假设你的查询确实很嘈杂,因此你无法存储太多,但你可以从远处检索,并且如果注意力机制的变换器在实现先前的分布式记忆时。
我们应该预期看到变换器使用的 beta 系数与这些良好的 SDM 实例相对应,因此我们有一些微弱的证据表明情况确实如此。这是注意力的关键查询归一化变体,在这里你实际上可以学习到你的 beta 系数。
通常在变压器中,你不会这样做,但你不需要将向量延长,因此你可以有这样一个有效的 beta 系数。在这种情况下,这只是一个更清晰的实例,我们实际上是在学习 beta,而这是在多个不同的翻译过程中进行的,我们跨层学习 beta 系数。
并将其绘制为直方图,红色线条对应于三种不同的火花分布式内存概念,适用于不同的情况。再次强调,这是微弱的证据,因为无法推导出最佳的 SM beta 系数或相应的处理距离。
我们需要假设在这个高维空间中存在随机模式,显然现实世界的数据并不是随机的。然而,看到所有数据系数都在范围内是很不错的,第二,它们偏向于最大查询噪声,这在处理复杂的现实世界数据时更有意义,因为你接下来看到的数据点可能会超出它们过去所见的分布。
最大内存容量变体假设没有任何噪声。因此,就像我可以假设在提问时系统的问题是完美形成的,我能放入多少东西。好的。稍微谈谈变换组件更广泛的内容。我提到过,你可以将前馈层写成一种具有某种长期记忆概念的 SDM 版本。
嗯。还有层归一化,这在变压器中至关重要,和 SDM 所需的高度归一化不完全相同,还有一种关键查询归一化变体,它明确地进行这种高度归一化,至少在他们进行的小测试中,它确实获得了稍微更好的性能,我不知道这是否适用于更大的模型。
所以我想这项工作之所以有趣,是因为我即将提到的生物可行性,以及与变压器的联系。到目前为止,它并没有改善变压器架构,但这并不意味着这个视角不能以某种方式被使用或有用。嗯,是的。我列出了几个与 STM 相关的其他方面,这些方面可以用来引导进入,实际上在新的工作中,STM 是一个持续学习者。
我们扩展了小脑电路,查看其组成部分,特别是抑制性中间神经元。将这些实现到深度学习模型中,它在持续学习方面表现得更好,因此这是一种有趣的方式,实际上利用这个联系来提升最终的性能。
好吧,这一节的总结基本上就是两个超球体的交集近似于指数,这使得 FM 的读写操作在理论上和我们的有限测试中都能近似于注意力,因此,从大局来看,可能会出现的一些研究问题是,变压器之所以成功是否因为它执行了一些关键的认知操作。
小脑是一个非常古老的脑区,大多数生物包括果蝇,甚至可能还有头足类动物都在使用它,这一过程经历了发散但现在趋同的进化。考虑到变压器在经验上如此成功,SDM 究竟是否是小脑功能的正确理论,这仍然是一个悬而未决的问题。
随着我们对小脑了解的越来越多,目前没有任何证据否定 SDM 在这里的作用,我认为我可以大胆地说,这是一种更具说服力的理论,解释小脑是如何实际工作的。是的,我认为这项研究激励我们去探讨更多这样的问题。
这两个问题都更加严肃。嗯,好吧。我们有时间吗?
很酷,这是实现 SDM 的电路,底部有用于读取或写入的模式。实际上,我对这些幻灯片进行了分析。好的,是的。所以首先我们有输入的模式,每个神经元在这里。这些是每个神经元的树突。它们正在决定是否对输入信号进行放电。
然后,如果神经元确实发火,而你以那种模式在写。😡,那么你同时。我要在这里解释,这真是疯狂,大脑并不这样做,然后我希望能触发你,不仅需要让模式激活神经元。
但是你需要有一个单独的行来告诉神经元该存储什么。就像你在键和值之间存在差异一样,这里它们可以是表示不同事物的不同向量,你可以有一个输入的键来告诉神经元何时激活,而对应的值则是它实际上应该像是飞翔一样,然后放入层。
这被称为异构关联映射。然后,一旦你从系统中读取数据。你的查询也会在这里到达,激活神经元。然后这些神经元输出它们存储的内容,而神经元向量是存储的特定列,作为提醒。它在超连接中存储了模式,然后会将它存储的内容通过这些输出线路转储。
然后你有这个 G 主导位操作来转换为零一。决定神经元是否会发放信号。因此。这里是相同的电路,但我叠加了细胞类型和 ce。因此。我会回到这张幻灯片,因为大多数人可能对 Sarahbeller 电路不太熟悉。它在水中,所以小脑是相当均匀的,并且整个过程遵循这种模式,此外,大脑和小脑中约有 70%的神经元很小,所以你不会知道,但小脑是非常被低估的,并且有大量证据表明它与大多数高级处理具有闭环系统。现在,如果你的小脑受损,你更可能出现自闭症等情况。
等等,因此它的功能远不止于许多人过去所认为的精细运动协调。好的,输入通过这里的大部分纤维与颗粒细胞相连接,这是一个主要的投射,那里有大量的颗粒细胞。
每个颗粒细胞都有称为平行纤维的结构,这些纤维是极其细长的轴突,以 T 形结构分支。然后,它们会受到普金杰细胞的冲击,这些细胞可以接收多达 100,000 个平行纤维输入。这是大脑中连接性最高的部分。
然后,普金基细胞将决定是否发射并向下发送输出。因此,这就是整个系统,父母参与并决定它们是否发射,以及它们输出自己的方式。然后你会有一条独立的右线,即爬升纤维。爬升纤维向上延伸,它们的连接非常惊人,重要的是,它们并不是非常强的,真正重要的是它们向上延伸并缠绕在个别的树突细胞周围。
而且纤维与普金细胞之间的映射几乎是一一对应的,至少是一个非常强的特性。因此,你在这里与我们连接,所有这一切都是对的。哦,原来有来自不同区域的独立神经元,特别是进入深小脑核,像是在小脑的核心,然后反馈给更高阶的大脑区域,或者像是肌肉运动等等。很多人会认为小脑就像是一个精细调整的查找表,你已经决定了想要的肌肉运动,但小脑会进行一系列调整,使其更加准确。不过,这似乎也适用于下一个词的预测,我们有 FMRI 数据支持这一点,一个神经科学家说,fMRI 的一个小秘密就是小脑与所有事物相一致。所以,好的。
那么回到这里的电路。是的,时间尺度或操作方式,我是说。信息存储和检索的时间有多长?我们对此有任何了解吗?就像只需几毫秒,还是有一个信息工作系统,所以主要理论是你需要通过更新。
时间依赖性塑性,其中你的爬升纤维会在你想要的事情发生之前或之后发放信号,因此这会更新长时程的突触,以促进进展或增强。因此,无论时间如何,爬升纤维上发生的事情都会产生非常大的动作电位,或者导致大量的解决。因此,我确实认为你可以获得相当快速的突触更新,并且这些更新也能持续很长时间,我认为这一点是可以确认的,但就像你生活的其他部分一样。
是啊。那么这个电路真正独特的地方在于你有这两个正交输入,其中有损失光纤将信息传入,以决定神经元是否可以激发。但是还有完全独立的量子光纤线路,可以更新特定神经元及其存储的内容,之后再输出。然后原型细胞是如此重要,它在每个神经元之间进行冷却,每个神经元记住以这种方式存储向量。
所以原始细胞正在进行逐元素求和,然后决定是否发放信号。这使你能够将向量存储在叠加状态中,之后再进行去噪。哦。这一切理论在地图上与 Mar 和所有关于太阳 vlor 功能的理论映射得相当好。这些理论仍然非常主导,如果有人从那里了解到这些,甚至那些模拟神经元的 SDM 和你之前介绍的内容,每个细胞的每个神经元基本上都是一个粒子歌曲的设置。
好的,然后是神经元的位置。这些空心圆圈对应于这里的胶质细胞树突。出现的模式对应于修饰符的激活,努力的突触连接与每个细胞有关。因此,它实际存储的是与每个细胞的突触连接。
在那个接口上。然后,prokee 单元主要进行决定是否失去火力的位操作。是的,我想我们基本上进入了提问时间,非常感谢。嗯,可以。嗯,还有件事。我对那个存在一无所知,但似乎它已经被使用很长时间了。我很好奇你的假设是什么,系统又是什么?
我们应该做的短期数字交付。因为似乎是这样。如果你有这个链接的变换器。是的,我认为长期记忆。让我们关注短期记忆,因为对我来说似乎是这样。我们现在在提示上下文中这样做,但我们如何能直接将这些融入进来,是的,是的。
所以这项工作实际上更关注短期记忆与注意力操作的关系,但你可以重写 SDM。它几乎更自然地被解释为一个多层感知器。它就像在其神经元之间进行一种 softax 激活,或者一种 top pay 激活,稍微复杂一些。但。是的,所以。是的,你听到的最有趣的事情是,我只有一堆神经元。
在这个高层次的思维空间中激活附近的神经元时,你会获得这种指数加权。这就是盐质量,然后因为这是一个关联记忆,就像你有键和值。这就是注意力。是的,我想我最想强调的事情是,大脑实际上能够相对容易地实现注意力操作。注意力操作,仅仅使用高维向量并激活你的后部。
所以这对于短期和资金来说是好的,如果你真的想用 SEM 来吸引注意力。是的,让我快速回到最初。这很重要。对 SDM 有两种看法,我不认为你在讨论时在场。我看到你稍晚才进来,这完全没问题,但哦,太好了,太好了。
好的,有两种方式来看待 SDM,一个是神经元的视角。这就是这里的观点,实际上这就是课程中正在发生的事情,唯一不变的是错误模式,然后是基于模式的视角。这实际上就是注意力在做的事情。因此,在这里你是在抽象神经元,或者假设你是在幕后操作。
但实际上你计算的是你模式的真实位置与查询之间的距离,这两者各有利弊。这样做的好处是你能获得更高保真的距离,确切地知道查询与某些原始模式的距离,而这在你决定更新方向时非常重要;你真的想要清楚什么是最近的,什么是更远的,并能够直接应用指数加权。问题在于你需要存储所有模式的限制并进行操作,这就是为什么变换器在上下文上有限的原因。另一种视角是长时记忆,其中你忘记了模式,只关注存储了一堆模式的神经元。这种方式下你实现了叠加,因此你无法真正模拟你原始模式是什么样的,结果也会变得更加嘈杂。
但你可以存储成百上千的数据,而不受上下文窗口的限制。或者你可以将任何惩罚层视为在嘈杂的状态叠加中存储整个数据集。是的,希望这能回答你的问题。我想这里有一个,然后是的。所以我想我的问题是这样的。所以我想你展示了现代的自注意机制是如何映射的。
SVM 机制似乎是可能的,并且某些方面看起来像现代当代理论,例如如何将 SDM 实施落到实处。我想问的是,这种情况在多大程度上存在呢?
像实验验证与之前提到的那样,实际上使用 MLP 层可能比这些机制更简单,那么实验者是如何区分假设的,比如说我并不完全清楚的一件事是。
对。即使大脑无法集中注意力,或者像 SM 那样,这并不意味着它一定会这样,因为也许它无法做到这一点。那么,这到底是如何被彻底测试的呢?是的,关于背景这一点。你不必在这里进行测试,因为你有可以直接提供训练信号的攀爬纤维。
通过你的喜好,选项存储在这种情况下。就像是一个监督学习任务,对于资金的削减,它想要写什么,或者如何更新就像细胞所看到的。但对于你更广泛的观点,你基本上需要做的就是测试这一点,你需要能够进行实时学习。果蝇的蘑菇体基本上与神经元相同,而果蝇脑数据集已经完成了大部分个体神经元的连接性。但你真正想做的就像任何体外的实时超级学习。
超高帧率的钙成像技术能够观察突触如何随时间变化,适用于如关联学习任务等场景。听到一个声音向左移动,再听到另一个声音向右移动,或者嗅到某种气味,呈现出类似的痕迹,找出那些发火的小子集神经元,我们知道这只是一个小子集。因此,通过最终的距离解释,我们可以看到科学如何更新,以及其输出如何与运动行为的变化相对应,然后消除那个数字,正确地更新新的数据,再次观察这一过程消失。我们的摄像头速度越来越快,钙指示剂和电压指示剂的性能也在不断提升,希望在未来三到五年内能够进行一些这样的测试,我认为这将是非常具有决定性的。
是的。是的,我们还有其他问题吗?我想还有一个,然后我应该……你不会把他们像这样最终的医学生物实现镜像化,你所映射的范围是什么。明白了,所以我不会混淆多头性,因为那是不同的注意力头,各自进行自己的注意力操作。有趣的是,脑盖有麦克风,可以认为它们在某种程度上像独立的注意力头。我不想把这个类比推得太远,但确实有点有趣,所以你与此的关系是。
在注意力机制中,你有你的 beta 系数,即有效 beta 系数,因为你的键和值的向量范数并不相关。这对应于一个指向,并且这里对应于任何给定输入时开启的神经元数量。
啊。那么你想要的海明距离,我之前有那张幻灯片。你想要的海明距离取决于你实际上想要做什么,如果你并不打算存储那么多记忆。例如,你将会有更高的海明距离,因为你可以在那个嘈杂的交叉点获得更高保真度的计算。是的。很酷,嗯,非常感谢。所以作为免责声明。在介绍我们的下一位演讲者之前,先说明一下。
这个人原定的日程不幸因为最后一刻的教职面试而取消了。所以下一位演讲者非常友好地同意在最后一刻进行演讲,我们对他非常感激,所以我想向大家介绍 Will。Will 是伦敦大学学院盖茨比单元的计算神经科学和机器学习博士生。我不知道是否有人听说过盖茨比单元,我有点历史爱好者或者说历史极客,取决于你怎么说。盖茨比单元实际上在 90 年代和 2000 年代是一个令人难以置信的强大中心,Hinntton 曾在那里,Zubin Gurimani 也曾在那里,他现在负责谷歌研究。我认为他们做了大量出色的工作。现在我想邀请 Will 谈谈如何构建认知地图。
你想分享你的屏幕吗?好的,你能站在这里吗?让我停止分享。
好的。所以我将要介绍这项工作,它是关于我所在小组的人如何研究海马体神经系统的。结果发现它与变压器有些相似,所以我将要讨论的这篇论文描述了这个联系,这篇建立这一联系的论文是由这三位作者撰写的:詹姆斯是一位斯坦福大学的博士后,他是一位牛津大学和伦敦的教授,而乔是一位在伦敦的博士生。
😊,所以这个模型所要解决的问题是,海马体进入我们系统的观察,基本上是世界上有很多结构,我们应该利用这些结构来快速在任务之间进行泛化。我所指的就是,你对 2D 空间的理解是因为你在这个世界上生活了很长时间,所以如果你从这个温室出发,向北走,就会看到橙色的一个和红色的一个,然后再想想,因为 2D 空间的结构。
😊,你可以在心里想,哦,如果我向左走会发生什么,你知道你会最终回到绿色的那个,因为这种类型的循环在二维空间中是封闭的。好的?😡,而这,你懂的,也许这是一座你刚到的新城市。
这就像是零商店的概括,因为你某种程度上意识到这个结构更广泛地适用,并在新的上下文中使用它。😊,是的,通常会有很多这种情况,其中结构在世界上不断重现。
所以会有很多情况,其中相同的结构对于执行这些任务是有用的,比如零-shot 泛化来预测你接下来会看到什么。😊,好的。那么你可能会看到我们已经开始将其映射到某种序列预测任务,这听起来有点像变换。
这意味着你接收了一系列类似的观察,在这种情况下,是动作。在空间中的运动,而你的工作是给定一个新的动作步骤,你必须尝试预测我们将要坐的地方,所以这就是那种序列预测的版本。😊,我们将尝试解决这个问题的方法是基于因式分解。
这就像你不能只在一个环境中学习该环境的经验。你必须分离出结构和你所经历的经验,以便可以重用在世界上经常出现的结构部分。
😊,好的,所以是的,将记忆与结构分开,你知道的。这是我们对两者的分离,我们有个家伙在这个二维网格世界中游荡。你想要区分的是,存在二维空间,并且这个二维空间有其基本规则。而在你所处环境的特定情况下。
你需要能够记住环境中哪些物体位于哪个位置。好的。所以在这种情况下,就像,哦,这个位置有一栋橙色的房子,这个位置。😊,抱歉,Greams。橙色。红色和粉色,所以你必须把这两个绑定在一起。你必须在意识到自己回到这个位置时,回想起你将在那里看到的观察。😡,好的。
因此,他们要构建的这个模型是一个试图实现这个目标的模型。是的。新的开始,所以当你进入时,想象你进入一个结构相同的新环境。你四处游荡,意识到它的结构是一样的。你要做的就是将看到的新事物与位置绑定,然后你就明白任务了,你知道世界是如何运作的。
😊,神经科学家所说的认知地图是指将事物分开并理解其结构的理念,以便在新情境中重用。而且,实验室构建的这个模型是关于这一过程的模型,描述了它们之间的分离,以及如何利用它们进行新的推理。这部分应该看起来像一个转换,这就是一般介绍,接下来我们将深入探讨一下。
😊,虽然有道理,但总体来看是这样的。很好。沉默,我假设是好的。那么我们先从一些大脑相关的内容开始,因为在空间导航方面有大量证据表明大脑在进行类似的处理。我想你可以想象,当你去一个新城市或者试图理解一个有你之前认知结构的新任务时,你自己如何在进行这样的处理。空间导航在神经科学中占据了重要地位,过去大约 50 年中有大量发现,并且有许多关于这种计算的神经基础的证据。所以我们将讨论一些例子,还有其他心理学家,比如 Tllman,他们展示了老鼠可以进行这种路径整合结构。这项工作的方式是,他们被放置在这里的起始位置,使用 RMS 进行训练,让它们了解到这里的路径可以获得奖励,所以这是我们必须绕行的迷宫。
😊,然后他们被问到被放在这个新的环境中,情况是一样的,但他们封锁了这条通往漫长曲折路线的路径,而是提供了所有这些可以选择的分支,他们观察老鼠选择哪条路径,结果发现老鼠走的是朝这个方向的路径。因此,老鼠似乎不仅仅是学习一个选项,而是像盲目记忆一样,知道自己需要采取的行动来探索,而是实际上在学习,将奖励嵌入其中,理解 Trudy 的脸,并选择一条直接的路线,尽管它之前从未走过。有证据表明老鼠也在这样做,和我们一样。
然后关于这个基础的一系列神经发现。所以约翰·奥基夫在海马体里插入了一个电极。这个脑区我们会进一步讨论,他发现了被称为位置细胞的东西。因此,我在这里绘制的每一列都是一个单一的神经元,而小鼠或我记不清是哪个正在一个方形环境中跑动,黑线是啮齿动物随着时间描绘的路径,每当你看到这个个体神经元发放时,就会在上面放一个红点,而底部的图是这个发放活动的平滑版本。你可以把这个发放率想象成神经元和神经网络的活动,这是人们通常所绘制的类比。这些被称为位置细胞,因为这些神经元在特定空间位置上有反应。多年来,这曾引起巨大的兴奋,人们主要研究感觉系统和运动输出,而突然间,深层认知变量的位置变得重要。你没有 GPS 信号,但不知怎的,大脑中有一种信号可以理解为位置。
😊,我猜这次发现链中最大的一步是 Mosa 实验室。这个实验室位于挪威,第二次讲座涉及大脑的不同区域。媒体内嗅皮层,因此我们将讨论的这个是海马内嗅系统,他们发现了一种被称为网格细胞的神经元。因此,这里展示的图结构是相同的,但这些神经元不是在房间的一个位置响应,而是在房间内呈六角格状的多个位置响应。
😊,好的,所以这两个,我想我向你展示是因为它们确实激发了这种空间认知的神经基础,以某种方式体现了这个空间的结构。😊,好的,而且这个发现非常令人惊讶,为什么神经元选择用这种 Xmatic 来表示事物,确实引发了很多研究,并且在这个领域已经有了更多的发现,所以有位置细胞,谈论网格细胞,响应的细胞根据你不是自己而是另一个动物的位置,响应的细胞当你的头朝着特定方向时,响应的细胞在离某个物体特定距离时,比如说我在某个物体的南边一步,这种细胞。
😊,对奖励位置做出反应的细胞,细胞对边界的向量做出反应。对各种各样的结构做出反应的细胞,这对大脑结构的配对。这里的海马体,这个红色区域,以及这里的内嗅皮层,这个蓝色区域。许多物种中保留下来的这些结构被表示出来。
这里还有一个有趣的发现,他们对伦敦出租车司机进行了 FMRI 实验,不知道你是否注意到。伦敦的出租车司机要进行一个叫做“知识”的测试,这是一个为期两年的测试,他们必须学习伦敦的每一条街道。测试的内容大致是这样的:哦,这里有交通堵塞,这里有施工,我需要你从卡姆登镇到沃恩斯沃斯以最快的方式走,你会选择哪条路线?他们必须告诉你他们将通过哪些道路,以及如果遇到阻碍他们将如何重新规划路线。这有点像是一种紧迫感,你可以看到他们有时驾驶着汽车学习所有这些路线,手里拿着小地图。尽管他们正在被谷歌地图稍微取代,但幸运的是,在这个实验进行之前,他们还没有被取代。因此,他们在实验中测量了使用 FMRI 的海马体大小与你作为出租车司机的时间(以月份计算)之间的关系,基本上,作为出租车司机的时间越长,海马体越大,因为你需要进行更多的空间推理。
😊,所以这是一大堆证据表明这些大脑区域与空间有关,但还有很多证据表明在这些区域中发生着某种超越空间的事情,好吧,我们将把这些结合起来,做出更广泛的关于这种潜在结构推理的主张,因此我将讨论其中几个,第一个是一个叫做病人 HM 的人,这是医学史上研究最多的病人,他有癫痫,而治疗癫痫需要切除导致这些类似癫痫发作的大脑区域,在这种情况下,癫痫源自他的海马体,因此他们切除了双侧海马体,结果发现这个人随后出现了严重的健忘症,他再也无法形成新的记忆,只能回忆起手术发生前很久的记忆。
😊,好的,但实验显示了很多关于我们如何理解记忆神经基础的东西,比如他能学习做运动任务,因此某种程度上运动任务是被完成的。例如,他们给他一些非常困难的运动协调任务,这些任务一般人通过大量练习也很难做到,而他最终变得非常擅长,和其他人一样,学习去做这个任务,但他对自己做过的任务没有任何记忆。他会去做这个新任务,然后说:“我从来没有见过这个,我不知道你让我做什么。”然后他做得非常好,这里有一些证据表明海马体至少在某些记忆部分中是参与的,这似乎与我之前跟你谈论的空间内容有些分开。
😊,第二个是想象事物,这实际上是一篇由 Deisa Sabbth 撰写的论文,他在成为 Deep Mind 的科学家之前是一名神经科学家。这里也许你看不清楚,我来读一些内容,你被要求想象你躺在一个白色沙滩和美丽热带海湾上。因此,控制下方的内容说了一些,比如“非常热,阳光照射在我身上,沙子在我身下几乎热得难以忍受,我能听到小浪花拍打沙滩的声音,海水是迷人的海洋色,非常漂亮”。这种对美丽场景的清晰描述,而有海马损伤的人则说:“至于看,我几乎什么也看不到,除了天空,我能听到海鸥的声音,能感觉到沙粒在我的手指间。”
😊,然后就像,是的,挣扎基本上就是为了想象这个场景。这些事情读起来非常令人惊讶。最后这个是传递推理任务。😊,所以在推理方面,A 大于 B,B 大于 C,因此 A 大于 C。😊。
它们将这一实验转化为啮齿动物实验的方式是,你会得到两个有不同气味的食物罐,而你的任务是去找出哪个食物罐有食物,抱歉,哪个气味的罐子里有食物。因此,这两个罐子被标记为气味 A 和 B,啮齿动物需要学会去特定的罐子,在这种情况下是气味为 A 的那个。他们进行两次实验,当 A 与 B 配对时,A 有食物,而当 B 与 C 配对时,B 有食物。然后他们测试当老鼠面对 A 和 C 这种全新的情况时会怎么做,他们说有海马体的老鼠会选择 A 而不是 C。
他们进行传递推理的方法是,如果没有一个,他们会删减。因此,有一个更广泛的集合,这就像,哦。我已经向你展示了如何使用 hip campusampus 来处理人们对此空间内容的兴奋。但还有所有这些关系方面的东西,想象你的情况。
里面有一些稍微复杂的故事。😊,我最后要做的是关于内嗅皮层的,如果你记得海马体,那么这些内嗅皮层是这些网格细胞,内嗅皮层似乎在做一些更广泛的事情,这一切都是模型的动机,只是试图将所有这些东西结合在一起。
😊,所以这个任务叫做“拉伸鸟类任务”,好的,所以你把人放进 FMRI 机器里,让他们在鸟类空间中导航。鸟类空间是一个二维图像空间,每张图像都是一种鸟。当你在 X 维度上变化时,鸟的腿会变长或变短;在 Y 方向上变化时,鸟的脖子会变长或变短。患者坐在那里,受试者看着鸟类图像的变化,这描绘出二维空间中的某些部分,但他们从未看到过二维空间,只是看到了图像。基本上他们被要求完成某种导航任务,比如说,哦,每当你在二维空间中的这个位置时,你会看到圣诞老人和鸟在一起。所以参与者必须将特定的鸟类图像与二维空间中的圣诞老人对应起来,并被要求使用某种非定向控制器再次找到圣诞老人,他们就这样导航回去。
😊,而且这个说法是,这些人使用网格细胞,因此内嗅皮层在这些人导航这个抽象的认知鸟类空间时是活跃的。你验证这个说法的方法是观察参与者在鸟类空间某个特定角度时内嗅皮层的 FMRI 信号。
由于六边形晶格的六重对称性,你会看到这种六重对称的上下波动的外侧皮层活动,随着你在二维集合中特定方向的移动。这就像是证据,表明这个系统不仅仅用于二维空间中的导航,而是用于任何具有某种潜在结构的认知任务。
你用它来做这些人们还没有做过的实验。但人们确实做过一些事情,比如观察网格细胞,但他们没有做到。😊。他们做过三维空间的研究,但不是像认知三维空间那样。他们确实做过,比如在蝙蝠身上进行研究。
他们粘贴电极在蝙蝠身上,让蝙蝠在房间里飞,看它们的网格细胞如何反应。嗯,确实如此。😊,我认为他们在序列空间中已经做到这一点。所以在这种情况下,你会听到一个具有层级结构的声音序列,就像月份一样。
周、天和餐,这样的东西,所以像周有一个周期结构,月有一个周期结构,天有一个周期结构,餐也有一个周期结构,因此你听到的声音序列正好具有这种层级序列的结构。通过 fMRI 观察内侧颞皮层的表现,你会看到完全相同的结构被展现出来,甚至更进一步,你实际上会在内侧颞皮层看到一个长度尺度的阵列。在内侧颞皮层的一端,你会看到非常大尺度的网格细胞,它们对空间中的大变化作出反应;另一端则是小尺度的细胞,你会在那里看到相同的东西,比如餐的周期,这个周期在内侧颞皮层和 fMRI 中表现得要快得多,而月的周期则位于另一端,两者之间有一个尺度。因此,对此有一些证据。
😊,没问题,所以我一直在谈论 MEc,内侧内嗅皮层。另一个人们不太关注的脑区是 L,外侧内嗅皮层。但在这个模型之前,你需要注意的是,它似乎代表了非常高层次的相似性结构,外侧内嗅皮层似乎像是一个非常高层次的语义结构,例如。
你展示了一些图像,观察在视觉皮层中,如果它们看起来相似,事物的表示会更加相似。但当你猜测外侧内嗅皮层时,事物的相似性更多是基于它们的使用。例如,熨衣板和熨斗会被相似地表示,即使它们看起来非常不同,因为在某种程度上它们在语义上是相似的。😊,好的。
所以这就是 LEC 在这个模型中将要扮演的角色。嗯,基本上这个说法是,它不仅仅适用于二维空间。神经实现的这个认知地图,是不仅仅针对二维空间的,而这个漫画本来是要表现的就是这一点。
还有其他任何结构的事物,比如推理的结构。这种结构比那种结构更快,也比那种结构更快,或者像家谱这样的结构,比如这个人是我母亲的兄弟,因此是我的叔叔。这些东西。😊这些更广泛的结构推理,你希望在很多情况下都能使用,所以基本上是同样的问题。😡太好了,这在神经科学中有很多内容。😊现在我们要进入一个模型,它试图总结所有这些内容,这个模型最终会像一个变换。
所以我们基本上想要这种分离。这些图表应该代表你在其中游荡的特定环境,它具有潜在的网格结构,你在这些网格的每个点上看到一组刺激,这些小卡通图形。你想尝试创造一个东西,将这种二维结构网格与实际看到的体验分开,而我展示给你的映射是,这种网格状的代码实际上是中脑皮层中的网格细胞在以某种方式抽象出结构,侧脑皮层编码这些语义上有意义的相似性,将是你看到的物体。因此,这就是我在世界上所表达的内容。
😊,他们两者的结合将形成海马体。所以,嗯,还有其他图表吗?你有 G,结构代码,MEc Lc 中的网格代码,谁在问问题?😊。从早上开始,现在是 Strstein,是的。抱歉,如果你在问问题我听不见。如何将某人静音?如果有聊天的话,也许可以打字。嗯,对。很好。那么,是的。
我们在中间有一个海马体,这将是我们将它们两个结合在一起的部分。😊。好的。接下来我会逐一介绍这三个部分,以及它们如何完成我分配给它们的任务,然后再结合在一起展示完整模型。
所以侧内侧皮层编码你所看到的内容,就像我们之前看到的这些图像或房屋,那只是一个随机向量 Xt,对于每个事物都是不同的。😊,内部皮层负责告诉你在空间中的位置,并承担路径积分的任务,这意味着接收你在空间中所采取的动作序列。
例如,我向东北和南方移动,并告诉你在二维空间中的位置,所以这在某种程度上是嵌入世界结构的那部分。😡,我们将通过这个 G of T 来实现,这个脑区的活动向量将通过一个矩阵来更新,这个矩阵依赖于你所采取的行动。好吧,如果你向北走,你就用向北的矩阵更新表示,好吧,这些矩阵必须遵循一些规则。例如,如果你向北走并向南走,你实际上是没有移动的,因此向北的矩阵和向南的矩阵实际上是互为逆的,这样活动保持不变,并且代表世界的结构。
好的,这就是世界结构的部分。最后,关于记忆。因为我们必须记住我们发现了哪些东西,或者在 HiAcus 中将要发生哪些位置,这将通过你在最后一场演讲中提到的热场网络的某种形式来实现。
所以这就像是一种内容可寻址的记忆,并且在生物上是可行的,类似于游戏。它的工作原理是你有一组活动,P。这些是所有这些神经元的活动,当它接收到信息时,它就像是不断地自我更新。因此这里有一个权重矩阵 W,一些非线性,并且你将其向前运行在时间上,就像是进入了某种动态系统,它稳定到了某种吸引状态。
😊,你创建新记忆的方式是通过权重矩阵,好的。所以你将它表示为这些 chi mu 的外积之和,每个 chi 都有一些记忆。你想要回忆的某种模式。😡,好的。😊,然后是的,这只是把它写进去。更新模式就是这样,基本上声明是 FP,即记忆。
神经元的活动,海马神经元与某些记忆密切相关,比如 ku。😊。因此,这个文档产品将比其他所有文档产品大得多,包含所有其他成员。因此,它们的整体效果基本上会被这个术语 kinu 主导,因此你的吸引子在网络中将基本上会稳定在这个 ku 上。😡,而且可能会提前处理一些稍后出现的内容。
你可以看到这种点之间的相似性是如何存在的。是的,powerI 相似性,然后将它们加权后相加,这部分看起来有点像注意力。😊,所以你可以用这些系统做的一些酷炫的事情,比如这是一个被某人编码在热场网络中的图像集合,然后有人将这个图像呈现给网络,并要求它运行到其动态吸引子最小值,结果它重新创建了所有存储的记忆,所以它就像完成了剩下的部分。
😊,所以那就是我们的系统。是的,我很抱歉,这就像。就像他们看起来感觉像。我听说这种解释就像是现代解释。这实际上是保守的,抱歉,是的。😊。是的,是的,链接到变压器基本上只通过经典咖啡网络和现代网络来实现,现代网络大约在 2016 年,而注意力与现代之间的链接正是经典与现代之间的链接不是那么明确,我是说,是的,现代。
😊,没也没什么好。随着非线性变化的到来。因为那时你得进行指数运算。好吧,也许等会儿你可以告诉我一些不,不,不,更多的问题是好的。😊。我们会得到,是的,也许是分离的能量波动。我认为指数在其中。好的,没关系。所以这基本上是我们的系统将如何运作,但这个标志性的机器叫什么呢?所以你想在海马体中存储的模式,这些我们想嵌入的记忆是位置和输入的组合,就像莫尔的半张脸一样。如果你决定要到达特定位置,你可以回忆起你在那里看到的刺激,并将其预测为你的下一个观察,反之亦然。如果你看到一个新东西,你可以推断出,哦,路径整合错误,我实际上应该在这里,假设那是,但世界上通常会有不止一件事情可能在不同的位置。
是的。😊,对,这就是整个系统,汤姆和 Iicenba 机器大致是这样运作的。😊,好的,基本上最后这一部分是在说它真的很好,所以我在这里展示的是 2D 导航任务,它是一个大网格,我想他们使用的是这样的。
😊,11 乘 11 或类似的情况,就像在新环境中四处游荡,需要预测接下来会看到什么,这里是你在该图中访问的节点数量,Y 轴表示你预测的正确程度,每条线基于我之前见过的那些环境的数量,展示了我学习的速度。基本现象是,随着时间的推移,当你看到越来越多的环境时,你学会了学习,像是了解世界的结构,最终能够迅速泛化到新的情境,预测你会看到什么。这个尺度与访问过的边的数量无关,那将是“学习一切”的选项,因为如果你试图预测在当前状态和动作下会看到什么,以一种笨拙的方式,你只会看到所有状态和动作,也就是所有边。但这个模型能够更加全面地进行预测,因为它需要访问所有节点,仅仅记住每个位置是什么,而你可以看到它的学习曲线跟随访问的节点数量的学习曲线。
😊,这确实很有意思。对于神经科学来说,令人兴奋的是,这些模型区域的神经反应模式与观察到的大脑反应模式相匹配。在海马区,你可以看到类似位置细胞的活动。这个六边形是探索环境的网格,而绘制的是该神经元的发放率,而内侧皮层中的神经元则表现出这种网格状的发放模式。是的。我们从这里的例子操作一些离散空间,你对如何将这些转化为连续的世界事物有什么看法吗?
你认为我们只是把 Nathan 映射到一个非常离散的空间中,我们认为这可能会变得更复杂。是的,我想象着可能有更复杂的东西在发生,我想就是这个。所以有一个超级的禁忌,嗯,也许你可以提出一些论点,就像我之前说的,这些不同的模块在不同的尺度上运作。你可以在这里看到这一点,比如在一个尺度上的网格细胞,在另一个尺度上的网格细胞,因此你可以想象这对其中一个在最高水平运作的模块是多么有用,而另一个则在最低水平运作。你知道,这些模块似乎可以根据环境的不同而自适应地扩大或缩小,所以有一组适应性长度尺度可以使用,但这相当推测。
😊,好的,抱歉,嗯,为了确保我理解你是否会很好。好的,再来一次。是的。所以你有你的。关键是什么,值是什么?是的,所以那个。热账单网络总是自动的,而不是与 E 相关的,那么你怎么样?
我们要放入的记忆,所以这些模式,假设你这样说。将会是某种在给定时间位置的外积和。扁平化。是的。所以我们是的,取这些的外积,因此 X 中的每个元素都可以看到 G 中的每个元素,把它们扁平化,这样就能到达政府床。😊,让我们理清思路,抱歉,我应该加上那个。是的,然后你进行相同的操作,只不过是在扁平化时使用一个身份。
假设你处于一个关键的位置,我们将看到,你将 X 设置为单位矩阵。你进行这个操作,从 G 创建一个非常大的向量。你将其放入并让它运行其动态,它会回忆起模式,你就像学习一个网络,从中描绘出 X。你展示的图形,如果你仔细查看,嗯,是好的。
这很难看清,但 X 轴上是什么,以及这是什么?
你是在用这个训练一个领域网络吗?这本书的产品实际上是更关注于世界的结构,因为它必须学习那些矩阵。它被告知的只是它采取了哪种行动类型,它必须学习向东迈步是向西迈步的反义。因此,所有的学习都在那些矩阵中,学习如何获得正确的结构。
😊,还有,我是说因为热片网络学习,热片网络会像重新初始化每个环境,而你就像在推它们的原因。😊,所以这看起来少了一点,这是造成这种情况的原因。
但这并没有导致像这种提升,这在许多不同环境中的训练过程中会出现。你在这个任务上会变得更好,因为它学习了任务的结构。😡,好的。还有我认为这都是现代热门网络的链接。所以最初的论文实际上是塑料鸡尾酒网络,但没错。
现在新版本的它是现代鸡尾酒网络,对吧?而且在某种程度上,现代鸡尾酒网络等于关注。😊 这是一个传输。但那样你没问题,然后你有一些结果可以看。激活。嗯,这些是大脑的记录,或者说这些实际上是 in10。
所以这就是左侧的神经元,以及中间部分的 G 区在内侧皮层的部分 10。就像你的位置一样。然后我的最后一部分是关于这些 1 的样子,所以希望我们能清楚地了解之间的联系。好的,我们对这个没问题,希望很酷的 T 大约等于变换。是的,你似乎知道所有这些,但我想我的标记至少可以澄清一下,你得到了数据,也许是你的输入标记,然后你得到了位置嵌入,而位置嵌入在这里将发挥非常重要的作用,这就是 E,它们共同形成了这个向量 H,好吧,这些会随着时间的推移而到达。
😊,是的,你得到了关注更新,你会发现关键字和查询之间有一些相似性,然后你将这些相似性加权值,我们都对此很满意。😊,这是工作人员版本。所以,这些部分如何相互映射的基本直觉是 G 是位置编码,正如你可能能够预测 x 或输入标记的那样。
当你把这个家伙放入记忆中,尝试回忆哪个记忆最相似时,这就是注意力的部分,也许还有一些,你将当前的 GT 与所有之前的 GT 进行比较,并回忆起结构相似度高的那些,然后返回相应的 x,我还有 10 分钟,不行。
😊,也许存在一些差异,或者我认为我将要讨论的是如何将普通变压器映射到以下内容。所以其中第一个是,在所有时间点上,键和值是相同的。
所以从标记性到键和标记查询的映射矩阵没有区别。同一个矩阵,且只依赖于编码的位置。好的。所以你只会根据它们位置的相似性来回忆记忆。因此,是的,这就是。K 在时间 τ 等于查询在时间 τ 等于仅应用于时间位置嵌入的某个矩阵。
然后这些值仅依赖于这个 x 部分,所以这有点像两个部分的因式分解。时刻塔的值就像是应用于那个 x 部分时的一些值度量。所以这就是你想要学习的唯一部分。😊,回想一下,我想是这样,对吧,想得对吗?然后这是一个因果变换器,因为你只关注过去时间点到达的事物。
有意义。最后,也许奇怪而有趣的区别在于,位置编码中有路径积分的存在。所以这些 E 相当于网格细胞,G 来自前面那部分。它们将通过依赖于你所采取的动作的矩阵进行更新。😊,是的,基本上这就是我将要讲述的对应关系,接下来我会稍微介绍一下霍特菲尔德网络如何大致类似于对之前的标记进行注意力处理。
😊,所以是的,我之前在向你描述经典的热场网络。如果你去掉非线性,看起来是这样的,映射。我想这就像海马体的活动,当前的神经活动是查询。😊。记忆集合本身是关键,你正在进行这个点积,以获取查询和键之间的当前相似性。
然后你将它们按点积加权求和,这些记忆都是值。😡。所以这是一个简单的版本。但实际上,这些跳跃网络在某些方面相当糟糕。它们往往会失败,对于 n 个神经元,它们的记忆容量很低。它们只能嵌入大约 0.14 n 个记忆。
就像 80 年代统计物理的一个重大结果。😊不过没关系,人们对此进行了改进。导致它们不好的原因基本上是你的查询和记忆之间的重叠对于太多记忆来说太大了。你知道,你基本上看起来与太多事物太相似。那么你该如何处理呢?你需要增强你的相似性函数。😊好的,我们将通过这个函数来增强它,而这个函数将是柔和的。
所以这将会是“哦,我与这个特定模式有多相似,经过加权的指数运算,然后我与其他所有模式又有多相似?”
😊,这是我们新的相似性度量,这是现代热门领域的负号。😊,是的。😊,然后你可以看到这个东西,是的,它基本上在做注意力机制。😊。而且它在生物上是合理的,我们会快速浏览一下,你有一些活动 PT。这就像神经活动,你要将其与每个 chiute 进行比较,这通过这些记忆神经元来实现,因此有一组记忆神经元,每个神经元对应你记住的模式 mu。
😊,这个记忆神经元的权重将是这个 chiyute。然后这个神经元的活动将是这个点积。😡。接下来你将进行除法归一化,以便在这些神经元之间运行这个操作,让它们相互竞争,只回忆那些最相似的记忆,通过根据这个 softm 操作激活程度最高的记忆,然后它们会投射回 PT,并通过将加权的记忆相加来产生输出,这个权重乘以 kimu,也就是权重,然后输出到记忆神经元,再返回到海马体,都是 ku。
所以,这就是你如何在生物学上可能运行这个现代热门电影网络的方式。然后,嗯,记忆的想法过得可能不太好,我想不管怎样,你必须有知识。你知道,在这种情况下,它运作得很好,因为我们每次都会抹去这个可怜的代理的记忆,只记住环境中的事物,因此你需要某种东西来控制它,使其只查找当前环境中的事物。我不太确定这怎么发生,有人声称这就像是随着时间的推移发生了某种转变,基本上这个说法是,随着时间的推移,表示方式就像旋转一样,然后他们还嵌入了一些时间相似性,因为你越接近时间,你就越在同一个旋转的事物中。所以,也许这是一种机制,你知道,过了一段时间你就不会有酷炫的东西。
😊,但是关于其他机制的证据和争论很多,我相信。😊。也许上下文实际上是另一个,我们简要讨论过,如果你知道自己处在同一个上下文中,那么你可以发送一个信号,就像前额叶编码可以推断出我这边是什么样的设置,你可以把那个信号发回去,像是。哦,确保你关注这些处于同一上下文中的事物。😊,所以,是的,就这样。
ti transformformer,这是工作,它的路径集成了位置编码,这有点有趣,使用这些位置编码计算相似性,并且它只比较过去的记忆。但否则它看起来有点像变压器设置。😊,这是我们的 MEc,LEC 的设置。
海马体和地方。有些是的,所以这是一个简要说明。我最后要说的就是这样的。😊。这很好地扩展了 T,因为它允许你之前必须进行外积并扁平化,但这种维度的扩展真是可怕,比如说你想做位置,我看到的上下文信号是在像外积三个向量并扁平化后,像这样扩展得大得多,你的扩展比你想做的要大,而这个 TM 版本结合这个新的现代热场网络,确实很好地扩展到了将上下文输入作为以前这个现代热场网络中的另一个输入。
😊,有一些,所以我们的结论是,这是一种双向关系,从人工智能到神经科学。我们使用这个新的记忆模型,这个现代热门领域的网络,所有这些知识都应该存在于海马体中。以前我们只是在经典的热门领域网络中有这些记忆单元。
所以这对海马体中不同地方细胞结构做出了有趣的预测,而且代码加速得不太对。😊,从神经网络 AI 来看,也许有一些略有不同的地方,比如可学习的递归位置编码,所以人们会进行一些尝试,我认为他们会得到位置编码,并学习更新的 RN,但也许这会激励他们尝试,比如他们没有权重矩阵,而这些权重混合通常偏向于表示非常干净的结构,比如二维空间,所以在这里可能会很有趣。另一个方面是这只有一个注意力层,因此通过使用。
😊,很棒的额外推荐,使得处理 X 和使用正确的位置编码变得非常简单。你可以仅用其中之一来解决这个任务。😊。还有一种不错的,或许是一种很好的解释,就是你可以深入探究这个网络中这些神经元在做什么,并真正理解我们知道的位置编码看起来像网格细胞,我们对网格细胞为什么在进行部分积分时是有用的有很深的理解,希望这有助于解释所有这些事情。哦对了,如果我有一个术语要告诉你关于网格细胞的事情,可能有点跑题,但我觉得没时间了,所以我就不继续了。
😊,开始。好。问题。非常多的问题,这些品种与神经或这些有关系,是的,那是一个神经反应。是的,让我告诉你更多关于网格细胞系统的知识,因为你的电极卡在这里,对吧?他们通常使用经典的测量技术,一个四线电极 okay,它们接收这些尖峰,就像神经元发射的电波波动,它们可以三角定位那个特定的尖峰,因为在四根电线上的活动模式必须仅来自一个位置,因此它们可以算出是哪个神经元发送了那个特定的尖峰。
😊,是的,但有一组神经元具有群体细胞模式,许多神经元的模式只是彼此的翻译版本,因此相同的网格像是在空间中移动,这被称为模块,然后有一组模块,它们是相同类型的神经元,但具有更大或更小的晶格,大约是七个,所以在每个模块内有七个模块形成了一个非常惊人的晶体结构,每个神经元只是由一个翻译,是的,如果你想根据你的速度信号进行环境中的部分集成,这是一个非常合理的理论工作。
😊,Al。这件你说的事情真是太吸引人了,关于那种友好的东西。它的产品适配性或学习的产物。进化,就像它在出生后 1 天就开始出现,所以那个结构似乎非常偏向于被创造得不清晰。你知道,我们在谈论它是如何被共同利用来编码其他东西的,所以关于它的灵活性或难度是有争议的。
但是似乎你知道,我们的 fMRI 证据表明,系统中有一些更大的灵活性,但不太清楚它是如何编码的。可是,获取它的神经记录会很酷。😊 那。太棒了,让我们来一次手指下降的轮换。
P2:2.语言中的 Transformers GPT 模型的发展,GPT3 - life_code - BV1X84y1Q7wV
好的,完美,因此这个模型的样本看起来像这样,它们也指向从$2004063%的 99.6 亿,这是一堆无意义的话,所以句子并不太连贯。但至少这些词似乎还是有些相关,像是来自同一个领域。😊。
是的。现在跳到 2011 年深度学习的初始阶段。我们现在有基于神经网络的语言建模,特别是使用递归神经网络。这样我们就可以摆脱 NG 模型中的巨大查找表,而让这些标记成为我们的影响,让这种递归单元记住某些状态并持续某些状态。如果我们设置一个神经模型,我们会得到如下样本,因此生活的意义是古代人类繁殖的传统对好男孩的影响较小,因此移除图形的时机不佳,所以这实际上并没有什么意义。
但它开始有了真实句子的流畅感。😊。
嗯,所以再往前推到 2016 年,我们有了 LSTM 模型,当然。LSTM 是基于 RNN 的一种架构创新,具有更好的梯度流,因此它们在建模长期依赖关系方面表现更佳。通过 LSTM 模型,我们可以得到这样的样本,在过去三年中,市场上迅速出现了更多新技术,以及越来越多的公司必须应对不断变化的在线环境或挑战。
所以这个句子开始有点意思了,尽管明显有一些伪影,比如“不断变化”这个短语的重复。
现在,从 2018 年开始,我们有了第一个基于自回归的变换器语言模型,它们在建模这些非常长期的依赖关系方面表现得更好。在这里,我展示的是一个完成的例子。在这个完成中,用户提供提示,这里是“这段文字在堪萨斯州摇摆”。
模型将从这个提示继续。因此你可以看到这个完成在多个句子中是连贯的,尽管有明显的拼写错误,所以你会看到这像是“无论费用如何”。所以这并不太有意义。现在我们来到了 GPT2,它是一个 15 亿参数的变换器模型。我复制了我个人认为在 PPT2 中最引人注目的完成。
与上一张幻灯片相反,这个模型设置了一个明显虚假的问题。我们提到寻找独角兽和南美的科学家。因此,模型可能以前没有见过这个确切的提示,必须编造一些连贯的内容。所以我觉得最令人印象深刻的是,它确实做到这一点,并且在多个段落中保持一致。
它创造了虚构的佩雷斯博士,并且在多个段落中持续提到佩雷斯,我觉得这个名字起得很好。你可以看到他来自拉巴斯大学,目前我们得到了相当连贯的完成。因此值得说明的是,这是 10 个样本中最好的一个,所以我们仍然需要多次取样才能得到这样的样本。最后,结束时,是的,是的。
当然我可以把它们发上去。是的,是的,是的。😊,好的。😊。抱歉,最后一个问题,当你提到这些时,你说我们挑选了最好的,这在什么意义上?所以这是人类评判,我可能会稍微扩展一下这一动机。因此,我想以这种飞速的概述结束关于 GPT-3 的讨论,因为 G2 已经产生了如此连贯的文本,像 GPT-3 你会如何表征呢?我认为最好方式是说你从 G2 的五或十个完成中挑选了最好的一项,那就是你从 G3 得到的第一次完成,当然“最好”在这里是一种个人标准。
在这里,我展示了来自血液类 3 身体问题的完成。你可以看到这个完成的令人印象深刻之处在于,它真的保持了小说的风格。我觉得另一个令我印象深刻的地方是它所产生的隐喻和比喻非常像诗句,比如“血液透过她的外套,深红色的花朵在她的胸口绽放”,这些句子非常非常富有诗意和风格。
所以它确实理解它是小说的一部分,并且在尝试生成这种风格的散文。随着生成文本变得越来越连贯,我认为一个真正的输出是 1750 亿个参数,而 G2 大约是 10 亿个,这确实是个好问题。因此,可能我们可以稍后深入讨论一下,这里有一些关于神经网络规模法则的研究,想法是你能否从一系列较小模型中预测较大模型的性能。我更倾向于通过这种小的困惑度提升来表征性能的提高,而是看它是否符合预测,在这个意义上 G3 确实如此。对我个人而言,我认为如果没有这样的结果,我们将停止这个实验。
这有点普遍,所以我们不需要逐步讲解机器学习的变化,你会发现它们在精确度上推动了大约 1%到 0.5%的提升,但模型的规模正在专业化地增长,因此我有时会感到好奇。
是否值得,以及你应该在哪里停止,我认为也许这一张幻灯片会稍微提到,但还有一种意义是,当你达到建模的熵底线时,每一次的提高都会给你带来影响,思考准确性时,这不是线性比例,最开始的 1%和最后的 1%并不相同,最后的部分确实能帮助你挤出一点准确性。
是的,抱歉,这是准确性,我将解释这一张幻灯片。是的,随着生成文本变得越来越真实,我认为一个非常自然的问题是人类是否仍然能区分真实与生成的文本,因此在这里我们当然是在一个非常设定的场景下,并不适用于所有情况下模型的表现,但这是针对新闻文章,我们将 GPT3 生成的样本与真实新闻文章进行对比。
你会发现随着参数数量的增加,人类区分真实与生成的奥林匹克文章的能力下降到随机机会。😊,哦,是的,你是怎么生成新闻文章的?哦,我实际上并不完全确定,因为我没有特别参与这项工作。
但我认为一种可能的方法是通过几篇新闻文章进行引导,然后设置一个分隔符,让系统从那里开始生成新闻文章。对,或者还有其他的预处理吗?对!
很好,所以即使有这些令人印象深刻的结果,我认为此时值得退一步问:我们究竟为何关心语言建模?它实际上有什么用?
我认为你可以提出这样的论点:它实际上是一个相对狭窄的能力。为什么你只想要一个持续生成文本的系统呢?
你可以说还有更重要的测试需要解决,比如摘要或翻译,我认为大多数研究人员,包括我自己,都会同意这一观点。实际上,GPT 并不是一个以语言建模为最终目标的项目,而主要是作为解决一个被称为无监督学习的问题的工具。
我将在接下来的几张幻灯片中讲述这个问题。因此,我想回顾一下 Open AI 的语言建模历史,并希望能激励我们为何最终选择了 GPT 系列模型,以及我们是如何到达这一点的,希望在这一部分后会变得更直观。
深度学习的繁荣始于 2012 年,Alexnet 是一个能够将图像与标签匹配并对图像进行分类的系统,我们发现 Alexnet 这些系统能够出奇地很好地进行泛化,甚至可以使用那些并不一定属于训练分布的数据集。
从那时起,这种监督方法真的变得非常强大。我们能够在许多不同的领域训练模型以非常准确地进行分类。😊,而且你甚至可以有一些保证,监督学习会运作良好。因此,存在关键的风险免疫,但监督学习的问题在于标签往往稀缺。
尤其是在语言测试中,并没有太多文本与其摘要配对,或者跨语言的配对也很少。因此,收集大量数据可能并不难,但实际上要可扩展地标记所有这些数据却很困难。
这可能非常耗时且昂贵。因此,无监督学习的主要问题是,我们是否也能从未标记的数据中学习?
这让人更加恐惧,因为突然间我们开始优化一个与我们关注的下游任务无关的目标,所以我们以前所拥有的许多保证现在都不复存在。我们只能希望能够学习到适应各种下游任务的特征。
但是,尽管如此,对于语言来说,仍然有理由非常乐观。原因在于有大量未标记的数据,这被称为互联网,因此真正的问题是我们能否利用来自互联网的所有这些未标记数据?
在我们并没有太多数据的情况下解决语言任务。希望是,如果我们在互联网上对这个模型进行预训练,你将看到这些单词在不同场景中的使用,从而理解它们之间的关系。你将能够利用这种理解来处理我们开发的任何任务。
现在我们已经确定了为什么语言是尝试无监督学习的一个很好的领域。让我们谈谈为什么要使用生成模型,以及为什么要使用自回归生成模型。我想强调的是,许多我们在监督学习中拥有的保证在无监督学习中不再存在,因此一些论点可能会稍显直观。我想提出的第一个论点是理查德·费曼的一句广为流传的名言:“我无法创造的,我不理解。”
还有这个想法的反面,我们称之为合成分析,这是我可以创造的。我也可以理解,这一点已经得到了像乔什·特嫩鲍姆这样的研究者的研究。它背后肯定也有某种生物学动机。嗯。对。这里的想法是,如果你能够创建一个能够生成多样且连贯样本的语言模型。
那么,它还必须建立起可以帮助你解决语言理解的表征。接下来的问题是,我们为什么要使用自回归模型?
你可能会争辩说,自回归模型是一种局部目标,对吧?你只是预测下一个词。你可以用一些 n-gram 近似来表现得很好,对吧?那么为什么它在解决允许你总结整篇内容的事情上会表现得很好呢?
这里的一个直观论点可能是,比如说你想在推理小说的语言建模上表现得很好。故事的结尾有一个大揭示,比如说,罪犯是谁。而且你想预测下一个词,要在这个任务上表现出色,你真的需要对故事中的所有曲折和转折有很好的理解,甚至还要有一些像推理书那样的逻辑思维能力。
所以,我们在 OpenAI 的第一次生命迹象,哦,有问题吗?哦,是的,哦,是的,是的。所以,我们在 OpenAI 的第一次生命迹象是在预测亚马逊评论是正面还是负面这一任务上,工作是在 2017 年完成的。因此,我们不是以典型的监督方式训练分类器,而是训练了一个 LSTM 模型,仅用于预测亚马逊评论中的下一个字符。
当我们在这个 LSPM 的特征上训练线性模型时,我们惊讶地发现,像是这些细胞或神经元在预测情感时是激活的,正激活与正面评论对应,负激活与负面评论对应,尽管在训练时没有看到任何标签。
因此,你甚至可以跟踪样本中这个神经元的值。阅读起来有点困难,但这些是评论,可能有人会说,哦,我真的很喜欢这部电影,但我不喜欢这个部分,你可以看到情感的转变,从积极转为消极。所以,是的,仅仅预测下一个字符就导致了,哦,是的,不,不。
这只是隐藏状态中的一个 P,因此你在其上训练一个线性分类器,其中一个神经元的激活是巨大的预测能力,太棒了,所以下一个 QPT1 是首次展示这种方法可以广泛用于文本的案例,因此 GP1 是在互联网上训练的,而不是在亚马逊评论上,它在多个不同的下游任务上也表现得很好。
对,是的,这里要强调的一点是,正如你所说,微调是非常的。我想说是最小的,你并没有拆解架构并重新定制一个新模块,而只是增加了一个新的头部来为你的任务进行分类。
这表明你可以使用这种方法不仅用于中心分析,还可以用于蕴含、相似性等,并且在很多下游基准上获得良好效果。
所以我已经从一个非常强大的语言模型的角度展示了 QptT2。现在我觉得从主要监督者的角度来看也是值得探讨的。就像 GT1 一样,GT2 是基于互联网的大量数据进行训练的。它只训练预测先前单词的下一个标记或单词。但 GT2 的关键洞察是,许多下游任务可以自然地表达为语言模型的影响。
是的,所以 GT2 探索了我们在下游任务中仅通过这种方法而不进行任何微调的表现。好吧,让我先开始几个例子,假设你想解决一些阅读理解基准,这通常是设置为一个提示,其中包含一些你必须阅读的段落,以及一堆你必须回答的问题。
所以你可以字面上将整个提示上下文粘贴在一起,你写下问题:,然后写出问题,回答:,然后让模型从那里完成,这样就可以实现零样本阅读理解。
我们也可以用它来做其他任务,比如摘要。例如,这里有一篇关于一些考古发现的 CNN 文章的开头,你只需在看到这个段落后加上 TLDR,模型如果足够好,就会产生好的摘要。
我想展示的最后一个例子是,你也可以进行零样本翻译。所以你可以这样做,如果你想将一句法语句子转换为英语,你可以设置一个提示,比如这句句子“从法语翻译成英语意味着”,然后模型会完成,有时它能做到。这里需要注意的一个关键点是,随着参数数量的增加,这里是性能的图表。
嗯。在所有这些模型中,它们都是在同一个数据集上训练的。所以唯一的复合变量是规模。随着我们扩大模型,这种零样本能力会出现,并且会逐渐变得更好,因此规模在这里是重要的。我认为这些模型开始接近一些,我想它们不是很好的基准,但至少是值得尊重的基准。
是的,是的,没错。在很多情况下它并不会很好。老实说,用于翻译的蓝色指标实际上经常相当不靠谱。这不是一个很好的指标。它所做的是取一个参考解决方案,并基本上进行某种 Ngram 比较。因此,在 LP 中有良好的翻译指标是个大问题。
是的,我认为当我谈论代码时,我会更全面地讨论。😊,好吧。让我们最后谈谈 GP3 在这个图景中的适应情况。GP3 的主要洞察是训练过程本身可以在元警报的背景下进行解释,这就像是在一个分布上进行学习。在训练过程中。
模型所做的是发展某种能力。它正在掌握某种技能,以建模特定段落。在推理时,它快速识别任务是什么,基于到目前为止的提示,并适应该任务以预测下一个。所以你可以将其视为训练期间你所做的所有 SGD 步骤的外循环,以及识别任务并建模下一个的内循环。
因此,你可以想象很多任务可以以这种方式进行构建。例如在左侧,你可以进行加法,你有很多上下文示例,希望这能帮助你解决新的加法问题,或者你可以尝试解开一个单词,例如,我将在接下来的幻灯片中探讨这两种基准的结果。
所以这个设置我们称之为 fu shot 算术,只是为了解释发生了什么。你将整个变换器的上下文滑块放入尽可能多的示例。最后,你放入你想要解决的示例,所以这里像这些示例可以是。这些前面的三道题目,然后你有 31 加 41 等于,并请模型完成。
所以你会注意到,随着语言模型的增大,它更能识别这个任务。你可以看到在加法、减法甚至某种乘法测试上的表现,随着参数接近 200 亿而急剧增加,这里似乎有某种阶跃函数变化。观察单词解码也是如此,因此我们在 X 轴上有参数,每种不同的不稳定任务都有准确性,这条蓝线是你进行字母的循环移位,你希望它解回去,还有很多其他变换你可以进行,例如随机插入单词。
是的。所以这里的最后一点是这是一个相当普遍的现象,我们不仅仅在这两个前面提到的任务上测试过,而是尝试了 40 多个任务,这里你可以看到零-shot、one-shot 和 few-shot 性能随着模型规模的增加而提高,因此它们是平滑增加的,但要注意的是,零-shot 和 fu shot 之间的差距也在随着规模的变化而改善。
阿什。所以我们刚刚看到我们可以预训练传输,哦,好。一是。被使用的主题,二是参数的数量,然后三,我的理解也是测试数量,我很好奇在这三者之间,你展示了很多的。
参数的数量确实有帮助,但我很好奇你是否有一种感觉,即训练任务的复杂性以及调整的数量对结果的影响。是的,我想我可以深入探讨,也许这对一个小组来说是值得讨论的,但我们可以在之后深入研究。我猜 GPPD2 和 3 与 GPD1 没有不同,GPD1 只是为某些任务增加了一个额外的分类头。
😊,很好,是的,好的问题。所以我们刚刚看到,我们可以在这种预训练和绑定的设置中使用变换器,在预训练环境中有大量的未标记数据,而在绑定设置中只有少量数据。😊。
我们可以以这种方式解决很多语言任务。我会说,在过去几年中,这已经成为语言领域的主导范式。因此有后续目标,如 BERT 和 T5,它们在推动效果上表现极其优秀。但没有什么真正说明这些变换模型必须应用于语言。
变换器是一种序列模型,因此它可以处理任何字节序列。当你想到这一点时,我们消耗的所有数据,如视频或音频,在计算机上都表示为比特序列,因此我们可以认为。
哦,这种方法能否用于建模我们想要的任何模态?我认为这种范式非常有趣,尤其是当我们没有好的归纳偏差时。但是一个问题是,当你确实有强大的适应性偏差时,它是否有效?我将展示一些工作,表明答案是肯定的。在图像领域,它仍然有效,卷积已经非常流行并得到验证。
我将简要展示第二个结果,即 Doli,显示它足够强大,甚至可以处理两种不同的模态并将其整合进模型。因此,第一个问题是,你将如何将 GPT 应用于图像?
有几件事情需要做,你需要修改这种极具攻击性的下一个单词预测目标。因此,自然的类比是,你可以将图像视为一种非常奇怪的语言,其中单词是像素,而你需要在每个点上预测下一个像素。
因此,我们可以仅更改目标,以进行下一个单词预测或下一个像素预测。当然,我们希望这样的规模。是的。所以你只需将其展开为序列,它与存储在计算机上的方式相同,你只需像处理序列设备一样处理。是的,很好的问题,因此在语言研究中,我们在这个大型未标记的数据集上进行了预训练,然后在问答或其他基准上进行微调。在图像上。
这种情况的一个不错的类比是,你可以在没有标签的情况下对 imagenet 进行预训练。假设你有一个低资源、低数据的设置,比如 SFR,你可以尝试攻击 SFR 分类。当然,在这两种情况下,你可以进行微调。在 GPT 中,你可以做到零样本评估,而我会说标准的图像评估是进行线性探测,所以你从你的模型中提取特征,模型是冻结的,你把 SFR 传递通过模型。
得到一些特征后,你可以看到这些特征对 CF 类别的预测能力。基本上,这是在问模型给定前一个像素时,预测下一个像素。是的,所以 pixelix CNN 是自编码图像模型的一种实现。我们在这里问的是,是否可以使用我们在语言中使用的相同变压器架构,而不做任何修改,因此没有任何 2D 先验。
所以,我会称我们训练的这个模型为图像表格或 IGP。在这里,你可以看到模型生成的一些结果。左列是我输入的图像前半部分的像素,接下来的四列是不同模型生成的结果,而右列是原始参考图像。
你实际上可以看到这个模型在最后两行做了一些有趣的事情。如果你观察,模型并不是每次都给出完全相同的结果,而是将这些鸟放在不同的环境中,有时还会添加反射。例如,它把这个灯塔放在草地区和水域中。
所以,如果你相信通过合成进行分析的这种哲学,我们肯定在合成部分有一些线索。
我没有时间逐一和你分析所有结果,但我想说,在这个没有太多标签数据的 SaFar 设置中,如果你在特征上训练一个线性模型,你会获得比用在 Inet 上训练的 renet 相同方法更好的结果。这就是该领域的典型方法,你在 Inet 上训练某些模型,然后提取特征,哦,是的,如果你与在 Inet 上没有标签的生成模型进行比较。
特征实际上更具预测性,是的,确实如此。所以请注意,你可以修改 QP,使其具有 2D 偏差,比如你可以进行 2D 位置调整,但我们并不这样做,我们只是想看看是否可以使用完全相同的方法。至少,最近的数据是顺序的,但也有元数据表明这个顺序应该如何重建图像,具体方式是怎样的。
例如,你问这个数据存储了吗?是的。但当你想把序列转换成图像时,你有元数据会告诉你一些事情,就像在 nu race 中一样。它会说,这里是打击。是的,所以这是如何将其重新排列成二维的。我很好奇的是在给定图像之前的 D。
至少给定这个元数据,我明白了。哦,这是个非常好的问题,我不知道这个问题是否解决了。在这种情况下,所有图像都有相同的形状。不。是的,但我们不会告诉它在模型中行的概念,是的,所有图像都是相同的,所以它需要从数据中学习。但数据看起来相同,如果是可变的图像形状,我可以调整处理方式,是的。
哦,对了。很多像素都是令牌大小,是的,所以这是相当低分辨率的图像。是的,所以我们实际上,比较的模型是在高分辨率图像上训练的。我认为这使得结果更加令人印象深刻。哦,是的。我们只是以 2 乘以 2 的分辨率进行训练。是的。酷。
所以如果我们为这些模型进行微调以进行分类,我们可以获得 99%的准确率。这与 G5 相匹配,而 G5,例如,是一个在 imagenet 上预训练并带有标签的系统,然后也进行了标签微调。所以,是的,这展示了即使这种方法不太了解卷积也能做得很好。我想你下周会听到更多关于这个的内容,Lucus 会谈。
是的。所以到现在为止,你应该不感到惊讶的是,使用变换器可以建模许多不同的模态。因此,在 Dolly 中,我们只是问将两种不同的模态输入模型,看看我们是否可以学习如何根据文本生成图像,例如。
你可能想让它做的一件事是,你有一个这样的文本标题,并希望它生成一些图像,像下面的那样,简单的方法是训练一个围绕图像中标题的变换器。当然,在很多情况下,这个想法非常简单。
但实现和执行才是困难所在,我不打算详细讨论这个。我认为今天的重点是语言,但我们可以参考论文获取许多细节。😊。标题。嗯,哦对了。所以你,有一个最大长度限制。你就把它切断到那个长度,并且可以填充到那个长度。
对,所以你可以看到它可以生成相当不错的样本,如果你想要一个上面写着“开门”的店面,它并不是完美的,但至少它理解了这是一种反向的 OCR 问题,你把一些文本渲染出来,通常是在办公室看起来的地方渲染出来,这是一个鼓舞人心的迹象,但我认为我在这里最喜欢的结果是零样本的图像变换。那么这里发生了什么呢?
比如说,如果你的提示是上面那只猫和下面的草图是完全一样的,你输入这幅图像的上半部分,即猫的部分,并要求它完成剩下的图像,那么它会把上面的猫渲染成像是😊,一幅草图。你也可以对照片进行翻转之类的事情。
你可以放大一张照片。当然,它们并不是完美的,但它对文本训练中原始说明的理解有一些了解,比如在训练集中是否有像“屏幕特写”这样的词,我认为这可能是一些这样的例子。而这大概是它获取一些知识的地方,尽管我们并不专门寻找这些例子,确实是这样的。
是的,正是如此,好的,完美。是的,这就是我们如何进行一个大型网页脚本的方式。我们并不是在寻找这样的例子。对,所以你也可以做一些像上色的事情,比如说把猫的颜色变成红色,这需要识别图像中的物体是什么,对吧?所以你可以做一些像语义变换的事情,比如给猫加上太阳镜,甚至可以把它放在邮票上,所以真的很了不起,你可以做很多这种变换的零样本,它并不是专门训练来做这些事情的。
很酷,所以接下来我今天演讲的最后一部分是关于 CodeX 的,这是我们最近发布的代码编写模型。你应该正确地问的第一个问题是:为什么要训练一个模型呢?在这个时候,这难道不只是另一种模态吗?😡
那么现在有什么新奇之处呢?让我给你几个理由。首先是 GP3 已经具备了从一个描述性方法名称或字符串写 Python 代码的基本能力,我们实际上并没有在很多代码数据上训练它,实际上我认为可能进行了主动过滤,以去除代码数据,所以我们对此能力感到惊讶。所以你知道,如果我们真的专门为模型进行训练,并在我们能找到的大量代码上训练,也许会发生一些有趣的事情。
接下来,代码与其他模式的区别在于,样本的正确性有一种标准真相,并且函数可以通过单元测试和解释器进行测试,这与语言是非常不同的,因为要获得标准真相值,你可能需要人类的参与,即使这样,有时人类也不会达成一致,比如这个样本更好或不更好。
我以前也参与过竞争编程,确实很想创建一个能解决我无法解决的问题的模型。😊所以,如果哦对了,这也是我们要做到的,没错。我们也写过一篇论文,嗯,个人感觉这种编程语言在某种程度上类似于我们的人类语言。
如果你试图预测一些更低级的语言,比如 CP,嗯,我觉得是有的。有后续工作,我们就用各种不同的语言进行训练,我不太记得具体的指标,但我见过一些汇编语言的模型。
好的,接着之前的第三点,我们有这样的环境,有单元测试和解释器,那么我们实际上如何以一种关注这两个概念的方式评估这些模型呢?我们首先做的是准备一个新的数据集,共 164 个手写编程问题。
这些有类似于此的格式,比如函数名、文档字符串,还有解决方案,以及每个问题大约八个单元测试。重要的是我们要很好地手动书写这些,因为我们在训练 GitHub 上如此大量的数据。如果你说我要把一些 V 代码问题转化为评估,那是不行的,因为有太多 GitHub 仓库是这样:“哦,这是这个 V 代码问题的解决方案”,所以虽然这并不能完全保证这个问题不是重复的,至少有人在没有试图从其他来源复制的情况下写了它。
嗯,这里有一些单元测试的例子,你可以用来评估之前的函数。我觉得很明显,我们应该使用这个指标,这是真正的标准真相指标,我的意思是,人类确实会使用单元测试来评估代码,而且我会说,如果你熟悉竞争编程,你无法手动评判成千上万的提交。
你需要单元测试,这是一个相当不错的过滤器。所以这里有一个有趣的点是,我们必须创建一个沙箱环境来运行这些生成的解决方案,因为当你开启 GitHub 时,有一堆恶意代码,很多不安全的代码。你知道你的模型为什么应该去采样那些,并在你的环境中运行。
是的,酷,现在我们有了评估数据集,让我们定义一个指标。我们将使用的指标称为 K 的通过率。其定义是所有问题的平均概率,其中至少有一个样本通过单元测试。因此,如果我们通过生成 K 个样本来评估这个指标。
实际上并不是这样,这里有很高的方差,只是在以这种方式采样;想象一下,特定样本的过去率在 1/k 附近,这有点像全有或全无的指标。因此,我们采取的方式是生成一个更大的样本集,大多数情况下大于 K,像是大于 5K,我们统计正确的样本数量,并计算这个无偏估计,这看起来比实际复杂,其实只是互补计数,你要考虑所有失败组合的数量。
酷,然后我们训练我们的模型,正如我之前提到的,有大约 160GB 的代码,来自 5400 万个代码库。为了有效的训练,我们从各种大小的 GPT-3 模型进行微调,这其实并不是绝对必要的。
我们发现,没有 C 的情况下,我们可以得到大致相同的最终损失和性能,但没有免费的训练步骤,速度较慢。因此,我们已经有了这些模型,何不直接微调它们呢?为了加快训练速度,我们在代码中发现有很多连续的空格,而这些在语言中并没有被有效压缩,因为你很少见到它们,所以通常会被拆分成多个单独的标记。因此,我们额外引入了一些标记,来压缩连续的空格,这样训练可能会更快。
很好,一旦我们有了这些模型,我们可以重新查看人类 E 数据集,我可以分享几个问题,让你了解模型的表现以及数据集中问题的难度水平。这是一个 120 亿参数的模型,通行率为 90%。
这意味着 90% 的样本将通过单元测试,这对于任何第一次学习 Python 的人来说都是很简单的事情,比如你要将列表中的所有元素加一。这是一个通过率为 17% 的问题,这是我之前给出的一个解决方案,你会得到一个包含整数的列表,你想返回在偶数位置的奇数元素。这可能听起来不太难,但模型通常会对奇数是指位置还是元素产生困惑,因此在这里你可以看到它做对了。
最后,这是数据集中一些较难问题的示例。因此,合格率在这里低于 1%。这里发生的事情实际上是有一个编码函数,它会将一个流分成三字符的组,并对每个字符进行循环移位,你需要编写一个解码器。
一些反转这个操作的内容,所以你可以看到模型,这是真实的模型解决方案,它以相同的方式分块字符。你可以看到循环移位是相反的,所以在上面,它将每组的第一个元素移动到最后,并且现在它将每组的最后一个元素移到。
好吧,我在想,像你在之前的幻灯片中有几个例子,那是在评论中。所以我想知道这个模型是否能够通过这些例子推断出它正在做的事情,而不依赖于对的。是的,所以我们的任务中有一些例子在文档中,有一些则没有。我认为这只是为了匹配我们在现实世界中发现的旧任务的分布,比如在这种情况下没有,但绝对对于单元测试来说,所有这些都没有出现。我只是想,如果你只给它例子,而不是任务的描述,哦,我明白了,我明白了。所以它可以做到像纯归纳那样的事情吗,您不告诉任务的内容?是的,老实说我还没有尝试过,我觉得值得一试。谢谢。
是的,所以在这一点上,我们已经训练了 codex 模型,并在这个指标上进行了评估。但问题是,所有这些麻烦是否值得呢?你已经有这些基于语言的指标,比如蓝色分数,我们难道不能仅仅使用这些进行 Rosmate 吗?我们不需要像生成那么多样本的解释器,如果它能像这样分开那就太好了。但我们发现的是,如果你从人类 Eva 中随机取四首诗,并绘制正确和错误解决方案的蓝色分数分布,你实际上会发现很多分布重叠,没那么容易区分。
😊,来自蓝色分布的绿色,所以这表明蓝色实际上不是衡量功能正确性的一个很好的指标,我们确实需要这种新类型的指标和这个新的数据集。
现在让我们探索 K 大于 1 的设置。我们在这里的第一个观察是,您采样时的温度会影响您的通过率,仅供直观参考。如果您进行温度为零的采样,您将每次都获得相同的样本,您在进行伪造采样时。因此,无论生成多少样本,您只会获得相同的通过率,但如果您想生成 100 个样本,您可以承受一些错误,您只想要一个非常多样化的样本集。
所以你可以提高温度,你可以看到随着你提高温度,样本数量与通过权重之间的斜率变得陡峭。因此你可以大致取上面的这一部分,找到每个样本数量的最佳温度。这让我个人得出这篇论文中我最喜欢的结果。
我称之为采样的不合理有效性。所以让我解释一下这里发生了什么,因为这是模型中的参数数量,而这里你有在一个的通过率和在 100 的通过率。我之所以使用这个“不合理有效性”这个术语,是因为我认为在一个世界里,如果橙色线和混合之间没有那么大的差距,我可能不会感到那么惊讶;在这些尺度上,模型很少再犯一些语法错误了,比如如果你运行它,它会产生某种输出,因此你可以想象一个世界,基本上模型心中有某种方法,只是反复采样这种方法,而它要么是正确的,要么是错误的。
但我们发现模型实际上是在组合不同的部分,产生功能上不同的东西。通过从模型中采样大量样本,你会看到从不到 30%的提升到超过 70%。所以不幸的是,知道你的一个样本是正确的,如果你没有其他东西,那并不是很有用。
访问单元测试,而一个你关心的实际设置就是,你正在创建一个自动补全工具,对吧,你生成了 100 个样本,但你不想向用户展示 100 个样本并帮助他们选择一个正确的,你想尝试预筛选,但你没有单元测试,所以我们能否用一些其他的排名启发式方法来近似这种 oracle 采样。
所以在这里我展示了几种不同的启发式方法,比如随机选择一个。但似乎最有前景的是根据概率进行排名,我知道这可能不太理论化,但在语言方面,这种启发式方法也是相当强的。
所以回想一下我们所做的事情,我们有这个评估集,其中有一些独立的函数。我们想为它们生成解决方案。但在我们进行训练时,有很多代码与这个任务无关。例如,有很多类我们看到实际上也是数据类,这些类完全不相关,实际上 GitHub 上还有很多错误的代码,所以我们可能在建模错误的解决方案以及正确的解决方案。因此,😊,我们想到的一件事是进一步微调 Codex,在几个数据集上进行这些数据集是独立的函数,并且你有更保证的正确解决方案。
所以我们找到这些问题来自几个来源。其中一个是竞争编程问题。你可以去这些网站,通常他们会给你单元测试。有时他们不提供单元测试,你可以提交错误的解决方案,他们会告诉你第一个失败的地方,并继续反馈。
是的,所以你可以获取很多竞争编程问题,另一个来源是启用持续集成的项目。这些为什么有用?因为你可以进行执行跟踪,当你运行集成测试时,可以获取所有调用函数的输入和输出,你实际上拥有真实的函数体,知道测试输出应该是什么,所以你了解真正的输入和输出。
😊这些就像是两个正交数据集。一个有助于算法任务,另一个更像是尝试操作命令行工具和任务。
这引出了 codetex 论文的主要内容。所以我们看到的是能力的进展,在这个人类评估数据集中,G3 的密码率基本上为零,基本上你只能连贯地生成一两行,根本无法生成完整的程序。
现在,当你在代码上进行微调时,就是 Codex,这条橙线。你开始在这个数据集上看到一些有知识的表现。当你进行额外的监督训练时,就是这条绿色线。你会得到更好的密码率,如果你从这个模型生成 100 个样本并使用平均对数 P 进行重新排名。
甚至更好的密码率,最后,如果你有访问 Oracle 的权限,它会给你最佳的通过率。有一个问题是,你是否可以使用深度链接,比如进一步连接模型,是否可以用作背景信号?是的。
是的,所以我们对此有所了解,我不知道我是否可以多说这些结果,但确实如此。
最后,我不想暗示这些模型是完美的。它们有很多人类程序员不会遇到的限制,比如实际上所有生成模型都是自回归生成模型,有一些绑定问题。当变量很多、操作很多时,有时很难弄清哪个操作绑定到哪个变量,你可以在左侧看到一些例子。另一个反直觉的行为是组合,因此我们可以使用一些非常简单的构建块,比如反转一个字符串或删除每第三个字符,像人类一样,如果你可以链接这两种操作,你可能可以链接 n 个,但我们的模型还做不到这一点。
很酷,那么接下来我们进入结论,今天的讲座有四个主要观点。首先,神经语言建模的进展非常迅速。在 GT,这不是语言建模的推动结果,而是推动无监督学习在语言中的工作的结果。第三点是自回归建模是普遍的,即使在存在强烈的偏见(如图像或文本图像)时,它也能产生强大的结果。
最后,我们可以生成强大的共同生成模型,比如微调 GPT 以适应年轻的代码。采样是一种异常有效的提高模型性能的方法。很酷,现在以一些感谢来结束,我想感谢我的 CodeX 主要合作者,以及在 OpenAI 的一些导师和我密切合作的算法团队,感谢你们的关注。
P3:3.Transformers in VisionTackling problems in Computer Vision - life_code - BV1X84y1Q7wV
今天我将和大家讨论视觉变换器,因为这完全是关于变换器的,特别是它们在视觉表示学习中的应用。但在我们深入探讨变换器之前,我会花大约 10 到 15 分钟为大家提供很多背景信息,特别是关于视觉方面的思考,因为我认为你们看到的和将要看到的大部分内容将是关于语言的。
对,所以让我们开始吧,我和我的跨领域合作伙伴的目标是找到一般视觉表示,您很快就会看到这意味着什么。如果我们想象有一个一般视觉表示,我们可以做什么。希望通过这个我们能启动各种需要视觉输入的任务,这意味着当你睁开眼睛时基本上大多数你做的任务。因为如果你对所见有很好的理解。
然后你可以更快地理解发生了什么以及你应该做什么。嗯。最终我现在有一个小孩,自去年以来,我真的希望当他长大时,有某种机器人。它不需要像电影中那样漂亮,只需要可能是一只手臂或其他的,我的孩子可以教或者我的父母不能编程的可以教它做一些他们真的不想做的无聊任务,我相信其中一个组成部分是良好的视觉表示,它能够在视觉上普遍理解世界,这并不是所需的全部,但它是一个部分,也是我想推动的部分。
所以这是关于一般视觉表示的背景和动机,一个好的例子就是人类。我将向你们展示我所说的意思。这里是我给你们的一个任务。有三类,类 A、类 B 和类 C,我给你们每类五张图片,好的。😊。
这里我给你们一张新图。我相信到现在你们都知道这是什么类。我不会问,因为我实际上看不到你们,如果我在房间里我会让大家举手,但我相信你们现在知道这是类 A,好的,这没问题,我们在生活中见过数百万种花,但还有其他类型的图片,比如你们在生活中不常见的卫星图像,有些人可能从未见过,偶尔在飞行时或许在电视上或互联网上见过,但这很少见。
但依然是同样的故事,三类:类 A、B、C,每类五张图片,我给你们一张新图片。这可能比花稍微不那么简单,但我觉得我已经花了足够的时间来讲,所以现在你们大多数人应该知道这是类 B,这里是篮球场,对吧?
嗯。好了,现在更抽象了,你在现实生活中看不到这些,对吧。但我仍然给你展示 A 类和 B 类的图像,只展示两个,使其更容易一点,因为你需要在这里多动脑筋。我现在展示给你这个图像,我应该进行一些聪明的对话,让你思考。你会看到有一些框等等。我希望现在大多数人都知道这是 A 类,因为 A 类有三个对象,而 B 类始终是五个对象,无论它们是什么,长什么样。
好吧,我想到现在你或多或少明白我所说的良好的视觉表示是什么意思。通用的视觉表示,对,你的脑海和眼睛中有某种东西,使你能够迅速看到新事物,并通过少量示例理解正在发生的事情。
然后从中进行泛化。对,这就是目标。接下来的步骤,如果我们有目标,如何衡量朝着目标的进展?这是我们几年前与我的合作者完成的一篇论文,我们称之为视觉任务适应基准。这是一种对我们刚刚进行的小游戏的形式化。
所以这是一个基准,参与基准的你或任何人都需要做一些事情,那就是用一些数据创建一个模型,我们并不太关心是什么数据、什么模型和其他细节。只要在家里与母亲在一起。然后我们会有一个所有可能的视觉任务的全景,这些任务在逻辑上是有意义的。😊,这虽然是个模糊的说法,我们从中抽取了一些任务,这就是你刚才看到的那些任务,实际上是从这个任务适应基准中提取的。我们初步制作了 19 个这样的任务,试图涵盖各种类型的视觉任务,不仅仅是像这些狗和猫这样的自然图像类别,还有非常专业的图像,如卫星图像,以及涉及计数的非分类任务,比如我之前给你展示的那种,但可以用这个简单的分类 API 表达,虽然逻辑上需要更多思考。
😊,某些事物如距离,我们有与汽车相关的内容以及最接近的汽车的距离等。这应该涵盖广泛的变化范围。然后,借助你所提出的模型和这个基准,你可以对每个数据集逐一进行一些适应步骤。
同时,这实际上并不重要。但结果应该是,你拥有一个模型,基于这个数据集,它非常聪明,它仅仅见过每个类别的几个示例,然后能够在这些任务中表现出色。然后我们只是计算所有这些任务的平均得分,这就是我们所称的 VTAP 任务,这也是我们目前判断你的模型和适应算法的通用视觉表示能力的方法。
现在只是关于一些神经网络的准备,我们经常使用“预训练”这个词。有时我们称之为上游,比如上游数据、上游训练,等等。所以我可能会将这个词与预训练互换使用,然后还有第二部分,我们通常称之为迁移,有时我们称之为下游。对于我们的适应来说,原则上是你想要的任何东西。
但对于我们的工作,我们几乎总是使用非常简单的微调,而没有任何复杂的花哨,因为它简单且通常效果良好,我们尽量做到尽可能简单,同时仍能良好地工作,因此有时我甚至会说像“微调”,当微调时,这意味着从预训练迁移到迁移。
😊,好的,到目前为止的设置还不错。那么问题是我们如何达到这个目标,我们花了很多时间思考这个问题并尝试不同的方法,这也大致是我可以讨论的内容大纲,但这并不意味着我们会涵盖所有内容。
😊,所以我不会完全按照大纲来讲。但你会一次又一次地看到这个,当你看到视觉变换器时。你的变换器稍后才会出现,还有一些内容在那之前。😊。所以这个只是非常快速地提一下,因为这对于本课程来说并不重要。
我们花了一些时间尝试自监督预训练,这在语言处理上非常流行,而在视觉领域最近几年也变得流行。它并不是以这种方式运作,你不需要理解这些条形图,但基本上越高越好,看看蓝色的部分,那是 VA 得分。
在这几短时间内,自监督学习的表现就像这个条形图,我们尝试了多种方法和多种模型等等,这是一个相当好的基准,但这是几年前的事情。然后我们转向半监督训练。也就是说,一些带标签的示例和大量的未标记示例,这就是下一个蓝条。你能看到鼠标光标吗,抱歉?我们看不到鼠标光标。也许我需要做一些调整。
可以的。是的,然后这个半监督的蓝条比另一个蓝条高得多。这对我们来说意味着通过添加一些带标签的示例,我们能够获得更好或更通用的视觉表示。😊,然后我不会再花更多时间在这个问题上,以及具体是如何进行的。但我将转向下一个,这对我们来说是一个突破,当我们发现如果我们只保持完全监督的预训练。
然后我们得到的表示比之前见过的所有内容都要好得多,我想在这里稍微花一点时间讨论这个,因为它是使用视觉或将我们转变为视觉的前奏。😊,所以很简单,网上有大量的图像,这总是你听到的自监督或无监督学习的动机,对吧。
但实际上这些图像来自哪里,几乎总是有一些额外的信息,比如在网络上围绕图像的信息,或者如果你以其他方式收集,那里的某些额外信息可以作为一些弱信息源或弱标签,对吧?
😊,然后在谷歌有一个团队实际上为生产做这件事。他们已经收集了一个大型数据集,并且有一些管道可以从周围信号中有些自动但非常嘈杂地标注图像。我们想弄清楚,当我们扩展讲道时可以走多远?
然后长话短说,你需要几个成分。一个是耐心。我非常喜欢这个图。这是一个关于在大数据和大模型上预训练的曲线。好的,细节其实并不重要。只是在我缩放到这个小框时,我看到这里,这是训练的指标,像是我在花费八个 GPU 周的计算后看到的上游性能。GPU 周是什么意思?它是指八个 GPU 工作一周,或者,抱歉。
一台 GPU 工作八周,或者八台 GPU 工作一周,或者十六台 GPU 工作半周等等,对吧?但是这看起来合理的人会说,嗯,八台 GPU 一周没有进展,这就是平的,我要停止并尝试别的,但我们并不合理。所以如果继续进行,这是经过八台 GPU 一个月训练后看起来的完全相同的地方,你可以清楚地看到事情在进展。因此,这可能并不总是显而易见,你需要耐心。
第二件事是你实际上需要扩展所有内容,这项工作是用残差网络完成的,而不是用变压器,正如你在这里看到的很多残差网络模型,X 轴是可用图像的数量,在视觉上有这个 Imagenet 数据集,这是一个非常常见的数据集,包含 320 个。
300 万张图像,还有一个包含十倍更多图像的仍然公开的数据集,然后有一个来自这个内部组的子集,包含 3 亿个标注的图像。所以 Y 轴是某些任务的准确性度量,我们尝试了很多,它们看起来都很相似。
点的大小不同,蓝点是标准的 ResNet 50,大家都在用。如果你用更多的数据进行训练,开始看起来很有希望。但如果你用更多的数据看起来,这似乎并不太有用,这也是大多数人很长时间以来一直在做的,很多人甚至在谷歌的人都说,嗯,我在这种数据上尝试过这个内部检查点,它实际上没有太多。
然而,我们发现的并且事后看来有点明显的是,你实际上需要不仅扩展数据,还需要扩展模型。这蓝点是一个巨型的 ResNet,慢得要命。但当你与数据一起扩展时,你会持续受益于添加更多数据。如果你做到这两件事,扩展所有内容并耐心,耐心也可以是。
确实是大幅提升你的患者。嗯。这样你会得到很多好处。所以这里有几次迁移学习的示例。我之前展示的,X 轴是模型的大小,Y 轴是这些任务之一的准确性,但其他的任务也是类似的,这三条不同的曲线是用不同数据集大小预训练的,绿色的曲线是标准的,从较大的模型上你并没有看到明显的好处或只是小幅的好处,蓝色的曲线是十倍大。
你开始看到一些向上的斜率,但实际上只有在这个巨大的数据上。当你在更多数据和更大的模型上进行预训练时,几次迁移学习的表现会越来越好。😊,第二个好处我们完全没有预料到,但后来发现的是,这些模型在一切规模提升时非常稳健,这个对象网络。
这是一个专门设计用来测量稳健性的数据集,它展示了一些奇怪的情况,比如椅子在浴缸里,你应该识别出这是椅子。这里的粉色点基本上表示现有模型,而“确切的”则是模型的大小,粉色点是文献中的现有模型,然后这些线同样的颜色编码是我们发现的结果。
再一次,你会看到大量数据,然后使用大模型会在这个案例中提供惊人的好处,特别是在分布稳健性方面。😊,好的,所以这一切都是在惊人的规模上提升,一定要耐心,获得巨大的好处,对不起,卢卡斯,打断你了。
不过,班上有个学生的问题,对吧。😊。你想自己解开静音提问吗?
是的,我可以问我的问题,大家能听到我吗?也许还有其他人可以,我们能快速离开一下吗?所以我想知道的是,在预训练结束后,已经做了什么工作来表征参数,激励这个问题的原因是。
看起来我们做了大量的预训练。但似乎如果我们有更聪明的初始化方案,就可以显著减少这一点。是的,你知道,我其实想了很久这个问题。最后我得出结论,我认为不是。😊,我认为有两个部分,一个是我喜欢称之为权重数字的“手段”。
你知道一切都在一个合适的范围内,以便可以有良好的输入输出函数,并且你的优化器可以执行步骤,使输入输出函数的变化是合理的,但又不会太大等等,我认为这是其中的一部分,你可以通过良好的初始化或归一化来实现,但我也认为这些模型确实记住了很多东西,然后。
😊,个人认为,但我没有证据。或者说这些模型的确是做更多的事情。你知道吗?记住它们在训练中见过的东西的相似性,随着你不断发展,它们的记忆也会增加,它们见过的东西也会更多,因此它们在处理更新的内容时应该表现得更好,因为它们见过更多相似的东西,而我认为你不能仅仅从初始化中创造出一个。
但我现在脑海中没有立即能想到的要点或论文来回答你的问题。谢谢。我想我们还有更多问题,或者在聊天中发布了问题,有人举手,也许在这个音频中你想提问吗?
是的,当然可以,我只是想对这个图表进行快速澄清。图表编号三,bit L 和 bit N 以及 bit S 是同样的模型架构,但只是训练于不同的数据集,所以 bit S 是在 130 万到 3 亿的图像数据集上训练的,针对 bit L。
是的,不,架构在 x 轴上,所以在一个垂直切片内,这些是相同的架构,然后不同的点是随机重启,因为当你进行未来学习时,看到的几个示例之间会有很大的变化。然后,接下来的垂直切片是相同的模型,依此类推,随着你向右移动,模型会变得更大,因此你可以看到对于这小数据集来说,变大模型并没有太大帮助,只有在这个巨大的数据集上,这意味着巨大的数据不一定是在这种情况下的巨型模型。
😊,没错,这很有道理,谢谢,好的。你有问题吗?我看到你也举手了?
喂,个人你好。嘿,好的,谢谢。上游性能的直觉是什么,图 1 突然激增是为什么?
我想在训练中有 3 个点,对吧?是的,确实是。再次说,像第一轮。我不知道,这似乎就像一个看起来不错的训练曲线,嗯,那背后的直觉是什么?这是老派计算机视觉的东西,几年前是这样的,当学习率发生变化时,在计算机视觉中,通常很常见的学习率是阶梯模式,所以一段时间是恒定的,然后你停止,把学习率通常除以 10,然后继续,这会给你带来巨大的跳跃。如今人们不再使用这种方法了,我想这项工作是三年前的事,或者两三年前,我不记得了,那时这非常常见,而如今人们使用更连续变化的学习率计划,因此你不再会有突然的变化,但是如果你叠加它,结果会更连续,但大致相同,而在语言上,我认为大多数人或许许多人在使用。
😊,他们只是在逐渐减少的学习率调度,你也看不到这种效果,因为学习率持续下降。是的,听起来不错,谢谢。那么这是因为你问了这个虚线。实际上这里,如果你在这里,好吧,你可以说,好吧,但这太过了,对吧。也许它确实看起来几乎是平坦的,也许你可以更早地开始学习率,然后你会得到相同的效果,但更快,而这显示了那样会发生什么,最后你会落在一个比耐心训练时更糟糕的地方。
😊,好的,是的,没错,谢谢。还有其他问题吗,还是我继续?你有什么答案,因为我需要提到,我看不出我似乎像。是的,没关系,我们可以协调一下,卢卡斯。嗨,是的,我只是想确保我和你在同一页上。因此,基本上你要做的是与卷积神经网络/LSTF 的多任务学习,对吧?这有点像 ResNet。
但是你在做多任务学习,对吗?你知道,多任务来自哪里,或者它是什么?因为最初你展示了不同的。我明白了,所以有两个阶段,第一个是预训练,而这个预训练我没有提到。我只是说我不在乎你在预训练中做什么,只要以某种方式进行预训练,然后给我模型,然后我在多个任务上独立测试它,测试多个任务意味着将其转移到那个任务上,在我们的情况下,这意味着仅在该任务上进行微调,看看效果如何等等,但这可能意味着其他事情,比如后来我们转向在每个任务的嵌入上学习线性回归,而现在进行预训练时,你所做的就是常规的监督学习,只是将一切规模化,常规的监督学习就是这样。
😊,好吧,不是多任务,而是多标签的意思,一个图像可以有几个标签或者没有。但它通常不会有这种少数标签,明白了,谢谢。是的,关于这个问题我只是想快速跟进,而不是关于讨论,而是开始时谈论它更像是优化或者更多地是记忆预训练数据集中的数据。所以我知道在语言方面,有一个很有趣的现象,你可以在一个没有任何语义意义的合成语言上进行预训练。
但它只有结构性的配对前提或类似的东西。实际上,这几乎给你在下游迁移中与正常预训练相同的提升。因此,我想知道,比如说,这意味着对于语言,结构似乎贡献很大,可以通过利用来替代。但是我不知道在图像方面是否是不同的情况。
也许有人做过一些合成预训练数据集,用于图像,有一篇论文我忘了名字和作者。但它创建了完全合成的图像,甚至不是一些现实事物的渲染,而只是完全的图案。
波形和形状等,并用它们进行预训练,然后显示它们几乎获得了与图像相同的性能,实际上他们用视觉变换器做到这一点。但。是的,他们从未进一步发展,或者不在这里。你知道。他们几乎可以到达这个点。然后不清楚你能走多远。我认为可能没多远。
但我只是猜测它们不太可靠,我没有证据。因此我有一个问题,然后我们可以继续谈论,我们认为大型视觉模型在某种程度上就像是在学习它们所训练的数据集的相似性,你觉得它们在某种意义上像原型网络吗?
它们是这样的网络,所以像原型网络本质上就是当你进行少量学习时。你只需说我将学习一个网络,我可以学习度量空间。😊,可能不完全如此,但接近。嗯。我是说,我真的不能说,因为这只是我的一些直觉猜测。这就是它们的工作方式,但没有人真正知道它们读取的模型。😊,嘢啊。我是说。
当我们使用这些预训练模型进行原型网络的未来学习时,我们的表现确实比进行微调时要差得多,所以还有更多的东西在这里。然而,我不知道。这更多是什么?好的,谢谢。好吧,继续。好的,是的,所以。对。我没提到,但像 INe 这样,这是计算机视觉领域的顶级基准,与这项大规模转移工作相关。
最终我们能够提高分数,在经历了几年的没有改善的漫长时期之后,但许多附件让你看到成绩,太棒了。很棒的预训练,扩大一切并利用数据,然后好吧,我们不关心这个。
😊,是的,没问题,这只是一个小插曲,如果我们处于我提到的在大量数据上进行预训练然后在许多其他任务上测试的设置中。当然,你应该小心不要在你的预训练数据中有来自其他任务的图像,否则你就会看到并训练,这样你实际上并没有真正的泛化,你只是通过良好的分数自我拉高,这在我们处理大量数据时是一个真正的危险,因为这些图像可以完全包含在大量数据中。所以我们实际上使用内部管道。
它在寻找重复项以及新重复项方面表现非常出色,比如当它们被移动、旋转、压缩、颜色稍微变化时,它仍然能够找到,我们利用这一点完全移除了后续测试数据集中所有的图像,实际上我们发现许多经典的视觉数据集在训练集和验证集之间有明显的重复项。
😊,例如 ImageNet 和 CIFAR10 等测试集。因此,近重复是视觉中一个相当普遍的问题,这张幻灯片只是想说,有问题,但在我们所展示的所有内容中,我们实际上尽可能地确保在重复训练中没有近重复项。
嗯。现在回到我们发现大数据和更大模型的问题,然后事情变得真的很好,这就是我们如何在计算机视觉中走向变换器的。多年来,一切都是卷积网络,基本上没有其他方案。然而在语言处理中,我们最近看到了变换器的出现,曾经到处都是 LSTM。LSTM 曾经是王者,然后变换器来了,当可用数据量很大时,变换器的表现突然好于 LSTM,但在数据较少的情况下,情况并不是这样。
😊,所以我们当时想,既然我们现在拥有大量数据,我们能否从中获得好处?如果我们尝试变换架构和视觉,能否获得更多好处?这基本上就是我们所做的,第三方也有一些其他尝试在此之前并未使用变换器,我不想在这里详细说明,因为我不想过于指责,但他们实际上并没有真正利用变换器从数据中学习,总是先从某种结果中提取信息,比如目标检测提案或高度特征图之类的,然后在上面加一点变换器。
但是我们想要完全使用变换器。因此我们想出了最简单、最自然的应用变换器于视觉的方法,就是你获取图像,将其切割成两部分,就像拼图一样,分割成补丁。
就这样。每个补丁,你将其提取并投影到你的嵌入空间中。这个空间是变换器的输入,嵌入空间只是一个抽象空间,假设有 768 维度。例如,你如何进行嵌入?你只需取像素值并在其上加一个线性投影层,获取所有像素。😊,将向量展平,矩阵乘法转换成你想要的任意大小,并对其他补丁使用相同的矩阵。
然后我们就以最简单的方式进行了处理,使用不重叠的补丁和你能想到的一切,后来人们开始说:“嘿,这几乎就是卷积,让我们做一个真正的卷积,堆叠它们之类的。”但这是我们自然的方式,这只是最简单的做法。😊接着,我们有了这些嵌入补丁,我们将它们视作语言中的令牌,然后将它们传递给来自语言领域的鸟类变换器,正如在语言中,我们添加了这个类令牌,或者我认为语言中有一个句子结束令牌之类的,并且我们将位置嵌入添加到可以学习的令牌中。
然后我们将所有这些数据输入到一个变换器编码器中,编码器有一个 MLP 头部,它读取这个类令牌,然后将其映射到 softmax 层进行分类。例如。这就是视觉变换器。所以字面上讲,你拿到的是鸟类变换器,但不是单词或句子令牌,而是将图片转换为令牌,仅此而已。
😊,然后就像之前一样,扩展所有的计算、数据集、模型规模、耐心。一切都看看会发生什么,这是好还是不好。这就是问题,现在我们可以看到这里的图表,这是与之前类似的图表,灰色区域实际上是之前所有小点的位置,现在气泡是不同大小的视觉变换器,气泡的大小有点难以准确说出,你首先可以看到的是,在数据量较少的情况下,imagenet 是第一。
300 万张图像的情况下,它的表现不如 resnet。😊所以如果我们不相信这个想法,只是尝试一下:“好吧,这是个糟糕的主意。”而 1300 万张图像似乎并没有那么遥远。然后 10 倍更大的数据集开始与 resnet 在同一范围内,当我们进入更大的数据集,使用更大的变换器时,我们实际上开始超越 resnet,并且我们只是略微超越了它。但这个 resnet 确实很难获得,而且非常笨拙、缓慢且庞大,所以我们对此感到非常兴奋。
现在我们进行了更多的控制研究,内容包括使用这个相同数据集的子集,并且有很多曲线。但基本上,只需关注深灰色和浅蓝色这两个曲线,它们大致上在速度和使用方便程度上是相似的,稍微有点笨拙或容易使用,这是一个 resnet 变体与视觉变换器的比较。你可以看到,当我们数据量较少时,视觉变换器真的很差,相比之下,resnet 表现得更好,但随着数据量的增加,实际上视觉变换器开始超越 resnet,这非常有前景,因为我认为现在看起来巨大且数量庞大的东西在五年或十年后会发生改变。
这可能是十年前的常态,这个数据量看起来庞大而且不再正常。😊所以我们应该展望未来,这看起来对未来很有前景。然后回到同一基准,这是另一个小跳跃。是的,我们有一些问题。嗯。😊还有这个关于我的部分。😊所以,这样的顺序。
如果你想解除静音并提问,可以的,好的。我认为 Deval 已经回答了部分问题。但我想知道,在这些转换的输入中,当你将图像切割成小拼图块并将它们组合时,输入这些补丁的顺序是否重要,如果你改变顺序。
预测可能会改变吗?是的,这是个好问题。实际上,我有一张幻灯片谈论类似的内容,但不是完全相同的。让我跳过去。首先,如果训练期间顺序是一致的,对吧?并且对于每个新图像,你不再打乱顺序。
那么,这实际上是完全相同的,你得到相同的曲线,所有的说法,因为我们反正不编码顺序。如果你在训练期间总是开始随机化顺序,那么性能会大幅下降。让我给你展示为什么,幻灯片是我原本计划展示的。如果你问我们跳到这里,这些是位置嵌入的可视化。
😊这意味着什么,在这种情况下,我们将图像切割成 14 乘 14 的补丁。所以这也意味着我们有 14 乘 14 的位置嵌入,尽管我们只将它们视为一个连续的序列,是什么,00,50 多,或者我不知道,140 多。现在,这些图片展示了与该位置对应的嵌入,它与所有其他位置嵌入的相似度。比如看这个,黄色表示完全相似,正好相同,蓝色表示在余弦相似度方面相反。因此,这个位置嵌入与自身最相似,就是这里的像素,然后邻近像素与最初对应于邻近补丁的位置嵌入的相似度。我们确实看到一个非常明显的模式,每个位置嵌入与其周围补丁的嵌入非常相似,而我们并没有实现任何这些。我们只是将这些位置嵌入随机初始化为变量,并且它们像模型的其余参数一样自由学习,但它们学会了恢复邻近补丁是什么的概念,尽管我们在任何时候都没有提供这些信息,只是在原始图像数据中给出了任务去分类。
这真酷,我认为,但这也意味着,如果你现在拿到训练好的模型并以完全不同的随机顺序输入补丁,它的表现会很糟糕,因为这些学习到的位置嵌入不再有意义。😊
我们也尝试实现像位置嵌入这样的东西,它通过我们硬编码的位置来编码位置,还有其他花哨的相对位置嵌入。但基本上没有任何一种真的优于自由学习的,而自由学习很简单,你只需随机初始化,让它作为 SGD 的一部分学习,就是这样,所以我们就这样做。
我们还有一个问题。嘿,没错,我在想要读这个,对,就是这一页。我觉得非常有趣的是,我们在谈论数据的扩展和思维模型的扩展。但似乎你在继续这样做时,达到了一个瓶颈。所以我很好奇你对此是否有任何想法,是否这些点看起来就是这样,或者说有什么最佳方式可以做到,让我们继续,无论是关于数据的预训练还是你实际上无法获得的参数。是的,我还有另一张幻灯片,但在演讲的后面我想先不跳到那儿,如果你不介意,然后也许在 10 到 15 分钟内我们会到达那儿。
听起来不错,谢谢。是的,但也许有点乐观。最终似乎变压器在这里有更好的斜率,而 resnet 较早达到平台期。😊 对不起,卢卡斯,我不是故意打断你,在我们继续之前还有其他问题吗?是的,我可以快速问一下我的问题吗?对不起,我好奇的是,这个 VIT 和一个卷积网络相比怎么样。
比如说,Resnet。与一个注意力机制。这个结构的变压器和它特定的运作方式有多少是由此造成的,还是仅仅是普通卷积网络没有接触到的注意力的好处?是的,这个问题已经被尝试过很多次了。我知道的第一次其实是来自于我错发音的名字。
但我指的是 Resnet 的发明者和他的一些同事。他们称之为非阻塞网络。我认为这是在变换器论文之前的事情,如果我没记错,他们基本上在 resnet 的各个位置插入了这些块,然后展示了改进。但那只是微小的改进。那是个很酷的块和一篇简单的论文。
但这并不值得。而人们通常将注意力放置在像素上,你可以想象,如果你仅仅在像素上放置注意力,而不进行这种切片处理,这样计算成本太高了,对吧,如果你有 2 到 4 乘 2 到 4 个像素,那就是。是的,我无法在脑海中计算,我不知道大约是 40000 个像素对着 40。
000 个其他的办法不起作用,所以人们只在 resnet 的非常高和最终层中这样做,比如在 7x7 的地方,然后他们在那儿稍微添加一点注意力。但这样你实际上并没有获得太多好处,因为它本质上仍然是一个 resnet。
在 ResNet 中,有一个被称为 Sic S 的模块,这个模块变得非常流行,并且在很大程度上改善了 ResNet。这也是一种注意力的形式,但很好地针对图像进行了调整。我并不是在争论这个。但是,是的,它已经被多次尝试过。但它并没有显示出像……那样的缩放好处。
所以我觉得我在这里遗漏了一些关键的东西,就是你只是收缩,或者说在计算上是困难的。但最终,你处于 ResNet 的低层。但是为什么这与在视觉变换器中做一个注意力层有什么不同?
因为我们先切割了补丁,所以可能有 14 乘 14 的补丁,这并不是很多。好吧。但我有点困惑,你可以想象在不高的层次和不高的层次的 ResNet 中,而是在你应用了一两个卷积滤波器后相对真实的一层。卷积层,打扰一下,那么你会得到一些与补丁大小相关的东西。
这仍然是早期层的 50 乘 50,而 50 乘 50 显著少于 400 乘 400 或 100。可是仍然是 2500 个 tokens 在关注 2500 个 tokens,是的,我的意思是,这很多,但不能相提并论。我不知道。好吧,酷,谢谢你。是的,我的意思是,可以尝试。好吧,也许你问题的另一个答案是,我们慢慢接近我下一张幻灯片,在一系列问题之后,我们确实尝试了一些几乎就像你所说的,使用非常小的一部分 ResNet,然后在其上放置变换器,但是真正的全变换器编码器,而不仅仅是撒上一些注意力层,然后继续列等等,这是这个过程,我们称之为混合,但这几乎就是你所说的,实际上是来自 ResNet 的一些早期层,数量不同,然后贴上整个变换器编码器。
😊,而且这个。似乎也能很好地工作,尤其是在这种情况下,计算量不大,所以对于小的计算来说,它似乎表现不错。但是纯 ResNet 的缩放行为稍微好一些,所以我们关注了这一点。我认为我们后来也尝试了混合进一步右移,结果稍微低一些,但那是在论文之后,所以不在这个图上,我刚从论文中放出来,但你可以在这里看到趋势。
嗯。是的,如果你不完全缩放到顶端,那么这样做一点 ResNet 然后再加上变换器的编码器是完全合理的。你想问你的问题吗?是的,我只是想问一下,基本上,论文中有一个关于微调和高分辨率的简短部分。在这种情况下,预训练的位置和嵌入,抱歉,或者说是偏斜的,对吧。
然后基本上它说你们就像是在插值。你能谈谈这个吗,比如你是怎么插值发生的事情。对,实际上,当我今天早些时候查看幻灯片时,我就想,哦,最好有一张关于这个的幻灯片,而且我们在论文中也没有好的可视化。
因为这有点难以解释,但这是最好的起点。所以如果你想提高图像的分辨率,并且保持补丁大小固定。这意味着你突然有更多补丁,对吧?然后正如你所说,时尚嵌入,比如你到底用什么作为位置嵌入。
对,基本上你可以看到这里我们看到它们学习了一个非常规律的结构,对吧。我们并不知道这些位置嵌入的结构是什么。我们只看到彼此之间的相似性,且非常规律。因此这给了我们一种直觉,我们也许可以将它们想象成这些框。
它们分开,并且在它们之间出现新的框,它们只是周围的插值。这基本上就是我们对位置和嵌入所做的。我们在缺失的地方创建新的,因为我们需要更多,通过插值周围的,或者更准确地说,我们基本上将它们视为一张图片,在这种情况下是 14 乘 14,有 700 多个通道或者其他维度,然后我们基本上像通过近邻插值那样调整这个大小。
这样我们就能在我们不理解的位置获得更多新位置。它们遵循与已学习位置相同的模式,只是基本上分辨率更高。点过去。是的,这是个好问题。那么当你创建输入时,现在你正在进行 aject。最近首先。有没有工作做到这一点,一切都很奇怪吗,彼此之间非常接近?
是的,有很多话。他们尝试了各种奇怪的东西。其中我最近特别喜欢的一个是,早期卷积帮助变换器 C 更好,或者类似的东西。他们基本上说,好吧,代替这个线性投影。代替这个大的线性投影。我们用一个三乘三卷积堆叠来替代。
然后它们之间还有非线性关系和归一化。但总体而言步幅与补丁的差异是相同的。因此,结果将与在这个补丁切割后和投影后的维度相同。然后他们展示了。😊,据说这在优化上会稍微简单一些,因为更优化的设置是好的设置。
在许多场景中,它的表现是相同的。但更稳健地达到这个效果。而且他们也展示了一些场景,在这些场景中,它的表现更好,比如说。当在更多数据上进行预训练时,似乎表现得更好。嗯。我还没尝试去复现它,我并没有完全复现出来。
但我目前还没有看到和论文一样的好处。不过这并不意味着论文是错的,只是我还没到达那个点。这是它们的一个例子,还有其他论文也做了类似的研究。不过我发现这一篇尤其有趣,因为它简单。谢谢。好的。
继续,我们没有更多问题。那么,看看吧。是的。我还有三条来自论文的有趣细节。然后,取决于你想要更多讨论还是更多内容,我有更多内容。比如关于,是否在这里达到饱和的问题?嗯。好的。
所以我们在论文中有的另一个有趣的点,但它被埋在附录里。现在,其他人也对此写了后续论文,实际上是这样的。我们应该如何扩展这些变压器,对吧,变压器的高层形状。有很多设置可以选择,我们实际上尝试了很多。
所以我们从一个合理的中等规模的变压器开始,建在中间。然后我们逐一改变一些参数,这样我们总是将计算量翻倍。所以,比如说。这条粉色线。如果我们在这一点向右移动,宽度就增加了。😊。这样我们就双倍了计算,X 轴很简单是计算量。
相对于这个起始点,我们有所有这些不同的设置,宽度。即进行细胞功能计算的向量的宽度。基础模型为 768,其他模型则更大或更小。就像我所看到的那样。扩展这一点似乎不太有前景,因此我们并没有扩展得太多。
还有其他一些东西,比如多层感知器的宽度,或者有人称之为这些注意力机制中的一对一卷积,这似乎扩展得更好,这部分橙色我实际上很好奇它为什么会向左移,我不记得了,不知道它是否隐藏在某个地方,或者是否只是没有缩小,但任何风险还有另一个要扩展的东西,在文本的变压器中不存在的是补丁大小,当你缩小补丁时,你会从一张图像中获得越来越多的标记,从而获得更多的计算能力。
这是绿色的部分,似乎也很好地缩放。然后深度是一个有趣的点,是黄色的部分。这是编码块的数量。随着我们扩展,起初似乎很棒,这正是你想扩展的东西,但随后似乎停滞不前,如果你减少深度,它的缩放效果真的很差。😊,所以减少深度并不是好事。然而,如果你想通过较小的模型,宽度似乎是一个可以减少的好点,然后蓝色则是将所有内容一起缩放,使得计算大致保持相同的数量。
这似乎也能很好地缩放以及其余部分。这些相对简单,至少在概念上。所以我们喜欢这个。因此,无论何时我们扩展或缩小模型时,我们都这样做。😊,嗯。我非常喜欢的是推理速度,因为如果你有 2 到 4 像素的图像大小,这实际上意味着你有 2 到 4 乘以 2 到 4 的像素,对吧?
所以如果你有,然后用 16 乘 16 的补丁进行补丁化,比如补丁大小。然后你有。😊,14 乘 14 的补丁。所以序列长度实际上是 150,对吧?然后在序列长度之上,你有自注意力操作,这又是平方的。因此,整体上与图像大小相关。
自注意力操作是四次方的,Zip 称之为“quatic”。所以这真的很糟糕,任何看到四次方的人都会说你在做什么,这永远不会。于是我们检查了在我们操作的图像大小下实际情况如何,这就是我们看到的,A 轴的速度基本上就是推理的速度,X 轴是输入大小的变化。😊,所以这意味着目前看起来还不算太糟。
当你来到 512 到真实的 LA 时,你会发现变压器实际上下降得比重定向多得多。但在这个合理的图像大小上,我们称之为非常典型的。实际上似乎还不算太糟,所以我们还没有遭遇到那个可恶的大老虎。但随着我们规模的扩大,这可能会成为一个问题,并且有很多后续工作在努力改善这一点。
对,没错。这是来自原始论文的最后一部分,它关注输入引用的感受野大小。那么在自注意力操作中,头部通常尝试多远?在 X 轴上,我们看到网络的层次,右侧更接近输出,类,左侧则更接近输入的补丁。😊
Y 轴是平均距离,我想是整个验证集。自注意力的效果如何,这意味着自注意力的峰值或最大值,权重是多少,像这样的东西。😊,嗯。每个狗是不同的头,因为我们可以使用多头自注意力,对吧?所以这表明,在早期层中,实际上有一些头是看得很远的,但也有很多头是看得很近的,所以是局部的,随着我们深入模型,我们只剩下平均看得更远的头。
😊,所以。这只是一种分析,没有立即采取行动的内容,但看到早期层学习的是局部邻域和全局之间的混合,后来层只关注全局,这很有趣。😊,对。所以这是关于原始视觉变换器的。嗯。
不,我不知道我们想让我继续说多久或讨论,我有几个选项可以谈论,其中一个项目是进一步的扩展,这个项目也有答案。如果你不想听剩下的内容,我也可以直接跳到答案,但对于“它是如何继续向右的,我们是否在分离”的问题,还有另一个项目是关于如何在没有大量数据的情况下训练视觉变换器,你还可以这样做吗?
这样做是否合理,还是可能根本不合理。这可能有点不相关。我们不谈这个。最后一个就是我谈了很多关于在大量数据上训练大型模型的好处。好的,这很好,这就是我们如何得到一个好的模型,但实际上使用一个巨大的模型一点也不好玩。就像它不适合你的 GPU,你需要多个 GPU 才能使用。所以人们不乐意使用它,通常还是会回到小模型。
即使你知道像大型模型应该更好,我们能对此做些什么呢?😊,嗯。这是我们另一个项目的主题。所以,我会说这取决于你们想做什么,或者如果你们有很多问题,我们现在可以继续提问,因为我认为原定的一小时时间快要结束了。
好的。所以我认为一个建议是,我们可以继续讨论,并且我们还会录制它,这样那些错过的人可以去看一下。所以我们可以这样做。是的,另外有两个人举手了,我们可以。好的,问我们问题吧。
在你们之后。打架隐藏的方式。你们想问你们的问题吗?是的。我有个很基本的问题,所以如果一个物体位于补丁之间的边界,这是否会影响模型的性能?是的,我的意思是,那不是一个基本问题。这是个好问题。有多种答案,一个是我们没有特别去测试这个,确实在一些受控的环境下用一些训练过的模型测试一下会很有趣。另一个事情是。
当你有像 3 亿张图像这样的庞大数据集时,这简直是疯狂的数量。我曾试图概念化 ImageNet 的百万张图像,我想我做过计算,如果你去查看每一张图像,每张图像停留几秒钟,你可能会坐一个月左右,不太记得了。
但是 3 亿张图像简直是疯狂的庞大,此外,我们确实使用随机增强,比如随机裁剪图像。因此,我认为这是你在训练中看到的对象不落在区域上的默认情况,如果你在这里看,基本上这是标准模型,像 14 乘 14 的区域大致是这个大小。
然后一个对象通常会散布在多个区域,因为在典型图像中,物体相对较大,人们不会拍摄对象在角落里的微小图像。因此,这是你在预训练中看到的默认情况,我相信模型就是这样学习得更好的。
然后对这个问题的另一个回答是,好的。也许如果你做一些比这种非常粗糙的区域切割更好的事情,比如我提到的这个卷积的堆叠,可能这甚至会更好。谢谢。是的,你提到过,或者变换器,或者至少你在论文中提到过。
他们笑着说,地方性。嗯,我只是想,这些算不算?嗯嗯。尤其是当你在……为什么会这样?你个不说。嗯哼。😊,嗯。音频不是很好,但我相信我理解了问题,就是我们说变换器缺乏地方性偏见或先验,或者其他什么的,为什么这甚至是我们想要的呢,对吧?
如果我们的模型是关于图像的,难道不想了解地方性吗?是和不是。所以这就是我一开始给出背景的原因,这一切都是关于当你扩展事物时会发生什么。具体来说,理想情况下,至少在我们心中,我们希望有巨量的数据,我们相信随着时间的推移,这种数据只会不断增长。
然后我们希望模型尽量少地内置我们的思维,因为我们认为好的解决任务的方法实际上可能并不是最佳的解决方案。你知道,也许可以类比一下,比如 AlphaGo 的一些举动,专家们会说这很疯狂。这是一个愚蠢的举动,但实际上却更好。以类似的方式。
我们希望尽可能少地编码到模型中,这样如果我们抛出大量数据和困难任务,它可能会发现一些我们之前没想到的更好的东西。😊这是我们的做法,因为我们相信,就像我提到的,我认为已经。
现在看似庞大和过度的事情,在五年左右将成为常态。所以我们希望去看看方向是什么。然而,如果你只是想让某个东西现在工作,而没有大量数据,并且因为某种原因不想使用预训练模型,那么。总是使用预模型,但如果你不想,那么相信你的一些先前直觉和知识是有意义的,比如局部性。
😊,嗯。我希望这回答了你的问题。假设这是一个 PowerPot。或者我们关于的某种观点。谢谢。我们是说任何视觉任务,难道不是这种情况吗?像我不知道。也许我没看到那样。正是这就是为什么我们不想要食物的原因。你可以对此做更详细的阐述,但为什么我们不想要呢?
像局部性或者什么翻译那样。嗯,理想情况下。我们希望模型有足够强大的能力去学习这个概念本身,如果它对于解决任务是有用的。如果对解决任务没有用,那么。如果我们硬编码它,模型就没有办法不这样做,对吧?嗯。这理想的结果在某种程度上是相似的。
此外,在语言中,你知道,不编码从左到右的文本方向似乎毫无意义。就像在 R S 中。但接下来出现变换器,结果却并没有那样。如果你给它大量数据,它的效果会更好,并且能够恢复这些,加上一些更灵活的变体,或者像这样的东西,对于调查任务来说更好。
所以基本上,人类是。我们并不聪明到能够以最适合任务的方式设计这个东西。我们宁愿给它所有的灵活性和它解决任务所需的所有数据。我真的认为这是一种接近的哲学。我并不是说这就是唯一正确的方法,对吧。
好的,所以我们还有大约七分钟的时间,直到谈话的预定结束。而且,卢卡斯。我们也想关注你的时间,因为你那边是晚上。所以我们可以做的一件事是,我现在没有看到更多的问题,所以你可以实际浏览最后几部分,可能跳过细节,只讨论最终结果。我将这两个放在高层次上,那两个仍然非常与变换器相关,并回答之前发生的一些问题,比如第一个问题是,好的,我们是否达到了饱和,是还是不是。
这里,不。这是原始变换论文中关于这个基准的部分。但然后使用这些变换器时,我们注意到它们具有非常好的扩展性,并且实际上似乎更容易进行扩展。没有像共振那样支付巨额计算,这只是基于我们对两者的经验直觉。
因此,我们去看看如果将视觉变换器扩展到极限会发生什么,我们为实现这一目标付出了很多努力,其中一部分是扩展数据集。我们回到了这个谷歌内部团队,他们的 3 亿数据集只是他们使用的众多数据集之一。我们询问后发现,他们基本上有 30 亿个更大的数据集可以使用,因此他们进行了数据集的扩展。
这仅仅表明,是的,扩展数据集和切换数据集带来了好处。但这还不是全部。接下来我们需要弄清楚如何在设备上使用更少的内存,比如在 GPU 或 TPU 上。因为之前已经在这个得分下尽可能地拟合了模型。因此我们做了很多的调整,现在能够扩展得更大。这是像。
😊,这个图展示了我之前提到的不同形状字符中的现代大小。X 轴是 MIP 的权重,Y 轴是宽度,然后不同的图表示不同层的深度。😊这些图展示了我们在原始论文中构建的变换器有多大。
然后“砰”进一步迈进一步,再进一步。这只是我们在这个扩展中的超级大变换器。通过所有的技巧,我们能将其做得更大一点。然后是一些学习率的调整,但这真的很酷。
我建议大家查看平方根学习率计划。这很酷,通常被提及作为附带说明。嗯。这也很酷,但出于兴趣我将跳过它。基本上考虑到时间,我们进行了大量扩展,当然再次得到了稍微更高的 ImageNet 数值,这实际上比之前提高了 2%。
在这个高百分比范围内,这一点非常重要。但同样有趣的是,通过不断扩大所有内容,我们获得了超级大的提升。这是 ImageNet 的顶级准确率,例如,每个 ImageNet 类别仅需 10 张图像😊,这意味着总共 10000 张图像,因为有一千个类别。
我们得到了如此大的下降。我们获得了 85%的准确率,这是什么?基本上使用完整数据集时你通常会得到的。因此,实际上提高了少量短期工作的表现。然后我将跳过这一部分。好吧,这实际上有一个有趣的信息。这是三次相同的故事。
但以略微不同的方式进行测量,即如果你让模型变大,它实际上需要看到更少的图像才能达到类似的评分。这条蓝线是一个小型视觉变换器,而基础视觉变换器则是一个大型的。X 代表误差,因此数值越低越好。实际上我们仍在讨论数百万张图像,而这里是十亿张图像,但你仍然需要用更大的模型看到更少的图像。
这并不意味着计算量大幅减少,对吧,因为模型更大,速度更慢。😊这很有趣。然后在语言领域有一些流行的缩放法则,我们可能第一次在判别性图像学习中显示出这一点。
它们似乎也出现在这里。那么,对了,我们想要。所以我脑中把幻灯片的顺序搞混了。因此我有点惊讶。不过,另一个主题是除了进一步扩大模型,我们还希望在这个方向上更进一步。😊
更少的手工工程将事物融入模型架构。然后对于视觉变压器,一般来说,显然最手工设计的部分是输入层。因此,我们能做点更通用且不那么智能的事情吗?基本上我们最终将其替换为仅仅是多层感知器。
然而。它有一点结构,但远不如自注意力那么多。它提供的结构,或者说在这里很细致,我们回到这个图表,问题是。我们现在不是在饱和吗?这个图稍有不同,我们再次在黑色中有这点 ResNet,而完整的绿色线是变压器,其他颜色的完整线也是我们的分离变压器,实际上与之前的数字完全相同。然而。
现在我们还加入了这个混合架构,我们认为它甚至更灵活,更少是手工线性数据变压器。正如你所见,在数据较少的情况下效果更差。🎼然而,数据量大得多时,它可能会超过变压器,或者它可能是随机噪声。
这一点现在不太清楚,对吧,因为这是唯一发生这种情况的地方。所以我们需要进一步探讨,因此我们使用这个 30 亿的数据集,举例来说,就是来自之前提到的论文。我们尝试将这些线向右延伸,看看会发生什么,但我们没有延伸很多,因为这些都是非常昂贵的实验,需要大量的患者。不过我们延伸了两个最有趣的,它似乎还在继续,首先。
是的,视觉变压器在不断增加,我们没有进行与 ResNet 相同的实验,因为它看起来不够有前景,无法支付成本。但似乎 Mixer 我们认为是更灵活的架构,实际上始终高于变压器。
这可是个好消息。😊是的,这确实是好消息。所以我们现在正好处于该停下来还是再次开放更多问题的时刻。是的。我想问一个问题,并且我想跟进你之前展示的缩放,这其实只是我的一个问题,我很好奇这个模型的大小与自然语言中的模型大小相比如何,特别是当从小模型转向更大模型时,无论在模型大小上是否有可比性,如果没有,你认为原因是什么。
关于这两种模型的参数数量,是的,实际上我有一个同事有一张我不喜欢但他喜欢的幻灯片,展示了 NLP 和视觉中的模型参数数量,问题是如果你只测量参数数量,那么这些视觉模型就要小得多。
😊,语言模型的参数数量,其中很大一部分在字典中,例如,这对于我们来说是不存在的,它是线性的嵌入,这是一个微不足道的参数数量。因此,就参数数量而言,它要小得多。个人认为,参数数量并没有那么重要。
还有另一种测量方式,也许是从计算方面来衡量,例如,在一个数据点上进行多少浮点运算?就这一点而言,它们在同一个范围内,然而,上次我检查时,几个月前,最大的语言模型仍然是视觉模型的四倍或五倍。
我相信。😊,是的,所以这是测量模型大小的两种方式。我不认为这两种方式是唯一的测量方法,我觉得这是一个有趣的研究课题,如何正确测量并按能力排序模型并不明确,你知道视觉模型要小得多。
我认为这主要是因为对此的兴趣较少,因此在这方面的资源投入也相对较少,比如在谷歌,有更多的团队在语言研究上,而不是视觉研究,我觉得我们是少数几个有很多资源并且对视觉领域的扩展感兴趣的团队之一,而在语言方面似乎有很多团队在进行相关工作。
😊,我认为这主要是原因,实际上并不是我们不想超越这一点。如果可以的话,我们会做得更多。阿森,谢谢。好吧,我们现在实际上超时了,所以任何需要离开的人请随意。我想在此之前,卢卡斯,非常感谢你加入我们,从远道而来。