目录

  • 前言
  • Abstract
  • 1.Introduction
    • 1.1 Goals of the Paper
    • 1.2 Previous Work
  • 2. Model Architectures
    • 2.1 Feedforward Neural Net Language Model (NNLM)
    • 2.2 Recurrent Neural Net Language Model (RNNLM)
    • 2.3 Parallel Training of Neural Networks
  • 3. New Log-linear Models
    • 3.1 Continuous Bag-of-Words Model
    • 3.2 Continuous Skip-gram Model

前言


题目: 向量空间中词表示的有效估计
论文地址:Efficient Estimation of Word Representations in Vector Space

Abstract

  本文提出了两种新的模型架构,用于计算来自非常大的数据集的单词的连续向量表示。新的模型架构在低得多的计算成本下,准确率有了很大的提高,从16亿个单词数据集中学习高质量的单词向量只需不到一天的时间。

1.Introduction

  许多当前的NLP系统和技术将单词视为原子单位——单词之间没有相似性的概念,因为它们是作为词汇表中的索引来表示的。

  这种选择有几个很好的理由:简单性、健壮性以及在大量数据上训练的简单模型优于在较少数据上训练的复杂模型。一个例子是用于统计语言建模的流行的N-gram模型,当下可以在几乎所有可用的数据(数万亿个单词)上训练N-gram。

  但是,简单的技术在许多任务中都有其局限性。例如,用于自动语音识别的相关域内数据的数量是有限的

1.1 Goals of the Paper

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

1.2 Previous Work

  1. 神经网络语言模型(NNLM)的模型架构,其中前馈神经网络具有线性投影层和非线性隐藏层,用于联合学习词向量表示和统计语言模型。

  2. 另一种NNLM架构:单词向量使用具有单个隐藏层的神经网络学习,然后使用单词向量来训练NNLM。因此,即使不构建完整的NNLM也可以学习单词向量

2. Model Architectures

  常见的用于估计单词的连续向量表示的模型:Latent Semantic Analysis (LSA,潜在索引分析)和Latent Dirichlet Allocation (LDA,潜在狄利克雷分析)。

  本文主要关注神经网络,有以下两点原因:

  1. 神经网络在保持单词之间的线性规律方面比LSA表现得更好。
  2. LDA在大型数据集上计算成本较大。

  为了比较不同的模型体系结构,首先将模型的计算复杂度定义为需要访问完整训练模型的参数的数量。接下来,我们将尝试在最小化计算复杂度的同时,最大化精度。

  对于以下所有模型,训练的复杂度都是成比例的:

  E为训练模型时的迭代次数,T为训练集中的单词数,Q是每个模型的参数。一般E在3-50之间,T≤10亿。所有模型都使用随机梯度下降和反向传播进行训练。

2.1 Feedforward Neural Net Language Model (NNLM)

  前馈神经网络语言模型:由输入、投影、隐藏和输出层组成。

  在输入层,N个以前的单词使用1 - of - V编码,其中V是词汇表的大小。然后使用共享的投影矩阵将输入层投影到维度为N×D的投影层P。由于在任何给定的时间内只有N个输入是活跃的,因此P的合成成本比较小。

  隐藏层用于计算词汇表中所有单词的概率分布,得到一个维数为v的输出层,因此每个训练示例的计算复杂度为:

  解释一下上述参数: N×D是投影层的维度,即输入层到投影层的计算复杂度,N×D×H表示投影层到隐藏层的计算复杂度(H是隐藏层size),H×V表示隐藏层到输出层的计算复杂度

  在本文提出的模型中,使用分层softmax,其中词汇表表示为Huffman二叉树。Huffman树将短的二进制代码分配给频繁的单词,这进一步减少了需要评估的输出单元的数量。输出减少,复杂度VVV可以下降为log2(V)log_2(V)log2​(V)

2.2 Recurrent Neural Net Language Model (RNNLM)

  基于RNN的语言模型:没有投影层,只有输入,隐藏和输出层。

  模型的特殊之处在于它的递归矩阵使用延时连接将隐藏层与自身连接起来。这允许循环模型形成某种短期记忆,因为来自过去的信息可以用隐藏层状态表示,该状态根据当前输入和前一个时间步中的隐藏层状态进行更新。

  RNN模型每个训练实例的复杂度为:

  词向量(维度为D)与隐藏层H具有相同的维数。同样使用分层softmax可以有效地将H×V简化为H×log2(V),因此,大部分的复杂性来自H×H。

  为了更好地理解,与(2)进行一下对比:

  (3)中没有了第一项(投影层复杂度),N和D都等于H。

2.3 Parallel Training of Neural Networks

  为了在巨大的数据集上训练模型,本文在大规模分布式框架DistBelief上实现了几个模型,包括前馈NNLM和本文提出的新模型。这个框架允许并行运行同一个模型的多个副本,每个副本通过一个保存所有参数的集中式服务器同步其梯度更新。对于这种并行训练,使用Adagrad优化算法。

3. New Log-linear Models

  第二节告诉我们:大部分的复杂性是由模型中的非线性隐藏层引起的

  更简单的模型可能无法像神经网络那样精确地表示数据,但却可以训练更多的数据。

3.1 Continuous Bag-of-Words Model

  连续的词汇袋模型(CBOW):类似于前馈NNLM,非线性隐藏层被移除,投影层对所有单词(不仅仅是投影矩阵)共享。因此,所有的单词被投影到相同的位置(它们的向量被平均),故该模型又被称为词袋模型。

  如果在输入端构建一个包含未来词和历史词的对数线性分类器,训练标准是正确分类当前(中间)词,则该模型称之为CBOW(Continuous Bag-of-Words Model)。

  看下CBOW的示意图:

可以看到,CBOW只有输入、投影以及输出三层。输入是指定单词的context单词(上下文单词,前后各取几个单词),预测的是中间的单词(指定单词)。

  因此,CBOW模型的训练复杂度:

  NNN是输入单词的数量,D是每个单词的向量维度,N×DN \times DN×D表示输入层到投影层的计算复杂度,最终投影层只有一个词向量,D×log2(V)D \times log_2(V)D×log2​(V)为投影层到输出层的复杂度。

3.2 Continuous Skip-gram Model

  这种架构类似于CBOW,但它不是根据上下文预测当前的单词,而是根据同一句子中的另一个单词最大限度地分类一个单词。更准确地说,我们将当前每个单词作为连续投影层的对数线性分类器的输入,在当前单词之前和之后预测一定范围内的单词。

  如下所示:

skip-gram(SG)同样只有输入层、投影层以及输出层。输入的是某一个单词的词向量,输出的是它的上下文单词。这与CBOW恰恰相反。

SG的复杂度:

  增加范围可以提高生成的词向量的质量,但也增加了计算复杂度。由于距离较远的单词通常与当前单词的相关性较低,所以我们通过在训练示例中较少地从这些单词中抽样,来对距离较远的单词给予较少的权重

  C是单词之间的最大距离。如果我们选择C=5,对于每个训练词,我们将随机选择一个范围<1, C>的数字R,然后使用来自历史的R词和来自未来的R词作为正确的标签。这将要求我们进行R×2单词分类,将当前单词作为输入,并将每个R+R单词作为输出。

  简言之,使用某一个单词来预测其前面R个单词和未来的R个单词。

论文阅读:Efficient Estimation of Word Representations in Vector Space相关推荐

  1. 论文笔记--Efficient Estimation of Word Representations in Vector Space

    论文笔记--Efficient Estimation of Word Representations in Vector Space 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 NNLM ...

  2. 读论文《Efficient Estimation of Word Representations in Vector Space》

    读论文<Efficient Estimation of Word Representations in Vector Space> 原文地址:http://blog.csdn.net/qq ...

  3. nlp论文——《Efficient Estimation of Word Representations in Vector Space》(向量空间中词表示的有效估计)

    目录 <Efficient Estimation of Word Representations in Vector Space> 第一课时:论文导读 (1)语言模型 (2)词向量简介-- ...

  4. NLP系列:Word2Vec原始论文:Efficient Estimation of Word Representations in Vector Space

    译者按: 2013年,Google开源了一款用于词向量计算的工具--word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练:其次,该工 ...

  5. 论文翻译解读:Efficient estimation of word representations in vector space【Word2Vec】

    文章目录 简要信息 重点内容概括 Efficient estimation of word representations in vector space 摘要 1 介绍 1.1 论文目标 1.2 以 ...

  6. [Embeding-1]Efficient Estimation of Word Representations in Vector Space 译文

    1. abstract 我们提出了两种新的模型结构,用于计算非常大数据集中单词的连续矢量表示.这些表示的质量是在一个词相似性任务中测量的,并将结果与以前基于不同类型神经网络的最佳表现技术进行比较.我们 ...

  7. (30)[ICLR13] Efficient Estimation of Word Representations in Vector Space

    计划完成深度学习入门的126篇论文第三十篇,Google的Jeffrey Dean.Greg Corrado.Tomas Mikolov发表的第一排word2vec论文,引用高达10000次,同时也是 ...

  8. Efficient Estimation of Word Representations in Vector Space 笔记

    先上这篇paper链接:https://arxiv.org/pdf/1301.3781.pdf 摘要 这篇paper介绍了两种可从大规模数据集计算continuous vector represent ...

  9. Word2Vec(Efficient Estimation of Word Representations in Vector Space)

    本篇论文的整体结构如下: 对比模型: NNLM RNNLM Word2Vec Skip-Gram CBOW 关键技术 层次softmax 负采样 实验结果 与对比模型的直接对比结果 不同参数的实验 不 ...

最新文章

  1. E. coli Bacterial Assembly 大肠杆菌
  2. 公众号第三方平台开发 获取 component_verify_ticket
  3. JavaScript异步精讲,让你更加明白Js的执行流程!
  4. php 函数 中文,PHP语言之PHP中文函数连载(二)
  5. SAP License:ERP横向集中部署还是纵向集中部署
  6. 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜
  7. Nodejs在Debian和Ubuntu上安装
  8. 公众号排版文章批量导出-免费公众号文章批量导出排版
  9. 34款管理系统、ERP、CRM、OA等(冠唐\金蝶等)
  10. SmartMesh WireLess HART 资料总结
  11. excel按拼音顺序排序_如何在Excel中按字母顺序排序工作表选项卡
  12. matlab光斑质心,一种基于质心法的光斑图像中心的快速定位方法
  13. u检验和t检验区别与联系
  14. C++程序设计的技巧-Pimple的使用
  15. 官网---2019年上半年软考报名时间
  16. 2019年深度学习自然语言处理最新十大发展趋势
  17. 游戏引擎——cocos2d-x
  18. 电脑扩展显示器启动后连接不上,需要重启才能连接
  19. Java笔记07——类和对象
  20. cf战队模板(html),cf战队 cf主力比赛接待战队专属频道模版

热门文章

  1. Photoshop-人物眼球的美白和加深瞳孔
  2. 识别公路上的障碍物,使用轮廓检测方法
  3. 圆形梅花图片旋转特效
  4. Python中的条件语句
  5. java 找茬_求大神帮忙找茬,就是改不过来错误
  6. DVWA(暴力破解)
  7. UOJ Rounds
  8. restrict和volatile
  9. 【C】【笔记】《C语言深度剖析》第五章 内存管理
  10. 操作系统上机随笔《实验一》