torch.nn.Embedding
是 PyTorch 中用于查找表(lookup table)的一个层类,通常用于处理离散数据(如单词、字符、分类特征等)的嵌入表示。它接收一组索引并将其映射为对应的嵌入向量。Embedding
层常用于自然语言处理中的词向量表示,或者用于处理离散特征的深度学习模型中。
主要功能
Embedding
层的作用是将每个离散的输入索引映射到一个固定大小的实数向量空间中。它的操作与查找表类似,每个输入索引都会返回一个与其对应的向量。这个向量可以在模型训练时更新,逐步学习出对输入特征的低维稠密表示。
参数介绍
torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, sparse=False)
-
num_embeddings
: 嵌入矩阵中嵌入向量的总数,通常等于输入的词汇量或类别数量。例如,如果你有 1000 个不同的单词,则num_embeddings
应设为 1000。 -
embedding_dim
: 每个嵌入向量的维度。例如,你希望每个单词被表示成 50 维的向量,则设置embedding_dim=50
。 -
padding_idx