新手看到loss秒到0容易高兴,其实大概率是出问题了。我踩过的几种:一是标签或输入里混进了泄漏信息,模型直接抄答案;二是数据集有问题,样本全一样或标签全是同一类,它躺平输出一个值loss就成0;三是loss本身算错,维度对不上或被mask成全零;四是学习率或数值问题让输出塌缩。
排查我一般先打印几个batch的输入输出和中间loss值,再单独喂一小撮数据看能不能过拟合。
你们遇到过哪种更隐蔽的?
新手看到loss秒到0容易高兴,其实大概率是出问题了。我踩过的几种:一是标签或输入里混进了泄漏信息,模型直接抄答案;二是数据集有问题,样本全一样或标签全是同一类,它躺平输出一个值loss就成0;三是loss本身算错,维度对不上或被mask成全零;四是学习率或数值问题让输出塌缩。
排查我一般先打印几个batch的输入输出和中间loss值,再单独喂一小撮数据看能不能过拟合。
你们遇到过哪种更隐蔽的?
标签泄漏这个太阴了,查半天才发现
打印中间值是基本功,很多人跳过直接猜
顶