我在使用Keras进行深度学习项目时遇到了“截断正常”权重初始化技术。我知道这是在某些层中初始化权重的选项之一,但我不确定它的优点以及何时最适合使用。有人能解释一下Keras中的“截断正常”权重初始化是如何工作的吗?它与其他初始化方法(如“glorot_uniform”和“he_uniform”)有什么区别?是否有特定的场景或网络架构,其中截断的正常初始化往往执行得更好或更差?
72qzrwbm1#
我的理解是,这个常数“平衡”了由于截断而收缩的方差。平均值为0且标准差为1的未截断正态分布应产生标准差为1的分布。截断消除了离群值,将输出值的stddev缩小到< 1。这导致用于权重初始化的较小标准差,例如glorot,其可能对分布的变化敏感。获取输出值的stddev为1的截断分布(!),则用于从中提取分布的标准差必须增加以对抗异常值的重新提取。这就是为什么他们被0.879分。
1条答案
按热度按时间72qzrwbm1#
我的理解是,这个常数“平衡”了由于截断而收缩的方差。平均值为0且标准差为1的未截断正态分布应产生标准差为1的分布。截断消除了离群值,将输出值的stddev缩小到< 1。这导致用于权重初始化的较小标准差,例如glorot,其可能对分布的变化敏感。
获取输出值的stddev为1的截断分布(!),则用于从中提取分布的标准差必须增加以对抗异常值的重新提取。这就是为什么他们被0.879分。