bert4pytorch icon indicating copy to clipboard operation
bert4pytorch copied to clipboard

LabelSmoothingCrossEntropy中的疑问

Open luxuantao opened this issue 4 years ago • 2 comments

LabelSmoothingCrossEntropy这个函数最终返回的总loss的前半部分: loss*self.eps/c ,这里c是类别个数,我发现有的公式里写的这里应该是除以类别个数减一。 请教一下到底要不要减一

luxuantao avatar Sep 11 '21 10:09 luxuantao

确实有些实现是类别数减一,不过我认为不需要减一,原因有三: 1、labelsmooth的原始论文中的公式,分母就是类别数 2、在fastai中,实现的LabelSmoothingCrossEntropy也是没有减一的 3、事实上减不减一,对最终的优化效果并没有什么影响,唯一影响的只是每个batch的loss大小而已

我更坚持fastai的实现

MuQiuJun-AI avatar Sep 26 '21 03:09 MuQiuJun-AI

非常感谢

luxuantao avatar Sep 26 '21 12:09 luxuantao