繁体   English   中英

使用神经网络,学习率是否应该与隐藏的图层大小成比例? 他们应该相互影响吗?

[英]With neural networks, should the learning rate be in some way proportional to hidden layer sizes? Should they affect each other?

我的神经网络是正常的前馈和后退支柱。 有10个输出,它应该是一个向量,其中一个输出为1,其余为0.所以像[0,0,0,0,1,0,0,0,0]。 所以我期望的输出是这样的:

[ 0.21332215,0.13782996,0.13548511,0.09321094,0.16769843,0.20333131, 0.06613014,0.10699013,0.10622562,0.09809167]

理想情况下,一旦受过训练,这个:

[ 0.21332215,0.13782996,0.93548511 ,0.09321094 ,**0.9**676984,0.20333131, 0.06613014,0.1069901,0.10622562, 0.09809167]

当我在隐藏层上有30个神经元,并且学习率> 0.1但<1时,我得到了这些结果。 但是,当我有隐藏的100个神经元,并且学习率为0.01时,我得到如下结果:

[  1.75289110e-05,1.16433042e-04 ,2.83848791e-01,4.47291309e-02, 1.63011592e-01,8.12974408e-05 , 1.06284533e-03 , 2.95174797e-02, 7.54112632e-05, 1.33177529e-03]

为什么是这样? 这是过度学习的样子吗?

然后,当我将隐藏的100个神经元的学习速率更改为0.0001时,它再次得到正常结果。

所以我的问题是:学习率如何影响隐藏层数? 更大的隐藏层是否意味着更低的学习率?

可以说隐藏单位数与学习率之间存在微小的关系,一般来说,当你增加隐藏单位数时,你会得到一个更大容量的参数化模型,这样的模型总是更容易发生过度拟合相同的训练集。 除此之外,该模型在较大尺寸的空间中操作,并且与较薄的模型相比具有更复杂的误差表面。 当你在这样一个复杂的错误体系中应用更大的学习率时,SGD过程可能很容易分散到无意义的位置,我相信,这是你获得更高学习率的奇怪结果的真正原因。 简而言之,当模型过于复杂时,较小的学习率更合理地工作是合乎逻辑的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM