热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:词向量与ELMo模型词向量漫谈

篇首语:本文由编程笔记#小编为大家整理,主要介绍了词向量与ELMo模型词向量漫谈相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了词向量与ELMo模型 词向量漫谈相关的知识,希望对你有一定的参考价值。



目录:



  1. 基础部分回顾(词向量、语言模型)

  2. NLP的核心:学习不同语境下的语义表示

  3. 基于LSTM的词向量学习

  4. 深度学习中的层次表示以及Deep BI-LSTM

  5. ELMo模型

  6. 总结


1. 基础部分回顾(词向量、语言模型)

1.1 独热编码-词的表示

技术图片

 

 


1.2 词向量-词的表示



  • 我们为什么需要词向量?(One-hot向量的缺点?)

  • 基于One-hot能否表示单词之间语义相似度?


1.2.1 基于One-hot能否表示单词之间语义相似度?

答:不可以。因为,我们不管是通过欧式距离还是通过余弦相似度,计算用One-hot表示的词编码都是一样的距离,不能区分单词之间语义的相似度。

比如,计算:我们、爬山的欧式距离、余弦相似度:

技术图片

 

 

当然每个词之间的余弦相似度也都是相同的。词向量学习到的每个向量都是用不同的浮点数表示,计算每个单词的相似度是不一样的,可以表示单词之间语义相似度。


1.2.2 One-hot向量的缺点?



  • One-hot向量稀疏性,词向量是稠密向量;

  • One-hot向量不能表示单词之间语义相似度;

词向量从2013年提出开始,慢慢的发展成现在的Bert、XLNet等比较前言的技术。

技术图片

 

 


1.3 词向量-词向量的可视化

把词向量表示成二维数据后,可以发现类似的单词是聚在一起的,因此可以得出词向量可以区分单词之间语义的相似度。

词向量的可视化常用的算法是sklearn中的T-SNE,它是一种降维算法。降维算法还有PCA、ICA、LDA,针对词向量的降维我们通常使用T-SNE,Bengio在他文章中介绍T-SNE非常清楚。我自己找了一下Bengio的文章,没有找到介绍T-SNE的内容,谁找到告诉一下哈!

技术图片

 

 


1.4 词向量-学习词向量

把一堆文本输入到某些模型中,我们可以得到词向量。模型包括:CBOW、Skip-Gram、NNLM、Glove、MF、ELMo、Gaus Embedding、LDA、Bert等。

技术图片技术图片


2. NLP的核心:学习不同语境下的语义表示

2.1 语言模型-概念

技术图片

 

 

 


2.2 语言模型-对于句子的计算


2.2.1 Chain Rule

贝叶斯公式:

技术图片

Chain Rule:

技术图片


2.2.2 Chain Rule for Language Model


2.2.3 Markov Assumption

技术图片


2.2.4 Language Model(Use 1st Order)

假设现在我们知道这些单词的概率:


P(是|今天) = 0.01
P(今天) = 0.002
P(周日|是) = 0.001
P(周日|今天) = 0.0001
P(周日) = 0.02
P(是|周日) = 0.0002


比较:“今天是周日 VS 今天周日是 ”两句话哪一句从语法上更通顺?

技术图片

 

 

显然, P(今天是周日) >P(今天周日是) 。

ELMo是基于语言模型的目标函数进行训练的。

技术图片

 

 


2.3 语言模型-相关必要知识点



  • Chain Rule, Markov Assumption

  • Unigram, Bigram, Ngram

  • Add-one smoothing, Good-turning smoothing...

  • Perplexity

技术图片

 

 

图片来源于:网友


2.4 基于分布式表示的模型总览

介绍词向量的总览,各个词向量模型之间的联系和区别。

技术图片

 

 

Global方法:把非常大的数据放到模型中学习,得到全局的数据信息。优势:可以从全局的角度考虑问题。劣势:1)计算量很大;2)不能在线学习。

Local方法:基于窗口式的方法进行训练,是一种局部的方法。优势:1)可以随时的增加数据进行训练,也就是可以在线学习;2)可以用在大数据里面。缺点:不能从全局的角度考虑问题。

技术图片

 

 


2.5 建议的学习路径

技术图片

 

 


2.6 词向量训练常见的方法

技术图片

技术图片

技术图片

 

技术图片



  • SkipGram方法:预测相邻单词的概率。

  • CBOW方法:已知两边单词,预测中间单词。

  • NNLM方法:基于语言模型和马尔科夫假设进行

技术图片

基于SkipGram、CBOW和NNLM的方法,我们可以训练出每一个单词的固定词向量。但是在同一句话中,这些方法不能表示相同单词的不同语义。因此我们引出ELMo、Bert和XLNet。

即,如何学出一个单词在不同上下文中的词向量呢?

技术图片

 

技术图片


3. 基于LSTM的词向量学习

3.1 利用LSTM学习词向量(语言模型)

技术图片


3.2 从单向LSTM到双向LSTM

单向LSTM只能从左到右的预测单词,有时我们想利用单词左右两边的信息,即双向信息,因此我们需要双向LSTM。

技术图片

 

技术图片

XLNet用Permutation language model  实现真正的双向LSTM模型。

以下这种形式不是完全双向的LSTM模型:

技术图片

 

 

技术图片


4. 深度学习中的层次表示以及Deep BI-LSTM

4.1 启发:深度学习中的层次表示(Hierarchical Representation)

越高级的特征表示越来越具体化。

技术图片

 

技术图片


4.2 How Human Brain Works

技术图片

 

 技术图片

 

 


4.3 图像中有层次表示,NLP中是否也有?

技术图片

 

 


4.4 Deep BI-LSTM

技术图片

 

 


4.5 训练以及使用

技术图片

 

 

技术图片


ELMo具体细节可以翻阅论文:Peters M E , Neumann M , Iyyer M , et al. Deep contextualized word representations[J]. 2018.



5. ELMo模型

5.1 ELMo的数学表达

技术图片

 

 


5.2 实验

技术图片

 

 

这一部分展示了ELMo模型论文中的实验结果。


6. 总结

技术图片

 

 

本文是Microstrong在观看李文哲在B站上讲解的直播课程《词向量与ELMo模型》的笔记。直播地址:https://live.bilibili.com/11869202

原文地址:词向量漫谈,欢迎大家关注Microstrong公众号!!!


推荐阅读
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
author-avatar
双鱼天脎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有