通过非欧几何体改变 AI 嵌入

目录

一、说明

二、LLM嵌入的形势

三、了解一些背景信息

3.1 什么是嵌入? 

3.2 为什么嵌入在 NLP 中很重要?

3.3 复数Complex 几何的角色

3.4 C主动学习

3.5 角度嵌入 (AE):解锁稳健排序

3.6  RotatE:将关系建模为旋转

3.7  复数嵌入的好处

四. 超越距离:优化角度以增强语义辨别力

4.1. 余弦相似度的局限性

4.2  角度优化:AnglE的方法

  五、后记      


一、说明

        这是一篇大咖的论文阅读,是 Apple 首席工程师 Manny Ko 分享的精彩论文。这篇文章很大程度上是许多有趣的对话和来回的综合。对于LLM之所以引进复数嵌入,以及如何嵌入有清晰全面的理解,堪称里程碑式的作品。

二、LLM嵌入的形势

        目前的许多研究都集中在 LLM 架构、数据源提示和对齐策略上。虽然这些可以带来更好的性能,但此类开发有 3 个相互关联的关键缺陷——

  1. 它们主要通过增加训练和/或推理的计算成本来工作。
  2. 它们比人们意识到的要脆弱得多,并且不会导致许多 Benchmark Bros 假装的全面改进。
  3. 他们非常无聊。专注于发表文章/在基准测试上取得一些惨烈的胜利意味着这些论文专注于进行调整,而不是尝试新事物、突破界限并试图解决这些过程背后的更深层次问题。

        这就是导致“LLM正在碰壁”的印象。然而,有很多深入的研究具有改变游戏规则的影响。今天,我们将主要关注 4 篇出版物:

“AnglE 优化的文本嵌入”、

“RotatE:复杂空间中关系旋转的知识图谱嵌入”、

“角度嵌入:鲁棒二次准则”

“角度嵌入:一种新的角度鲁棒主成分分析”,

        以研究我们如何通过探索未触及的维度来改进嵌入——它们的角度。

        与其他方法相比,角度嵌入 (AE) 可以更好地减少 4 个类的维度。

三、了解一些背景信息

3.1 什么是嵌入? 

  • 嵌入将复杂的数据结构(单词、句子、知识图谱)表示为多维空间中的低维向量。理想情况下,您希望相似的概念靠得更近,而不同的概念则相距更远。

3.2 为什么嵌入在 NLP 中很重要?

  •  良好的嵌入允许三个重要的改进 - 效率:通过减少在较低维度上的操作,我们降低了计算成本;普遍化:嵌入使模型能够通过扩展见解/结构相似性来处理看不见的数据;改进的性能:在各种NLP任务中取得突破。
  • 当前嵌入的挑战: 当前的嵌入受到三件事的阻碍——对异常值的敏感性:标准方法极易受到错误数据的影响;有限关系建模:嵌入很难在非结构化文本中捕获复杂的关系;不一致: 比较基于特定数据域的相似性和不相似性变化。即使在同一个领域内,我们也可能在不同的成对排名中出现不一致的情况,这会扰乱全球排名;和计算成本:训练复杂的表示可能很昂贵。

        一旦您了解了这些挑战,我们就可以探索利用这些支柱的下一代嵌入——

3.3 复数Complex 几何的角色

        复杂的平面提供了一个更丰富的空间来捕捉细微的关系和处理异常值。对于文本嵌入,这使我们能够解决余弦相似度问题,称为饱和区 - 函数的梯度变得非常小,接近于零的区域。这可能会阻碍神经网络的学习过程,尤其是在反向传播期间。

 

余弦函数的饱和区。饱和区的梯度接近
于零。在反向传播过程中,如果梯度非常小,它可能会杀死梯度并使
网络难以学习。

关注角度而不是大小可以避免余弦函数的饱和区,从而实现更有效的学习和更精细的语义区分。

(a) 复杂空间中的划分。∆θ 是复空间中除数 z 和除数 w
之间的角度差。(b) 余弦饱和区的角度优化。尽管 ∆y ≈ 0 可能会杀死
梯度,但复杂空间中相应的角度差对于优化来说仍然很明显。

那些在我们介绍自然渐变时在场的人可能会看到,使用几何信息(传统技术忽略了)来达到更好的性能的想法有一些强烈的相似之处。

Orthogonality:表示嵌入空间的维度彼此独立这允许每个维度表示一个不同的特征或概念,而不受其他维度的影响。例如,如果嵌入具有“颜色”和“形状”的维度,则“颜色”维度的更改不应影响“形状”维度。这种独立性有助于模型捕获更细微的关系,并避免特征之间意外的关联。在知识图谱中,正交性可以提高表示和推断实体和关系之间复杂关系的能力。

        “在本文中,我们提出了一种称为RotatE的知识图谱嵌入新方法,该方法能够建模和推断各种关系模式,包括:对称/反对称、反转和组合。具体而言,RotatE模型将每个关系定义为复杂向量空间中从源实体到目标实体的旋转”

3.4 C主动学习

         对比学习是一种训练技术,它鼓励相似的例子具有相似的嵌入,鼓励不同的例子具有不同的嵌入。该模型通过比较示例和最小化相似对之间的距离,同时最大化不同对之间的距离来学习。 对比学习在文本嵌入方面有一些历史,但特别是负面样本没有得到充分利用——

        将这些技术融合在一起具有很大的潜力。我们已经介绍了复杂网络在计算机视觉和音频处理中的效用。不难看出,如何将所有这些结合起来构建丰富的多模态嵌入。

        在本文的其余部分,我们将详细介绍如何对裸 LLM 和知识图谱使用复杂嵌入。

        LLM监督学习的过程。对于 STS(语义文本相似性)任务,我们使用提示“You is a highly smart same-meaning/anti-meaning sentence generating system.您的工作是
生成给定输入句子的 {size} 同义/反义句子。输入句子:{text}。
输出:

        “生成正/负对。{size} 和 {text} 分别是生成的大小和输入文本的占位符。

1. 通过复杂空间中的嵌入来提高鲁棒性和更丰富的语义

3.5 角度嵌入 (AE):解锁稳健排序

总而言之,LS 和 AE 的区别不在于它们的标准,而在于它们的表示。对于 LS 和 AE,方差和距离标准导致相同的最优值。AE 表示单个复数中成对局部排序的大小和置信度,并对其转移矩阵的特征向量中最佳全局排序的大小和置信度进行编码。作为复数域中的二次准则,AE具有非凸误差函数,该函数对小误差更敏感,同时对大误差更鲁棒。AE 最优值可以看作是迭代 LS 过程的结果,其中局部排序的置信度根据嵌入误差的大小进行调整。

        “Angular Embedding: A Robust Quadratic Criterion”提出了一个有趣的变化,即我们如何表示和处理排序信息。AE 没有使用传统的线性空间,而是利用复数域,将成对比较编码为单位圆内的复数。

LS 和 AE 在用于编码全局排序 X(LS 的线性空间与 AE 的角度空间)和用于测量秩保持质量的目标函数“ðXÞ”(最小化 LS 嵌入的邻居估计的方差与最小化嵌入与其邻域平均值之间的距离)方面有所不同。

这种方法不仅捕捉了两个元素之间差异的大小(例如,“A 比 B 好 2 分”),还捕捉了我们对该比较的信心(例如,“我们有 80% 的把握 A 比 B 好”)。角度表示也对表示产生了深远的影响——AE 的误差函数是非凸的,这意味着它具有多个局部最小值。这种类型的误差函数对小误差更加敏感,允许对嵌入进行微调,但对大异常值不太敏感,从而防止它们对整体解产生重大影响。

你们中的一些人可能想知道为什么会这样。以 MSE(或此处为 LS)等凸函数为例。当误差 (<1) 小于平方时,减小值 (0.5 *0.5 =0.25)。当误差较大时,平方会增加误差 (2*2=4)。像 MAE(或 AE)这样的非凸函数将翻转这种动态。

不要盲目使用东西。我们使用的算法(甚至是基础算法)是有深度的。研究它们。源

我们可以在下图中看到这一点。虽然 LS 和 AE 都可以在正常情况下毫无问题地重建基本实况,但当我们添加更多异常值时,AE 绝对是 LS 的儿子。

在复数域中具有二次准则的 AE 对异常值非常鲁棒,这与其真实域对应物 LS 不同。(a) 高度范围为1,最大梯度大小为0.16的地面实况表面。(b) 将1/4 0:05的高斯噪声与2个城市街区距离内像素之间的成对高度差相加。LS 和 AE 对这些差异的积分显示出相当的重建,两者的标准误差均为 0.0085。© 将值 3 的均匀分布异常值添加到这些嘈杂高度差的 10% 中。LS的标准误差为0.1666,AE的标准误差为0.0184。LS重建的表面几乎无法识别,而AE重建的表面仍然与地面实况表面非常接近

然而,这远不是我们可以使用复数进行嵌入的唯一方法。

3.6  RotatE:将关系建模为旋转

《RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space》使用复数进行知识图谱嵌入。作者将关系建模为复向量空间中的旋转。我们采用三元组<h,r,t>(head,relation,tail),它模拟了关系r,b/w,h和t。RotatE 的关键思想是,尾部实体嵌入是通过根据关系的嵌入旋转头部实体嵌入来获得的。

正如你所看到的,这种方法允许我们同时捕获两个实体之间的关系(而不必单独定义它们)。这似乎微不足道,但我想提请您注意两件重要的事情。首先,这是在 2019 年写的。其次,SOTA LLM 很难捕捉到那些不是以正常方式构建的关系,并且当结构与他们的预训练非常不同时(即他们的泛化比 League 2 玩家更糟糕)时就会失败

大型语言模型不理解语言

由于 RotatE 使用 Geometry,因此它没有这些问题。我们需要做的就是用基本逻辑来定义相关关系——

        然后嘘嘘复杂平面上的实体。如果角度/关系 b/w 它们符合我们预定义的规则(if 语句),那么我们知道它们符合我们的一种模式——

RotatE:模拟 ri = −1 的对称关系 r 的示例

        我觉得这里有一个教训,但我不太能找到它。也许我的新 Gen-AI 驱动的聊天机器人可以帮助我。我将在我的 NFT 电子书中发布结果,涵盖协同 AI 算法、支持区块链的神经网络和量子驱动的机器学习,以优化元宇宙以实现最大的破坏。

        现在你们中的一些人可能想知道为什么我们在这里使用复杂的嵌入。而这正是你应该做的那种想法。毕竟,匹配角度可以用实数完成。那么复数有什么优势呢?什么可以证明复杂平面的开销和额外的复杂性是合理的?接下来让我们谈谈这个问题。

3.7  复数嵌入的好处

        使用复数进行嵌入具有以下几个关键优点:

  • 增加代表能力:复数有两个分量(实数和虚数),而实数只有一个分量,因此具有更高的表现力。此外,围绕单位圆构建了复杂的分析。这种周期性使其能够很好地适应相位数据:图像、信号等。这与实数有很大不同,也是复值神经网络的最大优势之一——

  • 复杂几何-正如令人惊奇的 CoshNet 论文向我们展示的那样,“CVnn 的决策边界由两个正交相交的超曲面组成(图 7),并将决策区域划分为四个相等的部分。此外,3层CVnn的决策边界几乎保持正交[27]。这种正交性改善了泛化。例如,几个不能用单个真实神经元解决的问题(例如Xor),可以使用正交性质用单个复值神经元来解决。 此外,它们是函数既不达到局部最大值也不达到局部最小值的临界点。

图片来源

为什么这很重要?在鞍点处,损失函数的导数仍然等于 0。然而,正如作者所指出的,“具有随机inits的SGD可以在很大程度上避免鞍点[29] [30],但不是局部最小值。这种行为可能允许更快的收敛,因为算法不会卡在局部最小值中。总体而言,复合体中独特的几何形状使我们能够快速达到稳定的收敛,而无需特殊的超参数搜索和性能,从而节省了大量计算。

  • 强大的功能:使用复杂的函数来处理数据,使我们能够捕获更强大的功能,从而提高管道的稳健性。

你们中的一些人是阿森纳的球迷,因此无法完成工作。你可以在这里辍学。但是,请记住,复平面的好处来自其基于单位圆的几何形状。这意味着,通过构建基础来反映这一点,可以释放复杂嵌入的真正好处。让我们介绍一下接下来如何。

四. 超越距离:优化角度以增强语义辨别力

4.1. 余弦相似度的局限性

        虽然在文本嵌入中广泛使用,但余弦相似度函数有一个关键的局限性:饱和区。当两个嵌入高度相似或不同时,余弦函数的梯度变得非常小。这可能导致优化过程中梯度消失,从而难以学习文本嵌入之间的细微语义区别。

对于受监督的STS(Reimers&Gurevych,2019;Su, 2022),迄今为止,大多数工作都在其训练目标中使用余弦函数来测量成对语义相似性。但是,余弦函数具有饱和区,如图 1 所示。由于梯度消失问题,它可能会阻碍优化,并阻碍在反向传播中学习文本之间细微区别的能力。此外,许多 STS 数据集(如 MRPC 1 和 QQP 2)提供表示不同 (0) 和相似 (1) 的二元标签,这些标签自然落在余弦函数的饱和区内。

让我们谈谈如何解决它。

4.2  角度优化:AnglE的方法

“AnglE-optimized Text Embeddings”一文通过AnglE解决了这一挑战,AnglE是一种文本嵌入模型,专注于优化复杂空间中的角度差异。“它不仅优化了文本之间的余弦相似性,还优化了角度,以减轻余弦函数饱和区对学习过程的负面影响。 具体来说,它首先将嵌入的文本在复杂空间中分为真实部分和虚构部分。然后,在复数空间中遵循除法规则来计算两个文本嵌入之间的角度差。归一化后,角度差成为要优化的目标。优化归一化角度差是直观的,因为如果两个文本嵌入之间的归一化角度差越小,则意味着两个文本嵌入在复杂空间中彼此更接近,即它们的相似度更大。这在亮点中显示的图中得到了证明——

(a) 复杂空间中的划分。∆θ 是复空间中除数 z 和除数 w
之间的角度差。(b) 余弦饱和区的角度优化。尽管 ∆y ≈ 0 可能会杀死
梯度,但复杂空间中相应的角度差对于优化来说仍然很明显。

结果最终结果是——“另一方面,AnglE 的表现始终优于 SBERT,实现了 5.52% 的绝对收益。这可以支持这样一种观点,即角度优化的文本嵌入可以减轻余弦函数的负面影响,从而获得更好的性能。AnglE 最终改进了 LLM,“很明显,AnglE-BERT 和 AnglE-LLaMA 始终优于基线,平均得分分别比之前的 SOTA SimCSE-BERT 和 SimCSE-LLaMA 提高了 0.80% 和 0.72%。

表 2:STS 任务的文本嵌入性能。我们报告了 SentEval 计算的“all”设置的 Spearman 相关性 ρ ×
100。对于基于监督LLaMA的模型,我们使用LoRA(胡等人,2021)技术对其进行了微
调,并使用了(江等人,2023)触发的提示“用一个词总结句子
{句子}:”。标有†的结果来自(Reimers & Gurevych, 2019),而标有‡的结果来自(Gao et al., 2021)。
        此外,标有 ⋆ 的结果表示我们自己使用官方代码实现。对于其余的基线,我们参考相应的原始论文以获得其结果。

        AnglE 在传输和非传输设置方面的优势,其生成高质量文本嵌入的能力,以及其对不同主干的鲁棒性和适应性

        这是构建复杂嵌入的两个主要组件。这些论文还利用了对比学习+自我对抗学习。我们将在稍后的日期,在更侧重于数据生成和后台设置的文章中介绍这些内容。现在,我出去了。

如果您喜欢这篇文章并希望分享它,请参阅以下指南。

  五、后记      

        感谢您抽出宝贵时间。与往常一样,如果您有兴趣与我合作或查看我的其他。此种题目的引入才刚刚开始,有更多论文希望大家关注。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

探索 Python 的 vars() 函数

大家好&#xff0c;在软件开发的过程中&#xff0c;调试是一个不可或缺的环节。无论你是在解决 bug&#xff0c;优化代码&#xff0c;还是探索代码的执行流程&#xff0c;都需要一些有效的工具来帮助你更好地理解和调试代码。在 Python 编程中&#xff0c;vars() 函数是一个非常…

无人机路径规划:基于鸽群优化算法PIO的无人机三维路径规划MATLAB代码

一、无人机模型介绍 无人机三维航迹规划_无人机航迹规划-CSDN博客 二、部分代码 close all clear clc warning (off) global model global gca1 gca2 gca3 gca4 model CreateModel(); % Create search map and parameters load(BestPosition5.mat); load(ConvergenceCurve5…

【Linux】Linux的权限_1

文章目录 三、权限1. shell外壳2. Linux的用户3. Linux权限管理文件访问者的分类文件类型和访问权限 未完待续 三、权限 1. shell外壳 为什么要使用shell外壳 由于用户不擅长直接与操作系统直接接触和操作系统的易用程度、安全性考虑&#xff0c;用户不能直接访问操作系统。 什…

GIS、GPS、RS综合应用

刘老师&#xff08;副教授&#xff09;&#xff0c;北京重点高校资深专家&#xff0c;拥有丰富的科研及工程技术经验&#xff0c;长期从事3S在环境中的应用等领域的研究和教学工作&#xff0c;具有资深的技术底蕴和专业背景。 第一章、3S 技术及应用简介 1.1、3S 技术及集成简…

C++20 范围(Range):简化集合操作

C20 范围&#xff1a;简化集合操作 一、范围&#xff08;Range&#xff09;的目的二、在模板函数中使用范围概念三、投影四、视图五、结论 一、范围&#xff08;Range&#xff09;的目的 在 C20 中&#xff0c;范围概念要求一个对象同时拥有迭代器和结束哨兵。这在标准集合的上…

STM32HAL-最简单的长、短、多击按键框架

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 本文章使用最简单的写法实现长、短、多击按键框架&#xff0c;非常适合移植各类型单片机&#xff0c;特别是资源少的芯片上。接下来将在stm32单片机上实现&#xff0c;只需占用1个定时…

定个小目标之每天刷LeetCode热题(7)

今天这道题是道简单题&#xff0c;使用双指针进行迭代即可&#xff0c;画了下草图如下 代码如下 class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode p head, q head.next, temp null;while (q ! nu…

电脑缺少dll文件怎么解决,分享几种靠谱的解决方法

在现代科技高度发达的时代&#xff0c;电脑已经成为我们生活和工作中不可或缺的工具。然而&#xff0c;在使用电脑的过程中&#xff0c;我们可能会遇到一些问题&#xff0c;其中之一就是电脑丢失dll文件。那么&#xff0c;当我们面临这样的问题时&#xff0c;应该如何解决呢&am…

全新市场阶段,Partisia BlockChain 将向 RWA、DeFi 等领域布局

Partisia Blockchain 是一个全新范式的 Layer1&#xff0c;该链通过 MPC 方案来构建链上隐私方案&#xff0c;同时该链通过系列独特且创新的设计&#xff0c;旨在进一步解决目前 Web3 中所面临的不可能三角问题&#xff0c;包括安全性、互操作性和可扩展性&#xff0c;为更多的…

Mac安装pytorch(二)

书接上回&#xff0c;配置好了pytorch环境后&#xff0c;看看是否真的能用 终端输入一下代码&#xff1a; import torch xtorch.rand(3,4) print(x) 出现这些后表明安装完成&#xff0c;可使用 接下来在pycharm中使用 打开设置

Django表单革命:打造安全、高效、用户友好的Web应用

Django表单处理&#xff0c;听起来是不是有点枯燥&#xff1f;别急&#xff0c;阿佑将带你领略Django表单的艺术之美。我们将以轻松幽默的语言&#xff0c;一步步引导你从表单的创建到管理&#xff0c;再到验证和自定义&#xff0c;让你在不知不觉中掌握Django表单的精髓。文章…

【工具】探索 DOU:每用户数据使用量

缘分让我们相遇乱世以外 命运却要我们危难中相爱 也许未来遥远在光年之外 我愿守候未知里为你等待 我没想到为了你我能疯狂到 山崩海啸没有你根本不想逃 我的大脑为了你已经疯狂到 脉搏心跳没有你根本不重要 &#x1f3b5; 邓紫棋《光年之外》 什么是 DOU…

cocos creator 3.x 手搓背包拖拽装备

项目背景&#xff1a; 游戏背包 需要手动 拖拽游戏装备到 装备卡槽中&#xff0c;看了下网上资料很少。手搓了一个下午搞定&#xff0c;现在来记录下实现步骤&#xff1b; 功能拆分&#xff1a; 一个完整需求&#xff0c;我们一般会把它拆分成 几个小步骤分别造零件。等都造好了…

C语言笔记第10篇:内存函数

上一篇的字符串函数只是针对字符串的函数&#xff0c;而内存函数是针对内存块的&#xff0c;不在乎内存中存储的数据&#xff01;这就是字符串函数和内存函数的区别。 准备好爆米花&#xff0c;正片开始 1、memcpy的使用和模拟实现 memcpy库函数的功能&#xff1a;任意类型数…

数据结构严蔚敏版精简版-绪论

1.基本概念和术语 下列概念和术语将在以后各章节中多次出现&#xff0c;本节先对这些概念和术语赋予确定的含义。 数据(Data)&#xff1a;数据是客观事物的符号表示&#xff0c;是所有能输入到计算机中并被计算机程序处理的符号 的总称。 数据元素(DataElement)&#xff1a;…

【CC2530-操作外部flash】

zigbee cc2530操作flash&#xff0c;以cc2530读flash_id为例子&#xff1b; void InitIO() {CLKCONCMD & ~0x40; //设置系统时钟源为32MHZ晶振 while(CLKCONSTA & 0x40); //等待晶振稳定为32M CLKCONCMD & ~0x47; //设置系统主时钟频率为32MHZ…

【自动驾驶】针对低速无人车的线控底盘技术

目录 术语定义 一般要求 操纵装置 防护等级 识别代号 技术要求 通过性要求 直线行驶稳定性 环境适应性要求 功能安全要求 信息安全要求 故障处理要求 通信接口 在线升级(OTA) 线控驱动 动力性能 驱动控制响应能力 线控制动 行车制动 制动响应能力 线控转向 总体要求 线控…

防火墙技术基础篇:基于NSP配置L2TP VPN

防火墙技术基础篇&#xff1a;基于eNSP配置L2TP VPN 一、L2TP VPN概念 L2TP&#xff08;Layer 2 Tunneling Protocol&#xff09;&#xff0c;即第二层隧道协议&#xff0c;是一种基于点对点协议&#xff08;PPP&#xff09;的二层隧道协议。它结合了PPTP&#xff08;Point-t…

Docker的安装、启动和配置镜像加速

前言&#xff1a; Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 而企业部署一般都是采用Linux操作系统&#xff0c;而…

Android关闭硬件加速对PorterDuffXfermode的影响

Android关闭硬件加速对PorterDuffXfermode的影响 跑的版本minSdk33 编译SDK34 import android.content.Context import android.graphics.Bitmap import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Port…