深度学习中的序列分析与词嵌入技术
1. Word2Vec与Skip - Gram模型
Word2Vec虽不算深度机器学习模型,但它代表了一种利用上下文寻找嵌入的策略,这种策略可推广到许多深度学习模型中。在语言处理中,使用Word2Vec嵌入来表示单词,比使用独热向量能得到更好的结果。
1.1 Skip - Gram模型数据集构建
构建Skip - Gram模型的数据集时,使用修改后的TensorFlow Word2Vec数据读取器。设置以下重要参数:
- 小批量大小:32个示例
- 训练轮数:5个epoch
- 嵌入大小:128
- 上下文窗口:目标词左右各5个词,从中采样4个上下文词
- 负采样数量:64个随机选择的非上下文词用于噪声对比估计(NCE)
1.2 嵌入层实现
嵌入层的实现相对简单,只需用一个值矩阵初始化查找表:
def embedding_layer(x, embedding_shape):
with tf.variable_scope("embedding"):
embedding_init = tf.random_uniform(embedding_shape, -1.0, 1.0)
embedding_matrix = tf.get_variable("E", initializer=embedding_init)
return tf.nn.embedding_lookup(embedding_matrix, x), embe
超级会员免费看
订阅专栏 解锁全文
2632

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



