场景:有监督模型中,利用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
网友评论