2010-04-21 28 views
2

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

+0

是的,它们对神经网络的结果有很大的影响。您可以提供您正在使用的方法的更多细节以及您试图解决的问题以获得有意义的答案。 – Ross 2010-04-23 12:42:17

回答

2

取几百个数据案例,看看你的单位的激活值的平均值和标准偏差。你希望脱离tanh乙状结肠的饱和状态。

我怀疑不同的合理初始化方案会对解决方案的质量产生很大影响。在[-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)]上的统一不是太差,也不是我链接到论文中提到的那个。如果你使用其中的一个,不要担心它太多。重要的是将权重作为自动编码器(或限制玻尔兹曼机器)进行预训练,即使您只有一个隐藏层,您也应该查看权重。

如果您想要将权重作为RBM进行预训练,您可以切换到logistic sigmoid,甚至可以从小标准偏差高斯初始化权重而不会陷入麻烦。