一文读懂Embedding

article/2025/10/20 15:45:59

文章目录

    • 一、**什么是Embedding?**
    • 二、One-Hot编码
    • 三、**怎么理解Embedding**
    • **四、Word Embedding**

一、什么是Embedding?

“Embedding”直译是嵌入式、嵌入层

简单来说,我们常见的地图就是对于现实地理的Embedding,现实的地理地形的信息其实远远超过三维,但是地图通过颜色和等高线等来最大化表现现实的地理信息

通过它,我们在现实世界里的文字、图片、语言、视频就能转化为计算机能识别、能使用的语言,且转化的过程中信息不丢失。

Embedding层,在某种程度上,就是用来降维的,降维的原理就是矩阵乘法。

二、One-Hot编码

One-Hot 编码是分类变量作为二进制向量的表示。

  1. 将分类值映射到整数值。
  2. 然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

举例:

运动特征:[“足球”,“篮球”,“羽毛球”,“乒乓球”](N=4):

足球 => [1,0,0,0]

篮球 => [0,1,0,0]

羽毛球 => [0,0,1,0]

乒乓球 => [0,0,0,1]

优点:

  1. 解决了 分类器不好处理离散数据 的问题。将离散型特征使用 one-hot 编码,会让特征之间的距离计算更加合理。
  2. 在一定程度上也起到了 扩充特征 的作用。

缺点:

在文本特征表示上有些缺点就非常突出了。

  1. 它是一个词袋模型,不考虑词与词之间的顺序(文本中词的顺序信息也是很重要的);
  2. 假设词与词相互独立(在大多数情况下,词与词是相互影响的);
  3. 它得到的特征是离散稀疏的 (这个问题最严重,Embedding降维就是对此优化)。

三、怎么理解Embedding

由于One-Hot编码过于稀疏,过度占用资源,我们使用Embedding对其降维。

假设:我们有一个2 x 6的矩阵,然后乘上一个6 x 3的矩阵后,变成了一个2 x 3的矩阵。

image-20220828162714414

Embedding层,在某种程度上,就是用来降维的,降维的原理就是矩阵乘法

可以降维,那么embedding也可以升维,对低维的数据进行升维时,可能把一些其他特征给放大了,或者把笼统的特征给分开了

四、Word Embedding

比如将词汇表里的词用 “Royalty”, “Masculinity”, “Femininity” 和 “Age” 4个维度来表示,King 这个词对应的词向量可能是 (0.99,0.99,0.05,0.7)。

image-20220828162731969

在实际情况中,有时并不能对词向量的每个维度做一个很好的解释,但我们知道他是某一个维度的特征就可以了。

这个过程称为 word embedding(词嵌入),即将高维词向量嵌入到一个低维空间。如图:

image-20220828162742048

经过我们一系列的降维神操作,有了用 representation 表示的较短的词向量,我们就可以较容易的分析词之间的关系了,比如我们将词的维度降维到 2维,有一个有趣的研究表明,用下图的词向量表示我们的词时,我们可以发现:

image-20220828162752774

queen(皇后)= king(国王)- man(男人)+ woman(女人)

这样计算机能明白,“皇后啊,就是女性的国王”

walked(过去式)= walking(进行时)- swimming(进行时)+ swam(过去式)

同理计算机也能明白,“walked,就是walking的过去式”

另外,向量间的距离也可能会建立联系,比方说“北京”是“中国”的首都,“巴黎”是“法国”的首都,那么向量:|中国|-|北京|=|法国|-|巴黎|

式”

另外,向量间的距离也可能会建立联系,比方说“北京”是“中国”的首都,“巴黎”是“法国”的首都,那么向量:|中国|-|北京|=|法国|-|巴黎|


http://chatgpt.dhexx.cn/article/dcbxc0m9.shtml

相关文章

Embedding的理解

Embedding 嵌入,我们可以将其理解为一种降维行为。可以将高维数据映射到低维空间来解决稀疏输入数据的问题。 它主要有以下三个目的: 在 embedding 空间中查找最近邻,这可以很好的用于根据用户的兴趣来进行推荐。作为监督性学习任务的输…

BERT的三个Embedding详解

BERT将输入文本中的每一个词(token)送入token embedding层从而将每一个词转换成向量形式 两个嵌入层,segment embeddings和 position embeddings token embedding token embedding 层是要将各个词转换成固定维度的向量。在BERT中,每个词会被…

Embedding层的理解

Embedding层的理解 转载自:原文:深入理解 Embedding层的本质_罗小丰同学的博客-CSDN博客_embedding层 首先,我们有一个one-hot编码的概念。 假设,我们中文,一共只有10个字。。。只是假设啊,那么我们用0-…

Embedding理解与代码实现

Embedding 字面理解是 “嵌入”,实质是一种映射,从语义空间到向量空间的映射,同时尽可能在向量空间保持原样本在语义空间的关系,如语义接近的两个词汇在向量空间中的位置也比较接近。 下面以一个基于Keras的简单的文本情感分类问…

深度学习中Embedding层有什么用?

2019年03月24日15:23:32更新: 由于CSDN图片经常显示不出来,本文最新链接请点击:https://fuhailin.github.io/Embedding/ 博主所有博客写作平台已迁移至:https://fuhailin.github.io/ ,欢迎收藏关注。 这篇博客翻译自国…

pytorch nn.Embedding的用法和理解

(2021.05.26补充)nn.Embedding.from_pretrained()的使用: >>> # FloatTensor containing pretrained weights >>> weight torch.FloatTensor([[1, 2.3, 3], [4, 5.1, 6.3]]) >>> embedding nn.Embedding.from…

EMBEDDING层作用

embedding层作用:①降维②对低维的数据进行升维时,可能把一些其他特征给放大了,或者把笼统的特征给分开了。 Embedding其实就是一个映射,从原先所属的空间映射到新的多维空间中,也就是把原先所在空间嵌入到一个新的空…

彻底理解embedding

本文转载自https://blog.csdn.net/weixin_42078618/article/details/84553940,版权问题请联系博主删除 首先,我们有一个one-hot编码的概念。 假设,我们中文,一共只有10个字。。。只是假设啊,那么我们用0-9就可以表示…

深度学习中的embedding

整理翻译自google developer的机器学习入门课程,介绍了embedding的应用方式和如何计算embedding,后面还配有通过tensorflow DNN训练embedding练习加深理解。 分类输入数据(Categorical Input Data) 分类数据是指表示来自有限选择集的一个或多个离散项的…

【文本分类】深入理解embedding层的模型、结构与文本表示

[1] 名词理解 embedding层:嵌入层,神经网络结构中的一层,由embedding_size个神经元组成,[可调整的模型参数]。是input输入层的输出。 词嵌入:也就是word embedding…根据维基百科,被定义为自然语言处理NLP中…

用万字长文聊一聊 Embedding 技术

作者:qfan,腾讯 WXG 应用研究员 随着深度学习在工业届不断火热,Embedding 技术便作为“基本操作”广泛应用于推荐、广告、搜索等互联网核心领域中。Embedding 作为深度学习的热门研究方向,经历了从序列样本、图样本、再到异构的多…

Embedding技术

1、Embedding 是什么 Embedding是用一个低维稠密的向量来“表示”一个对象(这里的对象泛指一切可推荐的事物,比如商品、电影、音乐、新闻等),同时表示一词意味着Embedding能够表达相应对象的某些特征,同时向量之间的距…

什么是embedding?

本文转自:https://www.jianshu.com/p/6c977a9a53de    简单来说,embedding就是用一个低维的向量表示一个物体,可以是一个词,或是一个商品,或是一个电影等等。这个embedding向量的性质是能使距离相近的向量对应的物体…

Pairwise-ranking loss代码实现对比

Multi-label classification中Pairwise-ranking loss代码 定义 在多标签分类任务中,Pairwise-ranking loss中我们希望正标记的得分都比负标记的得分高,所以采用以下的形式作为损失函数。其中 c c_ c​是正标记, c − c_{-} c−​是负标记。…

【论文笔记】API-Net:Learning Attentive Pairwise Interaction for Fine-Grained Classification

API-Net 简介创新点mutual vector learning(互向量学习)gate vector generation(门向量生成器)pairwise interaction(成对交互) 队构造(Pair Construction)实验结果总结 简介 2020年…

白话点云dgcnn中的pairwise_distance

点云DGCNN中对于代码中pairwise_distance的分析与理解 2021年5月7日:已经勘误,请各位大佬不惜赐教。 一点一点读,相信我,我能讲清楚。 这个是本篇文章所要讨论的代码段 总体上把握,这个代码计算出了输入点云每对点之…

推荐系统[四]:精排-详解排序算法LTR (Learning to Rank): poitwise, pairwise, listwise相关评价指标,超详细知识指南。

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

【torch】torch.pairwise_distance分析

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 记录torch.pairwise_distance 1. 一维 1.1 元素个数相同 1.1.1 元素个数为1 生成代码: t torch.randn(1) f torch.randn(1)计算代码,下…

pairwise损失_triplet损失_提升精排模型的trick

01标签 import torch import torch.nn as nn# 输入x是一个二维张量,每一行表示一个样本的分数,每一列表示一个特征或维度 x torch.tensor([[0.5, 0.7], [0.9, 0.8], [0.6, 0.4], [0.3, 0.6], [0.8, 0.7], [0.4, 0.5]])# 标签y是一个一维张量&#xff0c…

LTR (Learning to Rank): 排序算法 poitwise, pairwise, listwise常见方案总结

目录 1 Learing to Rank介绍2 The Pointwise Approach3 The Pairwise Approach3.1 RankNet 4 The Listwise Approach4.1 直接优化评测指标4.1.1 LambdaRank4.1.2 LambdaMART 4.2 定义Listwise损失函数4.2.1 ListNet4.2.2 ListMLE 5 排序评估指标5.1 Mean Reciprocal Rank (MRR)…