cross-entropy loss就是计算 p ( x ) log q ( x ) p(x)\log {q(x)} p(x)logq(x),此值可用于衡量实际输出与期望输出的距离,进而衡量预测模型与真实模型之间的差距,值越大说明越不准确。(p(x)为真实值,通常为0或1;q(x)为推算概率,在0~1之间)
Needle中的softmax loss更简单一些,就是计算 − log p ( label = y ) -\log p(\text { label }=y) −logp( label =y),即在输出中,让正确类别的概率值取负log
公式:
softmax: softmax ( y i ) = y i ′ = e y i ∑ j = 1 n e y i , ∑ j = 1 n y i ′ = 1 \operatorname{softmax}\left(\mathrm{y}_i\right)=\mathrm{y}_i^{\prime}=\frac{e^{\mathrm{y}_i}}{\sum_{j=1}^n e^{\mathrm{y}_i}},\sum_{j=1}^n \mathrm{y}_i^{\prime}=1 softmax(yi)=yi′=∑j=1neyieyi,j=1∑nyi′=1 其中,神经网络的原始输出为 y 1 , y 2 , . . . , y n