【发布时间】:2018-04-03 15:53:18
【问题描述】:
在用户手册中,下面显示了不同的kernel_initializer
https://keras.io/initializers/
主要目的是初始化神经网络中的权重矩阵。
谁知道默认初始化器是什么?文档没有显示默认值。
【问题讨论】:
标签: neural-network keras
在用户手册中,下面显示了不同的kernel_initializer
https://keras.io/initializers/
主要目的是初始化神经网络中的权重矩阵。
谁知道默认初始化器是什么?文档没有显示默认值。
【问题讨论】:
标签: neural-network keras
通常,默认为glorot_uniform。不同的图层类型可能有不同的默认kernel_initializer。如有疑问,只需查看源代码code。比如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):
【讨论】:
glorot_normal,但我读到格洛罗特和他都喜欢制服。
GlorotUniform,keras 使用 Glorot 初始化,分布均匀。r = √(3/fan_avg)
fan_avg = (fan_in + fan_out) /2
输入数 = fan_in
一层中的神经元数 = fan_out
【讨论】: