cs224n 2019 Lecture 4: Backpropagation and computation graphs

本文深入探讨神经网络的核心概念,包括梯度计算、反向传播、正则化防止过拟合、向量化、非线性激活函数、参数初始化、优化器及学习率策略。解析计算图在神经网络中的应用,以及词向量微调的重要性。

课程目标

  1. 简单的神经网络的梯度
  2. 计算图的反向传播
  3. 一些应该知道的:
  4. 正则化以防止过拟合
  • 向量化
  • 非线性
  • 初始化
  • 优化器
  • 学习率

一、神经网络梯度

反向传播中梯度的计算:

梯度求导的一些注意点:

小心的定义变量而且要始终关注它们的维度

链式法则

要清楚哪些变量用于哪些计算

对于模型最上面的softmax部分,首先考虑c=y时的梯度(正确的类别),然后考虑错误的类别(c!=y)

如果你被矩阵微积分搞糊涂了,算出元素偏导数!

使用形状法则。注意:到达隐藏层的错误消息delta具有与该隐藏层相同的维度

 

为窗口模型推导梯度

重新训练词向量时的一个陷阱

使用单一的单词为电影评论情绪建立一个逻辑回归模型

在训练数据中,有单词TV和telly

在测试数据中,有单词television

在预训练中词向量有三个相似的

当更新词向量时会发生什么呢?

训练时TV和telly的向量会一起移动,但是television是在测试数据中,没有别训练到,所以位置是保持不变的,

这样分类结果就错了。

所以我们应该怎么办呢?

应该使用预训练向量。

预训练中使用一个很大的数据集进行训练,所以模型知道不在训练集中的单词,也知道训练集中的单词。

应该对我自己的词向量进行微调吗?

如果数据集很小,不要训练词向量。

如果数据集很大,可能会运行得更好train=update=fine-tune(微调)

另一个技巧:在计算较低层的导数时,我们重用对较高层计算的导数,以使计算最小化

二、计算图和反向传播

我们把我们的神经网络等式用图来表示

在其上进行前向传播和反向传播

每个节点都有局部的梯度:

当有多个输入时:

一个计算梯度的列子:

总之,梯度求导非常重要!

三、当模型有很多参数时,正则化

在实践中,一个损失函数包含正则化项,正则化项包含所有参数。以下是L2正则化

正则化可以阻止过拟合。

向量化

把数据放到向量里进行计算可以提高计算速度

非线性:

logistic 和tahn仍然有一些特殊用途,但是不再是默认的了。

当构建一个前馈神经网络时,第一个要考虑的是ReLU。训练速度很快由于有好的梯度。

四、参数初始化

初始化偏差为0

初始化W在(-r,r)的范围内

五、优化器

对于更复杂的网络和情况,或者只是为了避免担心,您通常可以使用一系列更复杂的“自适应”优化器中的一个来做得更好,这些优化器通过累积梯度来调整参数。

这些模型给出了每个参数的学习速度

学习率:

应该随着训练过程不断减小

手算:学习率变为一半

公式:

更高级的优化器仍然使用学习率,但它可能是优化器缩小的初始速度——因此可能可以从较高的速度开始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值