目录

  • 论文导读
    • 前期知识储备
    • 论文总览
    • 学习目标
    • 论文背景知识
      • 矩阵分解方法
      • 基于上下文的向量学习方法
      • Introduction介绍
    • 研究成果及意义
  • 论文精读
    • 论文结构
    • Glove模型
    • Relationship to Other Models
    • 实验结果与分析
    • 论文总结

这篇博客主要学习Glove:Global Vectors for Word Representation这篇论文,论文的中文名为:基于全局信息的单词向量表示,它的第一作者是Jdffrey Pennington,论文发表在EMNLP2014上。

论文导读

前期知识储备

1.机器学习
机器学习中基本的原理及概念,如数据集的划分,损失函数,优化方法等。
2.神经网络
了解神经网络的基本知识,特别是全连接神经网络的基本原理。
3.词向量
了解词向量的概念,了解word2vec以及矩阵分解的词向量学习方式。
4.编程
了解Pytorch基本使用方法,如数据读取、模型构建,损失优化等。

论文总览

这篇论文的结构跟我们通俗意义上的论文的结构是一致的,主要包括6个部分:

  • 摘要 Abstract:对论文做一些简要的概述,告诉大家这篇论文在做什么。本篇论文提出了一种新的词向量学习方法Glove,Glove能够同时利用全局的统计信息和局部的上下文信息从而学习到非常好的词向量。
  • Introduction:论文研究的一些背景,包括论文为什么这么做、这么做的动机是什么,从而引出论文中提出的方法。矩阵分解和Word2vec学习词向量的方式各有优劣,本文提出的Glove同时学习这两种信息。introduction介绍论文做了什么事情,比如这篇论文先介绍词向量,之前的研究有什么缺点,正因为有这些缺点,我们才做了一些改进,从而提出了我们的模型,然后介绍我们的模型,最后总结一下我们的贡献。
  • Related Work:前人工作介绍,主要介绍矩阵分解和Word2vec两种方法。
  • The Glove Model:介绍Glove的推导过程,Glove与其它模型之间的联系,Glove的复杂度分析。
  • Experiment:实验探究Glove模型的效果,以及对某些超参数的分析。
  • Conclusion:对全文进行总结。

学习目标

论文背景知识

矩阵分解方法

词共现矩阵
将语料库中的所有词进行统计,首先,自己与自己一块出现的次数都为0,即对角线上的元素都为0,然后统计哪两个单词是相邻的,并且统计这两个单词一块出现的频率,将频率写到矩阵的对应位置上。共现矩阵的维度是V×V,其中V是词表大小。由于词表大小比较大,因此需要进行降维,降维就得到了词向量。
这种方法的缺点是:在词对推理任务上表现比较差,说明没有学到语义或语法的信息。

基于上下文的向量学习方法

Word2Vec

缺点:无法使用全局的统计信息。比如在句子"我们 下午 打 羽毛球"中,当窗口为1时,词"下午"只能获取到"我们"和"打"的信息,不能获取到"羽毛球"的信息。

Introduction介绍

第一段介绍了论文研究的重要性,说明我研究这个方向是有意义的;后面的段落说之前的研究是怎么做的,他们有什么缺陷。这就类似于讲故事,首先讲这个东西有什么用或者工作的意义,它可以用在哪些方面,然后讲这个东西目前的发展,再讲之前的人是怎么做的,提出的模型有什么缺点,针对这些缺点,我们是怎么做的,我们这么做是有意义的,为什么呢,通过在什么数据上进行了什么样的实验,得到了什么样的结果,得到的结果是优异的。

研究成果及意义

  • 在词对推理数据集上取得最好的结果
  • 公布了一系列基于Glove的与训练词向量

    目前关注Glove,一般是直接使用它预训练出来的词向量,然后用在我们的下游任务里面。
    Glove历史意义
    1.推动了基于深度学习的自然语言处理的发展(引用量较高)
    一般来说,在做后面的任务的时候,比如说文本分类、命名体识别等,到底是用word2vec还是glove,这个在后面的学习会发现,他们两个的效果其实是差不多的,在不同的任务上有时候word2vec会表现好,有时候glove会表现好。因此,这个就需要基于自己的任务,两种方法都试一下。

论文精读

论文结构

摘要
1.当前词向量学习模型能够通过向量的算术计算(使用了加、减法)捕捉词之间细微的语法和语义规律,但是这种规律背后的原理依旧不清楚。
2.经过仔细的分析,我们发现了一些有助于这种词向量规律的特性,并基于词提出了一种新的对数双线性回归模型,这种模型能够利用_全局矩阵分解_和_局部上下文_的优点来学习词向量。
3.我们的模型通过只在共现矩阵中的非0位置训练达到高效训练的目的。(针对共现矩阵中存在的缺点进行处理)
4.我们的模型在词对推理任务上得到75%的准确率,并且在多个任务上得到最优结果。(说明论文中提出的模型是比较好的)
自己阅读原文!第一部分介绍当前的研究现状并且当前的研究中存在什么问题;第二部分介绍经过我们的分析或者研究,我们可以改进这个问题;第三部分介绍我们的模型是什么样的;第四部分说一下我们的效果怎么样。

Related Word
这一部分主要是写前人怎么做的,罗列一些前人的研究。
论文在这部分中具体介绍了两个模型。
在这里具体介绍一下,‘term-document’和‘term-term’,其中‘term-document’形成的矩阵中元素代表某个词在某个文档中出现的次数,‘term-term’矩阵中的元素表示两个单词共同出现的次数。
[实验部分]这里跳了一下,先说一下论文写实验部分中一般怎么写。
先说数据集的设置和实验中超参数的设置,这个超参数的设置就按照实际的写,比如说训练了多少轮、embedding size等,这些都是确切的东西。
下一部分results。一般说一下在什么样的任务上做,然后是主实验,画一个比较大的表,这个表是和几个对比模型进行比较的表,把自己模型得到的结果在表中进行加粗,别人可以一眼看到在哪里表现的比较好,介绍一下表中的数据,描述客观事实,如果有异常的情况,比如说在某个数据集上表现的差,可以说在这个数据集比较小,我们的模型在小数据集上效果不是很好,模型比较复杂,可能在小的数据集上欠拟合。
下一部分可以做一些参数的对比实验,比如embeddingsize、数据集大小等,稍微说一下结论,为什么会这样。消融实验等。

Glove模型

通过观察分析得到了语义、语法上的特性,先看一下得到了什么样的观察分析。
==原理:==我们可以使用一些词来描述一个词,比如我们使用_冰块_和_蒸汽_ 来描述固体、气体、水和时尚四个词。
与冰块接近,并且和蒸汽不接近:固体并且概率比值很大
与蒸汽接近,并且和冰块不接近:气体并且概率比值很小
与冰块和蒸汽都不接近:水和时尚并且概率比值不大不小

k是为了和ice、steam进行区分
==结论:==共现矩阵的概率比值可以用来区分词。
思想:假设我们已经得到了词向量,如果我们用词向量wi 、wj 、wk 通过某种函数计算ratioi,j,k ,能够同样得到以上描述的规律的话,就意味着我们词向量与共现矩阵具有很好的一致性,也就说明我们的词向量中蕴含了共现矩阵中所蕴含的信息。
比值是如何得到的?
比值的计算公式与三个参数有关,具体公式如下:

由wi 和wk 得到一个条件概率Pik ,然后再计算wj 和wk 得到Pjk,因此每个比值与三个参数有关,
k是为了和ice、steam进行区分,比值是为了形容单词k与ice和steam之间的一个差异,或者与ice接近或者与steam接近,为了描述这个差异,直接对wi 和wj 进行做差,然后再和wk 进行计算得到这个比值:

F是一个函数,通过这三个实向量得到这个比值,而比值是一个标量,左边又是一个向量,因此需要将向量转成标量,使用内积的方式:

因此此时F这个函数就是将(wi -wj ) T wk 这个标量转换成右边比值形式的标量,
公式推导:


假设wi 和wk 使用的是同一个向量,因此满足交换律,图中的转置写错地方了。但是等式右端不满足交换律,且log(Xi )和k是无关的,与k无关就将其引到等式右端,直接用一个偏置来代替,只与i有关,用bi 来代替,此时右端满足交换律,左端不满足交换律,为了对称,又加上bj ,因此可以得到以下公式:

得到图中的公式就可以得到损失函数,损失函数使用的是交叉熵损失函数:

==原理:==词对出现次数越多,那么这两个词在loss函数中的影响越大。


这个函数给予出现次数不一样的词在loss中的权重是不一样的,重要度是不一样的。
训练是如何进行的?
1.构建‘term-term’的共现矩阵,得到Xij ;
2.去掉所有零
3.生成所有的训练集

Relationship to Other Models

下面这个是skip-gram的公式:

其损失函数为:

其中,i是预料库中的单词,j表示上下文中的单词,Xij 是共现矩阵,那么将上下文中的词转换成预料库中所有的词:



将Pij 看成是一个真实的分布,Qij 是我们要训练的一个分布,让训练得到的分布接近真实分布,因此使用的是交叉熵的损失函数。
除了用交叉熵的损失函数外,还可以用平方差损失函数评价两个分布:

其中,公式中的Qij 是非归一化的形式,然后对公式中P和Q取对数:

通过上图中的公式可以看到,上图中得到的损失函数与glove的损失函数只有Xi 不一样,Xi 只是用来考虑中心词,比如Xi 为10,那么这个词的重要度就多了10次。论文中描述glove的f(Xij )这个参数设置的更加合理,因此效果比较好一些。

模型复杂度: |X| = O ( | C |0.8 )

实验结果与分析

1.在词对推理数据集上取得最好的结果:

2.多个词相似度任务上取得最好的结果

3.命名体识别任务实验任务

下面分析一下参数的选择,这里的参数主要有两个:向量长度和窗口大小

由图中(a)可知,随着向量维度的增加,效果是逐渐增加的,但是维度在200及往后的时候,它的增加速度就比较小了。对称的context是指计算词与词共现的时候,中心词与左右两边的周围词的共现都算,而非对称只算中心词与左右其中一边周围词的共现。不管是在对称还是非对称,随着窗口大小的增加,效果都是上升的。并且在非对称里面,在语法方面的表现比较好,因为在非对称上面,可以区分左右这方面上的位置信息。如果在语法上做的好一点,可以选择非对称的,在语义上做的好一点,可以把窗口设置的大一些,这是语法和语义上的一个区别,可以根据自己的具体任务选择不同的超参数。
训练预料对结果的影响

从语法这个方面看,从左往右,随着预料库数量越来越大,效果不断上升,说明可以通过增加数据集的大小来提升语法信息。
与word2vec对比实验

论文总结

关键点
1.矩阵分解的词向量学习方法
2.基于上下文的词向量学习方法
3.公布了一系列预训练的词向量,这些词向量可以方便使用
创新点
1.提出了一种新的词向量训练模型——Glove
2.在多个任务上取得最好的结果
3.公布了一系列预训练的词向量
启发点
1.相对于原始的概率,概率的比值更能够区分相关的词和不相关的词,并且能够区分两种相关的词。

在描述自己模型的启发点时,单凭说可能说不清楚,可以通过举一些例子来说明,我们的模型是怎么观察出来的,把观察分析写一写,有例子也有利于读懂
2.我们提出了一种新的对数双线性回归模型,这种模型结合全局矩阵分解和局部上下文的优点。

可以将别的模型的明显的优缺点进行结合,此时也要避免它们的一些缺点,可能会得到一个不错的模型。

02:Glove论文学习相关推荐

  1. 论文学习笔记02(Learning phrase representations using rnn encoder-decoder for statistical machine translat)

    论文学习笔记 Learning phrase representations using rnn encoder-decoder for statistical machine translation ...

  2. [论文学习]:Mean Curvature Skeletons

    论文学习02:Mean Curvature Skeletons 论文主要工作 理论准备:平均曲率流 核心任务 技术亮点 前期工作 网络结构 三级目录 论文主要工作 本文是从mesh结构到3D skel ...

  3. 2.27论文学习笔记

    论文学习:Single Miller Capacitor Frequency Compensation Technique for Low-Power Multistage Amplifiers 该论 ...

  4. 动态环境下的SLAM:DynaSLAM 论文学习笔记

    动态环境下的SLAM:DynaSLAM 论文学习笔记 这篇文章 论文摘要 系统流程 相关环节的实现方法 神经网络检测图中动态物体(Mask R-CNN) Low-Cost Tracking 使用多视图 ...

  5. 单目相机 svd 从图像恢复3维位置_论文学习——VINSMono:一种鲁棒且通用的单目视觉惯性系统...

    点击上方"视觉部落",选择"星标"公众号 精选作品,第一时间送达 文章同步首发于知乎用户yikang专栏 Part 1. 基本信息 本文提出了一种基于紧耦合滑动 ...

  6. 识别和追踪主题层次的影响力者(来自2018 Machine Learning 论文学习笔记)

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com . 以下内容是个人的论文阅读笔记,内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 文章目录 论文来源 论 ...

  7. High Performance Visual Tracking with Siamese Region Proposal Network 论文学习

    文章目录 论文阅读总结 Translation Abstract 1 Introduction 2 Related Works 2.1 Trackers based on Siamese networ ...

  8. [论文学习]TDN: An Integrated Representation Learning Model of Knowledge Graphs

    [论文学习以及翻译]TDN: An Integrated Representation Learning Model of Knowledge Graphs 文章主要内容 摘要 前言 相关工作 基于T ...

  9. 论文学习-Stochastic Sparse Subspace Clustering

    论文学习-Stochastic Sparse Subspace Clustering Note Stochastic Sparse Subspace Clustering,随机稀疏子空间聚类论文精读. ...

  10. 论文学习笔记 POSEIDON: Privacy-Preserving Federated Neural Network Learning

    论文学习笔记 POSEIDON: Privacy-Preserving Federated Neural Network Learning NDSS 2021录用文章 目录 论文学习笔记 POSEID ...

最新文章

  1. 【原创】一种维护型项目升级打包的解决方案
  2. PowerDesigner 缺省值 引号 问题
  3. python进阶记录之基础篇二十六_Python进阶记录之基础篇(十六)
  4. 冠榕智能灯光控制协议分析(node-controller)
  5. 九阴真经 第二层 第6天
  6. confluence添加用户_知识管理平台Confluence教程:如何添加,分配和查看任务
  7. CentOS 7下Gitlab安装和迁移
  8. Pytorch——计算机视觉工具包:torchvision
  9. 用java代码模拟鼠标双击事件
  10. 2022年智慧城市大脑及智慧城市驾驶舱大数据资源平台建设总体架构方案
  11. AD转换实验c语言原理图,我的AD/DA转换单片机实验,含原理图和源码
  12. TFS2010安装教程
  13. python-QQ空间扫码登录
  14. excel如何冻结表格行或者列
  15. css重复,css3重复渐变效果
  16. opencv--normalize函数详解
  17. 华润数科控股有限公司正式成立;DEKRA德凯预计2021年营业额同比增长9%至35亿欧元 | 全球TMT...
  18. 漫威所有电影的 按时间线的观影顺序
  19. 7-8 病毒感染检测 (10分)
  20. mysql初始数据库出错_安装MySQL提示initialize database(初始化数据库)错误解决方法...

热门文章

  1. BLDC无刷直流电机之电机驱动的控制原理示意
  2. Latex中的花体格式
  3. 软件测试之测试报告案例
  4. LVDS接口定义详解
  5. 树莓派开发笔记(八):GPIO口的I2C使用(BME280三合一传感器:温度、湿度、气压测量)
  6. 海康视频转码 - 标准mp4格式(java)
  7. 全球主要气象气候研究部门及其共享数据集介绍
  8. whl 文件怎么安装
  9. android聊天软件开发,实战篇(1)
  10. 小白spss学习笔记(一)