迁移学习案例_中文文本分类案例

1. 通过微调方式进行迁移学习的两种类型

类型一:直接加载预训练模型进行输入文本的特征表示,后接自定义网络进行微调输出结果;

类型二:使用指定任务类型的微调脚本微调预圳练模型,后接带有输出头的预定义网络输出结果,说明:所有类型的实战演示,都将针对中文文本进行;

2. 迁移学习-中文分类

即中文句子分类。

任务介绍 :直接加载预训练模型进行输入文本的特征表示,后接自定义网络进行微调输出结果;

数据介绍:数据文件有三个train.csv,test.csv,validation.csv,数据样式都是一样的。(都只有2列数据:标签、文本);

通过huggingface的datasets工具,加载信息文件;使用datasets中的load_dataset()方法来读取数据,如:csv文件;之前是 先构建数据源对象DataSet,再构建数据加载器DataLoader;此方法好处是:在这里datasets这个第三方库的load_dataset方法读取文件,直接得到一个DataSet对象,即此第三方库可帮忙完成第三方库的构建;load_dataset("csv", data_files=my_files, split="train")第一个参数是当前要读取的文件类型,后面data_files文件路径跟的是什么样的文件类型、这里就指明什么样的文件:如果后面是csv则此处是csv、如果是txt则是txt、如果是json则是json;

2.1 数据预处理

2.2 自定义下游任务网络模型

自定义单层的全连接网络作为微调网络。根据实际经验,自定义的微调网络参数总数应大于0.5倍的训练数据量,小于10倍的训练数据量,这样有助于模型在合理的时间范围内收敛。

定义下游任务模型:定义一个类继承 nn.Module,init方法、forward方法;init方法:直接实例化一个linear层:输入特征768(因为BertModel只是一个特征提取器,不具备任何任务输出特征头,所以bert后的结果还是867维的向量)、输出特征2(因为整个文本做二分类,所以输出特征是2)。forwar方法:input_ids, attention_mask, token_type_ids三个参数即前面处理过的3个输入,这3个输入不是直接给上面的 nn.Linear的,而是先经过预训练模型(前面加载的预训练模型bert_model),得到bert模型编码后的结果因为预训练模型不参与训练,所以需要将参数冻结,使用with torch.no_grad():进行冻结 ,只对其代码范围内的bert模型这块起作用(即未对齐这行),全连接层没有在代码范围内,所以对其不起作用 (pooler_output = bert_output.pooler_output这行不要写进去,bert_output"pooler_output" 代表每个样本的CLS - -token对应的隐藏层输出结果,代表整个句子的语意)但是上面的全连接层要进行模型的训练**;(为了不让预训练模型的参数进行更新,这里需要使用 with torch.no_grad():得到预训练后的结果,再送给全连接层,得到预测的结果)。

2.3 模型训练

2.4 模型评估

模型训练:

模型评估:

相关推荐
CCC:CarCrazeCurator21 小时前
大模型核心注意力机制技术深度报告:MHA、MQA、GQA 与 MLA 技术原理、性能对比与场景适配
人工智能·机器学习·自动驾驶·transformer
DisonTangor2 天前
谷歌开源首个扩散大语言模型——DiffusionGemma
人工智能·语言模型·自然语言处理·开源·aigc·transformer
AndrewHZ2 天前
【LLM技术全景】开源大模型生态:如何选择适合你的基座模型?
人工智能·深度学习·语言模型·开源·llm·transformer·基座模型
机器学习之心2 天前
扩散模型数据增强 + Transformer-LSTM 回归预测:小样本场景下的工业级解决方案
回归·lstm·transformer·扩散模型
谷哥的小弟2 天前
大模型核心基础知识(18)—Transformer模型的提出背景
人工智能·深度学习·神经网络·大模型·transformer·大语言模型
盼小辉丶2 天前
视觉Transformer实战 | Twins空间注意力机制详解与实现
深度学习·计算机视觉·transformer
吴佳浩 Alben3 天前
Hermes vs OpenClaw:基于源码的 Agent Loop 全面分析
人工智能·ai·transformer
装不满的克莱因瓶3 天前
掌握多头自注意力机制(Multi-Head Self-Attention)——Transformer 强大表达能力的核心来源
人工智能·python·深度学习·数学·ai·transformer
高洁013 天前
知识图谱与推荐系统实战
深度学习·机器学习·transformer·virtualenv·知识图谱