loss为负
wwwjs opened this issue · 15 comments
我在蚂蚁金融数据集上 进行flow训练也出现了这种情况
我也遇到了这个问题,flow_loss会小于0,不知道为什么
有大佬搞清楚了吗
flow模型的训练目标是负对数似然,概率密度函数的负对数似然本来就可能为负的,没什么好奇怪的......
这就跟“连续型概率密度函数的熵并非总是正的”是一个道理。
对于离散型分布来说,所用的是概率,概率一定小于1,所以-log p一定是正数;但是连续型分布用的是概率密度,概率密度不一定小于1,所以-log p可能是负数,如果是正的p占主导,那么平均的-log p自然就是负数。
那为何要让一个正的mse loss和负的flow loss相加作为最终的总loss呢,求解答
那为何要让一个正的mse loss和负的flow loss相加作为最终的总loss呢,求解答
哪里显示出“让一个正的mse loss和负的flow loss相加作为最终的总loss”?
我估计那只是有监督的情况下用来辅助优化的loss吧。
flow模型的训练目标是负对数似然,概率密度函数的负对数似然本来就可能为负的,没什么好奇怪的......
这就跟“连续型概率密度函数的熵并非总是正的”是一个道理。
对于离散型分布来说,所用的是概率,概率一定小于1,所以-log p一定是正数;但是连续型分布用的是概率密度,概率密度不一定小于1,所以-log p可能是负数,如果是正的p占主导,那么平均的-log p自然就是负数。
如果负对数似然 可正可负,那反向传播怎么优化呢,为负数时候怎么处理,代码中没有针对负对数似然为负时候进行特殊处理
flow模型的训练目标是负对数似然,概率密度函数的负对数似然本来就可能为负的,没什么好奇怪的......
这就跟“连续型概率密度函数的熵并非总是正的”是一个道理。
对于离散型分布来说,所用的是概率,概率一定小于1,所以-log p一定是正数;但是连续型分布用的是概率密度,概率密度不一定小于1,所以-log p可能是负数,如果是正的p占主导,那么平均的-log p自然就是负数。如果负对数似然 可正可负,那反向传播怎么优化呢,为负数时候怎么处理,代码中没有针对负对数似然为负时候进行特殊处理
为什么要特殊处理呢?loss为负又没犯法,又没抢你饭碗,干嘛特意针对它呢?一个函数可以作为loss的必要条件是它有下界,没说它一定要是正的啊。假如f(x)的最小值为-1,我用梯度下降找到这个最小值点有什么问题吗?
有人训练的有效果吗?我反正没训练出效果出来