课程目标
- 简单的神经网络的梯度
- 计算图的反向传播
- 一些应该知道的:
- 正则化以防止过拟合
- 向量化
- 非线性
- 初始化
- 优化器
- 学习率
一、神经网络梯度

反向传播中梯度的计算:

梯度求导的一些注意点:
小心的定义变量而且要始终关注它们的维度
链式法则
要清楚哪些变量用于哪些计算
对于模型最上面的softmax部分,首先考虑c=y时的梯度(正确的类别),然后考虑错误的类别(c!=y)
如果你被矩阵微积分搞糊涂了,算出元素偏导数!
使用形状法则。注意:到达隐藏层的错误消息delta具有与该隐藏层相同的维度
为窗口模型推导梯度

重新训练词向量时的一个陷阱
使用单一的单词为电影评论情绪建立一个逻辑回归模型
在训练数据中,有单词TV和telly
在测试数据中,有单词television
在预训练中词向量有三个相似的

当更新词向量时会发生什么呢?
训练时TV和telly的向量会一起移动,但是television是在测试数据中,没有别训练到,所以位置是保持不变的,

这样分类结果就错了。
所以我们应该怎么办呢?
应该使用预训练向量。
预训练中使用一个很大的数据集进行训练,所以模型知道不在训练集中的单词,也知道训练集中的单词。
应该对我自己的词向量进行微调吗?
如果数据集很小,不要训练词向量。
如果数据集很大,可能会运行得更好train=update=fine-tune(微调)
另一个技巧:在计算较低层的导数时,我们重用对较高层计算的导数,以使计算最小化
二、计算图和反向传播
我们把我们的神经网络等式用图来表示

在其上进行前向传播和反向传播
每个节点都有局部的梯度:

当有多个输入时:

一个计算梯度的列子:

总之,梯度求导非常重要!
三、当模型有很多参数时,正则化
在实践中,一个损失函数包含正则化项,正则化项包含所有参数。以下是L2正则化

正则化可以阻止过拟合。

向量化
把数据放到向量里进行计算可以提高计算速度
非线性:

logistic 和tahn仍然有一些特殊用途,但是不再是默认的了。
当构建一个前馈神经网络时,第一个要考虑的是ReLU。训练速度很快由于有好的梯度。

四、参数初始化
初始化偏差为0
初始化W在(-r,r)的范围内
五、优化器
对于更复杂的网络和情况,或者只是为了避免担心,您通常可以使用一系列更复杂的“自适应”优化器中的一个来做得更好,这些优化器通过累积梯度来调整参数。
这些模型给出了每个参数的学习速度

学习率:
应该随着训练过程不断减小
手算:学习率变为一半
公式:![]()
更高级的优化器仍然使用学习率,但它可能是优化器缩小的初始速度——因此可能可以从较高的速度开始
本文深入探讨神经网络的核心概念,包括梯度计算、反向传播、正则化防止过拟合、向量化、非线性激活函数、参数初始化、优化器及学习率策略。解析计算图在神经网络中的应用,以及词向量微调的重要性。

616

被折叠的 条评论
为什么被折叠?



