在Transformer出来之前,学界其实一直在尝试利用LSTM去做大型的预训练语言模型,其中最出名的是ELMo。
ELMo(Embeddings from Language Models)是一种基于深度学习的词向量表示方法,由Allen Institute for AI在2018年提出。
与传统的静态词向量(如Word2Vec、GloVe)不同,ELMo能够生成上下文相关的词向量,即同一个词在不同语境下会有不同的向量表示。例如,单词“bank”在“river bank”和“bank account”中含义不同,ELMo能够根据上下文生成不同的向量表示。
上下文相关:ELMo生成的词向量依赖于上下文,同一个词在不同句子中会有不同的表示。
双向语言模型:ELMo通过双向LSTM(长短期记忆网络)捕捉上下文信息,同时考虑前向和后向的语境。
多层表示:ELMo从语言模型的多个层中提取特征,结合不同层次的语义信息,生成更丰富的词向量。
双向LSTM:ELMo使用双向LSTM训练语言模型,分别从前向和后向预测下一个词。
多层特征融合:ELMo从LSTM的多层中提取特征,结合不同层次的语义信息,生成最终的词向量。
加权求和:通过加权求和,将不同层的表示结合起来,生成最终的上下文相关词向量。
ELMo广泛应用于自然语言处理任务,如文本分类、命名实体识别、问答系统等,能够显著提升模型性能。
上下文感知:能够捕捉词在不同语境中的语义变化。
多任务学习:预训练的ELMo模型可以迁移到多种下游任务。
性能提升:在许多NLP任务中,使用ELMo能显著提高模型表现。
ELMo(Embeddings from Language Models)在2018年提出时,确实在自然语言处理(NLP)领域引起了广泛关注,因为它首次引入了上下文相关的词向量表示,显著提升了多项NLP任务的性能。然而,ELMo的统治地位并没有持续太久,很快就被基于Transformer架构的模型(如BERT、GPT等)超越。以下是ELMo被Transformer打败的历史背景和原因:
基于LSTM:ELMo使用双向LSTM(长短期记忆网络)来建模上下文信息,而LSTM的训练和推理速度较慢,且难以捕捉长距离依赖关系。
浅层特征融合:ELMo虽然从多层LSTM中提取特征,但其特征融合方式相对简单(加权求和),无法充分利用深层语义信息。
单向语言模型:ELMo的前向和后向语言模型是独立训练的,无法真正实现“双向”上下文建模。
2017年,Google提出了Transformer架构(论文《Attention is All You Need》),彻底改变了NLP领域的格局。Transformer的核心是自注意力机制(Self-Attention),它能够直接建模输入序列中所有词之间的关系,克服了LSTM的局限性。
Transformer的优势:
并行计算:Transformer不需要像LSTM那样按序列顺序计算,可以并行处理整个输入序列,大大提高了训练和推理速度。
长距离依赖:自注意力机制能够直接捕捉长距离依赖关系,而不会像LSTM那样出现信息衰减。
深层模型:Transformer可以堆叠多层(如12层、24层甚至更多),从而学习到更复杂的语义表示。
BERT的诞生:
2018年底,Google基于Transformer架构提出了BERT(Bidirectional Encoder Representations from Transformers)。BERT的核心创新是双向上下文建模,即通过掩码语言模型(Masked Language Model, MLM)同时利用左右两侧的上下文信息。
BERT相比于ELMo的优势:
真正的双向建模:BERT通过掩码语言模型实现了真正的双向上下文建模,而ELMo只是简单地将前向和后向语言模型的结果拼接起来。
更深的模型:BERT通常使用12层或24层的Transformer,能够捕捉更复杂的语义信息。
预训练+微调范式:BERT引入了“预训练+微调”的范式,先在大量无标签数据上预训练,然后在特定任务上微调,显著提升了模型的表现。
BERT在发布后,迅速在多项NLP任务(如GLUE、SQuAD等)上刷新了记录,彻底取代了ELMo的地位。
ELMo在2018年是一个重要的里程碑,但它很快被基于Transformer的模型(如BERT)超越。Transformer凭借其并行计算能力、长距离依赖建模和深层语义表示,彻底改变了NLP领域的发展方向。ELMo虽然不再是主流,但它为后续模型的创新铺平了道路,在NLP历史上留下了不可磨灭的印记。
尽管ELMo被Transformer/BERT超越,但它对NLP领域的影响是深远的:
上下文相关词向量:ELMo首次证明了上下文相关词向量的重要性,为后续模型(如BERT)奠定了基础。
预训练+微调范式:ELMo的成功推动了“预训练+微调”范式的普及,这一范式后来被BERT发扬光大。
多任务学习:ELMo展示了预训练模型在多任务学习中的潜力。
ELMo通过上下文相关的词向量表示,解决了传统静态词向量的局限性,成为自然语言处理中的重要工具。然而,ELMo的统治地位并没有持续太久,很快就被基于Transformer架构的模型(如BERT、GPT等)超越。