跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

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

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

雪落无声发布于 2026/4/9更新于 2026/6/916 浏览
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折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • Python 3.8+ 海象运算符详解
  • Flutter 组件 tavily_dart 在鸿蒙系统的适配与进阶应用
  • 无人机智能巡检系统开发与大疆上云 API 集成
  • Seedream 4.0 深度测评:AI 图像生成与企业级应用
  • 2026 年主流 AI 生成 PPT 工具实测与横向对比排行
  • 前端三剑客:HTML、CSS、JavaScript 如何协同工作
  • MySQL 核心技术详解:架构、索引与高可用实战
  • UV 国内源配置指南:PyPI 与解释器加速实战
  • GitNexus:纯本地代码知识图谱与可视化分析工具
  • Java 核心语法与并发编程实战:66 个常用代码示例
  • 前端流式输出实现详解:从原理到实践
  • llama.cpp 量化模型部署实战:从模型转换到 API 服务
  • Vheer:免费免登录的 AI 绘画与视频生成工具
  • Pi0 机器人 VLA 大模型在昇腾 A2 平台上的测评与部署
  • Python 安全密码处理:生成、哈希与存储最佳实践
  • 俄罗斯方块游戏技术解析:从前端实现到工程化思考
  • 国内外 AI 大模型对比及国产 AI 核心优势解析
  • OpenClaw 安全部署实战:从零搭建 AI 助理
  • 基于 PySide6 和 VTK 的 STL 文件曲面选择器与导出工具
  • 快手开源 KwaiAgents:7B 小模型实现超越 GPT-3.5 的 Agent 能力

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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