前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LLD: 内部数据指导的标签去噪方法

LLD: 内部数据指导的标签去噪方法

作者头像
mathor
发布2021-12-13 08:25:40
9640
发布2021-12-13 08:25:40
举报
文章被收录于专栏:mathormathor

很多数据集中的标签都存在错误,即便它们是由人来标注的,错误标签的存在会给模型训练带来某些负面影响。目前缓解这种影响有诸如删除错误标签、降低其权重等方法。ACL2022有一篇名为《A Light Label Denoising Method with the Internal Data Guidance》的投稿提出了一种基于样本内部指导的方法解决这个问题

先前有研究表明同一类别的样本在本质上是相似和相关的,不同类别的样本存在明显差异。在文本分类任务中,两个有着相似内容的句子应该被预测为同一个类别,但是实际情况并不总是这样。当训练数据面临一定程度的噪声时,这个问题可能会更加严重,因为模型只收到标签的指导/监督。这就自然而然提出了一个问题:除了标签之外,我们能否从训练样本之间的关系寻求指导?

以文本分类数据为例,有n个样本的数据集可以被定义为

D = \{(x_1, y_1),...,(x_n, y_n)\}

其中,y_i\in \{c_1, c_2,...,c_m\}表示共有m

Contextual Representation

我们首先需要一个指标判断两个句子是否相似。目前有两大类文本相似度计算方法,第一种是基于传统的符号表征,例如编辑距离、Jaccard Similarity Coeffieient以及Earth Mover's Distance;第二种是将文本映射为稠密的向量,然后计算它们的向量相似度。第一种方法过于依赖token的表面信息,第二种方法需要使用外部数据对模型进行预训练,而这个外部数据和我们的任务数据可能不是同一领域的。因此作者基于Postive Pointwise Mutual Information (PPMI)提出了一个新的上下文表征方法

首先,我们用一个长度为2的滑动窗口统计数据集中所有token的共现矩阵CC_{w_i, w_j}表示前一个词是w_i,后一个词是w_j出现的次数,然后我们计算C的PPMI矩阵E

E_{ij} = \max (\log \frac{P(w_i, w_j)}{p(w_i)\cdot P(w_j)}, 0)\tag{1}

其中,P(w_i), P(w_j), P(w_i, w_j)分别是从共现矩阵C中计算得到的。最终,向量E_{w_{i}}是词w_i的表示

Word Weight

由于不同的词对于句子含义的贡献不同,我们更关注那些对分类更有帮助的词,而不是一些常见的词(例如a, the, of)。作者提出一个计算词w_i权重的算法:

q_{w_{i}} = \log \frac{(p_c^{w_i} + \alpha) / ||p_c||_1}{(p_\tilde{c}^{w_i} + \alpha) / ||p_\tilde{c}||_1}\tag{2}

其中,c是词w_i出现频率最高的类别,p_c^{w_i}是类别c中单词w_i的样本数,p_\tilde{c}^{w_i}是除了类别c之外所有类别中单词w_i的样本数,||p_c||_1是类别c的样本数,\alpha是一个小的平滑值(例如0.1)。

Guiding the Training

给定包含d个单词的句子a,以及包含e个单词的句子b,它们的相似度为:

T_{\text{sim}}(a,b) = \cos (\sum_{i=1}^d q_{w_i}E_{i}, \sum_{j=1}^eq_{w_j}E_j)\tag{3}

很明显,T_{\text{sim}}(a,b)总是大于0的,因为q_{w_i}一定大于等于0,向量E_{i}中的元素根据计算公式也都是大于等于0的,\cos(A,B)中,当向量AB中的元素都大于等于0时,结果一定大于0

在含有m个类别的文本分类任务中,模型对于第i个样本的预测概率分布可以记为

l_i = [l_{i1}, l_{i2},...,l_{ik},...,l_{im}]

其中,l_{ik}>0\sum_{k=1}^m l_{ik}=1。因此模型对于样本ab预测概率分布的相似度为

L_{\text{sim}}(a, b) = \cos (l_a, l_b)\tag{4}

在训练过程中,损失函数定义为:$$ \begin{aligned} \mathcal{L} = &\sum_{k=1}^s \text{CE}(y_k, l_k)\\& + \sum_{i=1}^s \sum_{j=1}^s \gamma(T_{\text{sim}}(i,j) - L_{\text{sim}}(i,j))^2 \end{aligned}\tag{5} $$

其中

$$ \gamma = \begin{cases}1, \quad {\text{if }}T_{\text{sim}}(i,j) > \beta\\ 0,\quad \text{otherwise} \end{cases} $$

换言之,当两个句子的相似度大于阈值\beta时,我们就认为它们非常相似,那么它们的标签大概率应该是相同的,反映到预测概率分布上,它们预测概率分布向量的余弦相似度应该接近于1才对,如果单纯这么考虑的话,实际上我们有如下定义的损失函数

$$ \begin{aligned} \mathcal{L} = &\sum_{k=1}^s \text{CE}(y_k, l_k)\\& + \sum_{i=1}^s \sum_{j=1}^s \gamma(1- L_{\text{sim}}(i,j))^2 \end{aligned}\tag{6} $$

极端情况下,当L_{\text{sim}}(i,j)=1时,加法后面所带来的损失就为0了;当L_{\text{sim}}(i,j)=0时,后面是有损失的

Result

论文的实验阵容还算豪华,某种程度上来说让人比较意外的地方是这种简单修改损失函数的办法居然超过了R-Drop。其中LLD-DW将矩阵E用Word2vec进行替换,其他步骤保持不变,结果发现用Word2vec反而没有作者提出的简单统计方法好

个人总结

这篇文章本质上来讲,可以看作是多目标联合训练,除了传统的分类任务,引入了一个新的任务,这个任务的目标是希望两个句子的相似度与它们预测概率分布的相似度比较接近。反映到损失函数中来看就是在传统损失的后面添加了一项。阅读完这篇论文之后,说实话我不太确定它能否被ACL录用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Contextual Representation
  • Word Weight
  • Guiding the Training
  • Result
  • 个人总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档