算法介绍
R-Drop算法是一种用于提升精度的微调算法,使用“进行两次dropout”的思想,增加随机扰动,提高模型的精度。
具体做法为在模型加载完一个batch的数据集之后,对一个batch中的输入数据进行复制,计算出logits并输入到loss计算函数中;在loss计算函数中,分别计算ce_loss和kl_loss,最终按照loss = ce_loss + kl_loss * alpha 的形式返回loss值(alpha为超参)。
实验结果表明,R-Drop算法能够有效提高模型的精度。 算法具体细节可参考相关论文R-Drop: Regularized Dropout for Neural Networks。
父主题: R-Drop算法