理解softmax

z i L = ∑ k w k i L a k L − 1 + b k i L = 第 L 层 第 i 个 神 经 元 的 值 = 第 L − 1 层 所 有 神 经 元 的 加 权 输 出 y j L = s o f t m a x ( z j L ) = e z j L ∑ i e z i L = 第 L 层 第 j 神 经 元 的 指 数 化 第 L 层 所 有 神 经 元 指 数 化 求 和 \begin{aligned} & z_{i}^{L}=\sum\nolimits_{k}{w_{ki}^{L}a_{k}^{L-1}+b_{ki}^{L}}=第L层第i个神经元的值=第L-1层所有神经元的加权输出 \\ & y_{j}^{L}=softmax(z_{j}^{L})=\frac{{{e}^{z_{j}^{L}}}}{\sum\nolimits_{i}{{{e}^{z_{i}^{L}}}}} = \frac{第L层第j神经元的指数化}{第L层所有神经元指数化求和} \\ \end{aligned} ziL=kwkiLakL1+bkiL=Li=L1yjL=softmax(zjL)=ieziLezjL=LLj

在这里插入图片描述
{ i f   j = i ,   ∂ y j ∂ z i = ∂ ∂ z i ( e z j L ∑ k e z k ) = ( e z j L ) ′ ⋅ ∑ k e z k L − e z j ⋅ e z i ( ∑ k e z k ) 2 = e z j L ∑ k e z k − ( e z j L ∑ k e z k ) 2 = y j ( 1 − y j ) i f   j ≠ i ,   ∂ y j ∂ z i = ∂ ∂ z i ( e z j L ∑ k e z k ) = ∂ e z j L / ∂ z i ⋅ ∑ k e z k L − e z j ⋅ e z i ( ∑ k e z k ) 2 = 0 ⋅ ∑ k e z k L − e z j ⋅ e z i ( ∑ k e z k ) 2 = − y j y i \left\{ \begin{aligned} & if\ j=i,\ \frac{\partial y_{j}^{{}}}{\partial {{z}_{i}}}=\frac{\partial }{\partial {\color{red}{z}_{i}}}\left( \frac{{{e}^{z_{j}^{L}}}}{\sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}}} \right)\text{=}\frac{{\color{red}({{{e}^{z_{j}^{L}}}{)}'}}\cdot \sum\nolimits_{k}{{{e}^{z_{k}^{L}}}}-{{e}^{z_{j}^{{}}}}\cdot {{e}^{z_{i}^{{}}}}}{{{\left( \sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}} \right)}^{2}}}\text{=}\frac{{{e}^{z_{j}^{L}}}}{\sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}}}-{{\left( \frac{{{e}^{z_{j}^{L}}}}{\sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}}} \right)}^{2}}=\color{red}{{y}_{j}}(1-{{y}_{j}}) \\ & if\ j\ne i,\ \frac{\partial y_{j}^{{}}}{\partial {{z}_{i}}}=\frac{\partial }{\color{red}\partial {{z}_{i}}}\left( \frac{{{e}^{z_{j}^{L}}}}{\sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}}} \right)\text{=}\frac{{}^{\color{red}{\partial {{e}^{z_{j}^{L}}}}/{}_{\partial {{z}_{i}}}\cdot} \sum\nolimits_{k}{{{e}^{z_{k}^{L}}}}-{{e}^{z_{j}^{{}}}}\cdot {{e}^{z_{i}^{{}}}}}{{{\left( \sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}} \right)}^{2}}}\text{=}\frac{{\color{red}0}\cdot \sum\nolimits_{k}{{{e}^{z_{k}^{L}}}}-{{e}^{z_{j}^{{}}}}\cdot {{e}^{z_{i}^{{}}}}}{{{\left( \sum\nolimits_{k}{{{e}^{z_{k}^{{}}}}} \right)}^{2}}}=\color{red}-{{y}_{j}}{{y}_{i}} \\ \end{aligned} \right. if j=i, ziyj=zi(kezkezjL)=(kezk)2(ezjL)kezkLezjezi=kezkezjL(kezkezjL)2=yj(1yj)if j=i, ziyj=zi(kezkezjL)=(kezk)2ezjL/zikezkLezjezi=(kezk)20kezkLezjezi=yjyi

最终softmax函数的在 y j {{y}_{j}} yj z i {{z}_{i}} zi上的反响传播这条线上的导数分别为:
∂ y j ∂ z i = { y j ( 1 − y j ) j = i − y j y i j ≠ i \color{red}{ \frac{\partial y_{j}^{{}}}{\partial {{z}_{i}}}=\left\{ \begin{matrix} {{y}_{j}}(1-{{y}_{j}}) & j=i \\ -{{y}_{j}}{{y}_{i}} & j\ne i \\ \end{matrix} \right.} ziyj={yj(1yj)yjyij=ij=i

【注意】所有这里区别就在于 当 j ≠ i j \ne i j=i时,分子有一个导数直接为0。

Reference

交叉熵代价函数(作用及公式推导)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值