1. 多分類問題的交叉熵
設標籤yk=1,也即xk對應的第k類的標籤爲1,則交叉熵損失函數爲:
J=−j=1∑NyjlogajL=−logakL(1)
其中N是分類的類別數目。
softmax激活函數的表達式爲:
akL=j=1∑NezjLezkL(2)
反向傳播過程需要對每一個zjL,j=1,2,⋯,N求導數。
(1) 當j=k時:
∂zjL∂J=∂zkL∂J=∂akL∂J∂zkL∂akL=−akL1(j=1∑NezjL)2(ezkL)j=1∑NezjL−ezkLezkL=−akL1akL(1−akL)=akL−1(3)
(2) 當 j ̸=k時:
∂zjL∂J=∂akL∂J∂zjL∂akL=−akL1(j=1∑NezjL)20∗j=1∑NezjL−ezkLezjL=ajL(4)
(3)和(4)式可以合併爲:
∂zjL∂J=ajL−yj(5)
其中,只有當j=k時,yj=1,其餘的yj都是0。
2. 二分類問題的交叉熵
二分類問題的交叉熵損失函數:
L=−(ylogaL+(1−y)log(1−aL))(6)
則
∂zL∂J=∂aL∂J∂zL∂aL=(−aLy+1−aL1−y)aL(1−aL)=−y(1−aL)+(1−y)aL=aL−y(7)
綜合比較式(7)和式(5),可以發現兩者的形式是一致的。