【发布时间】:2019-01-21 18:15:32
【问题描述】:
He / MSRA 初始化,来自 Delving Deep into Rectifiers,在使用 ReLU 时似乎是 recommended 权重初始化。
在 TensorFlow 中是否有内置的方法来使用它? (类似于:How to do Xavier initialization on TensorFlow)?
【问题讨论】:
标签: python tensorflow neural-network
He / MSRA 初始化,来自 Delving Deep into Rectifiers,在使用 ReLU 时似乎是 recommended 权重初始化。
在 TensorFlow 中是否有内置的方法来使用它? (类似于:How to do Xavier initialization on TensorFlow)?
【问题讨论】:
标签: python tensorflow neural-network
tf.keras.initializers.HeUniform()
或
tf.keras.initializers.HeNormal()
请参阅文档了解用法。 (h/t 到 @mable)
tf.contrib.layers.variance_scaling_initializer(dtype=tf.float32)
这将为您提供 He / MRSA 初始化。文档指出tf.contrib.layers.variance_scaling_initializer 的默认参数对应于 He 初始化,并且更改参数可以产生 Xavier 初始化(这是在 TF 的 Xavier 初始化内部实现中所做的)。
示例用法:
W1 = tf.get_variable('W1', shape=[784, 256],
initializer=tf.contrib.layers.variance_scaling_initializer())
或
initializer = tf.contrib.layers.variance_scaling_initializer()
W1 = tf.Variable(initializer([784,256]))
【讨论】:
tf.keras.initializers.HeNormal(或使用默认参数的tf.keras.initializers.VarianceScaling)中进行激活
tf.keras.initializers.HeUniform()和tf.keras.initializers.HeNormal()之间的区别吗?