在全卷积神经网络(FCN)中,基本上对于每一层,都有一个随机的权重初始化。并且有两点要注意:
1.全卷积神经网络(FCN)不使用0作为权重。请记住,在使用反向传播时,需要在中间层计算dL/dX,最终得到dL/dW。将权重设置为0s将导致dL/dX为0,然后网络不会更新。
2.不会使用单一常量来初始化全卷积神经网络(FCN)的所有权重。如果所有的权重都设置为一个常数,那么所有的神经元在训练过程中的任何时候都会有相同的值。我们需要网络权重具有更复杂的结构,这样才能了解输入数据的复杂分布。
还有损失函数,以tanh为例,使用tanh作为激活函数,切记如果初始化的权重太大,网络中每一层的输出会逐渐趋近于1/-1。但如果把权重初始化得太小,每层的输出将逐渐趋近于0。这两种情况都会导致梯度消失。
为了解决这个问题,于是我们希望有一种方法可以对每一层进行权重初始化,以保持变化。简单地说,就是对于每一层,输入的变化等于输出的变化。