初始化方法
初始化方法定义了对Keras层设置初始化权重的方法
不同的层可能使用不同的关键字来传递初始化方法,一般来说指定初始化方法的关键字是kernel_initializer
和 bias_initializer
,例如:
model.add(Dense(64,
kernel_initializer='random_uniform',
bias_initializer='zeros'))
一个初始化器可以由字符串指定(必须是下面的预定义初始化器之一),或一个callable的函数,例如
from keras import initializers
model.add(Dense(64, kernel_initializer=initializers.random_normal(stddev=0.01)))
# also works; will use the default parameters.
model.add(Dense(64, kernel_initializer='random_normal'))
Initializer
Initializer是所有初始化方法的父类,不能直接使用,如果想要定义自己的初始化方法,请继承此类。
预定义初始化方法
Zeros
keras.initializers.Zeros()
全零初始化
Ones
keras.initializers.Ones()
全1初始化
Constant
keras.initializers.Constant(value=0)
初始化为固定值value
RandomNormal
keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None))
正态分布初始化