跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
编程语言AI算法

ELMo 模型详解:上下文感知词向量表示技术

ELMo 是由华盛顿大学提出的预训练语言模型,全称 Embeddings from Language Models。它利用双向 LSTM 网络生成上下文相关的词向量,有效解决了传统静态词向量无法区分多义词的问题。模型架构包含字符级 CNN 编码、双层双向 LSTM 及多层特征融合模块。预训练采用两阶段策略:先训练语言模型获取基础权重,再在下游任务中提取各层 Embedding 作为特征补充。实验表明 ELMo 在多个 NLP 任务中性能显著提升,最高达 25%。尽管其使用 LSTM 而非 Transformer,特征融合方式也较 BERT 简单,但仍是上下文感知表示的重要里程碑。

雪落无声发布于 2026/4/9更新于 2026/4/251 浏览
ELMo 模型详解:上下文感知词向量表示技术

ELMo 简介

ELMo(Embeddings from Language Models)是 2018 年 3 月由华盛顿大学提出的一种预训练语言模型,相关论文为《Deep Contextualized Word Representations》。

传统词向量如 Word2Vec 和 GloVe 都是静态的,无法区分多义词。例如 "apple" 在不同语境下可能指水果或公司,但固定向量难以表达这种差异。ELMo 通过训练上下文相关的预训练模型,在 6 个 NLP 任务上均取得了性能提升。

ELMo 架构

宏观上看,ELMo 分为三个主要模块:底层的 Embedding 模块、中间的双层双向 LSTM 模块以及上层的词向量表征模块。

总体架构

架构图

Embedding 模块

最底层采用 CNN 对字符级进行编码,生成静态的词嵌入向量作为网络输入。

双层 LSTM 模块

这是核心部分,包含左侧的前向 LSTM 和右侧的反向 LSTM。

对于左半部分,给定 N 个 tokens (t1, t2, ..., tN),语言模型利用前 k-1 个位置的 token 序列计算第 k 个 token 出现的概率,构成前向双层 LSTM。

前向 LSTM

右半部分同理,利用后 N-k 个位置的 token 序列计算第 k 个 token 的概率,构成后向双层 LSTM。

后向 LSTM

训练目标函数旨在最大化以下公式:

目标函数

词向量表征模块

每个 token 通过 L 层双向 LSTM 可计算出 2L+1 个表示向量,包括:

  1. 底层 CNN 编码结果。
  2. 前向 LSTM 每层输出(共 L 个)。
  3. 后向 LSTM 每层输出(共 L 个)。

为了将多个向量融合为一个最终向量,通常引入权重参数进行加权求和:

融合公式

原始论文中,底层 CNN 形成 512 维列向量,中间双层 LSTM 每层输入输出均为 512 维。因双向编码,每层输出维度为 1024,融合后向量维度同样为 1024。值得注意的是,不同任务中系数取值差异较大,如在 SQuAD 中设置为 0.01 效果优于 1。

ELMo 预训练任务

本质思想

ELMo 本质上是一个根据当前上下文动态调整 word embedding 的语言模型。虽然预训练时无法区分多义词,但在实际使用时,结合上下文信息调整后的向量能准确表达单词的真实含义。

两阶段过程

第一阶段:语言模型预训练

利用大量语料训练双层双向 LSTM。输入句子 S_new 时,每个单词可获得 3 个 embedding 向量:

  1. 最底层单词 embedding。
  2. 第一层双向 LSTM 对应位置 embedding(侧重句法信息)。
  3. 第二层双向 LSTM 对应位置 embedding(侧重语义信息)。

这一阶段产出了基础静态词向量和双向双层 LSTM 网络。

第二阶段:下游任务调整

以 QA 任务为例,将问句 X 输入预训练好的 ELMo 网络,获得每个单词的 3 个向量。赋予各自权重 a(可学习或平均),加权求和后作为新特征补充进下游任务网络。这类方法被称为 "Feature-based Pre-Training"。

ELMo 模型效果

相比静态词向量,ELMo 有效解决了多义词问题。例如 "play" 一词,GloVe 训练出的向量倾向于体育领域,而 ELMo 能根据上下文识别出 "演出" 等含义,且词性保持一致。在 6 个主流 NLP 任务中,ELMo 性能均有提升,最高达 25%,覆盖语义关系判断、分类及阅读理解等场景。

ELMo 待改进点

尽管 ELMo 表现优异,但仍存在局限:

  1. 特征提取器选择:使用了双向双层 LSTM,而非更强大的 Transformer,特征提取能力相对较弱。若当时选用 Transformer,后续 BERT 的影响力或许会有所不同。
  2. 特征融合方式:采用双向拼接融合,不如 BERT 的一体化双向提取特征高效。

小结

ELMo 是 2018 年由华盛顿大学提出的预训练语言模型,在 6 种 NLP 测试任务中表现显著提升。其架构基于双向双层 LSTM,通过上下文动态调整词向量,有效解决了多义词问题。虽然特征提取器和融合方式不如后续模型先进,但仍是上下文感知表示的重要里程碑。

目录

  1. ELMo 简介
  2. ELMo 架构
  3. 总体架构
  4. Embedding 模块
  5. 双层 LSTM 模块
  6. 词向量表征模块
  7. ELMo 预训练任务
  8. 本质思想
  9. 两阶段过程
  10. 第一阶段:语言模型预训练
  11. 第二阶段:下游任务调整
  12. ELMo 模型效果
  13. ELMo 待改进点
  14. 小结
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • 在 Zed 编辑器中集成 Web MCP 实现实时信息访问
  • Xilinx Vivado 2020.1 安装流程与常见问题解析
  • 微搭低代码 MBA 培训系统:用户登录与权限控制
  • 医疗 AI 可信系统全栈实现:向量索引与贝叶斯网络(下)
  • Claude 部署与 Copilot 反向代理配置实战
  • Quest 一体机通过 SideQuest 安装本地游戏与 APK 教程
  • FAIR plus 2026 机器人全产业链接会前瞻
  • Pi0 机器人 VLA 大模型在昇腾 A2 平台上的测评与部署
  • Prompt 逆向工程:从错误答案回溯优化思路
  • OpenVLA-OFT+ 在真实世界 ALOHA 机器人任务中的应用
  • MediaPipe 与 ROS 集成:机器人动作交互系统部署实战
  • GitHub Copilot 提示词工程实战:从入门到精通
  • Delphi 与大模型交互:SOAP 协议自动化生成方案
  • GitHub Copilot Plan 模式:核心优势与使用场景解析
  • Claude Code Rules 配置实战:从基础到多语言管理
  • 9 款免费 AI 论文工具实测:从写作到查重全流程解析
  • MATLAB 2025a 发布:深色模式与 Copilot 助手详解
  • Flutter Web 混合开发最佳实践
  • 非科班转码者 AI 学习路径指南:从基础到实战
  • Stable Diffusion WebUI 本地部署实战(Win11 + RTX 环境配置)

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online