当前位置: 首页 > news >正文

深入理解Transformer的笔记记录(精简版本)---- ELMO->GPT->BERT

1、ELMO

word embedding无法区分多义词的不同语义,其本质上是个静态的方式,所谓静态指的是训练好之后每个单词的表达就固定住了,以后使用的时候,不论新句子上下文单词是什么,这个单词的Word Embedding不会跟着上下文场景的变化而改变
    ELMO根据当前上下文对Word Embedding动态调整的思路,事先用语言模型学好一个单词的Word Embedding,然后在我实际使用Word Embedding的时候,单词已经具备了特定的上下文了,这个时候可以根据上下文单词的语义去调整单词的Word Embedding表示。

1.1 ELMO采用了典型的两阶段过程:

(1) 第一个阶段是通过语言模型LSTM进行预训练
    上图左端的前向双层LSTM代表正方向编码器,输入的是从左到右顺序的上文Context-before;
    右端的逆向双层LSTM代表反方向编码器,输入的是从右到左的逆序的下文Context-after
    同时,每个编码器的深度都是两层LSTM叠加

(2)第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的Word Embedding(E1,E2,E3)作为新特征补充到下游任务中。

双层双向LSTM:  虽然ELMO用双向LSTM来做encoding,但是这两个方向的LSTM其实是分开彼此独立训练的(一个从左向右预测,一个从右向左预测,在左边和右边的内部结构里,其本质还是单向),只是在最后在loss层做了个简单相加。 对于每个方向上的单词来说,在一个方向被encoding的时候始终是看不到它另一侧的单词的,既解决了see itself的问题,又充分用上了上下文的语义。

1.2 使用方法

使用这个网络结构利用大量语料做语言模型任务就能预先训练好这个网络,如果训练好这个网络后,再输入一个新句子,句子中每个单词都能得到对应的三个Embedding:

先将句子X作为预训练好的ELMO网络的输入
这样句子X中每个单词在ELMO网络中都能获得对应的三个Embedding

(1)第一个Embedding,是单词的Word Embedding


http://www.mrgr.cn/news/48175.html

相关文章:

  • 我的2024年度总结
  • Socket 收发内部拆包封包函数
  • STM32F407 | Embedded IDE02 - 调试、断点、观察全局变量(支持JLINK、STLINK、DAPLINK)
  • [机器学习]XGBoost(3)——确定树的结构
  • LiteFlow决策系统的策略模式,顺序、最坏、投票、权重
  • 动态规划:石子合并 图文+举例超详细说明
  • VS Code最新版本Retome远程ssh不兼容旧服务器问题
  • 10.11 QT数据库实现学生信息的增、删、改、查
  • Android blueprint/microfactory/microfactory.bash源码分析
  • ajax请求
  • 基于SpringBoot+Vue+MySQL的留守儿童爱心网站
  • 解锁机器人视觉与人工智能的潜力,从“盲人机器”改造成有视觉能力的机器人(下)
  • java医院后台管理系统设计与实现源码(springboot+vue+mysql)
  • 消息中间件介绍
  • 如何快速保存微信公众号文章中的图片
  • 【JVM】JMM
  • 介绍Java
  • 《浔川社团官方自即日起停止发文》
  • 大数据治理快速入门指南
  • kali(专业的渗透测试虚拟机)|kali下载链接地址 |kali安装 |kali部署指南
  • GitHub Universe Learn Live|共聚 2024 GitHub Universe 十周年
  • postgresql 安装
  • 10.11Python数学基础-多维随机变量及其分布
  • 物理学基础精解【71】
  • ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin
  • 24-10-11-网络