计算loss时,进行softmax操作的先后会影响loss的值。
收藏
0
收藏
全部评论(2)
您好,我理解这两种计算应该不是等价的吧,softmax是以某一个轴的下标为索引,对这一轴上其他维度的值进行 激活 + 归一化处理。一般来说,这个索引轴都是表示类别的那个维度(也就是最后一个维度)
transpose之前和transpose之后softmax的轴应该是不一样的,所以导致计算也不是等价,您看看是不是这样?
0
请登录后评论
在计算loss的时候,当我先做softmax,再做transpose,使用cross_entropy计算损失,得到loss=6.759191




调整顺序,先transpose,再做softmax,使用cross_entropy计算损失,得到loss=2.243314
在第一种的情况下,模型无法收敛。偶然发现是顺序造成的问题。