嵌入 (Embeddings):转换到低维空间

嵌入embedding是 你可以将空间转换为相对低维的空间, 高维向量。对于高维与 请参阅分类 数据 模块。

嵌入有助于更轻松地对大型语言模型进行机器学习 特征向量,例如 作为稀疏向量,表示 上一节。理想情况下,嵌入会捕获 将含义更相似的输入放在更接近的位置, 集中在嵌入空间中。例如,良好的嵌入会将 字词“汽车”靠近“车库”比“大象”更专业我们可以训练嵌入, 并在不同模型中重复使用。

为了理解嵌入向量如何表示信息,我们先来看一下 接下来是对菜肴的一维表示 热狗披萨saladshawarma罗施特 “最小为 三明治 设为“最像三明治”“三明治”是一个维度。

图 3. 沿着三明治轴(从最少到最多排列):
    罗宋汤、沙拉、披萨、热狗、沙威玛。
图 3. 以“三明治”为概念烹饪美食。

此行上的什么位置 苹果果馅卷 跌倒了?或者,可以将其放在 hot dogshawarma 之间。但是苹果 果馅卷似乎还具有另外一层甜味(即甜味 或甜点的性质(食物有多像甜点) 它与其他选项有很大不同下图直观地显示了 比如添加“甜度”维度:

图 4. 图片与之前相同,但纵轴为
    甜度。苹果果馅卷位于热狗和沙威玛之间,但位置偏高
    但与甜度轴相比较高。
图 4. 同时以“三明治”和“三明治”的形式标出食物和“dessertness”等字词。

嵌入表示 n 维空间中具有 n 的每一项 浮点数(通常介于 -1 到 1 或 0 到 1 之间)。 例如,图 4 中的嵌入表示 具有两个坐标的二维空间。“苹果果馅卷”项目位于 右上象限,可分配相应的点 (0.5, 0.3), 而“热狗”位于图表的右下象限 并且可以指定相应的点 (0.2, –0.5)。

在嵌入中,可以计算任意两个项之间的距离 从数学角度 可以解释为两者之间的相对相似度 项。两个距离很近的事物,例如 shawarmahot dog 与图 4 中的两个对象之间的距离, 例如 apple strudelborscht

另请注意,在图 4 的 2D 空间中,apple strudel 离 与在 1D 空间中的数量相比,前者从 shawarmahot dog 中获取, 直觉:apple strudel 不像热狗或沙威玛 狗和沙威玛是彼此相融合的。

现在考虑一下罗宋汤,它比其他物品的液性要多。这个 提供了第三个维度,即液态(食物的液态程度)。 添加该维度后,即可以 3D 形式直观呈现这些项目:

图 5. 图像与之前相同,但带有第三个流动轴
    而罗宋汤沿该轴移动很远
图 5. 系统会用“sandwichness”(三明治)绘制各种食物“dessertness”和 “液态性”

在这个 3D 空间中的什么位置 汤圆,去哪儿?时间是 像罗宋汤一样的汤,还有苹果馅饼等甜甜点, 而不是三明治。下面提供了一个可能的展示位置:

图 6. 图片和之前一样,不过将汤圆放在了高边
图 6. 正在为上一张图片添加汤圆,高度位于 “甜度”以及“流动性”而“三明治”也较少

请注意这三个维度表达了多少信息。 您可以想象到其他维度,如肉度或烘焙程度。

真实的嵌入空间

正如您在上面的食物示例中所看到的,即使是小型多维空间, 可以自由地将语义上相似的项归为一组, 相隔很远的不相似项。矢量中的位置(距离和方向) 空间可以对良好的嵌入中的语义进行编码。例如,以下 真实嵌入的可视化图说明了几何关系 表示某个国家/地区与其首都字词之间的界限。您可以看出, 来自“加拿大”飞往“渥太华”大约相当于从“土耳其”的距离更改为 “安卡拉”。

<ph type="x-smartling-placeholder">
</ph> 图 7. 三个表示字词的字词嵌入示例
      几何关系:性别(男/女和国王/女王大致相同
      长度相同)、动词时态(步行/步行和游泳/游泳)
      而首都城市(土耳其/安卡拉和越南/河内)
      大致相同)。 <ph type="x-smartling-placeholder">
</ph> 图 7.嵌入可以产生显著的类比。

有意义的嵌入空间有助于机器学习模型检测模式 。

锻炼

在本练习中,您将使用 Embedding Projector 工具,直观地呈现字词 名为 word2vec 的嵌入层, 在矢量空间中以数字方式表示超过 7 万个英语单词。

任务 1

请执行以下任务,然后回答下面的问题。

  1. 打开 Embedding Projector 工具。

  2. 在右侧面板中,在搜索字段中输入 atom 一词。然后 点击下方结果中的 atom 一词(在 4 个匹配项下)。您的 屏幕应如图 8 所示。

    <ph type="x-smartling-placeholder">
    </ph> 图 8. Embedding Projector 工具的屏幕截图,其中包含“atom”
    (已用红色圆圈圈住)。
    现在,工具中心使用“atom”一词注释其中一个点,
    还可以为附近的点添加文字注释。在“最近的
    分“原子”“分子”和“电子”已列出
    作为矢量空间中与“atom”最接近的字词。 <ph type="x-smartling-placeholder">
    </ph> 图 8.嵌入投影仪工具,带有“atom”一词已添加 。
  3. 再次在右侧面板中,点击 Isolate 101 points(隔离 101 点)按钮(位于 Search 字段),以显示与 atom 最接近的 100 个字词。您的屏幕 应如图 9 所示。

    <ph type="x-smartling-placeholder">
    </ph> 图 9.Embedding Projector 工具的屏幕截图,现在包含
    “隔离 101 点”(用红色圆圈圈出的按钮)。可视化图表
    现在,图 8 中的示例已更新为仅显示单词“atom”,且
    矢量空间中最接近的 100 个字词,其中包括“Atoms”一词、
    “nucleus”和“particle”。 <ph type="x-smartling-placeholder">
    </ph> 图 9.嵌入投影仪工具,现在提供“隔离 101 个点” (用红色圆圈圈出)。

现在,请查看原始空间中的最近的点下列出的字词。 您会如何描述这些字词?

点击此处获取答案

距离最近的字词大多是 将单词“atoms”替换为复数形式“atoms”,单词和 “electron”“分子”和“核子”。

任务 2

执行以下任务,然后回答下面的问题:

  1. 点击右侧面板中的显示所有数据按钮,以重置数据 从任务 1 开始。

  2. 在右侧面板中,在 Search(搜索)字段中输入 uranium 一词。 您的屏幕应如图 10 所示。

    <ph type="x-smartling-placeholder">
    </ph> 图 10。Embedding Projector 工具的屏幕截图,其中包含“uranium”
    。这张图表位于
    工具标注其中一个点“uranium”
    附近点的字词注释。在“最近的点”中列表,
    “coal”“isotope”“nickel”“oxide”“ore”“zinc”和
    “锰”被列为矢量空间中距离最近的字词,
    “uranium” <ph type="x-smartling-placeholder">
    </ph> 图 10.嵌入投影仪工具,带有“uranium”一词 。

查看原始空间中的最近的点下列出的字词。方法 这些字词与 atom 中最接近的字词是否不同?

点击此处获取答案

铀是指特定的放射性物质 化学元素,以及 许多最接近的字词都是其他元素,例如锌、锰、 黄铜和铝材。

任务 3

执行以下任务,然后回答下面的问题:

  1. 点击右侧面板中的显示所有数据按钮,以重置数据 直观呈现任务 2。

  2. 在右侧面板中,在搜索字段中输入 orange(橙色)。您的 屏幕应如图 11 所示。

    <ph type="x-smartling-placeholder">
    </ph> 图 11. Embedding Projector 工具的屏幕截图,其中显示“orange”
    。工具中心的可视化图表
    用单词“orange”标注其中一个点,
    附近地点的注释。在“最近的点”中列表,
    “黄色”“绿色”“蓝色”“紫色”和“颜色”已列出
    表示向量空间中最接近“橙色”的字词。 <ph type="x-smartling-placeholder">
    </ph> 图 11.嵌入投影仪工具,带有“橙色”字样 。

查看原始空间中的最近的点下列出的字词。 你注意到此处显示的字词类型以及字词类型 在此处显示?

点击此处获取答案

几乎所有最接近的字词都是其他颜色,例如“黄色”,“绿色” “蓝色”“紫色”和“红色”只有一个最接近的字词(“juice”) 指的是这个词的其他意思(柑橘类水果)。其他水果 如“apple”和“香蕉”等词,未列入 最接近的字词。

此示例说明了静态嵌入的一个主要缺点 例如 word2vec。一个单词的所有可能含义由一个 因此,当您对“橙色”区域进行相似度分析时,是 无法分离出特定表示法的最近点 字词的名称,如“orange”(水果),但不能使用“橙色”(颜色)。