【CS224n】Neural Networks, Backpropagation

写在前面:
最近在学习CS224n,系统的学习NLP理论。后面会把相关的学习笔记和代码公开,欢迎大家和我一起讨论。
#############################可爱的分割线###################################
CS224n系列:
【CS224n】Neural Networks, Backpropagation
【CS224n】Neural-Dependency-Parsing
【CS224n】Language Models, RNN, GRU and LSTM
【CS224n】Neural Machine Translation with Seq2Seq
【CS224n】ConvNets for NLP

1. Neural Networks: Foundations

1.1 A Neuron(单个神经元)

在这里插入图片描述
在这里插入图片描述

1.2 A Single Layer of Neurons(多个神经元的单层网络)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ycykeixs-1589083782344)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p48)]
在这里插入图片描述

1.3 Feed-forward Computation(前向计算)

在这里插入图片描述
在这里插入图片描述

1.4 Maximum Margin Objective Function(最大边界损失函数)

在这里插入图片描述
在这里插入图片描述
其中,s为正标签样本得分, s c s_c sc为负标签样本得分, Δ \Delta Δ为边界宽度,类似于SVM的分类间隔。

1.5 Training with Backpropagation – Element(反向传播)

随机梯度下降(SGD):
在这里插入图片描述
反向传播准则为链式法则,推导较长,参考:http://web.stanford.edu/class/cs224n/readings/cs224n-2019-notes03-neuralnets.pdf
在这里插入图片描述

2 Neural Networks: Tips and Tricks

2.1 Gradient Check(梯度检查)

我们可以使用以下方法来对反向传播计算的梯度结果做检查:
在这里插入图片描述
该公式为对参数 θ \theta θ求导,反向传播计算的梯度结果应该接近于该结果。
实际应用中不直接求导的原因是真实场景的神经网络的参数量巨大,每个参数每次迭代都要计算一次,使用该方法非常耗时。(反向传播中使用矩阵运算可以大大提高效率)

2.2 Regularization(正则化)

正则化是为了防止模型过拟合。
L 2 L_2 L2正则化:
在这里插入图片描述
在这里插入图片描述
L 1 L_1 L1正则化:参数 W W W的绝对值之和。

2.3 Dropout

Dropout也是一种正则化技术,同样可以防止模型过拟合。
基本原理为:训练阶段,每一次训练过程,以p的概率随机选择一部分参数进行训练,其他参数不动;测试阶段,使用所有参数进行预测。
Dropout有效的原因:因为dropout的随机选择训练参数的特性,相当于训练了很多个小网络(指数级增长),最后平均化训练结果(相当于做了ensemble,模型泛化能力更强)。

2.4 Neuron Units(激活函数)

激活函数主要关注公式及对应的曲线;

2.4.1 Sigmoid

在这里插入图片描述
在这里插入图片描述
sigmoid 求导:
在这里插入图片描述

2.4.2 Tanh

tanh函数为sigmoid函数的可替代品,且比sigmoid函数更快收敛。区别在于sigmoid取值范围为[0,1],而tanh函数取值范围为[-1,1]。
在这里插入图片描述
在这里插入图片描述

2.4.3 Hard tanh

在这里插入图片描述
在这里插入图片描述

2.4.4 Soft sign

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jS2DiNMr-1589083782359)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p72)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lUFW8g0x-1589083782360)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p73)]

2.4.5 ReLU(Rectified Linear Unit)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0GVRWkZj-1589083782361)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p74)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dZqBM1J3-1589083782362)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p75)]

2.4.6 Leaky ReLU

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5iBn7v5N-1589083782363)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p76)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G97wsc2O-1589083782363)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p77)]

2.5 Data Preprocessing(数据预处理)

2.5.1 Mean Subtraction(去均值化)

Mean Subtraction就是在训练数据中,计算均值,对每个样本减去均值。一个重要的点是:均值计算过程只在训练集中进行,得到的均值同时适用于训练集,验证集,测试集。

2.5.2 Normalization(归一化)

归一化是为了把不同维度的特征规范到同个范畴内,具体做法是对每个特征除以各自的标准差。

2.5.3 Whitening

白化是将数据转换为恒等协方差的矩阵。

2.6 Parameter Initialization

一个好的参数初始化的策略是:将权重初始化在0附近的较小随机数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-06wbaP2v-1589083782364)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p80)]
实验表明,上述初始化策略对于sigmoid和tanh激活函数,能更快地收敛和达到更低的错误率。
而偏置通常被初始化为0.

2.7 Learning Strategies

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wsJODoPH-1589083782365)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p81)]
其中, α \alpha α为学习率,可以控制模型参数的学习速率。学习率的设置应该是先大后小。

2.9 Adaptive Optimization Methods

自适应优化方法,目的是为了更好地控制学习率。
RMS:
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrT2W0oU-1589083782367)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p86)]

从该式子可以看到,学习率跟训练过程中的梯度有关,梯度累积越大,学习率越小(梯度累积越大,说明模型学到的东西更多,随着学习过程的进行,学习率应该越来越低)。
Adam:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DjCJo8ft-1589083782368)(evernotecid://331CA178-4507-4573-914C-34BF843F1D8C/appyinxiangcom/26093810/ENResource/p83)]
相比RMS,Adam多了个参数m,来控制学习率的变化。

参考:Neural Networks, Backpropagation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值