激活层为softmax时,CrossEntropy损失函数对激活层输入Z的梯度

∂L∂Z=y^−y\frac{\partial L}{\partial Z}=\hat{y}-yZL=y^y
其中yyy为真实值,采用one-hot编码,y^\hat{y}y^为softmax输出的预测值

证明:\textbf{证明:}证明:

根据softmax公式:
y^i=ezi∑j=1nezj\hat{y}_i=\frac{e^{z_i}}{\sum_{j=1}^ne^{z_j}}y^i=j=1nezjezi

根据CrossEntropy公式:

L=−∑i=1nyilogy^i=−∑i=1nyilogezi∑j=1nezj=−yllogezl∑j=1nezj−∑i=1,i≠lnyilogezi∑j=1nezj \begin{align*} L&=-\sum_{i=1}^ny_ilog\hat{y}_i \\ &=-\sum_{i=1}^ny_ilog\frac{e^{z_i}}{\sum_{j=1}^ne^{z_j}} \\ &=-y_llog\frac{e^{z_l}}{\sum_{j=1}^ne^{z_j}}-\sum_{i=1,i \neq l}^ny_ilog\frac{e^{z_i}}{\sum_{j=1}^ne^{z_j}} \end{align*} L=i=1nyilogy^i=i=1nyilogj=1nezjezi=yllogj=1nezjezli=1,i=lnyilogj=1nezjezi

所以
∂L∂zl=−∑i=1,i≠lnyi∑j=1nezjezi−eziezl(∑j=1nezj)2−yl∑j=1nezjezlezl∑j=1nezj−ezlezl(∑j=1nezj)2=−∑i=1,i≠lnyi(−ezl∑j=1nezj)−yl∑j=1nezj−ezl∑j=1nezj=−∑i=1,i≠lnyi(−ezl∑j=1nezj)−yl+ylezl∑j=1nezj=−yl+∑i=1nyiezl∑j=1nezj=−yl+ezl∑j=1nezj∑i=1nyi \begin{align*} \frac{\partial L}{\partial z_l} &=-\sum_{i=1,i\neq l}^ny_i\frac{\sum_{j=1}^ne^{z_j}} {e^{z_i}}\frac{-e^{z_i}e^{z_l}}{(\sum_{j=1}^ne^{z_j})^2}-y_l\frac{\sum_{j=1}^ne^{z_j}}{e^{z_l}}\frac{e^{z_l}\sum_{j=1}^ne^{z_j}-e^{z_l}e^{z_l}}{(\sum_{j=1}^ne^{z_j})^2} \\ &=-\sum_{i=1,i\neq l}^ny_i(\frac{-e^{z_l}}{\sum_{j=1}^ne^{z_j}})-y_l\frac{\sum_{j=1}^ne^{z_j}-e^{z_l}}{\sum_{j=1}^ne^{z_j}} \\ &=-\sum_{i=1,i\neq l}^ny_i(\frac{-e^{z_l}}{\sum_{j=1}^ne^{z_j}})-y_l+y_l\frac{e^{z_l}}{\sum_{j=1}^ne^{z_j}} \\ &=-y_l+\sum_{i=1}^ny_i\frac{e^{z_l}}{\sum_{j=1}^ne^{z_j}} \\ &=-y_l+\frac{e^{z_l}}{\sum_{j=1}^ne^{z_j}}\sum_{i=1}^ny_i \end{align*} zlL=i=1,i=lnyiezij=1nezj(j=1nezj)2eziezlylezlj=1nezj(j=1nezj)2ezlj=1nezjezlezl=i=1,i=lnyi(j=1nezjezl)ylj=1nezjj=1nezjezl=i=1,i=lnyi(j=1nezjezl)yl+ylj=1nezjezl=yl+i=1nyij=1nezjezl=yl+j=1nezjezli=1nyi
因为yyy采用one-hot编码,所以
∑i=1nyi=1 \begin{align*} \sum_{i=1}^ny_i=1 \end{align*} i=1nyi=1

所以
∂L∂zl=−yl+ezl∑j=1nezj=y^l−yl\frac{\partial L}{\partial z_l}=-y_l+\frac{e^{z_l}}{\sum_{j=1}^ne^{z_j}}=\hat{y}_l-y_lzlL=yl+j=1nezjezl=y^lyl

所以
∂L∂Z=y^−y\frac{\partial L}{\partial Z}=\hat{y}-yZL=y^y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值