损失函数L对全连接层W、X、b的梯度

假设:X的维度为s×ns\times ns×n,其中s为样本数,每个样本均展平为1×n1\times n1×n的行向量;W维度为n×on\times on×o,其中o为全连接层的输出维度;b维度为1×o1\times o1×o;Z维度为s×os\times os×o,并且Z=X×W+bZ=X\times W+bZ=X×W+b
Z=[z11…z1o…zs1…zso] Z=\begin{bmatrix} z_{11} & … & z_{1o} \\ & … & \\ z_{s1} & … & z_{so} \end{bmatrix} Z=z11zs1z1ozso
X=[x11…x1n…xs1…xsn] X=\begin{bmatrix} x_{11} & … & x_{1n} \\ & … & \\ x_{s1} & … & x_{sn} \end{bmatrix} X=x11xs1x1nxsn
W=[w11…w1o…wn1…wno] W=\begin{bmatrix} w_{11} & … & w_{1o} \\ & … & \\ w_{n1} & … & w_{no} \end{bmatrix} W=w11wn1w1owno
b=[b1…bo] b=\begin{bmatrix} b_{1} & … & b_{o} \\ \end{bmatrix} b=[b1bo]

损失函数L对W的梯度:

∂L∂W=XT×∂L∂Z\frac{\partial L}{\partial W}=X^T\times\frac{\partial L}{\partial Z}WL=XT×ZL

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

因为

zij=∑t=1nxitwtj+bjz_{ij}=\sum_{t=1}^n{x_{it}w_{tj}+b_j}zij=t=1nxitwtj+bj

所以∂zij∂wkl={xik,如果 j=l0,如果 j≠l\frac{\partial z_{ij}}{\partial w_{kl}}= \left\{ \begin{aligned} & x_{ik}, && \text{如果 } j=l \\ & 0, && \text{如果 } j \neq l \end{aligned} \right.wklzij={xik,0,如果 j=l如果 j=l
所以
∂L∂wkl=∑i=1s∑j=1o∂L∂zij∂zij∂wkl=∑i=1s∂L∂zilxik\frac{\partial L}{\partial w_{kl}} = {\sum_{i=1}^s \sum_{j=1}^{o} \frac{\partial L}{\partial z_{ij}} \frac{\partial z_{ij}}{\partial w_{kl}}} =\sum_{i=1}^s\frac{\partial L}{\partial z_{il}}x_{ik}wklL=i=1sj=1ozijLwklzij=i=1szilLxik
又因为
XT×∂L∂Z=[x11…xs1…x1n…xsn]×[∂L∂z11…∂L∂z1o…∂L∂zs1…∂L∂zso] X^T\times\frac{\partial L}{\partial Z}= \begin{bmatrix} x_{11} & … & x_{s1} \\ & … & \\ x_{1n} & … & x_{sn} \\ \end{bmatrix} \times \begin{bmatrix} \frac{\partial L}{\partial z_{11}} & … & \frac{\partial L}{\partial z_{1o}} \\ & … & \\ \frac{\partial L}{\partial z_{s1}} & … & \frac{\partial L}{\partial z_{so}} \end{bmatrix} XT×ZL=x11x1nxs1xsn×z11Lzs1Lz1oLzsoL
所以
(XT×∂L∂Z)kl=∑i=1s∂L∂zilxik=∂L∂wkl(X^T\times\frac{\partial L}{\partial Z})_{kl}=\sum_{i=1}^s\frac{\partial L}{\partial z_{il}}x_{ik}=\frac{\partial L}{\partial w_{kl}}(XT×ZL)kl=i=1szilLxik=wklL
所以
∂L∂W=XT×∂L∂Z\frac{\partial L}{\partial W}=X^T\times\frac{\partial L}{\partial Z}WL=XT×ZL

损失函数L对X的梯度:

∂L∂X=∂L∂Z×WT\frac{\partial L}{\partial X}=\frac{\partial L}{\partial Z}\times W^TXL=ZL×WT

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

∂L∂xij=∑l=1s∑k=1o∂L∂zlk∂zlk∂xij\frac{\partial L}{\partial x_{ij}}=\sum_{l=1}^s\sum_{k=1}^o\frac{\partial L}{\partial z_{lk}}\frac{\partial z_{lk}}{\partial x_{ij}} xijL=l=1sk=1ozlkLxijzlk
因为

zlk=∑l=1nxltwtk+bkz_{lk}=\sum_{l=1}^n{x_{lt}w_{tk}+b_k}zlk=l=1nxltwtk+bk
所以∂zlk∂xij={wjk,如果 l=i0,如果 l≠i\frac{\partial z_{lk}}{\partial x_{ij}}= \left\{ \begin{aligned} & w_{jk}, && \text{如果 } l=i \\ & 0, && \text{如果 } l \neq i \end{aligned} \right.xijzlk={wjk,0,如果 l=i如果 l=i

所以∂L∂xij=∑k=1o∂L∂zikwjk\frac{\partial L}{\partial x_{ij}}=\sum_{k=1}^o\frac{\partial L}{\partial z_{ik}}w_{jk}xijL=k=1ozikLwjk

∂L∂Z×WT=[∂L∂z11…∂L∂z1o…∂L∂zs1…∂L∂zso]×[w11…wn1…w1o…wno] \frac{\partial L}{\partial Z}\times W^T= \begin{bmatrix} \frac{\partial L}{\partial z_{11}} & … & \frac{\partial L}{\partial z_{1o}} \\ & … & \\ \frac{\partial L}{\partial z_{s1}} & … & \frac{\partial L}{\partial z_{so}} \end{bmatrix} \times \begin{bmatrix} w_{11} & … & w_{n1} \\ & … & \\ w_{1o} & … & w_{no} \end{bmatrix}ZL×WT=z11Lzs1Lz1oLzsoL×w11w1own1wno

所以(∂L∂Z×WT)ij=∑k=1o∂L∂zikwjk=∂L∂xij(\frac{\partial L}{\partial Z}\times W^T)_{ij}=\sum_{k=1}^o\frac{\partial L}{\partial z_{ik}}w_{jk}=\frac{\partial L}{\partial x_{ij}}(ZL×WT)ij=k=1ozikLwjk=xijL

所以∂L∂X=∂L∂Z×WT\frac{\partial L}{\partial X}=\frac{\partial L}{\partial Z}\times W^TXL=ZL×WT

损失函数L对b的梯度:

∂L∂b=sum(∂L∂Z,axis=0)#逐列求和\frac{\partial L}{\partial b}=sum(\frac{\partial L}{\partial Z}, axis=0) \#逐列求和bL=sum(ZL,axis=0)#逐列求和

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

因为
∂L∂bk=∑i=1s∑j=1o∂L∂zij∂zij∂bk=∑i=1s∂L∂zik\frac{\partial L}{\partial b_{k}} = \sum_{i=1}^s \sum_{j=1}^{o} \frac{\partial L}{\partial z_{ij}} \frac{\partial z_{ij}}{\partial b_{k}} =\sum_{i=1}^s\frac{\partial L}{\partial z_{ik}}bkL=i=1sj=1ozijLbkzij=i=1szikL

所以
∂L∂b=1s∂L∂Z=sum(∂L∂Z,axis=0)\frac{\partial L}{\partial b}=\mathbf{1}_s\frac{\partial L}{\partial Z}=sum(\frac{\partial L}{\partial Z}, axis=0)bL=1sZL=sum(ZL,axis=0)
其中1s\mathbf{1}_s1s为s列行向量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值