深度学习优化得一些方法

深度学习优化

Additional knowledge


1. L2,L1,L(max)范式

请添加图片描述

可选得optimization function


SGD的缺陷在于,并不是每一次的参数调整,都指向全局最优。
导致在调整的过程中呈现“之”字型,造成效率低下

Momentum

Momentum方法给人的感觉就像是小球在地面上滚动。

Adagrad

自动调整learning rate,先大后小

Adam

Adagrad + Momentum,比较常用

Summary

总体来说,这四种optimization都有各自的适用情景,但是相对而言Adam使用的比较频繁

初始权重的赋值


权重初始值赋值不正确会出现的问题:

  1. 梯度消失
  2. 激活函数表现力受限,每一层的激活函数输出的几乎都是相同分布的值

对于Sigmoid和tanH

比较适合给权重赋值Xavier

对于ReLu

比较适合赋值He

Xavier初始值是以激活函数是线性函数为前提而推导出来的。因为sigmoid函数和tanh函数左右对称,且中央附近可以视作线性函数,所以适合使用Xavier初始值。但当激活函数使用ReLU时,一般推荐使用ReLU专用的初始值,也就是Kaiming He等人推荐的初始值,也称为“He初始值”

Batch Normalization


优点:

  • 可以使学习快速进行(可以增大学习率)。
  • 不那么依赖初始值(对于初始值不用那么神经质)。
  • 抑制过拟合(降低Dropout等的必要性)。

正则化(Regularization)


weight-decay(抑制over-fitting)

实现方法之一:损失函数加上权重的平方范数(L2范数)

权值衰减是一直以来经常被使用的一种抑制过拟合的方法。该方法通过在学习的过程中对大的权重进行惩罚,来抑制过拟合。很多过拟合原本就是因为权重参数取值过大才发生的。
weight-decay系数越大,对于大的权重的惩罚力度越大

注:吴恩达的课程里面说是用来惩罚hypothesis function中多余的多项式,以此来达到抑制over-fitting

Droupout

原理:forward的过程中,随机删除掉一些neural units,不让其参与计算;并保存是删掉的哪些neural units。backward的过程中,操作和ReLu一致,直接返回droupout_rate * x

随机抽样优化hyper-parameters


训练数据用于参数(权重和偏置)的学习,验证数据用于超参数的性能评估。为了确认泛化能力,要在最后使用(比较理想的是只用一次)测试数据。

gridSearch的方法,对于性能消耗比较严重。
而随机抽样(更科学的可以采用贝叶斯随机抽样)来进行参数调优效率会更高一些。
请添加图片描述

杂记

  1. 众所周知,用作激活函数的函数最好具有关于原点对称的性质。
  2. 梯度指示的方向是各点处的函数值减小最多的方向 A。这是一个非常重要的性质,请一定
    牢记!
  3. 在进行神经网络的学习时,不能将识别精度作为指标。因为如果以识别精度为指标,则参数的导数在绝大多数地方都会变为0。
  4. 出现over-fitting的一般原因主要有两个:模型拥有大量参数、表现力强;训练数据少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值