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

重要图

文献中重要的图记录下来

相关推荐
Gauss松鼠会6 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结
MobotStone6 小时前
AI写代码,真的能做出“能用”的产品吗?
人工智能
oier_Asad.Chen6 小时前
【洛谷题解/AcWing题解】洛谷P4011 孤岛营救问题/AcWing1131拯救大兵瑞恩
数据结构·笔记·学习·算法·动态规划·图论·宽度优先
小保CPP6 小时前
OpenCV C++车型识别2-形状匹配
c++·人工智能·opencv·计算机视觉
hongyucai6 小时前
聊一聊τ和机器人
人工智能·机器人
PM老周6 小时前
PRD怎么用AI质检?需求预审、人工复核与整改闭环
人工智能·项目管理·产品经理·prd
lialaka6 小时前
「声纹迷宫(Acoustic Labyrinth)」:具身交互智能驱动的实时声学解构与全双工语音数字人控制台
人工智能·3d·交互
BerryS3N6 小时前
Java 后端转型大模型:Demo 能跑不等于能上线
java·人工智能·python·java后端·spring ai·langchain4j·大模型转型
冻柠檬飞冰走茶6 小时前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
制造数据与AI践行者老蒋6 小时前
智联工坊实战:从“金鱼记忆”到“记住了”:给制造Agent装上记忆芯片的完整指南
人工智能·python·langchain·制造