方法:
首先,利用预训练模型 BERT在标注样本上学习到最优的提示模板;然后,在每条样本中补充提示模板和空缺,将文本分类任务转化为完形填空任务;最后,通过预测空缺位置的
填充词,结合填充词与标签之间的映射关系得到最终的标签。
原因:
文本分类任务通常依赖足量的标注数据,针对低资源场景下的分类模型在小样本上的过拟合问题。
重要内容:
在模型训练阶段,本文采取 MLM的损失作为最终的目标。通过预测空缺部分是候选集里的哪个词之后,标签映射得到最终的标签。由于标注数据的不足,仅通过少量数据很难学习到整个模型的参数,而且易出现过拟合。因此,在模型训练阶段借助了固定模型原始权重,在 BERT的基础上添加残差模块,即本文中的提示模板部分。并且在训练过程中只优化残差模块的参数。本文将需要优化的模板部分参数重新构建一个嵌入层,为图中 E(p)。将其拼接到 BERT模型的嵌入层中,在训练过程中通过矩阵遮盖住原始模型的嵌入层 E(M),使得其回传过程中的梯度为 0,不参与反向传播的计算,从而实现在更新阶段只更新模板部分的参数。
1模板学习层
自动构建提示模板方法采用基于 P-tuning的思想,利用连续空间内的向量表示作为提示模板,将模板的构建转化为连续参数优化问题。即在标注样本集上学习到使得整个句子表示置信度最高的一组向量,作为模板提示。
图中所示的[u1]~[u4],代表 BERT词表中的[unused1]~[unused4]。该部分标记在 BERT预训练阶段未使用,通常用于扩充词表等。即本文通过未使用过的标记来初始化构成模板表示,之后通过标注数据计算出该模板在得到提示模板对应的向量后,将其拼接到 BERT的词嵌入层中,作为完形填空模型的输入
2 Bert-MLM层
采用 BERT-MLM层用于完成完形填空任务。预测句中空缺部分为候选词集合对应的概率,以及其填入文中的语义合理性。
3 标签映射层
在得到空缺部分的词之后,将结果输入到标签映射层。标签映射层的主要作用为定义 MLM任务中的候选词和标签之间的对应关系。
例如根据不同任务将[好,坏],[体育,军事…金融]等集合作为完形填空的候选词,构建[好→积极,坏→消极]的标签映射关系,因此文本分类任务可通过预测选取候选词集合中的词,之后通过映射关系来得到最终的标签
总结:
因为没有找到源代码,我不太清楚这个实验具体是怎么实现的,因为还是在初学。但是他很符合我对于提示学习的理解。提示学习我认为有三个要素:模板,标签,使用场景。怎样使提示学习更好,我还没有概念,但是至少这种方式是可行的,而且是能实现的。如果他在小数据集上表现优异,那么可不可以在大数据集上依旧也有良好地表现?
而且他给我阐述了提示学习的大趋势就是如何选择更好模板。使用Bert能够得到很好的模板,使用其他的呢 ?
标签:BERT,样本,映射,提示,标签,论文,学习,文本,模板 From: https://www.cnblogs.com/songmao1999/p/17333175.html