Tips for Deep Learning

目录

Recipe of Deep Learning

 Good Results on Training Data?

New activation function

Adaptive learning rate

Good Results on Testing Data?

Early Stopping

Regularization

Dropout


Recipe of Deep Learning

我们要做的第一件事是,提高model在training set上的正确率,然后要做的事是,提高model在testing set上的正确率。

 Good Results on Training Data?

这一部分主要讲述如何在Training data上得到更好的performance,分为两个部分,New activation function和Adaptive Learning Rate。

New activation function

  • Vanishing Gradient Problem

当你把network叠得很深的时候,在靠近input的地方,这些参数的gradient(即对最后loss function的微分)是比较小的;而在比较靠近output的地方,它对loss的微分值会是比较大的。

Δw通过sigmoid function之后,得到output是会变小的

  • ReLU

 

优点:

跟sigmoid function比起来,ReLU的运算快很多。

ReLU的想法结合了生物上的观察。

无穷多bias不同的sigmoid function叠加的结果会变成ReLU。

ReLU可以处理Vanishing gradient的问题。

  • Maxout

Maxout就是让network自动去学习它的activation function。ReLU就是特殊的Maxout。

Maxout中的激活函数可以被分段为多个线性的凸函数,多少段取决于之前我们分组后一组元素的个数。

  • How to train Maxout

由于我们有很多很多笔training data,所以network的structure在训练中不断地变换,实际上最后每一个weight参数都会被train到。

Adaptive learning rate

  • Adagrad

  • RMSProp

用一个α来调整对不同gradient的使用程度,比如把α的值设的小一点,意思就是更倾向于相信新的gradient所告诉的error surface的平滑或陡峭程度,而比较无视于旧的gradient所提供给的information。

  • Momentum

每次移动的方向,不再只有考虑gradient,而是现在的gradient加上前一个时间点移动的方向。

  • Adam

Good Results on Testing Data?

这一部分主要讲述如何在Testing data上得到更好的performance,分为三个模块,Early Stopping、Regularization和Dropout。

Early Stopping

假如我们知道testing set上的loss变化,我们应该停在testing set最小的地方(如图所示)。但是我们不知道你的testing set上的error是,所以我们会用validation来代替。

Regularization

在update参数的时候,其实是在update之前就已近把参数乘以一个小于1的值(η、λ都是很小的值),这样每次都会让weight小一点。最后会慢慢变小趋近于0,但是会与后一项梯度的值达到平衡,使得最后的值不等于0,L2的Regularization又叫做Weight Decay。

每一次更新时参数时,我们一定要去减一个ηλsgn(wt)(w值是正的,就是减去一个值;若w是负的,就是加上一个值,让参数变大)。

L2、L1都可以让参数变小,但是有所不同的,若w是一个很大的值,L2乘以一个小于1的值,L2下降的很快,很快就会变得很小,在接近0时,下降的很慢,会保留一些接近0的值;L1的话,减去一个固定的值(比较小的值),所以下降的很慢。

Dropout

在train的时候,每一次update参数之前,对network里面的每个neural(包括input),做sample(抽样)。 每个neural会有p%会被丢掉,跟着的weight也会被丢掉。testing的时候不做dropout,所有的neuron都要被用到,假设在training的时候,dropout rate是p%,从training data中被learn出来的所有weight都要乘上(1-p%)才能被当做testing的weight使用。

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值