2

有各种激活函数:sigmoid、tanh 等。还有一些初始化函数:Nguyen 和 Widrow、随机、归一化、常数、零等。所以这些对专门用于人脸检测的神经网络的结果有很大影响吗? 现在我正在使用 Tanh 激活函数,只是将所有权重从 -0.5 随机化到 0.5。不过,我不知道这是否是最好的方法,而且每次训练网络需要 4 小时,我宁愿在这里提问也不愿进行实验!

4

1 回答 1

2

拿几百个数据案例,看看你的单位激活值的平均值和标准偏差。您想摆脱 tanh sigmoid 的饱和状态。

我怀疑不同的合理初始化方案会对您的解决方案的质量产生很大影响。将权重初始化为在区间 [-1/sqrt(N), +1/sqrt(N)] 上均匀可能就足够了,其中 N 是传入连接的数量。

话虽这么说,但往往会产生重大影响的是预训练网络权重,无论是作为 RBM 还是作为自动编码器。即使对于单隐藏层神经网络,这也很有帮助,尽管它对于更深的网络更为重要。您没有提及您正在使用的架构,该信息将为您的问题提供更有用的答案。

甚至还有一个新的初始化规则似乎在本文中描述得很好: http ://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/447 该论文还提到了一些我在上面提到的初始化不良的症状,您可以轻松检查。

总而言之,[-1/sqrt(N), +1/sqrt(N)] 上的 Uniform 并不算太糟糕,我链接到的论文中也没有提到。如果您使用其中之一,请不要担心太多。非常重要的是将权重预训练为自动编码器(或受限玻尔兹曼机),即使您只有一个隐藏层,您也应该关注它。

如果您想将权重作为 RBM 进行预训练,您可以切换到逻辑 sigmoid,甚至从一个小的标准差高斯初始化权重,而不会遇到麻烦。

于 2010-04-30T20:59:13.880 回答