内容简介:使用梯度下降法训练神经网络时,需要对参数初始化。对w参数(weight matrices) 和b参数(bias vectors),使用不同的初始化策略会对训练结果和效率有非常大的影响:3. 定制初始化方案——He initialization (author of He et al., 2015)
使用梯度下降法训练神经网络时,需要对参数初始化。对w参数(weight matrices) 和b参数(bias vectors),使用不同的初始化策略会对训练结果和效率有非常大的影响:
- Speed up the convergence of gradient descent 加速梯度下降的收敛速度
- Increase the odds of gradient descent converging to a lower training (and generalization) error 使误差降低的概率更大
不同参数的方案:
- 初始化为0
- fails to "break symmetry" 未能破坏对成性
- This means that every neuron in each layer will learn the same thing
for l in range(1, L): parameters['W' + str(l)] = np.zeros((layers_dims[l],layers_dims[l-1])) parameters['b' + str(l)] = np.zeros((layers_dims[l],1)) 复制代码
- 随机初始化
- success to "break symmetry",make sure different hidden units can learn different things
- Initializing weights to very large random values does not work well.
- poor initialization can lead to vanishing/exploding gradients 导致梯度消失/梯度爆炸
for l in range(1, L): parameters['W' + str(l)] = np.random.randn(layers_dims[l],layers_dims[l-1]) * 10 parameters['b' + str(l)] = np.zeros((layers_dims[l],1)) 复制代码
3. 定制初始化方案——He initialization (author of He et al., 2015)
for l in range(1, L + 1): parameters['W' + str(l)] = np.random.randn(layers_dims[l],layers_dims[l-1]) * np.sqrt(2/layers_dims[l-1]) parameters['b' + str(l)] = np.zeros((layers_dims[l],1)) 复制代码
总结:
- Different initializations lead to different results
- Random initialization is used to break symmetry and make sure different hidden units can learn different things
- Don't intialize to values that are too large
- He initialization works well for networks with ReLU activations.
以上所述就是小编给大家介绍的《学习笔记:深度学习网络的优化-初始化参数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 协议简史:如何学习网络协议?
- 使用wireshark学习网络协议
- 强化学习新模型Jumper,让神经网络学习在阅读中何时做决定
- ICLR 2019 | 用浅度学习训练深度网络:避开端到端深度学习难题
- 再谈迁移学习:微调网络
- 用机器学习改善网络通话质量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java学习指南(第4版)(上下册)
Patrick Niemeyer、Daniel Leuck / 李强、王建新、吴戈 / 人民邮电出版社 / 2014-7 / 128.00元
《Java学习指南(第4版)(上、下册)》是畅销Java学习指南的最新版,详细介绍了Java 6和Java 7的语言特性和API。本书全面介绍了Java的基础知识,力图通过完备地介绍Java语言、其类库、编程技术以及术语,从而成为一本名符其实的入门级图书。 《Java学习指南(第4版)(上、下册)》加入了从Java 6和Java 7发布以后的变化,包括新的语言功能、并发工具(Fork-Joi......一起来看看 《Java学习指南(第4版)(上下册)》 这本书的介绍吧!