drop-out在有监督任务上的应用—Rdrop

场景:有监督模型中,利用dropout的方式,增强模型的泛化能力。

drop-out在无监督学习上的应用 :用于对比学习。同个query,drop前后的预测结果相同。不同query,所有结果为负例,预测结果不同。如simCSE。simCSE的目标是:学习一个优质的语义表示空间。每个sentence学习到一个embedding。

loss : 拉近相似的样本,推开不相似的样本。一种常用的对比损失是基于批内负样本的交叉熵损失。噪音前后,作为正例。batch内,其他样本作为负例。

loss
样本

Supervised SimCSE :在SBERT原文中,作者将NLI数据集作为一个三分类任务来训练。构造样本的形式,直接将数据集中的正负样本拿过来用就可以了,将NLI(SNLI+MNLI)数据集中的entailment作为正样本,conradiction作为负样本,加上原样本premise一起组合为(x,x+,x-),并将损失函数改进为

新的loss
样本

Regularized Dropout :R-drop在分类问题上的应用。

最终loss
loss:交叉熵
loss:KL散度

loss : 在常规交叉熵的基础上,加了一项强化模型鲁棒性正则项。即,同一条样本,经过两次drop-out(两次不同的噪音),通过KL散度,希望模型的输出尽可能一致。


 扩展:对比学习的目标是从数据中学习到一个优质的语义表示空间,那么如何评价这个表示空间的质量呢?Wang and Isola (2020)提出了衡量对比学习质量的两个指标:alignment和uniformity,其中alignment计算x和x+(增强样本)的平均距离,而uniformity计算向量整体分布的均匀程度。也就是一方面希望正样本要挨得足够近,另一方面语义向量要尽可能地均匀分布在超球面上,因为均匀分布信息熵最高,分布越均匀则保留的信息越多,“拉近正样本,推开负样本”实际上就是在优化这两个指标。

alignment
uniformity

你可能感兴趣的:(drop-out在有监督任务上的应用—Rdrop)