MuQiuJun-AI / bert4pytorch

超轻量级bert的pytorch版本,大量中文注释,容易修改结构,持续更新
408 stars 68 forks source link

LabelSmoothingCrossEntropy中的疑问 #4

Open luxuantao opened 3 years ago

luxuantao commented 3 years ago

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

MuQiuJun-AI commented 3 years ago

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

我更坚持fastai的实现

luxuantao commented 3 years ago

非常感谢