为什么我的神经网络近似移位功能如此严重?

时间:2017-01-08 22:09:11

标签: machine-learning neural-network

我在java中编写了自己的神经网络,我从感知器开始,扩展到具有S形激活功能的多层网络,通过SGD和反向传播进行学习。

我目前正在测试它,单层和多层分类和回归工作,线性和非线性。

但是,如果我在y方向引入一个移位,如

  

f(x)= 2 * x + 40

我的网络只是近似于倾向而不是+ 20.如果我监控权重,它会告诉我偏差(负责这种转变)正在改变,但是非常缓慢,即使我让它学会成千上万时代几乎没有达到解决方案。

Linear function where y=2*x + 40

类似的问题是方形函数,其中

  

f(x)= x ^ 2

,我可以让我的网络像我想要的那样大而深,它不会完美地收敛,只是一个非常粗略的近似,就像两个线性图。我认为这也是由于偏差权重没有正确收敛或至少非常缓慢。

neural network approximated square function, with 10 hidden neurons and one output

无论如何,我现在的问题是,这是正常的,我应该训练更长时间或引入动量或重量衰减期限,或者如果我实施了错误。

PS:如果有必要,我可以提供代码,我只想尽可能地缩短代码。不是真的有用,但我希望它至少清楚我的意思。提前感谢您的所有时间!

0 个答案:

没有答案
相关问题