我的训练数据在没有标准化的情况下,包含了-2000到2000之间的数字。如果我的训练数据输入是300,我会对其进行标准化:
1 / 300 = 0,0033~所以它的范围是-1 - 1。
问题是归一化值之间的差异太小了。
1 / 300 = 0,00333~
1 / 299 = 0,00334~这需要神经网络达到极端的精确度。我使用基于梯度的反向传播算法,而tanh是激活函数。神经网络需要很长时间才能达到这种精确度。
我应该使用什么学习方法,或者如何改进我当前的神经网络来完成这项任务?谢谢!
发布于 2016-04-03 05:16:04
您可以对前几层使用ReLU (线性激活)激活函数,并对输出层执行tanh激活。
Input (-ReLU-> Hidden L.)*n -tanh-> Outputhttps://stackoverflow.com/questions/36378351
复制相似问题