深度学习中的词嵌入与序列分析
1. 词嵌入模型Skip - Gram的实现
在深度学习中,词嵌入是一项关键技术,Skip - Gram模型是一种常用的生成词嵌入的方法。
1.1 模型参数设置
为了构建Skip - Gram模型的数据集,我们使用 input_word_data.py 中修改后的PyTorch Word2Vec数据读取器。训练时的重要参数设置如下:
- 小批量大小:32个样本
- 训练轮数:5个epoch
- 嵌入向量大小:128
- 上下文窗口:目标词左右各5个词
- 从上下文窗口中采样的上下文词数量:4个
- 用于负采样的非上下文词数量:64个
1.2 嵌入层实现
实现嵌入层并不复杂,只需用一个矩阵初始化查找表:
import torch.nn as nn
vocab_size = 500
emb_vector_len = 128
embedding = nn.Embedding(num_embeddings = vocab_size,
embedding_dim = emb_vector_len)
1.3 损失函数与训练
PyTorch目前没有内置的NCE损失函数,我们可以使用 info - nce - pytorch 库:
超级会员免费看
订阅专栏 解锁全文
2991

被折叠的 条评论
为什么被折叠?



