预训练模型之ELMO -《Deep contextualized word representations》论文笔记 + 高频面试题

news2024/11/23 1:26:00

😄 无聊学学罢了,非常简单的一个模型吧,算是一个比较经典的模型。ELMO更多的像是一个承上启下的角色,对于我们去了解那些词向量模型的思想也是很有帮助的。但由于同期的BERT等模型过于耀眼,使得大家并不太了解ELMO。

🚀 发表自NAACL-2018,当年的best paper。
🚀 论文链接:https://arxiv.org/pdf/1802.05365.pdf

在这里插入图片描述

🚀 导航

ID内容
NO.11、ELMO解决两个问题
NO.22、何为前向语言模型?
NO.33、何为后向语言模型?
NO.44、双向语言模型
NO.55、ELMO模型
NO.66、如何预训练ELMO?
NO.77、如何冻结 or 微调 ELMO?
NO.88、高频面试题

1、ELMO解决两个问题:

1、复杂的语法和语义特征。
2、解决一词多义的问题 (随上下文而动态改变),不像word2vec那样,训练完就不变了,相同的词同样的输出。

ELMO全称为Embeddings from Language Models。即ELMO通过训练语言模型得到,且ELMO是一个双向语言模型 (前向+后向)。



2、何为前向语言模型?

> 根据前文预测当前token



3、何为后向语言模型?

在这里插入图片描述



4、双向语言模型

在这里插入图片描述



5、ELMO模型

ELMO模型说白了就是两个 两层的LSTM构成。
在这里插入图片描述
ELMO模型=前向语言模型+后向语言模型,上图左边是左到右的前向LSTM,右边是右到左的后向LSTM。前向LSTM和后向LSTM由两层LSTM堆叠而成。之前的双向语言模型仅使用最后一层LSTM的输出作为softmax层的输入,而ELMO引入了一个线性组合函数把所有层的输出结果汇总起来,作为softmax层的输入。

在这里插入图片描述



6、如何预训练ELMO?

⭐ELMO将输出的向量映射到 vocab_size的长度,经过softmax后,取出概率最大的元素对应的下标,作为对下一个字的预测。相当于做一个分类,类别数量是词表大小,即自回归

ELMO的输入输出例子:
在这里插入图片描述
在这里插入图片描述



7、如何冻结 or 微调 ELMO?

在这里插入图片描述

在这里插入图片描述



8、高频面试题

ELMO使用两层LSTM的意义?

答:

  • ELMo堆叠了两层LSTM,每层提取到的语言特征是不一样的。

  • 论文分别用各层的输出做语义消歧和词性标注任务,发现用第二层的输出做语义消歧效果好于用第一层的输出;相反,做词性标注时则用第一层输出比较好。从而验证低层能建模词性等语法特征,高层能进一步建模语义特征。

  • 虽然每层提取的特征侧重不同,但是实际应用时,不管什么任务,用的都是所有的特征,只是权重分配不同。

ELMO的优缺点?

答:
优点:

  • 1、单词的嵌入取决于上下文,解决了一词多义问题。
  • 2、将各层的输出进行线性组合,得到的词表示融合了语法和语义信息。
  • 3、输入可以基于词也可以基于字符,可适应不同NLP任务。
  • 4、无OOV问题,因为embedding是基于char-level的。

缺点:

  • 1、特征提取用的LSTM模型,一方面不能并行,另一方面不好捕捉长距离依赖,所以elmo一般在短文本任务上表现好。
  • 2、难以学到更深层次的语义,因为当LSTM的层数超过了3层,层与层之间的梯度消失情况会变得非常明显,网络训练更新迭代缓慢,收敛效果与计算效率急剧下降,甚至进入局部最小的情况。

ELMO的embedding层?

ELMO是通过字符卷积来得到embedding的,即通过卷积(不同卷积核)来获取char之间的类似n-gram的特征。n个卷积核,就有n个输出,n个输出拼接聚合得到单词的embedding。即完成char到word的转变。
在这里插入图片描述

为什么ELMO用两个单向的LSTM代替一个双向的LSTM呢?

吐槽一下把,网上大多数博客互相抄来抄去,以为自己解释对了,实则连Bi-LSTM都不懂。
这个提问本来就是错的:为什么ELMO用两个单向的LSTM代替一个双向的LSTM呢?。因为ELMO就是用双向LSTM。
答:平时用的BLSTM是将前向输出和后向输出词向量对应进行拼接,拼接后的词向量纬度扩展为原来的两倍,如果用拼接后的词向量来计算最大似然会出现自己看到自己的情况,因此不拼接词前后向向量,而是将他们的最大对数似然进行相加,联合前向和后向来计算最大似然。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务Sentinel流控难题:QPS模式与线程数模式区别

问题引入 不少新学Sentinel的小伙伴在配置Sentinel流控规则时犯迷糊,如下图: 其中迷糊点是阈值类型这里: QPS:当调用该接口的QPS达到阈值的时候,进行限流 线程数:当调用该接口的线程数达到阈值的时候&am…

Java 面试题 (二) -------- Java 集合相关

1、Java Bean 的命名规范 JavaBean 类必须是一个公共类,并将其访问属性设置为 public JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。 一个 JavaB…

【云原生·k8s】k8s集群安装部署

带着理论,再去部署,验证你的理论 文章目录1、环境准备2、环境初始化3、防火墙初始化3、关闭swap4、yum源配置5、ntp配置6、修改linux内核参数,开启数据包转发功能7、安装docker基础环境()8、安装k8s的初始化工具kubead…

互联网舆情监控分析

近年来,互联网的快速发展,不论是新闻中、报纸上,还是电视里,都能屡屡看到一些企业被负面缠身,进而损害企业效益,在人人都是自媒体的时代,并非只有重大事件才会引发舆情,小事情也会&a…

kubernetes介绍和安装(1.25版本)

kubernetes介绍和安装(1.25版本) K8S 是什么? K8S官网文档:https://kubernetes.io/zh/docs/home/ K8S 是Kubernetes的全称,源于希腊语,意为“舵手”或“飞行员”,基于go语言开发,官…

liteos启动流程

一,启动流程 从这里开始我们开始讲解liteos的启动过程,通过前面连接器脚本的分析,我们已经对程序启动阶段期望的内存布局有了一个宏观的认识,然后系统上电从0x08000000地址boot起来之后要做的就是生成这个布局,然后初始化时钟,内存,任务,锁信号量等等基础的系统管理单…

leetcode 332. 重新安排行程

题目描述: 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 …

Torch.nn模块学习-池化

池化对数据起到了浓缩的效果,通过池化可以减少数据量,降低内存压力,简单地理解,池化操作都是通过池化的kernel的选取一定的区域,通过某种计算将这个区域一系列数值转化为一个数值,需要注意的是:…

【LeetCode】No.108. Convert Sorted Array to Binary Search Tree -- Java Version

题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/ 1. 题目介绍(Convert Sorted Array to Binary Search Tree) Given an integer array nums where the elements are sorted in ascending …

全网最新注册ChatGPT账号攻略

OpenAI 推出超神 ChatGPT,但是由于不可抗力原因,加上网站限制,导致大部分人无法体验到。这里我分享一下注册的攻略。 前提准备 首先能能访问 Google(前置条件,不能明确说,懂得都懂)。 其次你…

利用pymupdf编辑修改pdf

利用pymupdf编辑修改pdf 本文背景 为了修改pdf的文本, 在pymupdf官方手册查了一通,没看到明显的说明,然后到github的讨论区看了发现了修改pdf的方案,在此记录一下 参考链接: https://github.com/pymupdf/PyMuPDF/discussions/1019 主要方法: 找到需要替换的文本块,然后添…

抗疫逆行者HTML网页作业 感动人物网页代码成品 最美逆行者网页模板 致敬疫情感动人物网页设计制作

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

8.论文学习Liver Tumor Segmentation and Classification: A Systematic Review

目录摘要1.引言2.文献调查3.肝脏肿瘤分割的一般步骤A.CT肝脏图像B.图像预处理C.肝脏分割和肿瘤分割D.特征提取E.分类4.肝脏图像预处理方法A.中值滤波B.双边滤波器(BF)C. Wiener滤波器D.导向滤波guided filterE.递归高斯滤波Recursive Gaussian filteringF.Kirsch算子5.肝脏和肿…

基于Springboot的宠物医院管理系统-JAVA【数据库设计、论文、源码、开题报告】

1 绪论 1.1 课题背景 在信息技术高速发展的今天,新知识、新技术层出不穷,计算机技术早已广泛的应用于各行各业之中,利用计算机的强大数据处理能力和辅助决策能力叫,实现行业管理的规范化、标准化、效率化。 管理信息系统(Manag…

HummerRisk V0.6.0发布:升级列表高级搜索功能,扩充对象存储和操作审计支持范围等

HummerRisk V0.6.0发布:新增表头高级搜索功能,可按名称快速搜索与组合查询,动态调整显示列,新增对象存储七牛云与青云类型,新增操作审计火山引擎(火山云)类型。 感谢社区中小伙伴们的反馈&…

用DIV+CSS技术设计的西安旅游网站18页(web前端网页制作课作业)HTML+CSS旅游网站设计与实现

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

C# WPF 基础等待动画Loading...动态转圈 Storyboard ContentControl

这个效果图...直接放上吧&#xff0c;实际是转圈效果&#xff0c;使用起来最方便的一种。 【这是个基础版&#xff0c;灵活度很高】 Xaml 绘制Loading图案&#xff0c;及触发的动画效果&#xff0c;实际控制的每个组件 Opacity - 透明度 属性。 <Style TargetType"{x…

元宇宙工程系,来了一位“吃螃蟹”者

转自《中国科学报》 记者 温才妃 潘志庚&#xff08;右&#xff09;给学生讲授元宇宙技术。受访者供图 元宇宙办学潮正在高校中暗涌。 不久前&#xff0c;南京信息工程大学人工智能学院&#xff08;未来技术学院&#xff09;信息工程系正式更名为元宇宙工程系&#xff0c;成为…

【密码加密原则二】

目录 1 密码加密原则&#xff08;续&#xff09; 1.1 使用加盐的方式可以使得“密码” 1.2 优缺点 1 密码加密原则&#xff08;续&#xff09; 1.1 使用加盐的方式可以使得“密码” 如果用户的密码过于简单&#xff0c;使用加盐的方式可以使得“密码”&#xff08;其实是…

数据结构-八大排序

八大排序一&#xff0c;直接插入排序二&#xff0c;希尔排序三&#xff0c;选择排序四&#xff0c;堆排序五&#xff0c;冒泡排序六&#xff0c;快速排序1&#xff0c;递归版本&#xff08;1&#xff09;hoare法&#xff08;2&#xff09;挖坑法&#xff08;3&#xff09;前后指…