在用户手册中,它显示了
下面的不同kernel_initializerhttps://keras.io/initializers/
主要目的是初始化神经网络中的权重矩阵。
任何人都知道默认的初始化程序是什么?该文件没有显示默认值。
答案 0 :(得分:50)
通常,默认情况下为glorot_uniform
。不同的图层类型可能具有不同的默认kernel_initializer
。如有疑问,请查看源代码。例如,对于Dense
图层:
class Dense(Layer):
...
def __init__(self, units,
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
**kwargs):
答案 1 :(得分:2)
GlorotUniform ,keras使用具有均匀分布的Glorot初始化。r=√(3 / fan_avg)
fan_avg =(fan_in + fan_out)/ 2
输入数量= fan_in
一层中的核子数量= fan_out