AIGC系列之一-一文理解什么是Embedding嵌入技术

news2025/1/12 22:52:18

摘要:嵌入技术(Embedding)是一种将高维数据映射到低维空间的技术,在人工智能与图形学研究中被广泛应用。本文将介绍嵌入技术的基本概念、原理以及在 AIGC(Artificial Intelligence and Graphics Computing)和实际应用场景中的应用。

什么是‍‍Embedding

原理是什么‍

有哪些应用场景‍‍‍‍‍‍‍‍‍

01

什么是Embedding‍‍

Embedding模型是一种在机器学习和自然语言处理中广泛应用的技术,它旨在将高维度的数据(如文字、图片、视频等)映射到低维度的空间。Embedding向量是一个N维的实值向量,它将输入的数据表示成一个连续的数值空间中的点。这种嵌入可以是一个词、一个类别特征(如商品、电影、物品等)或时间序列特征等。通过学习,Embedding向量可以更准确地表示对应特征的内在含义,使几何距离相近的向量对应的物体有相近的含义。Embedding层往往是神经网络的第一层,它可以训练,可以学习到对应特征的内在关系。一个模型学习到的Embedding,也可以被其他模型重用。Embedding的目标是在大数据中体现相关性的主体,通过Embedding向量表征学习到主体的向量信息,使用向量度量公式也能体现出主体间的相关性。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

使用通俗易懂的语言来表达embedding技术,是使用一种模型生成方法,将非结构化的数据,例如文本、图片、视频等数据映射成向量数据,向量都是由数值表达的向量,向量可以被计算机直接处理。同时,生成的向量还可以表达事物本身的关联性和特征,例如图片的相关性,语意相关性等。

图片

图片

如上图所示,目前生成embeding方法的模型有如下几类:‍‍‍‍‍‍‍‍

1、Word2Vec:

Word2Vec 是一种词嵌入(Word Embedding)模型,是嵌入技术在自然语言处理中的一个典型应用。这个模型通过学习将单词转化为连续的向量表示,以便计算机更好地理解和处理文本。

Word2Vec 模型基于两种主要算法:CBOW(Continuous Bag of Words)和 Skip-gram。CBOW 模型根据上下文单词预测目标单词,而 Skip-gram 模型则根据目标单词预测上下文单词。通过训练模型,可以得到每个单词的向量表示,这些向量具有一定的语义信息,能够反映单词之间的相似性和差异性。

2、GloVe:

GloVe(Global Vectors for Word Representation)是一种用于自然语言处理的词嵌入模型,它与其他常见的词嵌入模型(如Word2Vec和FastText)类似,可以将单词转化为连续的向量表示。

GloVe模型的原理是通过观察单词在语料库中的共现关系,学习得到单词之间的语义关系。具体来说,GloVe模型将共现概率矩阵表示为两个词向量之间的点积和偏差的关系,然后通过迭代优化来训练得到最佳的词向量表示。

GloVe模型的优点是它能够在大规模语料库上进行有损压缩,得到较小维度的词向量,同时保持了单词之间的语义关系。这些词向量可以被用于多种自然语言处理任务,如词义相似度计算、情感分析、文本分类等。

3、FastText:

FastText是一种基于词袋模型的词嵌入技术,与其他常见的词嵌入模型(如Word2Vec和GloVe)不同之处在于,FastText考虑了单词的子词信息。

FastText的核心思想是将单词视为字符的n-grams的集合,在训练过程中,模型会同时学习单词级别和n-gram级别的表示。这样可以捕捉到单词内部的细粒度信息,从而更好地处理各种形态和变体的单词。

与其他模型相比,FastText的优势在于它能够处理未登录词(Out-of-Vocabulary)和稀疏词,因为它可以通过子词信息对这些词进行建模。另外,FastText还能够处理各种语言的文本数据,并且具有快速训练和推断速度的优势。

4、大模型的 Embeddings:如OpenAI官方发布的 第二代模型:text-embedding-ada-002。它最长的输入是8191个tokens,输出的维度是1536。

1、降维: 在许多实际问题中,原始数据的维度往往非常高。例如,在自然语言处理中,如果使用One-hot编码来表示词汇,其维度等于词汇表的大小,可能达到数十万甚至更高。通过Embedding,我们可以将这些高维数据映射到一个低维空间,大大减少了模型的复杂度。

2、捕捉语义信息: Embedding不仅仅是降维,更重要的是,它能够捕捉到数据的语义信息。例如,在词嵌入中,语义上相近的词在向量空间中也会相近。这意味着Embedding可以保留并利用原始数据的一些重要信息。

3、适应性: 与一些传统的特征提取方法相比,Embedding是通过数据驱动的方式学习的。这意味着它能够自动适应数据的特性,而无需人工设计特征。

4、泛化能力: 在实际问题中,我们经常需要处理一些在训练数据中没有出现过的数据。由于Embedding能够捕捉到数据的一些内在规律,因此对于这些未见过的数据,Embedding仍然能够给出合理的表示。

5、可解释性: 尽管Embedding是高维的,但我们可以通过一些可视化工具(如t-SNE)来观察和理解Embedding的结构。这对于理解模型的行为,以及发现数据的一些潜在规律是非常有用的。

图片

02

原理是什么‍‍‍

为了更好理解embedding的原理我们来以GloVe 来说明详细过程

1、这是一个单词“king”的词嵌入(在维基百科上训练的GloVe向量)得到的结果是:‍

[ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , 0.78321 , -0.91241 , -1.6106 , -0.64426 , -0.51042 ]

2、这是一个包含50个数字的列表。通过观察数值我们看不出什么,但是让我们稍微给它可视化,以便比较其它词向量。我们把所有这些数字放在一行:

图片

图片

3、让我们根据它们的值对单元格进行颜色编码(如果它们接近2则为红色,接近0则为白色,接近-2则为蓝色):

图片

图片

4、我们将忽略数字并仅查看颜色以指示单元格的值。现在让我们将“king”与其它单词进行比较:

图片

图片

5、看看“Man”和“Woman”彼此之间是如何比它们任一一个单词与“King”相比更相似的?这暗示你一些事情。这些向量图示很好的展现了这些单词的信息/含义/关联。

6、这是另一个示例列表(通过垂直扫描列来查找具有相似颜色的列):

图片

图片

有几个要点需要指出:

1.所有这些不同的单词都有一条直的红色列。它们在这个维度上是相似的(虽然我们不知道每个维度是什么)

2.你可以看到“woman”和“girl”在很多地方是相似的,“man”和“boy”也是一样

3.“boy”和“girl”也有彼此相似的地方,但这些地方却与“woman”或“man”不同。这些是否可以总结出一个模糊的“youth”概念?可能吧。

4.除了最后一个单词,所有单词都是代表人。我添加了一个对象“water”来显示类别之间的差异。你可以看到蓝色列一直向下并在 “water”的词嵌入之前停下了。

5.“king”和“queen”彼此之间相似,但它们与其它单词都不同。这些是否可以总结出一个模糊的“royalty”概念?

以上内容来源:

https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=2247511995&idx=3&sn=303fcab878857a60bdba6c99aae2d60e&chksm=fb3a0ab0cc4d83a673b909035cd0534f97101303e02f744bb776890f3af8d8472b953e4b56ea&scene=27

通过上面可视化分析,embedding技术将非结构化的数据表达成向量数据,并保留事物之间的关联性等特征。

03

有哪些应用场景

图片

图片

常见的应用

嵌入(embedding)在文本分类和推荐系统中的应用非常常见。嵌入技术可以将文本数据转化为连续的向量表示,从而使计算机能够更好地理解和处理文本数据。

在文本分类任务中,嵌入可以用来提取文本的特征表示。通过将单词或句子转化为嵌入向量,可以将文本表示为固定长度的向量,然后可以将这些向量输入到分类模型中进行训练和预测。嵌入向量能够捕捉到单词或句子之间的语义相似性,从而提高文本分类的准确性和效果。

在推荐系统中,嵌入也可以用来表示物品或用户的特征。通过将商品或用户转化为嵌入向量,可以计算出它们之间的相似度,然后根据相似度进行商品推荐或用户个性化推荐。嵌入向量可以将物品或用户的特征表示为连续的向量,使得推荐系统能够更好地理解和匹配不同的物品或用户。

图片

图片

embedding 在AIGC中的应用

在AIGC的使用中有2个问题困扰着用户‍‍

1、AIGC的训练内容是历史数据,最新数据不包含,如果用户想输入新的内容给AIGC存在隐私风险‍‍‍

2、AIGC对于输入长文本例如PDF内容有困难

基于以上两点,使用embedding技术可以解决这两项问题。

1、使用内容向量化存储在向量数据库,输入给AIGC为向量数据,从而避免了隐私风险。‍

2、通过向量化,将内容切片存储到向量数据库中,当需要使用的时候,AIGC从向量数据库搜索使用。

具体步骤如下:

1.文档切分

2.建立子文档embedding与索引表

3.将LLM任务与子文档embedding做相似度匹配

4.基于LLM产出最终结果

【书籍问答任务】

假设我们有一本讲述人类历史的书籍,我们希望从中提取关于某个重要历史人物的信息,但不想阅读整个文件。为了实现这个任务,我们可以使用嵌入(embedding)和语言模型(LLM)来进行文档构建和内容匹配。

在文档构建阶段,我们可以将PDF文件的文本内容切分成若干子块。然后,使用嵌入模型将每个子文本块转换为向量数组,每个向量表示一个子文本块的语义信息。这些向量数组可以被存储在向量数据库中,并与原始文本块建立索引,以便后续的内容匹配阶段使用。

在内容匹配阶段,当我们需要回答关于该PDF文件的问题时,我们首先使用嵌入模型将问题转换为向量数组。然后,使用相似性度量函数(如余弦相似度)将问题向量与PDF文件的向量进行比较,找到语义上最相关的若干个文本块。接下来,将找到的最相关文本块与问题一起输入到LLM(如GPT-3)中,以得到准确的回答。

通过将嵌入和LLM结合,我们可以实现特定的长文本任务。当前一些类似chatPDF和文档问答产品都采用了类似的技术流程。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

轻松上手MYSQL:MYSQL事务隔离级别的奇幻之旅

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索MYSQL索引数据结构之旅✨ 👋 大家好!文本学习…

C++封装、继承、多态的应用---职工管理系统

C封装、继承、多态的应用—职工管理系统 文章目录 C封装、继承、多态的应用---职工管理系统1.需求分析2.抽象类的建立2.1抽象基类2.2员工类2.3经理类2.4老板类2.5存储类 3.抽象类的实现4.功能函数的实现4.1菜单功能的实现4.2增加职工功能函数实现4.2显示职工功能函数实现4.3删除…

力扣SQL50 销售分析III having + 条件计数

Problem: 1084. 销售分析III 👨‍🏫 参考题解 Code select s.product_id,p.product_name from sales s left join product p on s.product_id p.product_id group by product_id having count(if(sale_date between 2019-01-01 and 2019-03-31,1,nu…

【2024最新版】Mysql数据库安装全攻略:图文详解(Windows版本)

目录 1. 引言1.1 MySQL特性1.2 开源1.3 跨平台支持1.4 编程接口1.5 系统特性1.6 性能优势 2. 安装版本选择3. 安装MySQL3.1 下载MySQL3.2 安装MySQL 1. 引言 MySQL是一种流行的关系型数据库管理系统(RDBMS),具有高度的可靠性、可扩展性和性能…

C++系列-String(二)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” #define _CRT_SECURE_NO_WARNINGS #include<string> #include<iostream> #include<list> #include<algorithm> using namespace std; void test_string…

计算机组成入门知识

前言&#x1f440;~ 数据库的知识点先暂且分享到这&#xff0c;接下来开始接触计算机组成以及计算机网络相关的知识点&#xff0c;这一章先介绍一些基础的计算机组成知识 一台计算机如何组成的&#xff1f; 存储器 CPU cpu的工作流程 主频 如何衡量CPU好坏呢&#xff1f…

基于stm32的温度采集并且显示

目录 一、I2C总线通信协议 &#xff08;一&#xff09;I2C简介 &#xff08;二&#xff09;I2C物理层 &#xff08;三&#xff09;I2C协议层 1、I2C基本读写过程 2、通信的起始和停止信号 3、数据的有效性 4、地址及数据方向 5、响应 &#xff08;四&#xff09;软件I…

常说的云VR是什么意思?与传统vr的区别

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种利用计算机技术模拟产生一个三维空间的虚拟世界&#xff0c;让用户通过视觉、听觉、触觉等感官&#xff0c;获得与现实世界类似或超越的体验。VR技术发展历程可追溯至上世纪&#xff0c;经历概念提出、…

方差分析【单/双因素方差分析】

文章目录 方差分析一、单因素方差分析&#xff08;Analysis of Variance&#xff09;1.方差分析在做什么&#xff1f;2.方差分析的思路&#xff1a;3.方差分析中的计算&#xff1a;4.构造F统计量&#xff1a; 二、双因素方差分析(Two-way ANOVA)1.双因素方差分析在做什么&#…

HCIA 18 结束 企业总部-分支综合实验(上)

1.实验介绍及拓扑 &#xff08;1&#xff09;总部和分支机构都可以上互联网访问8.8.8.8&#xff1b; &#xff08;2&#xff09;总部和分支机构使用广域网专线互访作为主线&#xff0c;并且通过互联网建立GRE隧道互访作为备线&#xff1b; &#xff08;3&#xff09;总部内为…

【database3】oracle:数据交换/存储/收集

文章目录 1.oracle安装&#xff1a;swap&#xff0c;dd1.1 创建swap交换区&#xff1a;grep MemTotal /proc/meminfo &#xff08;安装Oracle物理内存要求1024MB以上&#xff09;&#xff0c;grep SwapTotal /proc/meminfo1.2 安装依赖包及改系统核心参数&#xff1a;关闭一些系…

机器学习算法(二):1 逻辑回归的从零实现(普通实现+多项式特征实现非线性分类+正则化实现三个版本)

文章目录 前言一、普通实现1 数据集准备2 逻辑回归模型3 损失函数4 计算损失函数的梯度5 梯度下降算法6 训练模型二、多项式特征实现非线性分类1 数据准备与多项式特征构造2 逻辑回归模型三、逻辑回归 --- 正则化实现1 数据准备2 逻辑回归模型3 正则化损失函数4 计算损失函数的…

Cyber Weekly #12

赛博新闻 1、Anthropic发布Claude 3.5 Sonnet 本周五&#xff08;6月21日&#xff09;凌晨&#xff0c;Anthropic宣布推出其最新的语言模型Claude 3.5 Sonnet&#xff0c;距离上次发布Claude3才过去3个月。Claude3.5拥有20万token的长上下文窗口&#xff0c;目前已经在Claude…

企业中订单超时关闭是怎么做的?我说用延迟消息,面试官让我回去等消息?

文章目录 背景时序图方案对比方案一 被动关闭方案二 定时关闭方案三 Rocket MQ延迟消息 总结 背景 订单超时未支付是电商中的一个核心场景&#xff0c;当用户创建订单后&#xff0c;超过一定时间没有支付&#xff0c;平台需要及时将该订单关闭。需要关闭的主要原因有以下几个&…

初中英语优秀作文分析-005How to Plan Our Life Wisely-如何明智地规划我们的生活

PDF格式公众号回复关键字:SHCZYF005 记忆树 1 The “double reduction policy” reduces the burden on students and offers us more spare time than before, but how to plan our life wisely? 翻译 “双减政策”减轻了学生的负担&#xff0c;给了我们比以前更多的业余…

预备资金有5000-6000买什么电脑比较好?大学生电脑选购指南

小新pro14 2024 处理器&#xff1a;采用了英特尔酷睿Ultra5 125H或Ultra9 185H两种处理器可选&#xff0c;这是英特尔最新的高性能低功耗处理器&#xff0c;具有18个线程&#xff0c;最高可达4.5GHz的加速频率&#xff0c;支持PCIe 4.0接口&#xff0c;内置了强大的ARC核芯显卡…

Windows Update Blocker 完全禁用或启用Windows系统上的自动更新,一键阻止,无需额外操作!

你是否曾因为突如其来的系统更新而感到手忙脚乱&#xff1f;Windows Update Blocker v1.8让你只需一键&#xff0c;即可完全禁用或启用Windows系统上的自动更新&#xff0c;不需要任何的额外操作&#xff0c;只需要打开软件&#xff0c;点击应用即可关闭Windows系统上的自动更新…

DVWA-CSRF-samesite分析

拿DVWA的CSRF为例子 接DVWA的分析&#xff0c;发现其实Impossible的PHPSESSID是设置的samesite1. 参数的意思参考Set-Cookie SameSite:控制 cookie 是否随跨站请求一起发送&#xff0c;这样可以在一定程度上防范跨站请求伪造攻击&#xff08;CSRF&#xff09;。 下面用DVWA CS…

[案例]国家数据局:首批“数据要素×”典型案例深度解析系列之五

“ 通过示范引领&#xff0c;激励多方主体积极参与&#xff0c;释放数据要素价值。” 本文为“数据要素”典型案例深度解析系列的第五篇&#xff0c;前四篇请见 [案例]国家数据局&#xff1a;首批“数据要素”典型案例深度解析系列之一 [案例]国家数据局&#xff1a;首批“数…

微信小程序入门2

微信开发者工具的安装方法 1.打开微信开发者工具下载页面 在微信小程序管理后台的左侧边栏中选择“开发工具”&#xff0c;然后选择“开发者工具”&#xff0c;即可找到微信开发者工具的下载页面。 2.打开微信开发者工具的下载链接页面 单击“下载” 按钮下载&#xff0c;即…