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=∑kwkiLakL−1+bkiL=第L层第i个神经元的值=第L−1层所有神经元的加权输出yjL=softmax(zjL)=∑ieziLezjL=第L层所有神经元指数化求和第L层第j神经元的指数化
{
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, ∂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函数的在
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.}
∂zi∂yj={yj(1−yj)−yjyij=ij=i
【注意】
所有这里区别就在于 当
j
≠
i
j \ne i
j=i时,分子有一个导数直接为0。