ChatGPT工作原理:嵌入的概念

2023-05-2220:03:05人工智能与大数据Comments1,025 views字数 3037阅读模式

神经网络 —— 至少在它们目前的设置中 —— 从根本上说是基于数字的。因此,如果我们要用它们来处理像文本这样的东西,我们就需要一种方法来用数字表示我们的文本。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

当然,我们可以开始(基本上就像 ChatGPT 那样)为字典中的每个词分配一个数字。但是,有一个重要的想法 —— 例如,它是 ChatGPT 的核心 —— 超出了这个范围。这就是 “嵌入” 的概念。我们可以把嵌入看作是一种尝试用数字阵列来表示事物 “本质” 的方式 —— 其特性是 “附近的事物” 由附近的数字来表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

因此,举例来说,我们可以把一个词的嵌入看作是试图在一种 “意义空间” 中排列词语,在这个空间中,以某种方式 “在意义上接近” 的词语在嵌入中出现。实际使用的嵌入 —— 例如在 ChatGPT 中 —— 往往涉及大量的数字列表。但是如果我们把它投射到二维空间,我们就可以显示出嵌入的单词是如何排列的例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

而且,是的,我们看到的东西在捕捉典型的日常印象方面做得非常好。但是,我们怎样才能构建这样一个嵌入呢?大致的想法是查看大量的文本(这里是来自网络的 50 亿个词),然后看不同的词出现的 “环境” 有多相似。因此,例如,“alligator” 和 “crocodile” 经常会在其他类似的句子中互换出现,这意味着它们在嵌入中会被放在附近。但是 “萝卜” 和 “老鹰” 不会出现在其他类似的句子中,所以它们在嵌入中会被放在很远的地方。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

但是,如何使用神经网络实际实现这样的东西呢?让我们先来讨论一下不是针对单词的嵌入,而是针对图像的嵌入。我们想找到某种方法,通过数字列表来描述图像,使 “我们认为相似的图像” 被分配到相似的数字列表中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

我们如何判断我们是否应该 “认为图像相似”?好吧,如果我们的图像是,例如,手写的数字,我们可能会 “认为两个图像是相似的”,如果它们是相同的数字。早些时候,我们讨论了一个被训练来识别手写数字的神经网络。我们可以认为这个神经网络被设置成在其最终输出中把图像放入 10 个不同的仓,每个数字一个仓。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

但是,如果我们在做出 “这是一个 ‘4’” 的最终决定之前,“拦截” 神经网络内部发生的事情呢?我们可能会想到,在神经网络中,有一些数字将图像描述为 “大部分是 4,但有一点是 2” 或类似的情况。而我们的想法是挑选出这样的数字作为嵌入的元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

所以这里有一个概念。我们不是直接试图描述 “什么图像在什么其他图像附近”,而是考虑一个定义明确的任务(在这种情况下是数字识别),我们可以获得明确的训练数据 —— 然后利用这样一个事实,即在做这个任务时,神经网络隐含地要做出相当于 “接近度决定” 的决定。因此,我们不需要明确地谈论 “图像的接近性”,而只是谈论一个图像代表什么数字的具体问题,然后我们 “把它留给神经网络” 来隐含地决定这意味着什么 “图像的接近性”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

那么,这对数字识别网络来说是如何更详细地工作的呢?我们可以认为这个网络是由 11 个连续的层组成的,我们可以用图标来概括它(激活函数显示为独立的层):文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

在开始时,我们向第一层输入实际的图像,用像素值的二维阵列表示。在最后一层,我们得到了一个由 10 个值组成的数组,我们可以认为这表示网络对图像对应于 0 到 9 的每个数字的 “确定程度”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

输入图像(手写的 4),最后一层的神经元的值就是:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

换句话说,神经网络此时已经 “非常确定” 这个图像是 4,为了实际得到输出 “4”,我们只需挑选出数值最大的神经元的位置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

但是,如果我们再往前看一步呢?网络中的最后一个操作是一个所谓的 softmax,它试图 “强制确定”。但在这之前,神经元的值是:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

代表 “4” 的神经元仍然有最高的数值。但在其他神经元的数值中也有信息。我们可以期望这个数字列表在某种意义上可以用来描述图像的 “本质”,从而提供我们可以用作嵌入的东西。因此,例如,这里的每一个 4 都有一个稍微不同的 “签名”(或 “特征嵌入”) —— 都与 8 的非常不同:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

在这里,我们基本上是用 10 个数字来描述我们的图像特征。但通常情况下,使用比这更多的数字会更好。例如,在我们的数字识别网络中,我们可以通过挖掘前一层得到一个 500 个数字的阵列。而这可能是一个合理的数组,作为 “图像嵌入” 使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

如果我们想对手写数字的 “图像空间” 进行明确的可视化,我们需要 “降低维度”,有效地将我们得到的 500 维向量投射到,例如,三维空间:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

我们刚刚谈到为图像创建一个特征(从而嵌入),有效地基于识别图像的相似性,确定(根据我们的训练集)它们是否对应于同一个手写数字。如果我们有一个训练集,比如说,确定每张图片属于 5000 种常见类型的物体(猫、狗、椅子…… ),我们就可以更普遍地对图片做同样的事情。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

通过这种方式,我们可以制作一个图像嵌入,它被我们对常见物体的识别所 “锚定”,但然后根据神经网络的行为 “围绕它进行概括”。关键是,只要这种行为与我们人类感知和解释图像的方式相一致,这将最终成为一个 “对我们来说是正确的” 的嵌入,并在实践中做 “类似人类判断” 的任务时有用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

好吧,那么我们如何遵循同样的方法来寻找单词的嵌入呢?关键是要从一个我们可以随时进行训练的关于单词的任务开始。而标准的任务是 “单词预测”。假设我们得到了 “the cat”。基于一个大型的文本语料库(比如说,网络上的文本内容),可能 “填空” 的不同单词的概率是多少?或者说,给定 “__ 黑 _”,不同的 “侧翼词” 的概率是多少?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

我们如何为神经网络设置这个问题?归根结底,我们必须用数字来表述一切。做到这一点的一个方法就是为英语中 5 万个左右的常用词中的每一个分配一个独特的数字。因此,例如,“the” 可能是 914,而 “cat”(前面有一个空格)可能是 3542。(这些是 GPT-2 所使用的实际数字。)所以对于 “the _ cat” 问题,我们的输入可能是{914, 3542}。输出应该是什么样子的呢?好吧,它应该是一个由 50000 个左右的数字组成的列表,有效地给出了每个可能的 “填充” 单词的概率。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

再一次,为了找到一个嵌入,我们要在神经网络 “达到结论” 之前 “拦截” 它的 “内部” —— 然后捡起在那里出现的数字列表,我们可以把它看作是 “每个词的特征”。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

好吧,那么这些表征是什么样子的呢?在过去的 10 年里,已经有一系列不同的系统被开发出来(word2vec, GloVe, BERT, GPT, …… ),每一个都是基于不同的神经网络方法。但最终,所有这些系统都是通过数百到数千个数字的列表来描述单词的特征。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

在它们的原始形式中,这些 “嵌入向量” 是相当无信息的。例如,这里是 GPT-2 产生的三个特定词的原始嵌入向量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

ChatGPT工作原理:嵌入的概念文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

如果我们做一些事情,比如测量这些向量之间的距离,那么我们就可以发现像单词的 “接近性” 这样的东西。稍后我们将更详细地讨论我们可能认为这种嵌入的 “认知” 意义。但现在主要的一点是,我们有一种方法可以有效地将单词变成 “神经网络友好” 的数字集合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

但实际上,我们可以更进一步,不仅仅是用数字的集合来描述单词;我们还可以对单词的序列,或者整个文本块进行描述。在 ChatGPT 中,它就是这样处理事情的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

它把目前得到的文本,生成一个嵌入矢量来表示它。然后,它的目标是找到接下来可能出现的不同词汇的概率。它将其答案表示为一个数字列表,该列表基本上给出了 50,000 个左右的可能词汇的概率。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

(严格地说,ChatGPT 不处理单词,而是处理 “符号” (token)—— 方便的语言单位,可能是整个单词,也可能只是 “pre” 或 “ing” 或 “ized” 这样的片段。使用符号使 ChatGPT 更容易处理罕见的、复合的和非英语的词汇,有时,无论好坏,都可以发明新的词汇。)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/41525.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ai/41525.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定