首页 » 人工智能 »

训练神经网络时,如果cost越来越大...

2018年12月7日 / 6次阅读

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

训练神经网络时,如果cost越来越大,一定是不对的。我们训练神经网络,目的就是让cost越来越小,进而提高网络的预测水平。

我自己在测试代码的时候,发现一个现象,如果learning rate设置为0.05,就一切正常,如果设置为0.5,就会导致cost越来越大。

一开始以为是代码有bug,查来查去,发现是learning rate设置过大导致的。

>>> import test
>>> from f3cl_nn import *
>>> from neuron import *
>>> from costfunc import *
>>> tr_d = test.dd1()
>>> nn = f3cl_nn((1,1))
>>> nn.setup(norescale, quadratic_cost_x)
>>> nn.b
[array([[-0.56699084]])]
>>> nn.w
[array([[0.90312502]])]
>>> nn.bgd_learn(tr_d, 0.5)
333333,wb= ([array([[-47.31239568]])], [array([[-8.50292825]])])
>>> nn.b
[array([[3.68447328]])]
>>> nn.w
[array([[24.55932286]])]
>>> nn.bgd_learn(tr_d, 0.5)
333333,wb= ([array([[646.02083133]])], [array([[102.20142616]])])
>>> nn.b
[array([[-47.4162398]])]
>>> nn.w
[array([[-298.4510928]])]
>>> 
>>> nn.bgd_learn(tr_d, 0.05)
333333,wb= ([array([[-8789.72922396]])], [array([[-1402.44615741]])])
>>> nn.b
[array([[22.70606807]])]
>>> nn.w
[array([[141.0353684]])]
>>> nn.bgd_learn(tr_d, 0.05)
333333,wb= ([array([[4051.1853056]])], [array([[645.36522585]])])
>>> nn.b
[array([[-9.56219322]])]
>>> nn.w
[array([[-61.52389688]])]
>>> nn.bgd_learn(tr_d, 0.05)
333333,wb= ([array([[-1866.9609307]])], [array([[-298.4197292]])])
>>> nn.b
[array([[5.35879324]])]
>>> nn.w
[array([[31.82414965]])]
>>> 

看上面调试情况,我设置了一个1:1的网络,做线性回归的验证,训练数据来自于函数y=2x+3。

正常情况,应该是w越来越靠近2,b越来越靠近3。

但是看上面的信息,如果learning rate设置为0.5(一开始并没有觉得这是个多大的数),每一个EPOCH之后,b和w都在变大,越来越大。而将learning rate设置为0.05之后,b和w就开始缩小,最后会趋近于正确的。(33333那一行,是将w和b的梯度打印出来观察的)

这个就有了一个问题:learning rate应该如何设置呢?

这只是个线性回归的case,应该不能将很容易能够观察到的现象总结为一般情况。比如:w的梯度在逐渐变大,这就是不对,如果是个复杂的网络,某一个w的梯度变大,可能就是对的呀。

我们是否可以将cost值来作为参考,如果cost在变大,是不是能够说明learning rate有点大,要缩小一点?(上面的信息没有把cost的值打印出来)

这个问题有待以后再慢慢研究了。

 

2018-12-08:

如果拟合的函数是个线性函数,cost没有上限,会达到计算的极限,inf或nan。

如果神经元采用sigmoid函数,每一个数据的cost,最大就是output layer神经元的个数(假设最坏的情况,每个神经元的输出都有正确的值相差1)。

本文链接:http://www.maixj.net/ai/cost-da-19492
云上小悟 麦新杰(QQ:1093023102)

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目

AD

ppdai

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top