Cross Entropy Loss with Softmax的求导

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JiaJunLee/article/details/79665062

一个复杂的公式,最后求导的结果极为精简,被设计者的智慧折服。
思路,利用链式法则,先对交叉熵函数求导,在求出Softmax的导数,代入即可。

  1. Softmax的求导

    pi=eaieak

    piai={pi(1pj),pipj,if i=jif ij

    • 其中pi是Softmax函数,ai是输入到Cross Entropy Loss with Softmax的上一层的输出值(激活值)。
    • Softmax的导数做了构造,很巧妙地构造出pi的导数只由pipj组成。
  2. Cross Entropy Loss的求导

    Loss=kyklog(pk)

    Lai=kyk1pkpkai

    • 其中yi是对应的one hot label.
  3. Cross Entropy Loss with Softmax的求导
    将Softmax的导数,代入Cross Entropy Loss的导数,处理pkai时,要分别考虑k=iki的情况,利用one hot label的性质,可得。

Lai=piyi

这是一个相当简洁的结果。

展开阅读全文

没有更多推荐了,返回首页