多分类crossentropy损失为何选择softmax激活

2019-11-07  本文已影响0人  shudaxu

为什么选softmax激活?

1、softmax+cross entropy做多分类,其loss对激活前的Z值的偏导与sigmoid+binary cross entropy的偏导形式非常接近,且形式都非常简单。
softmax激活求导数:
https://zhuanlan.zhihu.com/p/25723112
【简述一下,logloss=y*log p,label为0的节点loss和loss导数都为0,所以gradient只在label为1的类上产生-1/aj(假设为j),对0类(这里是i)对应的z的偏导为-ajai,对1类对应的偏导为aj(1-aj)】
softmax激活后的值为[a1,a2,a3],label为[0,1,0]则偏导为[a1,a2-1,a3]
sigmoid激活后的值为a,label为1,则偏导为a-1,label为0,则偏导为a

2、如果不使用softmax激活
logloss所带来的1/y会造成overflow(numeric unstable)

3、实际上,loss和act的选择,总是相辅相成
logloss(cross entropy)的导1/pred由sigmoid或者softmax的导数才能消除。不然数值会非常不稳定,当然,你如果在一定区间范围内去clip它的导数maybe也能work。

上一篇 下一篇

猜你喜欢

热点阅读