《Universal Language Model Fine-tuning for Text Classification》论文笔记

摘要

基于Pretrain-Finetune与语言模型的优点,作者提出 ULMFiT 迁移学习方法,降低深度学习模型对标注数据集的依赖, 以及提升模型表现。 ULMFiT 包含三个主要步骤, 第一,在大规模通用数据集上训练语言模型, 第二,将预训练模型在目标领域数据集上进行Fine-Tuning,使预训练模型继续学习目标数据集的特征,最后在目标数据集合上FineTune 目标 分类器

相关研究

Multi-Task Learning

多任务学习是指”使同一模型同时进行多个任务, 同时进行的任务可以在同一数据集,也可以在多个相关数据集上进行。”,GPT2证明,在进行分类任务时,同时进行语言模型任务,可以提升分类任务的效果。 需要注意的是,在多任务学习中, 不同任务的损失权重比是一个超参数

ULMFiT

LM具有严格的数学理论支撑、几乎无限量的数据集可使用、结构便于迁移等优良性质,但注意LM本质只是一种”目标函数”,多种模型结构都可以进行LM学习任务,在本文中采用的是3层LSTM结构。ULMFiT概要图如下所示:

《Universal Language Model Fine-tuning for Text Classification》论文笔记

; 通用领域LM预训练

该过程的目的是使”模型学习通用知识,降低模型对下游任务的数据依赖”。

目标任务LM FineTune

使模型学习目标任务上的数据分布特征,以提高目标任务上分类任务的效果。在FineTune中,引入了两个新技术”Discriminative fine-tuning”, “Slanted triangular learning rates”。

Discriminative fine-tuning

本质就是对模型结构的不同部分,采取不同的学习率,一般对较高的网络层采取较高的学习率,较低层采取较低的学习率。这样设计的目的与”使用Word2Vec 预训练向量”的思想比较相似,尽量保持低层次网络结构的知识不变。 实现的手段就是对模型可学习参数进行分组

Slanted triangular learning rates

在 Discriminative fine-tuning 中, 相邻两个网络层之间的学习率具有L R l − 1 = L R l / x ; x > 1 LR_{l-1} = LR_l / x; x > 1 L R l −1 ​=L R l ​/x ;x >1,将网络顶层的学习率看作基准,底层网络学习率依次降低。 而在 STLR 中,顶层这个学习率的基准是不断变化的,变化趋势为”先线性增高,后线性降低”,呈一个斜三角形状。

《Universal Language Model Fine-tuning for Text Classification》论文笔记

; 目标分类器 FineTune

在预训练模型结构顶层,再新增两个基础子块与Softmax,基础子块包含”BN, Dropout, ReLU”。基础块的输入是预训练模型最后一层的输出,由于采用的是3层LSTM,因此基础块的输入为:
h c = [ h T , m a x p o o l ( h 1 − T ) , m e a n p o o l ( h 1 − T ) ] h_c = [h_T, maxpool(h_{1- T}), meanpool(h_{1-T})]h c ​=[h T ​,m a x p o o l (h 1 −T ​),m e a n p o o l (h 1 −T ​)]

FineTune目标分类器是整个过程中最重要的环节,太过激进的FineTune,会导致LM任务学习到的知识被遗忘,太谨慎的FineTune会导致模型收敛很慢,因此在”Discriminative fine-tuning” 与 “Slanted triangular learning rates”的基础上,作者又提出”Gradual unfreezing”。

Gradual unfreezing

本质就是”从上往下的解冻网络层,调整非冻结层的可学习参数”。与”Discriminative fine-tuning”的思想与目的较相似。

BPTT for Text Classification

对长文本的一种处理技巧,将长文本切分成若干段,以batch为单位, 处理相邻的后续batch时,模型初始化为前一batch的计算状态,在计算的过程中需要收集梯度信息,感觉实现难度挺大的。

实验结果

《Universal Language Model Fine-tuning for Text Classification》论文笔记

说明 FineTune LM 过程确实能降低模型对下游任务的数据依赖与提升模型表现。supervised 与 semi-supervised 分别表示FineTune LM时, 仅使用目标任务的标注样本、即使用标注样本也使用非标注样本。也就是说semi-supervised 在FineTune LM 时, 使用了更大规模的领域数据集。

《Universal Language Model Fine-tuning for Text Classification》论文笔记
Full表示对网络所有参数进行FineTune,而不采用”Gradual unfreezing”, 结果表明 Discriminative fine-tuning 与 Slanted triangular learning rates 在FineTune LM 时,有助于效果提升。

《Universal Language Model Fine-tuning for Text Classification》论文笔记

说明”Gradual unfreezing” 与 Discriminative fine-tuning ,Slanted triangular learning rates 在 FineTune 分类器上有相互补充的作用。

《Universal Language Model Fine-tuning for Text Classification》论文笔记
说明 Discriminative fine-tuning 与 Gradual unfreezing 这种学习率设计机制,能够有效防止预训练模型遗忘掉LM任务中学习到的知识。

Original: https://blog.csdn.net/weixin_44815943/article/details/123870564
Author: 凯子要面包
Title: 《Universal Language Model Fine-tuning for Text Classification》论文笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545163/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球