2018-11-25 overfitting 与 Relu Maxout激活函数

本笔记是针对李宏毅教授在b站上的视频《ML Lecture 9-1:Tips for Training DNN》的学习笔记。

问题:texting data的效果不好?是过拟合overfitting了嘛?

首先根据下图,训练完成一个模型后,获得一个Neural network,检查结果来确定要执行的相应措施。

实际上只有trianing data效果好但是texting data的表现不行的情况下,才能说模型可能overfitting了。对于DL来说,过拟合往往不是你首先会碰到的问题,反而是训练过程就很难得到满意的结果,即可能训练集上的准确率就一直很低。如果你在训练集上准确率很高了,但在测试集上准确率低,那才是过拟合。

问题:导致texting data的效果不好的原因是什么呢?

当然是因为数据不够!但是假设数据足够,但是为什么做不出来预期的表现呢?

如下面这种情况:

明明参数比56层网络少的20层网络也可以在训练集上达到更好的效果,所以这也不太可能是欠拟合问题,因为欠拟合一般是指模型的参数不够多,所以其能力不能解出这种问题。

56-layerDNN的表现还不如20-layer               

这就是training data的效果不好,那么其可能的原因:

1.sigmoid function激活函数不适合作为多层DNN的激活函数。

2.局部最小(local minima)鞍点(saddle point)停滞(piateau)


提醒:读文献时,看到新方法时,要明白它是要解什么样的问题?一般DL要解决的问题就是训练集上的准确率和测试集上的准确率这两个问题,而新提出的方法也一般是针对这两个问题。


梯度弥散与Relu激活函数

梯度弥散

梯度弥散的解释(vanishing gradient problem):链接中有从数学的角度的解释,比较通俗的解释是,在靠近input的部分梯度较小,在远离input的地方,梯度较大。因此,靠近input的参数更新慢、收敛也慢,远离input的参数更新快、收敛得也很早。

为什么会有这个现象发生呢?

如果我们把BP算法的式子写出来,就会发现:用sigmoid作为激活函数就是会出现这样的问题。

直觉上想也可以理解:某个参数的下降梯度取决于损失函数对参数的偏导,而偏导的含义是:当该参数变化很小一点,对应的损失函数向相应变化的幅度。所以我们假设对第一层的某个参数加上△w,看它对损失函数值的影响。那么,当△w经过一层sigmoid函数激活时,它的影响就会衰减一次。(sigmoid会将负无穷到正无穷的值都压缩到(-1,1)区间)。

于是,怎么解决这个问题呢:换一个不会逐层消除掉增量的激活函数,比如ReLU.

而且除了解决梯度弥散问题,ReLU含有其它的好处:

1.计算速度快

2.生物学层面的理由,无用的神经元会退化消失

3.等同于无穷多层的偏差不同的sigmoid函数叠加的结果

那ReLU具体怎么解决梯度弥散问题呢?

如下图,假设图中网络的激活函数都是ReLU。而网络中必然有一些神经元对应的输出会是0,它们对于网络的贡献也是零,故可以逻辑上直接从网络中删除,这样我们就获得了一个“更瘦长”的线性网络(输出等于输入)。

而之前说梯度递减也是因为sigmoid的衰减效果,而我们现在用ReLU它本身不会对增量进行递减,因为现在凡是在网络中work的神经元,其输出都等于其输入,相当于线性函数y=x。

问题:如果网络都用ReLU了,网络变成了线性的了?那NN的效果不会变得很差吗?这与我们使用深层网络的初衷不是违背了吗?

答:其实使用ReLU的NN整体还是非线性的。当每个神经元的操作域(operation region)是想相同的时,它是线性的。即当你对input只做小小的改变,不改变神经元的操作域,那NN就是线性的;但如果对input做比较大的改变,改变了神经元的操作域,这样NN就是非线性的了。

问题:ReLU不能微分呀?怎么做梯度下降呀?

答:当x>0时,ReLU微分就是1,当x<0时,ReLU微分就是0。而x的值一般不太可能恰好是0,所以不在意x=0时的微分值也没问题。

ReLU的变形

原本的ReLU在参数小于0时,因为梯度等于0,就停止了更新。为了让参数保持更新,可以适当改变ReLU在负轴的形态。(leaky ReLU, Parametric ReLU)

Maxout(ReLU是maxout的一种特例)

Maxout如何做到和ReLU一样的效果?

比较z1与z2两个函数,并z1=wx+b,z2=0,就可以用maxout实现ReLu

Maxout的激活函数可以是任意分片线性凸函数,分片数量取决于将多少个元素分为一组:

问题:Maxout网络怎么训练?

其实Maxout网络因为是从group里面选取值最大的元素,那么那些未被选中的neuron的贡献就可以看做是0,可以拿掉。那么Maxout也就称为一种类似于线性的激活函数(直接将输入值输出)。所以我们直接训练拿掉了未被选中的neuron后的”瘦长“网络就可以。

另外,不用担心这样会造成那些为被选中的neuron的参数无法被训练到,因为其实你每次输入的训练数据不同时,被选中的neuron也不同,所以终究而言,所有的neuron都是能被训练到的

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 223,126评论 6 520
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,421评论 3 400
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 169,941评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,294评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,295评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,874评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,285评论 3 424
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,249评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,760评论 1 321
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,840评论 3 343
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,973评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,631评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,315评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,797评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,926评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,431评论 3 379
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,982评论 2 361

推荐阅读更多精彩内容