我在喀拉拉邦的下一层面临困难:
gaussian_projection = 64
gaussian_scale = 20
initializer = tf.keras.initializers.TruncatedNormal(mean=0.0, stddev=gauss_scale)
proj_kernel = tf.keras.layers.Dense(gaussian_projection, use_bias=False, trainable=False,
kernel_initializer=initializer)
以上各层打算做什么?是添加高斯噪声的图层还是其他图层?
我希望有人知道。
###############################
input_dim = 3
new_layer = tf.keras.layers.Dense(input_dim, use_bias=False, trainable=False,
kernel_initializer='identity')
tf.keras.layers.GaussianNoise(stddev=gaussian_scale)
两个版本的第1层和第2层是否都打算做相同的事情,即增加高斯噪声?
答案 0 :(得分:1)
我认为上述2个区别如下:
Dense
层,其中gaussian_projection
变量是单位数,而initializer
是初始化该层的一种方式。通常会进行初始化,以改善层和网络的融合。但总的来说,第一个代码块是典型的Dense
层。我认为在第一段代码中没有添加任何噪音。GaussianNoise
层,通常这样做是为了规范网络并减少过度拟合。基于official documentation,此GaussianNoise
层仅在训练期间处于活动状态。