sigmoid和softmax,cross-entropy和log-likelihood

Posted by SkyHigh on April 7, 2017

最近在回顾BP的时候,发现了这个有趣的结论:当最后一层使用sigmoid作为激活函数输出并且cost function为cross entropy,或者最后一层使用softmax层并且cost function为negative log likelihood的时候,那么两者传到最后一层的$\delta^L$的形式相等。

现假设:

现在我们来推导一下:

对于sigmoid

当$i=k$时(即我们求偏导的那个神经元的输出就是正确类别的那个输出,此时$y_i=y_k=1$):

同理,当$i\neq{k}$时:

综上:

对于softmax

当$i=k$时(即我们求偏导的那个神经元的输出就是正确类别的那个输出,此时$y_i=y_k=1$):

同理,当$i\neq{k}$时:

综上:

结论

两者的$\delta^L$在结构上保持一致,但是内部的$\hat{y}$含义却不太一样(虽然都是包含概率信息,但是sigmoid针对的是具体某个神经元,而softmax需要考虑该层所有的神经元)。目前我只发现这两种方式的结构是一样的,如果有读者发现更general的想法,欢迎在底下评论留言。

后续

经人指点,原来这个在PRML上有普适性的结论。