大语言模型系列-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. 预训练模型(仅用于特征抽取)和实际下游任务模型仍是分开的、非端到端的,训练困难
相关推荐
高洁011 分钟前
基于Tensorflow库的RNN模型预测实战
人工智能·python·算法·机器学习·django
鲨莎分不晴5 分钟前
从 10 到 1000:大规模多智能体的可扩展性 (Mean Field & GNN)
人工智能·学习
may_一一5 分钟前
cv(opencv-python)手动安装
人工智能·opencv·计算机视觉
安徽正LU o561-6o623o78 分钟前
露-鼠兔解剖台 鼠兔二用解剖台 无干扰恒温加热鼠台 无干扰恒温加热兔台
人工智能
工藤学编程8 分钟前
零基础学AI大模型之RunnableBranch
人工智能
全栈小510 分钟前
【AI应用】Tbox神仙用法,一句话描述创作效果还不错的应用,随机菜单生成开发,一起来看看是如何通过多智能体协同开发
人工智能·tbox·智能体协同·百宝箱
字节数据平台10 分钟前
火山引擎发布“企业认知引擎”,驱动企业从“数据驱动”迈向“认知驱动”
人工智能
Java后端的Ai之路10 分钟前
【分析式AI】-OOF预测学习指南
人工智能·机器学习·oof预测
roman_日积跬步-终至千里11 分钟前
【人工智能导论】09-学习-注意力机制与Transformer:用注意力机制动态关注,用Transformer并行计算,用GPT理解生成语言
人工智能·学习·transformer
大、男人12 分钟前
FastMCP高级特性之Message Handling
人工智能·python·mcp·fastmcp