Layer Normalization反向传播推导

Layer Normalization作用及公式

Layer Normalization来源于这篇文章:

《Layer Normalization》
https://arxiv.org/pdf/1607.06450.pdf

其目的为减少深度神经网络中层与层之间的Covariate Shift,增加网络收敛速度。与Batch Normalization对比,Layer Normalization可显著减少参数量,特别适用于RNN系结构。
Layer Normalization的公式如下所示:
\begin{equation} \mu = \frac{1}{H} \sum_{i=1}^{H}x_i\\ \sigma = \sqrt{ \frac{1}{H} \sum_{i=1}^{H}{ \left(x_i-\mu\right)^2 } }\\ y = \mathrm{g} \odot \frac{\left( x-\mu \right)}{\sqrt{\sigma^2+\varepsilon }} + \mathrm{b} \end{equation}


其中\mathrm{g}\mathrm{b} 是可学习的参数,\odot 为element-wise乘法。

Layer Normalization的反向传播推导

Layer Normalization的梯度分三个部分:输入的部分和两个可学习参数的部分

可学习参数部分推导

可学习参数包括\mathrm{g}\mathrm{b}。此处令\hat{x}=\left( x-\mu \right) \cdot (\sigma^2+\varepsilon)^{-\frac{1}{2}}


\begin{equation} \begin{aligned} \frac{\partial{L}}{\partial{g_i}} &= \frac{\partial{L}}{\partial{y_i}} \cdot \frac{\partial{y_i}}{\partial{g_i}}\\ &= \frac{\partial{L}}{\partial{y_i}}\hat{x}_i \end{aligned} \end{equation}

\begin{equation} \begin{aligned} \frac{\partial{L}}{\partial{b_i}} & = \frac{\partial{L}}{\partial{y_i}} \cdot \frac{\partial{y_i}}{\partial{b_i}}\\ &= \frac{\partial{L}}{\partial{y_i}} \cdot1 \end{aligned} \end{equation}

输入梯度推导

原公式可变为:
y_i = g_i \hat{x}_i + b_i

则输入的梯度为:
\begin{equation} \begin{aligned} \frac{\partial{L}}{\partial{x_i}} &= \sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} \cdot \frac{\partial{y_j}}{\partial{\hat{x}_j}} \cdot \frac{\partial{\hat{x}_j}}{\partial{x_i}} }\\ &=\sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} \cdot g_j \cdot \frac{\partial{\hat{x}_j}}{\partial{x_i}} } \end{aligned} \end{equation}

下面重点分析最右部分:

\begin{equation} \begin{aligned} \frac{\partial{\hat{x}_j}}{\partial{x_i}} &= \frac{\partial{}}{\partial{x_i}} \left[ \left( x_j-\mu \right) \cdot (\sigma^2+\varepsilon)^{-\frac{1}{2}} \right]\\ &= (\sigma^2+\varepsilon)^{-\frac{1}{2}} \cdot \left( \delta_{ij} - \frac{1}{H } \right) \cdots (1)\\ &+\left( x_j-\mu \right) \cdot \left(-\frac{1}{2}\right) \cdot (\sigma^2+\varepsilon)^{-\frac{3}{2}} \cdot \frac{\partial{\sigma^2}}{\partial{x_i}} \cdots(2) \end{aligned} \end{equation}

其中\delta_{ij}=1 if i=j,否则为0。易得\frac{\partial{\sigma^2}}{\partial{x_i}}=\frac{2}{H}(x_i-\mu)。下面将式(1)和式(2)分别代回原式:

式(1):
\begin{equation} \begin{aligned} &\sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} \cdot g_j \cdot (\sigma^2+\varepsilon)^{-\frac{1}{2}} \cdot \left( \delta_{ij} - \frac{1}{H } \right) } \\ &=(\sigma^2+\varepsilon)^{-\frac{1}{2}} \cdot \left( \frac{\partial{L}}{\partial{y_i}} \cdot g_i - \frac{1}{H} \sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} g_j } \right) \end{aligned} \end{equation}

式(2):
\begin{equation} \begin{aligned} & \sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} \cdot g_j \left( x_j-\mu \right) \cdot \left(-\frac{1}{2}\right) \cdot (\sigma^2+\varepsilon)^{-\frac{3}{2}} \cdot \frac{2}{H}(x_i-\mu) } \\ &=-\frac{1}{H} (\sigma^2+\varepsilon)^{-\frac{1}{2}} \cdot \left[(x_i-\mu) (\sigma^2+\varepsilon)^{-\frac{1}{2}} \right] \cdot \sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} \cdot g_j \cdot \left[( x_j-\mu ) (\sigma^2+\varepsilon)^{-\frac{1}{2}}\right] }\\ &= -\frac{1}{H} (\sigma^2+\varepsilon)^{-\frac{1}{2}} \cdot \hat{x}_i \cdot \sum_{j=1}^{H}{ \frac{\partial{L}}{\partial{y_j}} g_j \hat{x}_j } \end{aligned} \end{equation}

注意式中\hat{x}=\left( x-\mu \right) \cdot (\sigma^2+\varepsilon)^{-\frac{1}{2}}。合并两式:

\begin{equation} \begin{aligned} \frac{\partial{L}}{\partial{x_i}} &= (\sigma^2+\varepsilon)^{-\frac{1}{2}} \left[ \frac{\partial{L}}{\partial{y_i}} g_i -\frac{1}{H} \left (\sum_{j=1}^{H}{\frac{\partial{L}}{\partial{y_j}} g_j } + \hat{x}_i \sum_{j=1}^{H}{\frac{\partial{L}}{\partial{y_j}} g_j \hat{x}_j } \right) \right] \end{aligned} \end{equation}

公式总结

\begin{equation} \begin{aligned} &\frac{\partial{L}}{\partial{x_i}} = (\sigma^2+\varepsilon)^{-\frac{1}{2}} \left[ \frac{\partial{L}}{\partial{y_i}} g_i -\frac{1}{H} \left (\sum_{j=1}^{H}{\frac{\partial{L}}{\partial{y_j}} g_j } + \hat{x}_i \sum_{j=1}^{H}{\frac{\partial{L}}{\partial{y_j}} g_j \hat{x}_j } \right) \right]\\ &\frac{\partial{L}}{\partial{g_i}} = \frac{\partial{L}}{\partial{y_i}} \cdot \hat{x_i}\\ &\frac{\partial{L}}{\partial{b_i}} = \frac{\partial{L}}{\partial{y_i}} \cdot1\\ \end{aligned} \end{equation}

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343