神经网络训练细节part1(下)
2018-08-27 本文已影响36人
听城
权重初始化
- small random numbers(gaussian with zero mean and 1e-2 standard deviation)
w = 0.01*np.random.randn(D,H)
,0.01是一个系数,可以调整
但是这种方法容易出现梯度弥散的问题(梯度的量级会变得越来越小),更好的一种初始化方式是:w=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in)
,这种方法仅限于使用tanh激活函数,如果使用relu函数,则可以设置为w=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in/2)
批数据规范化(Batch Normalization)
学习率选择
学习率的选择通过先用少部分数据来进行测试,选择一个较好的学习速率。选择的方式可以为在某个范围内随机取值,观察样本的准确率