xavier_initializer()如何知道激活?

时间:2016-09-09 16:00:01

标签: machine-learning tensorflow

tf.contrib.layers.xavier_initializer()如何知道激活功能?

初始化的标准偏差取决于所使用的非线性。对?那么tf.contrib.layers.xavier_initializer()如何知道最新情况呢?

采取以下案例:

W = tf.get_variable("W", shape=[784, 256],
           initializer=tf.contrib.layers.xavier_initializer())

这个W对X有所作为,然后将结果传递给tanh或relu或者你。现在,初始化器在W.中。tensorflow如何计算激活?或者我是否需要进行干预,知道我将要使用的激活?

查看tf.contrib.layers.xavier_initializer中的论据,我可以选择统一分布或正态分布。但这并没有解决它,对吗?

1 个答案:

答案 0 :(得分:0)

  

初始化的标准偏差取决于所使用的非线性。对?

没有。 Xavier初始化不需要知道网络使用的非线性。

实际上,Xavier初始化只是权重的初始化,从随机分布中选取值,其中mean = 0且variance = 1/<number_of_inputs>

声明变量时,传递shape参数。 shape参数的第一个维度是<number_of_inputs>

也许您正在寻找专门为ReLU e PReLU定义的He初始化,但即使在这种情况下,变量初始化也不需要知道将遵循什么非线性