OpenAI 加州大学伯克利分校首席科学家演讲:无监督学习之路

数据压缩是通过不断训练自回归生成模型来实现的。如果数据压缩得足够好,就有可能提取其中包含的所有隐藏信息。这样GPT模型就可以准确预测下一个词元素,文本生成的准确度会更高。
最近,OpenAI联合创始人兼首席科学家Ilya Sutskever在加州大学伯克利分校的一次演讲中提出,他希望从压缩方面解释无监督学习问题。不过值得注意的是,他强调GPT模型可以脱离压缩的概念来理解。 (以下内容由OneFlow收集发布,转载请联系授权。https://simons.berkeley.edu/talks/ilya-sutskever-openai-2023-08-14) 来源 | Simons Institute OneFlow 编译 翻译 |万子霖、杨婷 不久前,,我的研究重点是AI协调领域。届时将会有一些伟大的成果,但这需要时间。这次我想分享一些自 2016 年以来我从 OpenAI 获得的一些想法,这些想法极大地影响了我对无监督学习的思考方式。其中一些想法可能看起来很简单,但并非所有想法都很容易解决,其中一些想法可能会让您感兴趣。 1 无监督学习理论 在讨论无监督学习之前,我们需要先厘清学习的广义概念。什么是学习?为什么学习有用?为什么计算机可以学习?虽然我们理所当然地认为神经网络可以学习,但从数学角度来看它们是如何学习的呢?为什么机器学习模型能够捕捉数据模式?这不是一个简单的问题。 在机器学习领域,多年前就取得了一个重要的概念突破,即监督学习的发现和形式化,这是许多研究人员共同完成的工作。 监督学习 监督学习也称为逆向学习或统计学习理论,其优点是为成功学习提供明确的数学条件。当你从数据分布中获取一条数据并成功实现低训练损失并且模型的自由度参数小于训练集的大小时,你就可以在测试集上实现低测试误差。 所以如果你能在一个特征类中找到一个能够实现更小的训练误差的特征,那么你一定会获得成功的学习。因此,与其他方法相比,监督学习相对容易。 监督学习中涉及的大多数定理都非常简单。其中涉及到的一些简单的数学考虑,只需三行定理就可以解释监督学习的理论,相对容易理解。 所以我们知道为什么它会成功,只要我们继续收集监督学习的大数据集,我们就可以确定模型的性能会不断提高。同时,还有一个关键点:测试的分布和训练的分布必须保持一致。只有在这种情况下,监督学习理论才能发挥作用。 我们了解监督学习为何有效,以及为何可以实现语音识别、图像分类等。一切都可以归因于监督学习,监督学习有这个数学保证,这是非常好的。对于那些关心 VC 维度的人来说,很多统计学习理论文献都强调 VC 维度作为关键组成部分,但实际上 VC 维度只是为了让模型能够以无限精度处理参数。 如果您有一个线性分类器,其中每个参数都具有无限精度,但实际上所有浮点数都具有有限精度,那么它们的精度将随着计算机实际执行的功能数量而不断降低。您很少可以用上述公式来表达,并且您将获得监督学习可以实现的几乎所有最佳范围。我认为这很好,因为证明步骤只需要几行。 我们来谈谈无监督学习。监督学习就像拥有一些数据,然后根据该输入和标签预测未知数据的标签。如果该数据的训练误差很小,则训练数据的大小将超过要素类中的自由度或参数。 在我看来,目前对于无监督学习还没有令人满意的讨论。我们也许可以凭直觉来判断,但是能用数学推理来证明吗?无监督学习目标在试验中实现了。例如,当只有图像或文本并且没有特殊的处理方法时,模型可以发现数据中存在的真实隐藏结构。 这是怎么发生的?我们可以预测吗?我们目前没有监督学习之类的东西。监督学习可以减少训练错误,提供良好的学习效果,但无监督学习却并非如此。 早在20世纪80年代,人们就开始研究无监督学习,比如早期的Bolson机器。然而,这些早期的想法在小规模数据上效果不佳。尽管 BERT 和扩散模型等语言模型在当时是很酷的例子,有了一些微小的改进,但它们的无监督学习性能仍然落后于今天的模型。 对优化期间无监督学习到底如何工作感到困惑?我们可以优化某种重建误差、去噪误差或自监督学习误差。尽管优化了一个目标,但重点是另一个目标,并且即使在非优化目标上,模型也表现良好。发生了什么?这就像魔法一样。 始终遵循实证主义? 无监督学习可以通过学习输入分布中的结构来帮助您实现目标,但是如果从均匀分布中学习,所有无监督学习算法都会失败。所以我想提出一种我认为非常有趣的思考无监督学习的可能方法。 通过分布匹配进行无监督学习 这是一种不常见的无监督学习方法,不经常使用。它有一个很酷的功能:就像监督学习一样,它确保学习成功。因此,即使您不标记任何输入数据,这种神秘的无监督学习过程仍然可以提供性能。这是一个分配匹配。 什么是分布匹配?假设数据中有两个没有适当关系的数据源,即X和Y。例如两种不同的语言(语言一和语言二),可以是文本和语音。现在的目标是找到一个函数 f,使得 f(X) 生成的分布与 Y 的分布相似,同时对函数 f 施加一些限制。这种限制可能是有道理的。这在机器翻译和语音识别等领域非常有用。 例如,我有一个英语句子的分布作为输入。使用函数 f 我可以获得一个看起来与法语句子非常相似的分布。那么我们可以说函数f的真正极限已经找到了。如果 X 和 Y 尺寸足够高,f 可以有很多限制。事实上,利用这些信息几乎可以完全恢复出函数f的信息。与监督学习一样,这保证是有效的。此外,该框架还适用于简单的代理密码和加密任务。 2015年,我独立发现了这个方法,并对它产生了浓厚的兴趣。我认为无监督学习可以用数学来描述。然而,上述翻译场景设置仍然包含一些人为因素,与真实的机器学习环境和无监督学习场景并不完全一致。 我想从数学的角度来展示这个方法的具体基本内容,并解释如何保证无监督学习的有效性。 通过压缩来解决 众所周知,压缩可以被认为是一个预测过程,任何压缩器都可以变成预测器,反之亦然。所有压缩器和预测器之间存在一对一匹配。为了说明我对无监督学习的想法,我认为它在压缩方面很有用。 我们来做下面的思想实验:假设你有两组数据X和Y对应硬盘上的两个文件,并假设你有一个非常好的压缩算法C来压缩数据。那么,如果您共同压缩 X 和 Y,将它们连接在一起并将它们放入压缩器中,会发生什么? 在这种情况下,足够好的压缩机会做什么?我的直觉是,它利用 X 中存在的模式来帮助它压缩 Y,反之亦然。预测任务可能存在类似的结果,但在压缩方面讨论时这种描述更加直观。换句话说,如果你的压缩器足够好,应该能够保证大文件合并压缩的结果不比单独压缩差。 因此,通过组合两组数据获得的附加压缩是压缩器注意到和处理的常见结构。压缩机越好,获得的结构就越动态。两个压缩结果之间的差距称为共享结构或算法互信息。正如 X 代表无监督任务而 Y 代表监督任务一样,通过 X 中的数学推理模式可以用来帮助处理 Y。 另请注意此方法如何推广到分布匹配。假设我们处于分布匹配情况,您注意到了这一点,利用了这一点,甚至尝试在内部恢复该功能。如果我们能够关闭这个过程的循环,那就太酷了。 无监督学习可以形式化吗? 那么我们如何形式化无监督学习呢?接下来,我将交替使用压缩和预测场景。假设您有一个机器学习算法 A 正在尝试压缩 Y。如果算法 A 可以访问 And,则可以使用 X 来实现。那么,您对使用该特定算法有什么遗憾? 如果任务做得足够好,几乎没有遗憾,这意味着我从未标记的数据中获得了所有可以提供的帮助,并且我不后悔,数据中没有其他预测价值可以更好使用我的算法获得了未标记数据的最大利用率。 我认为这是思考无监督学习的重要一步。你不知道你的无监督数据集是否真的有用。它可能非常有用并包含答案,也可能毫无用处或分布均匀。然而,如果你对监督学习算法的遗憾较少,你可以确定你的无监督数据集是属于第一种情况还是第二种情况。我确信我已尽最大努力充分利用未标记的数据,没有人能比我做得更好。 2 作为终极压缩器的柯尔莫哥洛夫复杂度 我们来谈谈柯尔莫哥洛夫复杂度(Kolmogorov Complexity),它被称为终极压缩器,可以提供超低遗憾的终极算法。事实上,柯尔莫哥洛夫复杂度并不是一个可计算的算法。可能很多人不理解这一点,但其实很简单。 假设你给我一些数据,我将提供最短的程序来压缩它,如果你运行那个最短的程序,它就会输出数据。输出Y的最短程序的长度等于柯尔莫哥洛夫复杂度K(X)。直观地,我们可以看到这个压缩器非常高效,因为定理很容易证明。如果您使用柯尔莫哥洛夫压缩器来压缩琴弦,则压缩质量的损失将是最小的。如果要压缩一个字符串X,那么输出压缩器所需的代码字符数的最短程序的长度。 直观上,模拟论证是有道理的。假设有一个很棒的压缩器 C,是否有该压缩器附带的计算机程序?你能让 K 运行这个计算机程序吗?虽然没有详细解释细节,但柯尔莫哥洛夫复杂度可以模拟计算机程序如何模拟压缩算法的运行,因此它是不可计算的,因为它所做的是自由模拟所有可能的计算机程序的模拟,但它可能是现有的最好的压缩器算法。 “计算”K(X) 现在让我们概括一下柯尔莫哥洛夫复杂度,以便它可以调用其他信息。再次需要注意的是,柯尔莫哥洛夫压缩器是不可计算且不可判定的,但它会搜索所有程序。就像你对几百层神经网络参数执行随机梯度下降(SGD)一样,它自动变得像搜索一个具有固定内存大小和步数的计算机程序,这有些相似。两台微型柯尔莫哥洛夫压缩机。 神经网络可以模拟小程序。它们就像由电路组成的小型计算机。电路是计算机的基本构建模块,计算机本质上是一台机器。随机梯度下降(SGD)在程序中进行搜索,整个深度学习都是围绕着SGD展开的,我们实际上可以使用SGD来训练这些计算机在数据中寻找电路。因此,我们可以计算我们的微型柯尔莫哥洛夫压缩机,并且模拟论证也适用于此。 柯尔莫哥洛夫条件复杂性作为解决方案 顺便说一句,如果你曾经尝试过设计一个更好的神经网络架构,你会意识到这有点困难,相当于在程序空间中找到一个更好的程序。 为什么这么难?因为您的新架构可以是旧架构的相对简单的模拟,所以它可以带来显着的改进,例如从循环神经网络(RNN)切换到变压器,除非您遇到一些罕见的情况。 RNN有一个瓶颈,它是隐藏状态,因此在实现Transformer时会遇到问题。但如果我们能找到一种方法来设计非常大的隐藏状态,也许 RNN 将再次具有与 Transforme 相同的性能。 所以这是从正式领域转向神经网络的过程,它们之间有一些相似之处。柯尔莫哥洛夫的条件复杂度可以用作监督学习的解决方案。 如图所示,这是一种成本极低的无监督学习解决方案。虽然不可计算,但我认为它是一个有用的框架。这里的标准是数据集,而不是示例。在这里,我们根据一组数据而不是单个样本设置条件。这个方法将从X中提取Y的所有预测值。 “压缩所有内容”的可行性 我们来谈谈另一个小技术问题:条件柯尔莫哥洛夫复杂度,其中涉及到压缩算法,其中压缩器试图压缩一块接触另一个时的数据。机器学习背景下的压缩,尤其是在处理大型数据集时,并不自然。 上式表明,如果对监督任务 Y 进行预测,使用老式 Kolmogorov 压缩器来压缩 X 和 Y 连接数据与使用条件 Kolmogorov 压缩器的效果为同样好。我这里就简单介绍一下,详细的再详细介绍。这基本上证明了我们之前所说的,即监督学习问题可以用条件柯尔莫哥洛夫压缩器来解决。 这意味着我们也可以使用普通的柯尔莫哥洛夫压缩机。我们使用的时候只需要收集所有的数据,然后将所有的文件组合在一起进行压缩,这样就可以很好的预测我们感兴趣的控制任务。 。 这里是对上面结果的一些分析,但是证明过程比较复杂,这里就不深入讨论了。 简而言之,无监督学习的解决方案就是将所有数据输入到柯尔莫哥洛夫压缩器中,计算柯尔莫哥洛夫复杂度。 3 如果没有过拟合,最有可能是关节压缩 最后我想说的是:如果没有过拟合,最有可能是关节压缩。如果您有一个数据集,则给定参数的概率之和就是压缩数据集的成本,加上您支付的压缩参数的成本。但如果您现在想要压缩两个数据集,请将更多数据集添加到总和中。 在机器学习的背景下,这种通过组合数据进行联合压缩的方法是非常自然的。因此,我们花时间来说明条件柯尔莫哥洛夫复杂度,虽然我还不能为上述论点提供强有力的支持,但通过压缩完整的柯尔莫哥洛夫复杂度,我们仍然有效。 我对上述方法非常乐观,因为它表明神经网络是有效的。大型神经网络上的随机梯度下降(SGD)相当于大规模程序化搜索。神经网络越大,就越能更好地逼近柯尔莫哥洛夫压缩器。这可能是我们喜欢大型神经网络的原因之一,因为它们可以。这种传统的无遗憾柯尔莫哥洛夫压缩器的大致无法实现的想法希望随着训练的神经网络变得越来越大,遗憾率会越来越低。 4 适合压缩GPT模型吗? 上述方法可以应用于GPT模型,但棘手的部分是,在不指定压缩的情况下也可以解释GPT模型的行为。 GPT 模型的行为可以很容易地向互联网解释。学习文本 的条件分布。我们可以想象一个具有可以持续存在的重复模式的文档,因此 GPT 模型的行为可以直观地解释为这些模式的融合行为。这种解释不需要参考特定的压缩理论。因此,GPT 模型的行为可以在不涉及压缩理论的情况下得到解释。 那么,我们是否可以找到另一个领域来直接检验这个理论呢?例如在视野中。视场有像素级别的数据,我们可以尝试在像素级别应用这个理论,看看这个方法是否能产生良好的无监督学习结果。答案是肯定的,并且实验证明利用这一理论我们可以实现像素级的高效无监督学习。 这是我们在2020年进行的一项iGPT研究。iGPT是一项非常昂贵的概念验证研究,没有实际应用。 iGPT 研究结果表明,如果你对下一步有很好的预测器,你可以获得很好的监督学习结果。这个概念已经在成像领域得到了验证。 具体来说,您需要将图像转换为像素序列,并为每个像素提供一些离散强度值,然后使用相同的转换器来预测下一个像素。与 BERT 不同,这里只考虑下一个 token,因为它增加了压缩器概率。 这是像素预测任务中不同尺寸的iGPT模型的预测精度的下一步。纵轴是神经网络最佳层的探针的线性精度。我们为其添加了一个线性分类器并检查了其性能。然后我们就得到了上图中的三条不同颜色的曲线。 3条曲线之间的差距逐渐缩小并趋于相似。这是我们所期望的,表明像素预测与下一个单词预测一样有效,并且这种方法还提高了模型在无监督学习中的性能。 通过在ImageNet上的实验,我们发现经过多方面扩展的iGPT的性能已经可以接近当今最好的监督学习,但是还是有一定的差距,但这只是一个计算问题,因为后者使用的是高分辨率的大图像,而在巨型 Transformer(它有 60 亿个参数,以今天的标准来看并不是很多,但在当时是一个巨大的模型)上我们使用了相对较小的 64 x 64像素图像。 。因此,这种方法类似于在大型图像数据集上以无监督的方式预测下一个像素,并将线性探针拟合到 ImageNet,这会产生出色的结果。 在CIFAR-10数据集上,该方法可以达到99%的准确率。虽然这是2020年的成果,或许现在还有其他更先进的方法,但在当时这个结果是非常令人期待的。 5 线性表示 我喜欢压缩理论,很长一段时间我都被无监督学习无法仔细思考这个问题所困扰,但现在我们可以在一定程度上做到这一点。当前的压缩理论没有解释为什么表示是线性可分的,也没有解释为什么需要线性探针。线性表示无处不在,其产生的原因一定是深刻的。也许我们将来可以澄清这一点。 我还注意到一个有趣的现象:自动松弛的下一像素预测模型(或自回归模型)在线性表示方面比 BERT 表现更好。我还不能确定原因,但它可能有助于理解线性表示的原因。 我认为下一个像素预测任务需要从之前的所有像素进行预测,因此应该考虑长程结构。虽然在 BERT 中你有自己的向量表示,假设你在这种情况下丢弃了 25% 的标记或像素,那么你的任何预测实际上都可以通过回顾过去和未来得到很好的补充。完美的。相比之下,下一个像素中最难的预测任务比 BERT 中最难的预测任务要困难得多。目前这只是一个猜测,但我们可以通过实验来测试。 6 问题:以下像素预测模型是否有更稳健的二维版本? 答案:将神经网络转换为将概率分配给不同输入的概率模型的任何转换都可以被视为以下像素预测模型的更稳健的 2D 版本。扩散模型是另一种常见的下一个词预测模型。用于生成高质量图像的扩散模型实际上并没有增加其输入步骤的概率,它们有不同的目标。然而,原来的公式增加了概率。 需要注意的是,扩散模型和下一个词预测模型是互斥的。我认为,出于与 BERT 模型相同的原因,扩散模型的表现比下一个令牌预测模型更差,这进一步增加了线性表示出现的谜团。 问:Transformer SGD 可以被认为是最好的压缩程序吗? Ilya Sutskever:是的,还有另一个假设。假设我们有一个神经网络(不一定是 Transformer)可以为数据分配对数概率。给定大量训练样本,我们可以运行神经网络并计算每个样本的对数似然,然后将这些概率相加,得到神经网络分配给整个数据集的对数似然。然而,这种特殊形式的神经网络无法明确观察数据顺序的时间或其他结构。然而,我认为可以计算整个数据集的对数似然,从而获得负对数似然,基本上是使用该神经网络作为压缩器来压缩该数据集所需的位数。 问题:您提到压缩作为理解和促进无监督学习的框架。同时,您在最后提到,如果使用这个框架来预测语言模型的下一个单词,可能有点肤浅,因为任何文本任务都可以转换为下一个单词预测任务。因此,无监督学习与单词任务中的监督学习相似。然而,图像 GPT 无法清楚地定义文本任务,例如预测下一个像素,但我们可以利用线性表示并表明压缩可以带来良好的无监督学习。然而,非常高效的压缩器可能无法提供有用的线性表示。所以我想知道是否存在无监督学习和监督学习看似不一样的情况,但不需要压缩器提供有效的线性表示来证明压缩是一个很好的无监督学习目标。 答案: 良好的线性表示只是一个额外的优势,并不意味着它必须是线性表示,但这个理论指出应该有一个很好的微调。因为压缩结论就像使用糟糕的搜索算法(SGD)进行近似搜索。早期实验表明,当在图像上运行时,BERT 学习的线性表示的表现比预测下一个像素更差,对于扩散模型也可能如此。因此,微调扩散模型的结果的比较很有趣,并且可能已经被研究过。无监督学习
回答观众问题
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。