encoding和embedding的区别

在这里插入图片描述

本文作者: slience_me


encoding和embedding的区别

“Embedding” 和 “Encoding” 是两个在计算机科学和机器学习领域中常用的术语,它们虽然有些相似,但指代的概念和用途有所不同。

Embedding

  • 在自然语言处理(NLP)和图像处理等领域中, Embedding 通常指将高维度的数据映射到低维度的空间中 。例如,在NLP中,词嵌入(Word Embedding)是将单词映射到低维度的实数向量空间中的技术,其中每个单词都被表示为一个稠密的实数向量。这样的向量表示捕捉了单词之间的语义关系,常用的词嵌入模型包括Word2Vec、GloVe和BERT。
  • 在图像处理中,图像嵌入(Image Embedding)类似于将图像编码为向量形式的表示,使得计算机能够更好地理解图像的内容。通常使用深度学习模型(如卷积神经网络)来学习图像的嵌入。

采用Word Embedding,假设我们有一个句子:“猫坐在地毯上”。在词嵌入中,每个单词(如“猫”、“坐”、“地毯”等)都被映射为一个实数向量,以便计算机能够更好地理解这些单词之间的语义关系。 我们可以使用预训练的词嵌入模型(如Word2Vec或GloVe),将每个单词映射为一个低维度的实数向量。例如,“猫”可能被映射为[-0.5, 0.8, -0.3],“坐”可能被映射为[0.2, -0.6, 0.9],以此类推。
词嵌入(Word Embedding)主要关注于将单词映射到连续的实数向量空间中,以捕捉单词之间的语义关系。

Encoding

  • 编码是将数据转换为特定格式或形式的过程。 编码可以是将原始数据转换为适合存储或传输的形式,也可以是将数据转换为表示的形式,以便进一步处理。 在计算机编程中,编码通常指将数据转换为比特流的过程,比如将字符转换为ASCII码或UTF-8编码。

  • 在机器学习领域中,编码也可以指将输入数据转换为机器学习模型可以处理的格式的过程。例如,将分类变量转换为数字形式的过程称为编码(如独热编码)。

采用One-Hot Encoding,例如,对于句子“猫坐在地毯上”,如果我们有一个词汇表包含[“猫”, “坐”, “地毯”, “上”],那么“猫”可能被编码为[1, 0, 0, 0],“坐”可能被编码为[0, 1, 0, 0],以此类推。
One-Hot Encoding 则是将单词编码为稀疏的二进制向量,以便计算机能够处理。

总结

总的来说,Embedding 更多地关注于将数据映射到低维度空间以捕捉其语义信息,而 Encoding 则更多地关注于将数据转换为特定格式或表示的过程。在某些情况下,两者的概念可能会有所重叠,但它们通常在不同的上下文中使用。

  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在Transformer中,输入序列的每个token都会先进行一个embedding操作,将其转换为一个高维度的向量表示。这个embedding操作通常使用一个简单的线性变换来完成。然后,为了考虑序列中token的顺序信息,我们需要将每个token的embedding与一个位置编码相加。这个位置编码是一个固定的向量,它的值是根据该位置的位置索引计算得到的。 具体来说,假设我们有一个输入序列 $x = [x_1, x_2, ..., x_n]$,其中 $x_i$ 是第 $i$ 个token的编号,$d_{model}$ 是embedding的维度。那么,我们可以先对每个token进行一个embedding操作,得到一个 $d_{model}$ 维的向量表示,即: $$ \textbf{E}_x = [\textbf{e}_1, \textbf{e}_2, ..., \textbf{e}_n] $$ 其中,$\textbf{e}_i$ 是 $x_i$ 的embedding向量。 然后,我们需要为每个位置 $i$ 计算一个位置编码 $\textbf{p}_i$,它的维度也是 $d_{model}$。具体计算方式如下: $$ \begin{aligned} \textbf{p}_{i, 2j} &= \sin \left(\frac{i}{10000^{2j/d_{model}}}\right) \\ \textbf{p}_{i, 2j+1} &= \cos \left(\frac{i}{10000^{2j/d_{model}}}\right) \end{aligned} $$ 其中,$i$ 是位置索引,$j$ 是embedding向量的维度索引。这个公式的含义是,对于每个位置和每个维度,我们使用一个不同的正弦或余弦函数来计算位置编码的值。 最后,我们将每个token的embedding向量和其对应的位置编码向量相加,得到最终的token表示,即: $$ \textbf{x}_i = \textbf{e}_i + \textbf{p}_i $$ 这样,我们就完成了embedding和位置编码的结合。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

slience_me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值