使用RELU激活功能时如何初始化权重

时间:2015-10-20 06:09:59

标签: theano conv-neural-network

我想建立一个Conv网络,我希望使用RELU激活功能。有人可以给我一个初始化权重的正确方法的线索(我使用Theano)

由于

1 个答案:

答案 0 :(得分:7)

我不确定是否有一种快速,快速的方法来初始化ReLU图层的权重和偏差。

一些claim(稍微修改过的版本)Xavier初始化可以很好地与ReLU配合使用。其他小高斯随机权重加偏差= 1(确保正输入的加权和将保持为正,因此不会在ReLU零区域中结束)。

在Theano中,这些可以像这样实现(假设权重乘以输入后):

w = theano.shared((numpy.random.randn((in_size, out_size)) * 0.1).astype(theano.config.floatX))
b = theano.shared(numpy.ones(out_size))

w = theano.shared((numpy.random.randn((in_size, out_size)) * tt.sqrt(2 / (in_size + out_size))).astype(theano.config.floatX))
b = theano.shared(numpy.zeros(out_size))