ziL=∑kwkiLakL−1+bkiL=第L层第i个神经元的值=第L−1层所有神经元的加权输出yjL=softmax(zjL)=∑ieziLezjL=第L层所有神经元指数化求和第L层第j神经元的指数化
⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧if j=i, ∂zi∂yj=∂zi∂(∑kezkezjL)=(∑kezk)2(ezjL)′⋅∑kezkL−ezj⋅ezi=∑kezkezjL−(∑kezkezjL)2=yj(1−yj)if j=i, ∂zi∂yj=∂zi∂(∑kezkezjL)=(∑kezk)2∂ezjL/∂zi⋅∑kezkL−ezj⋅ezi=(∑kezk)20⋅∑kezkL−ezj⋅ezi=−yjyi
最终softmax函数的在yj对zi上的反响传播这条线上的导数分别为:
∂zi∂yj={yj(1−yj)−yjyij=ij=i
【注意】
所有这里区别就在于 当j=i时,分子有一个导数直接为0。
Reference
交叉熵代价函数(作用及公式推导)