为什么在Caffe培训中softmax损失变为87.3365?

时间:2017-10-04 19:14:52

标签: machine-learning deep-learning caffe

我只能弄清楚这与FLT_MIN有关。

使用单精度浮点数时,FLT_MIN = 2 ^( - 126),ln(FLT_MIN)= - 87.33654475055310898657124730373。

从caffe :: SoftmaxWithLossLayer:

的定义

http://caffe.berkeleyvision.org/doxygen/classcaffe_1_1SoftmaxWithLossLayer.html

如果损失= 87.3365,这意味着FC层(或sofmax层之前的层)的输出都是FLT_MIN。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

好吧,我们认为UPDATE lora1app.ENG_PART_REV_JOURNAL_TAB set TEXT = 'from developer', DATE = current_timestamp WHERE ... (2 ^ -126)。

使用softmax,我们计算了Napierian损失的对数。然后Float_MIN_Point = 1.175494350822288e-38绝对值约为 87.3365 ..

这意味着,网络根本就没有学到任何东西。

提示:就我而言,我在ln(Float_MIN_Point) = ln(1.175494350822288e-38) = -87.336544750553109

中设置了错误的输出数量