根据预定义的初始值设定项,Keras卷积层的内核进行了相同的初始化?

时间:2019-01-24 22:46:15

标签: python tensorflow keras deep-learning conv-neural-network

在Keras中是否可以创建卷积层(Conv2D),以便根据初始化程序(例如he_normalglorot_uniform等)对内核进行初始化,但是创建为每个内核都相同?

换句话说,我想使用kernel_initializer='he_normal'初始化一个内核,然后复制并使用该初始化的权重矩阵在该层中初始化所有其他内核。

以半伪代码方式,这(在概念上类似于)我在寻找什么:

n_filters = 64

x = Conv2D(1, 3,... kernel_initializer='he_normal')

he_normal_kernel = *the kernel weight matrix that was just created*  #copy kernel weight matrix 
he_normal_kernels = he_normal_kernel * n_filters #make n_filters copies of that matrix

x = Conv2D(n_filters, 3,... kernel_initializer=he_normal_kernels) # use those as the initialization of our convolutional layer

只要它按预期工作,我对实现该目标的完全公正。

我们在这里的时候,有什么内在的理论上的原因说明为什么这可能是个坏主意吗?

谢谢!

0 个答案:

没有答案