ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)

本文将分 3 期进行连载,共介绍 20 文本分类任务上曾取得 SOTA 的经典模型。


  • 第 1 期:RAE、DAN、TextRCNN、Multi-task、DeepMoji、RNN-Capsule
  • 第 2 期:TextCNN、DCNN、XML-CNN、TextCapsule、、Bao et al.、AttentionXML
  • 第 3 期:ELMo、GPT、BERT、ALBERT、X-Transformer、LightXML、TextGCN、TensorGCN

您正在阅读的是其中的第 3 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

第1期回顾:TextRCNN、TextCNN、RNN…你都掌握了吗?一文总结文本分类必备经典模型(一)

第2期回顾:TextCNN、DCNN、AttentionXML…你都掌握了吗?一文总结文本分类必备经典模型(二)


本期收录模型速览

模型 SOTA!模型资源站收录情况 模型来源论文
ELMo https://sota.jiqizhixin.com/models/models/e473edac-88cc-4a83-b533-d15c2ca0ea17
收录实现数量:3
支持框架:TensorFlow、PyTorch、MXNet 等
Deep Contextualized Word Representations
GPT https://sota.jiqizhixin.com/models/models/09877886-65c3-44b0-a5be-9e5043964787
收录实现数量:1
支持框架:
TensorFlow、PyTorch
Improving language understanding by generative pre-training
BERT https://sota.jiqizhixin.com/models/models/1d27a74a-8668-4d64-9615-ce889b88700b
收录实现数量:7
支持框架:TensorFlow、PyTorch 等
BERT: pre-training of deep bidirectional transformers for language understanding
ALBERT https://sota.jiqizhixin.com/models/models/0306236e-ce20-4886-98cb-45730fda6cf9
收录实现数量:13
支持框架:PyTorch、TensorFlow、CANN
ALBERT: A lite BERT for self-supervised learning of language representations
X-Transformer https://sota.jiqizhixin.com/models/models/fa67640c-fedb-400e-a6fb-e83b4eedbb65
收录实现数量:1

支持框架:TensorFlow

Taming pretrained transformers for extreme multi-label text classification
LightXML https://sota.jiqizhixin.com/models/models/7f477837-72fe-435d-b8e4-13d5308c7bfa
支持框架:PyTorch
Lightxml: Transformer with dynamic negative sampling
for high-performance extreme multi-label text classification
TextGCN https://sota.jiqizhixin.com/models/models/64a6edf7-3e03-455c-bb54-26ab72607c0e
收录实现数量:1
支持框架:TensorFlow
Graph convolutional networks for text classification
TensorGCN https://sota.jiqizhixin.com/models/models/2702592d-f69f-41a6-9c29-924999576bd3
收录实现数量:1
支持框架:TensorFlow
Tensor graph convolutional networks for text classification


文本分类是自然语言处理中最基本、最经典的任务,大部分自然语言处理任务都可以看作是分类任务。近年来,深度学习在众多研究领域中获得了巨大的成功,如今,也成为了 NLP 领域的标配技术,广泛渗透入文本分类任务中。


与数字、图像不同,对文本的处理强调精细化的处理能力。传统的文本分类方法一般需要对输入模型的文本数据进行预处理,此外还需要通过人工标注的方法来获得良好的样本特征,然后使用经典的机器学习算法对其进行分类。类似的方法包括 NaiveBayes(NB)、K 近邻(KNN)、支持向量机 SVM 等。特征提取的水平对文本分类效果的影响甚至高于图像分类,而文本分类中的特征工程往往非常耗时且计算成本高。2010 年后,文本分类的方法逐渐过渡到深度学习模型。应用于文本分类的深度学习通过学习一系列的非线性变换模式将特征工程直接映射到输出,从而将特征工程集成到模型拟合过程中,一经应用就获得了巨大的成功。


与图像分类模型不同,文本分类模型一般不会采用堆叠模块、修改深度模型结构等方式去改进,更多则是通过引入其它技术手段改进模型效果,例如引入注意力机制、预训练、图神经网络、胶囊网络等。所以在介绍经典文本分类模型时,更多的是介绍为了解决文本分类中的哪一类具体问题,针对性的引入了哪些专门的技术 trick,以及这些引入的 trick 是如何与原有的经典架构融合的。


此外,NLP 领域中大量工作都聚焦于前端的词、语句、文本的处理或语义理解,目的是为下游的各类任务服务,当然也包括文本分类任务。为了更聚焦于文本分类模型,我们在这篇文章中只介绍专门的文本分类模型,其它 NLP 模型会放在后续的专题报告中介绍。最后,文本分类模型以 BERT 的出现明显呈现出两个不同的发展阶段,BERT 提出后(2019 年之后),单纯基于 RNN、CNN 改进的且效果比较突出的方法就比较少了。


一、Pre-train


预训练的语言模型可以有效地学习全局语义代表,并显著提升NLP任务的效果,包括文本分类。它通常使用无监督的方法来自动挖掘语义知识,然后构建预训练目标,使机器能够学习理解语义。如图1所示,我们给出了Embeddingfrom Language Model (ELMo)、OpenAI GPT和BERT之间模型架构的差异。ELMo是一个深度的语境化单词表示模型,它很容易被整合到模型中。它可以对单词的复杂特征进行建模,并为各种语言环境学习不同的表示方法。它根据双向LSTM的上下文词来学习每个词的嵌入。GPT采用有监督的微调和无监督的预训练来学习一般的表征,这些表征在有限的适应下转移到许多NLP任务。此外,目标数据集的领域不需要与未标记的数据集的领域相似。GPT算法的训练过程通常包括两个阶段。首先,神经网络模型的初始参数是通过在未标记的数据集上的建模目标学习的。我们可以采用相应的监督目标来适应目标任务的这些参数。谷歌提出的BERT模型,通过对每一层的左右上下文进行联合调节,从未标记的文本中预训练出深层次的双向表征,显著提高了NLP任务的性能,包括文本分类。BERT应用了双向编码器,旨在通过联合调整所有层的上下文来预先训练深度的双向表示。它可以在预测哪些词被掩盖时利用上下文信息。它只需增加一个额外的输出层就可以进行微调,为多个NLP任务构建模型。



图1 包括BERT、OpenAI GPT和ELMo在内的预训练模型架构的差异。𝐸𝑖代表第𝑖个输入的嵌入。Trm代表Transformer块。𝑇𝑖代表𝑖稀疏输入的预测标签


与这三个模型相比,ELMo是一种使用LSTM的基于特征的方法,而BERT和OpenAI GPT是使用Transformer的微调方法(也可以归类到本文第七类Transformer模型里,为了表述清晰,本文将GPT和BERT放入Pre-train类别中介绍)。此外,ELMo和BERT是双向训练模型,而OpenAI GPT是从左到右的训练。因此,BERT得到了一个更好的结果,它结合了ELMo和OpenAI GPT的优点。


1.1 ELMo


词向量模型ELMo的相关论文发表在NAACL 2018上。具体的方法是将每个词的表示看作是对于整体句子的函数,通过利用在语料上训练的双向LSTM的语言模型得到词向量,因此将其称为ELMo(Embeddings from Language Models)。对比传统Word2Vec这种静态形式的词向量,ELMo是一种动态模型。对于静态形式的词向量来说,无论在任何的上下文中都使用同一个向量,因此很难表示一词多义的现象,而ELMo则可以通过上下文动态生成词向量,从理论上会是更好的模型,从实测效果来看在很多任务上也都达到了当时的SOTA成绩。ELMo引入了上下文语境的概念。ELMo的架构如下图所示。


图2 ELMo架构

首先介绍双向语言模型biLM,这是ELMo的基础。给定N个tokens的序列,一个前向语言模型通过对t_o的概率进行建模来计算t_k的概率:

而双向语言模型就是添加了另一个方向的预测,利用N~k+1个token来预测第k个token:

目标函数则是上述两者的联合损失(BiLM):

不同于其他类型的模型采用最顶层的输出作为token的表示,ElMo采用多个层的线性加和作为token的表示,对于每个token,在一个L层的biLm中可以输出2L+1表示:

在下游任务中,可以将上述2L+1个表示进行整合:

具体到ELMo的架构,还是按照训练语言模型的方式,使用了CNN-BIG-LSTM结构和一个层之间的残差链接。使用ELMo可以针对一个token产生三个向量,:原始向量、第一层向量、第二层向量。作者认为低层的bi-LSTM层能提取语料中的句法信息,而高层的bi-LSTM能提取语料中的语义信息。

当前 SOTA!平台收录 ELMo 共 3 个模型实现资源。

模型 SOTA!平台模型详情页
ELMo 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/e473edac-88cc-4a83-b533-d15c2ca0ea17


目录
打赏
0
0
0
0
367
分享
相关文章
|
16天前
清华UCSD提出全新微调方法,8B小模型媲美GPT-4o!科学问题正确率提高28%
清华大学与UCSD研究人员提出了一种创新微调方法,通过“世界知识蒸馏”和“工具使用适应”两组件,显著提升大型语言模型(LLM)解决科学问题的能力,同时保持其基本推理能力。实验结果显示,该方法在多个科学领域基准数据集上大幅提高了答案准确性和工具使用精度。论文地址:https://arxiv.org/abs/2411.00412
27 2
GPT-5涌现能力可预测?UC伯克利仅使用当前模型检查点预测未来模型
加州大学伯克利分校的一项新研究提出了一种基于微调大型语言模型(LLM)的方法,以预测未来模型的涌现能力。通过在特定任务上微调现有模型并拟合参数化函数,研究团队能够在四个NLP基准测试中准确预测未来模型的能力。该方法为模型开发者和政策制定者提供了重要工具,但也存在局限性,如仅能预测4倍计算资源内的涌现现象。论文地址:https://arxiv.org/pdf/2411.16035。
34 1
k1.5:性能超越 GPT-4 和 Claude 3.5!Kimi 新一代多模态推理模型
Kimi k1.5 是月之暗面推出的多模态思考模型,具备强大的推理和多模态处理能力,支持长链思维与短链思维,性能超越GPT-4和Claude 3.5。
402 10
k1.5:性能超越 GPT-4 和 Claude 3.5!Kimi 新一代多模态推理模型
续命Scaling Law?世界模型GPT-4o让智能体超级规划,OSU华人一作
GPT-4o是OpenAI推出的先进语言模型,不仅在自然语言处理上表现出色,更在智能体规划领域展现了巨大潜力。它能模拟预测行动结果,提供决策支持,实现高效智能规划。适用于自动驾驶、机器人等领域,助力复杂任务的优化执行。尽管面临计算资源和环境一致性等挑战,GPT-4o仍为智能体规划带来新机遇。论文地址:https://arxiv.org/abs/2411.06559
39 2
预训练语言模型:从BERT到GPT,NLP的新纪元
自然语言处理(NLP)近年来因预训练语言模型(PLMs)的崛起而发生巨大变革。BERT和GPT等模型在学术与工业界取得突破性进展。本文探讨PLMs原理、发展历程及其实际应用,涵盖文本分类、命名实体识别、问答系统等场景,并通过实战案例展示如何使用这些强大的工具解决复杂的NLP任务。
InternVL 2.5,首个MMMU超过70%的开源模型,性能媲美GPT-4o
近期Internvl2.5发布,性能与GPT-4o和Claude-3.5-sonnet等领先的商业模型相媲美,成为首个在MMMU上超过70%的开源模型,通过链式思考(CoT)推理实现了3.7个百分点的提升,展示了强大的测试时间可扩展性潜力。
399 25
昇腾AI行业案例(四):基于 Bert 模型实现文本分类
欢迎学习《昇腾行业应用案例》的“基于 Bert 模型实现文本分类”实验。在本实验中,您将学习如何使用利用 NLP (natural language processing) 领域的AI模型来构建一个端到端的文本系统,并使用开源数据集进行效果验证。为此,我们将使用昇腾的AI硬件以及CANN等软件产品。
71 0
基于函数计算部署GPT-Sovits模型实现语音生成
阿里云开发者社区邀请您参加“基于函数计算部署GPT-Sovits模型实现语音生成”活动。完成指定任务即可获得收纳箱一个。活动时间从即日起至2024年12月13日24:00:00。快来报名吧!
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
273 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!

热门文章

最新文章

目录
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等