神经网络权(BP)值初始化相同权值的影响
来源:互联网 发布:seo外链员 编辑:程序博客网 时间:2024/06/16 04:48
权值初始化问题
在对神经网络权值初始化时,大家都会选择将其随机初始,如果全赋值为相同数,则会破坏不对称,不应该这样。但如果我们偏要初始化一样,那么会发生什么呢?
从传递公式上,可以明确,前向传播中,每层的神经网络节点输出值都一样【权值初始化为0比较特殊,我在下文中会对这种情况做详细分析】(这里有个前提:BP网络为全连接,且加入了激活函数,激活函数为sigmod函数),那反向传递时,其权值偏导值应该也是相同的,那么就可以得出:会使每层节点对前一层的所有权值全部相同!但层与层的权值会不相同,做了下实验,将权值全部置为1,偏置置为0,实验结果也证实了这点,如下:
此外,权值初始化相同,会让收敛速度变得非常慢!如果权值全初始化为0,则无法更新权值,这是由于前向传播中,所有节点输出值均相同,由于此处使用了sigmod激活函数,所以此处所有神经节点输出都为1/2,如下图所示:
而在反向传播每个节点输出值对损失函数的偏导时,涉及到对权值相乘后的求和,该项永远为0,故所乘的结果也必然为0,公式如下:
这样在计算权值对算是函数的偏导时,其偏导必然为0,公式如下:
所有权值偏导都为0,那么就不要指望使用梯度下降法能更新权值了,自然神经网络的训练也就无法进行下去了。相关公式如过不熟悉,可以参考我前面的文章。
阅读全文
0 0
- 神经网络权(BP)值初始化相同权值的影响
- BP神经网络——如何进行权值的初始化
- BP神经网络权值推导
- 多层神经网络BP算法权值更新过程
- 多层神经网络BP算法权值更新过程
- 遗传算法和bp神经网络结合(神经网络权值学习)
- 关于神经网络权值初始化的讲究
- 深层神经网络的权值初始化问题
- bp神经网络算法中的权值修改问题
- 深度神经网络权值初始化的诡异问题
- Matlab中BP神经网络的构建和初始化
- 基于Matlab的BP神经网络分段插值仿真
- BP神经网络(检测故障的实例)
- BP神经网络的优缺点
- BP神经网络的基本原理
- BP神经网络的实现
- BP神经网络的学习
- BP神经网络的理解
- bzoj1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
- 【ML--03】 第三课 机器学习基本概念
- plsql导入dmp文件闪退或者无法导入问题
- 滤波器设计体验
- Java基础教程1:基础语法
- 神经网络权(BP)值初始化相同权值的影响
- 为何选择ROS开发机器人
- nginx和anglar结合
- 解析su,su -,sudo的区别
- hud神,上帝及老天爷
- 匆匆结束的大学两年
- Codeforces 821D Okabe and City (拆点+思维建图+spfa)
- 编程题--最长公共子序列
- eclipse导入SVN上的Maven多模块项目