美文网首页
L2 Normalization(L2归一化)反向传播推导

L2 Normalization(L2归一化)反向传播推导

作者: YoungLittleFat | 来源:发表于2019-03-26 17:44 被阅读0次

L2 Normalization公式及作用

我们知道对于一行向量,其L2归一化公式入下所示,其中D为向量长度:
y_i = \frac{x_i}{\sqrt{\sum_{i=1}^{D}{x_i^2}}}

在深度神经网络中,偶尔会出现多个量纲不同的向量拼接在一起的情况,此时就可以使用L2归一化统一拼接后的向量的量纲,使得网络能够快速收敛。

L2 Normalization的反向传播推导

在反向传播求导时,我们需要求出每一个输入x_i的梯度,即\frac{\partial{L}}{\partial{x_i}}。由链式法则可得:

\frac{\partial{L}}{\partial{x_i}} = \sum_{i=1}^{D} {\frac{\partial{L}}{\partial{y_j}}}\cdot\frac{\partial{y_j}}{\partial{x_i}}

其中\frac{\partial{L}}{\partial{y_j}}为上一层反向传播回来的梯度。因为在L2归一化公式中,y_i跟每一个x_i都有关系,所以链式法则中x_i需要考虑到每一个y_j的情况。


由于\frac{\partial{L}}{\partial{y_j}}已知,只考虑右边情况:

\begin{equation} \begin{aligned} \frac{\partial{y_j}}{\partial{x_i}} &=\frac{\partial{}}{\partial{x_i}} \left[x_j \left(\sum_{k=1}^{D}{x_k^2} \right) ^ {-\frac{1}{2}} \right]\\ &=\frac{\partial{x_j}}{\partial{x_i}} \left( \sum_{k=1}^{D}{x_k^2} \right)^ {-\frac{1}{2}} + x_j (-1) \left(\sum_{k=1}^{D}{x_k^2} \right) ^ {-\frac{3}{2}} \sum_{k=1}^{D}{x_k} \frac{\partial{x_k}}{\partial{x_i}}\\ &=\delta_{ij} \left( \sum_{k=1}^{D}{x_k^2} \right)^ {-\frac{1}{2}} - x_j \left(\sum_{k=1}^{D}{x_k^2} \right) ^ {-\frac{3}{2}} x_i \end{aligned} \end{equation}


其中\delta_{ij}=1 if i=j,否则为0。为美观公式,我们令M=\sum_{k=1}{x_k^2},则:
\frac{\partial{y_j}}{\partial{x_i}} =\delta_{ij}M^{-\frac{1}{2}} - x_j x_i M^{-\frac{3}{2}}


将其代回原来的公式:
\begin{equation} \begin{aligned} \frac{\partial{L}}{\partial{x_i}} &=\sum_{j=1}^{D} {\frac{\partial{L}}{\partial{y_j}}} \left[ \delta_{ij}M^{-\frac{1}{2}} - x_i M^{-\frac{3}{2}} x_j \right]\\ &=M^{-\frac{1}{2}} \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} \delta_{ij}} - x_i M^{-\frac{3}{2}} \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} x_j}\\ &=M^{-\frac{1}{2}} \frac{\partial{L}}{\partial{y_i}} - x_i M^{-\frac{3}{2}} \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} x_j}\\ &=M^{-\frac{1}{2}} \left[ \frac{\partial{L}}{\partial{y_i}} - x_i M^{-\frac{1}{2}} \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} x_j M^{-\frac{1}{2}} } \right]\\ &=M^{-\frac{1}{2}} \left[ \frac{\partial{L}}{\partial{y_i}} - y_i \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} y_j } \right] \end{aligned} \end{equation}


公式中注意y_i=x_iM^{-\frac{1}{2}}

由此可得最终公式:
\frac{\partial{L}}{\partial{x_i}} = \left( \sum_{j=1}^{D}{x_j^2} \right)^ {-\frac{1}{2}} \left[ \frac{\partial{L}}{\partial{y_i}} - y_i \sum_{j=1}^{D}{\frac{\partial{L}}{\partial{y_j}} y_j } \right]

码公式辛苦,转载请注明出处。

相关文章

网友评论

      本文标题:L2 Normalization(L2归一化)反向传播推导

      本文链接:https://www.haomeiwen.com/subject/jrcnvqtx.html