请教softmax_with_cross_ent
189******30 发布于2020-02 浏览:1387 回复:2
1
收藏

重读老师CV课的代码时发现,loss值是通过fluid.layers.softmax_with_cross_entropy(logits, label)这个函数得出的,其取代了原来简单的例子中的fluid.layers.cross_entropy(logits, label)函数。查文档得知softmax_with_cross_entropy()函数会将softmax操作、交叉熵损失函数的计算过程进行合并,从而提供了数值上更稳定的梯度值。我的问题是:最后进行梯度下降还是得通过loss算出梯度。那么把最后一步的求softmax放在模型里和放在求损失的函数里有区别么?

 

收藏
点赞
1
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#3189******30回复于2020-05

有道理,有可能框架的实现过程中,对进行梯度计算前的输入进行了类似归一化的操作以规范取值范围。

0
#2进985回复于2020-05

猜测:是不是进行梯度计算的求偏导之前的函数不同,因为softmax不在神经网络层里

0
TOP
切换版块