首先,词向量是近年来nlp领域的重量级突破,个人认为跟transformer(bert)分量相当,或者更牛

其次,我觉得这两篇paper应该放在一起,看完第一篇我表示,这说了个啥?训练方法和公式去哪里了,然后看了第二篇就豁然开朗了

摘要

本文的主要目标是介绍一些技术,这些技术可用于从包含数十亿个单词的庞大数据集中学习高质量的单词向量,并在词汇表中包含数百万个单词。

提出了Word2Vec(word embedding)词向量技术,算是让nlp进入了新纪元,相当于AlexNet之于CV

跟一些以前的模型做了对比,NNLM(神经网络语言模型),LSA(潜在语义分析),LDA(潜在狄利克雷分配)然后提出一种分布式的词表示

模型


介绍了两种模型,CBOW和Skip-gram,一个是用周围的词来预测中心词,一个是用中心词来预测周围的词

然后对比了几种训练模型的复杂度

O=E×T×QO = E \times T \times QO=E×T×Q
where E is number of the training epochs, T is the number of the words in the training set and Q is defined further for each model architecture.

NNLM:Q=N×D+N×D×H+H×VQ = N \times D + N \times D \times H + H \times VQ=N×D+N×D×H+H×V
RNNLM:Q=H×H+H×VQ = H \times H + H \times VQ=H×H+H×V
CBOW:Q=N×D+D×log2(V)Q = N \times D + D \times log_2(V)Q=N×D+D×log2(V)
Skip-gram: Q=C×(D+D×log2(V))Q = C \times (D + D \times log_2(V))Q=C×(D+D×log2(V))

然后做了一些对比实验,这里不多说,开始讲怎么训练,并以Skip-gram为例子

The Skip-gram Model

Skip-gram模型的目标是优化下面这个平均对数概率

c是上下文范围
概率 p(wt+j∣wt)p(w_{t+j}|w_t)p(wt+jwt) 是由以下softmax公式定义

W是总共的单词数

这里有一个问题,由于W特别大,会导致这个softmax函数的训练非常缓慢,所以需要一些方法来改进

Hierarchical Softmax

用二叉树把softmax的本来WWW个输出节点降到log2(W)log_2(W)log2(W)

Negative Sampling

接下来介绍真正的大哥:负采样
首先,负采样是脱胎于Noise Contrastive Estimation (NCE)噪声对比估计,虽然NCE可以显示为近似最大化softmax的对数概率,但Skip-gram模型只关注学习高质量的向量表示,因此只要向量表示保持其质量,我们就可以自由简化NCE

定义负采样为如下公式:

用于替换目标中的每个对数 p(wt+j∣wt)p(w_{t+j}|w_t)p(wt+jwt) 项。

负采样的方法具体来就是:把target word从噪声分布Pn(w)P_n(w)Pn(w)中区分开来,使用logistic regression,给每一个target word样例选k个noise word。

跟NCE的区别在于,NCE需要样本和噪声分布的数值概率,而负采样只需要样本。

经过实验发现Pn(w)P_n(w)Pn(w)选取unigram distribution的 U(w)3/4U(w)^{3/4}U(w)3/4 的时候效果最好

但是为什么呢?举个例子

它让高频词被选取的概率只提高了一点点,但是低频词的概率大幅提升,产生了更好的效果

Subsampling of Frequent Words

在大的语料库里面,一些词汇出现非常多的次数,比如is,the,但是这些词对于我们的模型并没有多大的意义,为了消除罕见词和频繁词之间的不平衡,我们使用了一种简单的子抽样方法:训练集中的每个词以 wiw_iwi 的概率被丢弃

P(wi)=1−tf(wi)P(w_i) = 1 - \sqrt{\frac{t}{f(w_i)}}P(wi)=1f(wi)t

定义

P(wi)P(w_i)P(wi)是词wiw_iwi的频率,ttt是一个门槛,一般大小为10−510^{-5}105左右

虽然一些参数的选取有一点玄学,但是很work

评价

本文用简单的语言描述了word2vec的架构,并提出了Negative Sampling,Subsampling这两个非常novel并且非常work的训练方法,可惜的是没有太多的公式推导过程,后续有时间我会再补上一些细节

Raki的读paper小记:Word2Vec相关推荐

  1. Raki的读paper小记:Prompting ELECTRA: Few-Shot Learning with Discriminative Pre-Trained Models

    Abstract&Introduction&Related Work 研究任务 基于提示学习的ELECTRA 已有方法和相关工作 ELECTRA 面临挑战 基于判别模型的预训练模型的f ...

  2. Raki的读paper小记:OFA: UNIFYING ARCHITECTURES, TASKS, AND MODALITIES THROUGH A SIMPLE Seq2Seq FRAMEWORK

    Abstract&Introduction&Related Work 研究任务 多模式预训练的统一范式 包括图像生成.visual-grounding(visual grounding ...

  3. Raki的读paper小记:Image as a Foreign Language: BEIT Pretraining for All Vision and Vision-Language Tasks

    Abstract&Introduction&Related Work 研究任务 语言+视觉模态预训练任务 已有方法和相关工作 masked data已经成为一种主流 面临挑战 现有的多 ...

  4. Raki的读paper小记:Named Entity Recognition without Labelled Data: A Weak Supervision Approach(半成品)

    Abstract & Introduction & Related Work 研究任务 无标注数据NER学习 已有方法和相关工作 Unsupervised domain adaptat ...

  5. Raki的读paper小记:Forget-free Continual Learning with Winning Subnetworks

    Abstract&Introduction&Related Work 研究任务 用子网络做CL 已有方法和相关工作 彩票假说(LTH)证明了稀疏子网络(称为中奖彩票)的存在,这些子网络 ...

  6. Raki的读paper小记:Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning in Sparse Nets

    Abstract&Introduction&Related Work 研究任务 Continual Learning 已有方法和相关工作 面临挑战 创新思路 利用持续学习过程中的持续稀 ...

  7. Stetman读paper小记:ATTEQ-NN

    注:本周笔者阅读了龚雪鸾.陈艳娇的文章ATTEQ-NN:Attention-based QoE-aware Evasive Backdoor Attacks.本文讲了作者设计的一种基于注意力机制的后门 ...

  8. Stetman读paper小记:BackdoorBench - A Comprehensive Benchmark of Backdoor Learning

    之前因为参与了实验室后门攻击的项目,阅读了一下这篇关于后门学习的综合性基准测试的研究工作,在此记录一下学习笔记与心得. 1 摘要 这篇文章介绍了一个名为BackdoorBench的基准测试,用于评估后 ...

  9. 【不想读paper的时候看看】阅读文献?

    [不想读paper的时候看看]为何阅读文献? 最近看了中国科学院大学(国科大/果壳)图书馆对我们一年级集中教学的同学关于图书馆资源与服务的培训PPT,截取了一些较有感触的slides做一下笔记. 1. ...

  10. 孤读Paper——《Deep Snake for Real-Time Instance Segmentation》

    <Deep Snake for Real-Time Instance Segmentation>   论文借鉴了snake算法,将snake算法做成了轮廓结构化特征学习的方法.DeepSn ...

最新文章

  1. 使用 ale.js 制作一个小而美的表格编辑器(3)
  2. 很幽默的讲解六种Socket IO模型
  3. HDU 2066 一个人的旅行
  4. C#:泛型(Generic)
  5. 软工实践-第三次会议
  6. service docker start后docker stop/waiting的解决方法
  7. android 加载json停顿,java – 在Android上解析~1 MB JSON非常慢
  8. 小白如何快速入门数学建模
  9. 浙大PAT乙级 1002. 写出这个数
  10. 三极管开关电路_简析三极管开关电路设计
  11. 24点递归实现(c语言)
  12. android webview 下载事件,Android使用WebView实现文件下载功能
  13. 全球计算机大学排名!软科世界一流学科排名
  14. GCF(3)---GCF简介
  15. 怎么隐藏鼠标箭头_立刻上手,无鼠标高效操作excel指南(一)
  16. 吉林全国计算机报名系统入口,http://ncre.jleea.com.cn吉林计算机等级考试报名系统入口...
  17. 计算机组成原理 唐朔飞229页
  18. VS2013,MFC,在视图类里添加鼠标左键响应函数OnLButtonDown
  19. PowerPC VxWorks BSP分析(4.3)——BSP定制
  20. 计算机电路计数器pl什么意思,计数器的原理为什么1下来是2.而且频率是一样的.它是怎么进位的.它的电路原理是什么...

热门文章

  1. Visual Studio 2010 Beta版包括InstallShield Limited Edition
  2. mysql双机数据热备份_教你怎么样实现MySQL数据库双机热备份
  3. python 读grid 数据_jqGrid获取到python返回的Json数据,未能显示到页面上,为毛???...
  4. python接口自动化测试框架_Python3+Requests+Excel完整接口自动化测试框架的实现
  5. Django(四):模型层Model
  6. 关于64位CentOS上ptrace报linux/user.h no such file 错误的解决方法
  7. python辗转相除法求最大公约数_vb编程实现用辗转相除法求两个数a和b的最大公约数...
  8. python数据结构基础的重点内容_Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】...
  9. ai快捷键常用表_掌握这些AI常用快捷键和小技巧,提高速度
  10. css3 烟 蚊香_CSS3 冒烟的管道 | 烟囱