NLP 2.9 深度学习与神经网络

1、激活函数

1.1 Linear Activation function:直接输出 pre-activation的结果

特点:

  • No bound
  • Useless

使用情况:
神经网络的最后一层

如果每一层的叠加都是线性转换的话,那么最后输出的结果就只是每一层weight的乘积和,所以神经网络需要非线性转换的activation function

在这里插入图片描述

1.2 Sigmoid 函数

特点

  • 1、可以将输入值映射到(0,1)区间
  • 2、严格递增的函数

1.3 Tanh 函数

  • 映射到(-1,1)区间
  • 严格递增

在这里插入图片描述

1.4 Rectifier linear activation function

将小于0的部分强制设置为0

在这里插入图片描述
特点

  • bounded by 0
  • 避免gradient vanishing
  • 过滤掉non- positive samplings
  • 严格递增

逻辑回归是神经网络的special case

2、 Multiple layers perception

2.1 单层感知机

在这里插入图片描述

2.2 Multiple outputs—— 分类和loss

对于分类问题,把最后一层结果经过softmax,得到的输出结果使得它们累加为1,满足概率分布的要求。选择概率最大的作为分类结果

在这里插入图片描述
计算loss:计算经过softmax回归后的结果和label值,使用交叉熵。

2.3 多层感知机

在这里插入图片描述

3、万能近似定理

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

4、神经网络的损失函数

使用反向传播算法计算每一层的参数(梯度下降)

cross-entropy

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

5、BP算法

  • 损失依赖于最后一层的输出
  • 每个隐藏层都有激活前和激活后两个部分

在这里插入图片描述

5.1 对于输出层的梯度计算

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

5.2 对于隐含层的梯度计算

根据chain rule 计算,对于之前的隐藏层,导数为经过它的weight

在这里插入图片描述

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

6、深度学习的优化/ Plateau

6.1 深度学习网络是匪徒函数

深度学习是非凸函数,很难得到全局最优解。
Highly Non-convex function
如何去寻找最好的局部最优解是关键

深度学习的Plateau

在梯度下降时,当loss函数趋于平稳时,gradient 会停止下降。
在这里插入图片描述
加入惯性(Momentum)来避免gradient在平滑区域的停滞

7、SGD with Converge

在这里插入图片描述
希望学习率在梯度更新较慢时学习率也会同步变小

  • 先使用fixed learning rate
  • 再慢慢调整学习率

8、Early stopping

early stopping 可以有效地避免过拟合
训练的越多,模型拟合的能力越强

在这里插入图片描述
gap:训练数据和测试数据之间的差距,当模型复杂度增大时,gap可能会越来越大

猜你喜欢

转载自blog.csdn.net/weixin_51182518/article/details/113841008
2.9