CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)
Posted 囚生CY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)相关的知识,希望对你有一定的参考价值。
CS224N WINTER 2022(一)词向量(附Assignment1答案)
CS224N WINTER 2022(二)反向传播、神经网络、依存分析(附Assignment2答案)
CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
CS224N WINTER 2022(四)机器翻译、注意力机制、subword模型(附Assignment4答案)
CS224N WINTER 2022(五)Transformers详解(附Assignment5答案)
序言
-
CS224N WINTER 2022课件可从https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1224/下载,也可从下面网盘中获取:
https://pan.baidu.com/s/1LDD1H3X3RS5wYuhpIeJOkA 提取码: hpu3
本系列博客每个小节的开头也会提供该小结对应课件的下载链接。
-
课件、作业答案、学习笔记(Updating):GitHub@cs224n-winter-2022
-
关于本系列博客内容的说明:
-
笔者根据自己的情况记录较为有用的知识点,并加以少量见解或拓展延申,并非slide内容的完整笔注;
-
CS224N WINTER 2022共计五次作业,笔者提供自己完成的参考答案,不担保其正确性;
-
由于CSDN限制博客字数,笔者无法将完整内容发表于一篇博客内,只能分篇发布,可从我的GitHub Repository中获取完整笔记,本系列其他博客发布于(Updating):
CS224N WINTER 2022(一)词向量(附Assignment1答案)
CS224N WINTER 2022(二)反向传播、神经网络、依存分析(附Assignment2答案)
CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
-
文章目录
lecture 3 反向传播与神经网络
本节内容属于基础的机器学习与深度学习知识。
slides
[slides]
-
矩阵(向量)链式求导中的计算技巧:slides p.39
假定一个神经网络的运算步骤如下所示:
x ( input ) → z = W x + b → h = f ( z ) → s = u ⊤ h (3.1) x(\\textinput)\\rightarrow z=Wx+b\\rightarrow h=f(z)\\rightarrow s=u^\\top h\\tag3.1 x(input)→z=Wx+b→h=f(z)→s=u⊤h(3.1)
则计算网络参数 W W W与 b b b的参数时:
∂ s ∂ W = ∂ s ∂ h ∂ h ∂ z ∂ z ∂ W ∂ s ∂ b = ∂ s ∂ h ∂ h ∂ z ∂ z ∂ b (3.2) \\frac\\partial s\\partial W=\\frac\\partial s\\partial h\\frac\\partial h\\partial z\\frac\\partial z\\partial W\\quad\\frac\\partial s\\partial b=\\frac\\partial s\\partial h\\frac\\partial h\\partial z\\frac\\partial z\\partial b\\tag3.2 ∂W∂s=∂h∂s∂z∂h∂W∂z∂b∂s=∂h∂s∂z∂h∂b∂z(3.2)
可以定义局部误差信号(local error signal):
δ = ∂ s ∂ h ∂ h ∂ z = u ⊤ ∘ f ′ ( z ) (3.3) \\delta=\\frac\\partial s\\partial h\\frac\\partial h\\partial z=u^\\top\\circ f'(z)\\tag3.3 δ=∂h∂s∂z∂h=u⊤∘f′(z)(3.3)
则可以使得计算 ( 3.2 ) (3.2) (3.2)式的更加简单,事实上进一步计算可以发现:
∂ s ∂ W = ∂ s ∂ h ∂ h ∂ z ∂ z ∂ W = δ ∂ z ∂ W = δ ⊤ x ⊤ ∂ s ∂ b = ∂ s ∂ h ∂ h ∂ z ∂ z ∂ b = δ ∂ z ∂ b = δ (3.4) \\beginaligned \\frac\\partial s\\partial W&=\\frac\\partial s\\partial h\\frac\\partial h\\partial z\\frac\\partial z\\partial W=\\delta\\frac\\partial z\\partial W=\\delta^\\top x^\\top\\\\ \\frac\\partial s\\partial b&=\\frac\\partial s\\partial h\\frac\\partial h\\partial z\\frac\\partial z\\partial b=\\delta\\frac\\partial z\\partial b=\\delta \\endaligned\\tag3.4 ∂W∂s∂b∂s=∂h∂s∂z∂h∂W∂z=δ∂W∂z=δ⊤x⊤=∂h∂s∂z∂h∂b∂z=δ∂b∂z=δ(3.4)
此时我们称 x x x是局部输入信号(local input signal)。这就是反向传播高效的原因,事实上只需要在神经网络的每条传播路径上存储两端节点变量的偏导值(如神经网络中节点 z z z指向节点 h h h,则存储 ∂ h / ∂ z \\partial h/\\partial z ∂h/∂z),即可快速计算任意两个节点变量之间的偏导值。
-
广义计算图中的反向传播(General Computation Graph):slides p.77
∂ z ∂ x = ∑ i = 1 n ∂ z ∂ y i ∂ y i ∂ x (3.5) \\frac\\partial z\\partial x=\\sum_i=1^n\\frac\\partial z\\partial y_i\\frac\\partial y_i\\partial x\\tag3.5 ∂x∂z=i=1∑n∂yi∂z∂x∂yi(3.5)
其中 y 1 , y 2 , . . . , y n \\y_1,y_2,...,y_n\\ y1,y2,...,yn是 x x x指向的所有节点。
notes
[notes]
-
神经网络中的常用技巧:notes p.8-18
-
梯度检验:
自动梯度计算一般使用的是数值近似的方法:
f ′ ( x ) ≈ f ( x + ϵ ) −以上是关于CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)的主要内容,如果未能解决你的问题,请参考以下文章
CS224N WINTER 2022反向传播神经网络依存分析(附Assignment2答案)
CS224N WINTER 2022词向量(附Assignment1答案)
CS224N WINTER 2022词向量(附Assignment1答案)
CS224N WINTER 2022词向量(附Assignment1答案)
-