DNN理解(五)

13 篇文章 1 订阅
7 篇文章 1 订阅

代价函数的选择

在我们训练时可能会遇到学习缓慢的问题。学习缓慢问题可能时步长的问题,步长设置的太小导致每次权重的变化过慢,而另一个原因就可能是激活函数的问题了,我们可以通过选择不同的代价函数来规避这个问题。

如下图神经元所示:

:

我们训练有一个参数的神经元,使其输入1,输出为0,激活函数为sigmoid的模型。初始w=0.6,b=0.9,训练情况如下

cost为代价函数 Epoch为训练次数

而当我们设置初始w=2.0,b=2.0时,训练情况如下:

我们从这两幅训练情况来看,我们不难看出第一幅图训练情况符合我们的预期,在正确与计算结果相差较大的情况下能够快速的学习,而第二幅图就出现了问题一开始的学习速度十分缓慢这是为什么?

最常见的sigmoid激活函数图像如下:

在其输出接近于1是变得平缓,于是sigmoid的导数就会逼近于0,但我们通过链式法则来进行梯度下降时就会出现问题,比如代价函数为y=\left \| y-a \right \|^2时,我们的求出偏导中就会含有sigmoid的导数项,而当此时我们神经元计算sigmoid函数时的值接近于1时,学习缓慢的问题就出现了。

我们如何解决这个问题呢,一时可以更换激活函数,比如RELU等激活函数,或者是更换代价函数,如交叉熵代价函数:

C = -\frac{1}{n}\sum \left [ ylna+(1-y)ln(1-a) \right ]           

n是训练样本数,y是正确结果,a是计算结果。

对于交叉熵的应用链式法则我们可以得到如下推到过程:

简化:

最终有:

我们可以发现sigmoid的导数被约掉了,所以说交叉熵代价函数可以解决有sigmoid导数导致的学习缓慢问题。

过拟合与规范化问题

我们根据真实事件创建对应的神经网络模型,并且通过减小代价函数的方式去调整权重参数。但是这种方式是无法一直做到,通过代价函数减小,准确率不断提高的。为什么?我们可以做到在训练集上达到很高的准确率,如果我们继续训练,你会发现,在某一时刻,在测试集上的测试结果准确率随着代价函数的减小反而降低了。这个很好理解,试想一下,如果你做出一个识别人的神经网络,通过分析图像判断图像上面是否有人。你有1000张带有人的图像,1000张没有人在的图像作为训练进行训练,你反复的使用这2000张图片进行训练,你会发现在测试集上的准确率前期会随着训练次数增加而增加,后来则会出现准确率下降的问题。为什么会出现这一问题,最简单的答案,训练样本太少,20000张呢?200000张呢?我们无法训练所有样本,这样一来,神经网络就会有可能“锁定局部特征”,即将训练样本中大部分都有的,非所有图像共有的特征作为判别条件之一,并且逐渐加大其权重,就出现了过拟合现象。过拟合现象可以说时不可能消失的,在样本数无法增加的情况下我们可以通过规范化来减轻过拟合。

规范化是用作代价函数上的,我们在代价函数上增加一个规范化项,例如在交叉熵代价函数上进行规范化:

C = -\frac{1}{n}\sum \left [ ylna+(1-y)ln(1-a) \right ]+\frac{\lambda }{2n}\sum w^2    

相比于原先的交叉熵代价函数,此时多出了一个\frac{\lambda }{2n}\sum w^2规范化项,偏置不需要规范化项。

在反向传播计算权重的变化时,由w=w-\xi变为了w=w(1-\frac{\eta \lambda }{n})-\xi   \xi为求得的偏导数

可以看出,有了规范化后,只是每次改变权重时缩减了权重大小。为什么缩减权重后会减小过拟合?因为⼩的权重在某种程度上,意味着更低的复杂性,也就对数据给出 了⼀种更简单却更强⼤解释,因此应该优先选择。说下理解,过拟合就是对于训练样本的“细节”扣的太细,所以我们给权重一个限制,让他扣“细节”时轻一点,这样一来,我们即朝着正确的大方向走,又不会死扣小的路径,从而走进死胡同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值