深度学习的三个步骤:
Recipe of deep learning
如果要想得到一个更好的神经网络应该怎么做:
1、提高模型在训练集上的正确率
深度学习并不会像K近邻等方法,一次训练就得到较好的正确率,他可能在训练集上没办法得到较好的正确率,这个时候就需要回头检查前面的步骤里需要修改的部分,如何使得训练集得到较高的正确率。
2、提高模型在测试集上的正确率
如果已经在训练集上取得好的效果,这时就需要考虑在测试集上的正确率,假如结果不好,这个情况是过拟合,需要回头解决过拟合问题。
3、并不是所有不好的情况都是过拟合
Recipe of deep learning
如图所示,横坐标是模型做梯度下降所更新的次数,纵坐标是error rate,黄线是20层网络,红线表示56层网络,可以从测试数据中看出56层的效果没有20层好。但是这并不是过拟合,从训练数据中可以看出在训练集上20层的效果就好于56层,所以这是没有训练好的原因。
总的说:
1、训练集上表现不好
2、测试集上表现不好
下面从两个方面,介绍针对性优化方法:
1、训练集上
训练集上总的来说有两个方面:
1、新的激励函数
如果训练不好,有可能是网络架构设计的不好,可能用的**函数是对训练不利的,可以更换一些新的**函数。
梯度消失问题:
Recipe of deep learning
以三个隐藏层的单神经元神经网络为例,**函数采用sigmoid:
假设每一层网络**后输出为 f i ( x ) f_{i}(x) fi(x),其中i为第i层,x代表第i层的输入,也是第i-1的输出,f是**函数,可以得出: f i + 1 = f ( f i ∗ w i + 1 + b i + 1 ) f_{i+1} = f(f_{i}*w_{i+1}+b_{i+1}) fi+1=f(fiwi+1+bi+1)记为: f i + 1 = f ( f i ∗ w i + 1 ) f_{i+1} = f(f_{i}*w_{i+1}) fi+1=f(fiwi+1)
反向传播算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,参数的更新为: w ← w + △ w w\leftarrow w+\bigtriangleup w ww+w,假如更新第二隐层的的权值信息,根据链式求导法则,更新梯度信息:
Δ w 2 = ∂ L o s s ∂ w 2 = ∂ L o s s ∂ f 4 ∂ f 4 ∂ f 3 ∂ f 3 ∂ f 2 ∂ f 2 ∂ w 2 \Delta w_{2} = \frac{\partial Loss}{\partial w_{2}} = \frac{\partial Loss}{\partial f_{4}} \frac{\partial f_{4}}{\partial f_{3}}\frac{\partial f_{3}}{\partial f_{2}}\frac{\partial f_{2}}{\partial w_{2}} Δw2=w2Loss=f4Lossf3f4f2f3w2f2
f 2 = f ( f 1 ∗ w 2 ) f_{2} = f(f_{1}*w_{2}) f2=f(f1w2)得: ∂ f 2 ∂ w 2 = ∂ f ∂ f 1 ∗ w 2 f 1 \frac{\partial f_{2}}{\partial w_{2}} = \frac{\partial f}{\partial f_{1}*w_{2}} f_{1} w2f2=f1w2ff1,其中 f 1 f_{1} f1是第一层的输出。
∂ f 4 ∂ f 3 = f ′ ∗ w 4 ∗ ∂ f 3 ∂ f 2 = f ′ ∗ w 3 \frac{\partial f_{4}}{\partial f_{3}} = f^{'}*w_{4}*\frac{\partial f_{3}}{\partial f_{2}} = f^{'}*w_{3} f3f4=fw4f2f3=fw3
对**函数进行求导 f ′ f^{'} f,如果此部分大于1,当层数增加时,最终得求出的梯度更新将以指数形式增加,即发生梯度爆炸,如果此部分小于1时,随着层数增加,求出的梯度更新将以指数得形式衰减,即发生梯度消失。
更改**函数可以解决梯度下降的问题:
1、ReLU
Rectified Linear Unit(整流线性单元函数,修正线性单元,ReLU)该函数形状如下图所示,z为输入,a为输出,如果输入大于0,则输出等于输入,如果输入小于0则输出等于0:
Recipe of deep learning
ReLU的优点:
1、跟sigmoid函数相比,ReLU函数运算比较快
2、ReLU的想法结合了生物上的观察
3、无穷多bias不同的sigmoid函数叠加结果会变成ReLU
4、ReLU可以处理梯度下降的问题

相关文章:

  • 2021-12-24
  • 2021-10-14
  • 2021-12-09
  • 2021-04-16
  • 2021-11-26
  • 2021-11-05
  • 2022-03-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-23
  • 2021-12-14
  • 2021-06-21
  • 2021-12-08
  • 2022-01-01
  • 2021-05-29
相关资源
相似解决方案