N2 - Embeddingbag与Embedding



Embedding(词嵌入)是一种用于自然语言处理的技术,用于将单词表示为数字,以便于计算机可以处理他们。通俗的讲就是,一种把文本转换为数值输入到计算机中的方法。

上周将文本转换为字典序列、one-hot编码,就是最早期的词嵌入方法

EmbeddingEmbeddingBag是pytorch中用来处理文本数据中词嵌入(word embedding)的工具,它们将离散的词汇映射到低维的连续向量空间中,使得词汇之间的语义关系能够在向量空间中得到体现。

Embedding

Embedding是pytorch中最基本的词嵌入操作,tensorflow中也有相同的函数,功能是一样的。将每个离散的词汇映射到一个低维的连续向量空间中,并且保持了词汇之间的语义关系。在pytorch中,Embeeding的输入是一个整数张量,每个整数都代表着一个词汇的索引,输出是一个浮点型的张量,它代表着对应词汇的词嵌入向量。

嵌入层使用随机权重初始化,并将学习数据集中所有词的嵌入,它是一个灵活的层,可以以各种方式使用。如:

  • 可以用作深度学习模型的一部分,其中嵌入与模型本身一起被学习
  • 可以用于加载训练好的词嵌入模型
    嵌入层往往被定义为网络的第一个隐藏层。

函数原型

torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, sparse=False, _weight=None, _freeze=False,device=None, dtype=None)
  • num_embeddings 词汇表的大小,最大整数index + 1
  • embedding_dim 词向量的维度

示例

import torch
import torch.nn as nn

vocab_szie = 12
embedding_dim = 4

embedding = nn.Embedding(vocab_size, embedding_dim)

# 造两个假的输入序列
input_sequence1 = torch.tensor([1, 5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值