首页 > 其他分享 >记录一次梯度爆炸+对比学习

记录一次梯度爆炸+对比学习

时间:2022-10-11 21:24:30浏览次数:52  
标签:loss 爆炸 梯度 样本 学习 对比

背景

对比学习,使用dropout构造正样本,出现对比学习loss越来越大最终nan。但是如果事先对向量进行l2正则化,loss正常下降。

解决过程

考虑有如下原因,一一排除并最终锁定:

  • batch_size太大,导致分母过大,负样本过多,log里面的项无限接近于0,loss项过大(但是对比学习一般说负样本越多越好,基本排除batch_size太大)
  • 向量维度过大,导致直接点乘的结果过大
  • 温度系数过小(温度系数设为1后,依然爆炸,排除)
  • dropout p=0.4设置的过大,导致正样本中含0元素过多,和负样本与正样本的乘积都差不多,很难优化。(设置p=0.1后,梯度爆炸现象消失,暂时解决)

标签:loss,爆炸,梯度,样本,学习,对比
From: https://www.cnblogs.com/carolsun/p/16782601.html

相关文章