有各种激活函数:sigmoid,tanh等。还有一些初始化函数:Nguyen和Widrow,随机,归一化,常量,零等那么这些对专门用于人脸检测的神经网络的结果有多大影响?现在我正在使用Tanh激活函数,并将所有权重从-0.5改为0.5。我不知道这是否是最好的方法,但每次训练网络需要4个小时,我宁愿在这里问问,而不是实验!激活函数,初始化函数等,对神经网络进行人脸检测的效果
2
A
回答
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,甚至可以从小标准偏差高斯初始化权重而不会陷入麻烦。
相关问题
- 1. 人工神经网络激活函数
- 2. 如何计算人工神经网络激活函数的导数
- 3. 神经网络回归模型输出层的激活函数
- 4. 神经网络激活
- 5. 这个神经网络应该使用哪个激活函数?
- 6. 从神经网络的不同成本函数和激活函数中选择
- 7. PyBrain神经网络力初始化
- 8. 人工神经网络:选择初始神经元
- 9. 神经网络的激活功能
- 10. 神经网络的激活/输出
- 11. OpenCV/JavaCV Android人脸检测初始化
- 12. 初始化1层的神经网络参数
- 13. [R神经网络激活功能
- 14. 可以使用内置张量函数作为神经网络的激活吗?
- 15. 在神经网络中,偏差是否会改变激活函数的阈值?
- 16. 神经网络和异或函数
- 17. 神经网络正弦函数
- 18. 神经网络逼近函数
- 19. Pybrain神经网络步传递函数
- 20. 神经网络双曲线函数
- 21. 神经网络(FFW,BP) - 函数逼近
- 22. 错误初始化神经网络的对象与构造
- 23. 访问神经网络权和神经元激活
- 24. 神经网络的初始偏差值
- 25. 在XOR函数学习 - 神经网络中导致停滞的初始权重
- 26. 神经网络从零开始在python中使用sigmoid激活
- 27. 使用人工神经网络映射非线性函数
- 28. 神经网络中权重的意义和规范化函数
- 29. 权重如何在人工神经网络中进行预测?
- 30. 对非工作径向基函数神经网络的建议
是的,它们对神经网络的结果有很大的影响。您可以提供您正在使用的方法的更多细节以及您试图解决的问题以获得有意义的答案。 – Ross 2010-04-23 12:42:17