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训练出的词向量可以用于许多自然语言处理任务,例如词义相似度计算、命名实体识别和情感分析等。

重要图

文献中重要的图记录下来

相关推荐
Mr_Xuhhh9 分钟前
从理论到实践:深入理解算法的时间与空间复杂度
java·开发语言·算法
vkv558815 分钟前
我做了一个自媒体多平台发布工具:支持 AI 生成、账号管理、自动登录与批量发布
人工智能·媒体
6Hzlia22 分钟前
【Hot 100 刷题计划】 LeetCode 42. 接雨水 | C++ 动态规划与双指针题解
c++·算法·leetcode
IT_陈寒31 分钟前
React hooks依赖数组这个坑差点把我埋了
前端·人工智能·后端
地平线开发者33 分钟前
智能驾驶感知算法的演进
算法·自动驾驶
我科绝伦(Huanhuan Zhou)37 分钟前
分享一个服务故障自愈系统
运维·人工智能·自动化
爱丽_38 分钟前
B+ 树范围查询为什么快:页分裂/合并、索引设计与 SQL 写法优化
数据库·算法·哈希算法
做个文艺程序员40 分钟前
Spring AI + Qwen3.5 实现多步 Agent:从工具调用到自主任务拆解的踩坑全记录
java·人工智能·spring
光电的一只菜鸡44 分钟前
《PyTorch深度学习建模与应用(参考用书)》(三)——深度神经网络
pytorch·深度学习·dnn
WBluuue1 小时前
Codeforces 1087 Div2(ABCDEF)
c++·算法