Efficient Estimation of Word Representations in Vector Space论文笔记解读

基本信息

作者 TomasMikolov doi 10.48550
发表时间 2013 期刊 ICLR
网址 http://arxiv.org/abs/1301.3781

研究背景

1. What's known 既往研究已证实

前馈神经网络语言模型(NNLM)

循环神经网络语言模型(RNNLM)

2. What's new 创新点

Word2vec有两种模型:CBOW和Skip-gram,使得计算成本下降并且准确率提升。

Word2vec的向量表示能够自动捕捉到单词之间的语义和语法关系。

3. What's are the implications 意义

加快训练速度。

能够在大规模语料上进行词向量的训练。

衡量词向量之间的相似程度。

研究方法

1. skip-gram

通过中心单词来预测上下文单词。对于给定的一对(中心单词,上下文单词),我们希望最大化它们的共现概率。

用softmax来估计每个上下文单词的概率:

损失函数:

2. cbow(词袋模型bag-of-word)

用周围词预测中心词,求和的时候忽略了每个词的顺序。

损失函数:

最后输出V个概率,复杂度比较高,采用了2重方法降低复杂度,分别是层次softmax和负采样。

3. Hierarchical Softmax

将输出层的单词表示为一个二叉树,其中每个叶子节点都表示一个单词。每个非叶子节点都表示两个子节点的内积,每个叶子节点都表示该单词的条件概率。由于二叉树的形状,我们可以使用 l o g 2 W log_{2}W log2W个节点来表示词汇表大小为W的模型,降低计算量。

4. Negative Sampling

舍弃多分类,把多分类转变成二分类问题(正样本和负样本)。

正样本:用中心词和其中一个周围词做成正样本(jumps over)

负样本:我们随机从词表里面选一个词与over构成负样本(over again)

增大正样本的概率,减小负样本的概率。

损失函数:正样本函数+负样本函数

函数"J neg-sample "越大越好,损失函数需要加个符号让损失越小越好。
https://zhuanlan.zhihu.com/p/419804103

结果与讨论

  1. 单词向量优于以前的技术状态。
  2. 使用非常简单的模型架构可以训练高质量的词向量。计算复杂性低,可从更大的数据集中计算非常精确的高维词向量。
  3. 通过Word2vec训练出的词向量可以用于许多自然语言处理任务,例如词义相似度计算、命名实体识别和情感分析等。

重要图

文献中重要的图记录下来

相关推荐
readmancynn6 分钟前
二分基本实现
数据结构·算法
萝卜兽编程8 分钟前
优先级队列
c++·算法
盼海16 分钟前
排序算法(四)--快速排序
数据结构·算法·排序算法
LZXCyrus23 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
一直学习永不止步32 分钟前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
我感觉。41 分钟前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive1 小时前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
goomind1 小时前
YOLOv8实战木材缺陷识别
人工智能·yolo·目标检测·缺陷检测·pyqt5·木材缺陷识别