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

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 模型评估

模型训练:

模型评估:

相关推荐
爱吃程序猿的喵14 小时前
LingBot-Map 复现与原理剖析:基于 Geometric Context Transformer 的流式 3D 重建
人工智能·python·深度学习·计算机视觉·3d·transformer
weixin_468466854 天前
从Transformer到ViT与Swin详解
人工智能·深度学习·transformer·computer vision·vit·卷积·swin
tyler_download5 天前
揉扁搓圆transformer架构:反向传播算法详解
深度学习·算法·transformer
Together_CZ6 天前
GKDT: General Keypoint Detection Transformer——通用关键点检测 Transformer
人工智能·transformer·通用关键点检测·gkdt·keypoint·detection
Yunzenn7 天前
强化学习1-Liu2026_GFlowRL_精读笔记
人工智能·笔记·深度学习·机器学习·transformer·集成学习·vllm
LDZKKJ8 天前
国产开源 MoE 三强横评:Qwen3 235B / Kimi K2 / DeepSeek V3.1 深度技术解读
语言模型·chatgpt·transformer
汤姆小白8 天前
08-应用部署
人工智能·python·机器学习·numpy·transformer
一只空白格8 天前
Transformer架构面试题目
人工智能·深度学习·transformer
汤姆小白8 天前
06-LoRA参数高效微调
人工智能·python·机器学习·transformer
金融小师妹10 天前
多因子宏观推演模型:地缘局势风险与利率预期共振下,黄金价格为何持续承压的智能预测框架
均值算法·线性回归·transformer