我想制作一个 Conv 网络,并希望使用 RELU 激活功能。有人可以告诉我初始化权重的正确方法吗(我正在使用 Theano)
谢谢
我不确定是否有一种硬而快速的最佳方法来初始化 ReLU 层的权重和偏差。
有人声称(稍微修改的版本)Xavier 初始化与 ReLU 配合得很好。其他小的高斯随机权重加上偏差 = 1(确保正输入的加权和将保持为正,因此不会在 ReLUs 零区域结束)。
在 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))