大语言模型系列-ELMo

文章目录


前言

在前文大语言模型系列-word2vec已经提到word2vec的缺点:

  • 为每个词汇表中每个分词静态生成一个对应的词向量表示,没有考虑到语境,因此无法无法处理多义词

ps:先训练一个词嵌入模型,生成词向量表示,然后将生成的词向量输入下游任务新的模型中进行具体NLP任务训练,由于下游任务不再需要使用这些词嵌入模型,因此整个过程计算效率方面通常非常低,如Skip-Gram和GloVe。

ELMo对上述缺点进行了改进。


提示:以下是本篇文章正文内容,下面内容可供参考

一、ELMo的网络结构和流程

基于ELMo的NLP任务分为两个阶段:

  1. 第一个阶段是预训练,使用在大规模语料库上训练好的Word Embedding,输入ELMo模型中进行预训练
  2. 第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的词嵌入作为新特征补充到下游任务中

ps:由此可以看出ELMo是一种典型的基于特征融合的预训练模型。

具体的应用流程如下:

  1. 将句子输入ELMo网络中,这样句子中每个单词在ELMo网络中都能获得对应的三个Embedding;
  2. 赋予每个Embedding一个权重(这个权重可以由学习得来),然后通过加权求和将三个Embedding整合为一个;
  3. 将整合后的Embedding作为相应的单词输入,作为新特征给下游任务使用

二、ELMo的创新点

  1. 采用多层的Bi-LSTM网络以捕捉不同层次的特征
  2. 通过将token与word embedding对应,可以针对不同的上下文生成不同的词向量

ps:ELMO 的本质思想是:事先用语言模型学好一个单词的 Word Embedding,此时多义词无法区分,不过这没关系。在实际使用 Word Embedding 的时候,单词已经具备了特定的上下文了,这个时候我可以根据上下文单词的语义去调整单词的 Word Embedding 表示,这样经过调整后的 Word Embedding 更能表达在这个上下文中的具体含义,自然也就解决了多义词的问题了。所以 ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。


总结

ELMo是一种动态词向量算法,它最大的特点就是在大型的语料库里训练一个 biLSTM (双向LSTM模型)。下游任务需要获取单词词向量的时候,可以直接将整个句子输入 biLSTM,利用 biLSTM 的输出作为单词的词向量,这样词向量就能包含上下文语义信息。

尽管ELMo考虑了上下文,可以针对不同的上下文生成不同的词向量,以表达不同的语法或语义信息,但其仍存在如下缺陷:

  1. 使用向量拼接方式融合上下文特征,这种方式获取的上下文信息效果不如想象中好。
  2. 特征提取能力弱,训练难且时间长,这也是RNN的本质导致的,极大限制了NLP的应用,直到Transformer出现,NLP迎来爆发式增长。
  3. 预训练模型(仅用于特征抽取)和实际下游任务模型仍是分开的、非端到端的,训练困难
相关推荐
chaser&upper5 分钟前
预见未来:在 AtomGit 解码 CANN ops-nn 的投机采样加速
人工智能·深度学习·神经网络
松☆8 分钟前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南
人工智能·算法·语言模型
结局无敌14 分钟前
深度探究cann仓库下的infra:AI计算的底层基础设施底座
人工智能
m0_4665252915 分钟前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
慢半拍iii16 分钟前
从零搭建CNN:如何高效调用ops-nn算子库
人工智能·神经网络·ai·cnn·cann
机器懒得学习20 分钟前
智能股票分析系统
python·深度学习·金融
晟诺数字人21 分钟前
2026年海外直播变革:数字人如何改变游戏规则
大数据·人工智能·产品运营
蛋王派21 分钟前
DeepSeek-OCR-v2 模型解析和部署应用
人工智能·ocr
vx_biyesheji000125 分钟前
豆瓣电影推荐系统 | Python Django 协同过滤 Echarts可视化 深度学习 大数据 毕业设计源码
大数据·爬虫·python·深度学习·django·毕业设计·echarts
禁默27 分钟前
基于CANN的ops-cv仓库-多模态场景理解与实践
人工智能·cann