当前位置: 首页 > news >正文

Embedding 理解

Word Embedding

单词表示最简单的是 one-hot
在这里插入图片描述
但是它的缺点是

  1. 矩阵表示过于稀疏,占用空间
  2. 对相关的词语无法得知它们的含义是相近的。

Word Embedding 解决了上述两个缺点,一个 Word Embedding 直观的例子如下图所示。

在这里插入图片描述
每个维度表示一个特征,当然在实际任务中,每个特征可能并不会像例子中的那么明显,是网络自己学习得来的。

Word Embedding 可视化如下图所示

在这里插入图片描述
通过 t-SNE 算法将 300 维的词向量映射到二维,方便观察,可以看到含义相近的词语距离更近。从这里也可以看到词嵌入的直观解释,那就是在一个 300 维的空间,每个单词都被嵌入其中,就像上图三维立方体中的每个点,就代表一个单词。这也是嵌入的由来。

广义 Embedding

在人脸识别领域,一张图片通过卷积网络到一个向量的过程称为编码,这里的 encoding 和 embedding 是一个意思,可以理解为广义的 embedding。

在这里插入图片描述

Embedding 在 Pytorch 中实现

import torch
import torch.nn as nn# an Embedding module containing 10 tensors of size 3
embedding = nn.Embedding(10, 3)
# a batch of 2 samples of 4 indices each
input = torch.LongTensor([[1,2,4,5],[4,3,2,9]])
output = embedding(input)
print(output)
tensor([[[ 0.3373,  0.3316, -1.3433],[ 1.3109, -0.3448, -0.4087],[ 1.2792, -1.0822, -0.1846],[-0.8766,  0.5696, -0.1815]],[[ 1.2792, -1.0822, -0.1846],[-0.0850,  0.8372, -0.0310],[ 1.3109, -0.3448, -0.4087],[ 1.3273,  0.5631,  0.6411]]], grad_fn=<EmbeddingBackward0>)

nn.Embedding 输入参数

  • num_embeddings (int) – size of the dictionary of embeddings
  • embedding_dim (int) – the size of each embedding vector

相当于把一个标量映射成一个向量。

来看一下 Embedding 层的参数。
在这里插入图片描述
Embedding 的权重是 10*3,和输入参数 size 相同。可以理解为,共有 10 个单词,单词用 0-9 表示,分别乘以 3 个权重,得到词向量。

以 input[0][0] 也就是 1 为例,可以看到对应的权重和输出一致,即1 分别乘以三个权重得到输出。

在这里插入图片描述

参考

[双语字幕]吴恩达深度学习deeplearning.ai —— P163 2.1 词汇表征
李宏毅2020机器学习深度学习(完整版)国语 —— P23 Unsupervised Learning - Word Embedding

http://www.lryc.cn/news/15428.html

相关文章:

  • 工业树莓派和PLC怎么选?
  • 多层感知机的区间随机初始化方法
  • 分析JEP 290机制的Java实现
  • Leetcode.2140 解决智力问题
  • 新时代下的医疗行业新基建研讨会
  • BEV感知:DETR3D
  • 亿级高并发电商项目-- 实战篇 --万达商城项目 十二(编写用户服务、发送短信功能、发送注册验证码功能、手机号验证码登录功能、单点登录等模块)
  • 整合spring cloud云服务架构 - 企业分布式微服务云架构构建
  • leetcode 540. Single Element in a Sorted Array(排序数组中的单个元素)
  • Color correction for tone mapping
  • JavaScript-XHR-深入理解
  • mathtype7.0最新版安装下载及使用教程
  • 响应状态码
  • 第六章.卷积神经网络(CNN)—CNN的实现(搭建手写数字识别的CNN)
  • 【go】defer底层原理
  • TypeScript 学习笔记
  • 【C++】map和set的使用
  • 微电影广告具有哪些特点?
  • Android RxJava框架源码解析(四)
  • Linux信号-进程退出状态码
  • springcloud+vue实现图书管理系统
  • GEE学习笔记 六十:GEE中生成GIF动画
  • react中的useEffect
  • 故障安全(Crash-Safe) 复制
  • Spring aop之针对注解
  • 【JavaScript速成之路】JavaScript数据类型转换
  • 21-绑定自定义事件
  • 【Mysql】触发器
  • CODESYS开发教程11-库管理器
  • 【UnityAR相关】Unity Vuforia扫图片成模型具体步骤