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中的论据,我可以选择统一分布或正态分布。但这并没有解决它,对吗?
答案 0 :(得分:0)
初始化的标准偏差取决于所使用的非线性。对?
没有。 Xavier初始化不需要知道网络使用的非线性。
实际上,Xavier初始化只是权重的初始化,从随机分布中选取值,其中mean = 0且variance = 1/<number_of_inputs>
。
声明变量时,传递shape
参数。 shape参数的第一个维度是<number_of_inputs>
。
也许您正在寻找专门为ReLU e PReLU定义的He初始化,但即使在这种情况下,变量初始化也不需要知道将遵循什么非线性