我在keras中遇到了以下几个方面的问题:
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)上面的层打算做什么?它是一个添加高斯噪声的图层还是其他什么?
我希望有人知道这件事。
#####################另一个第2版的layer ##########
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层)是否打算做相同的事情,即添加高斯噪声?
发布于 2020-09-20 15:42:03
我认为以上两个不同之处在于:
Dense层,其中gaussian_projection变量是单元的数量,initializer是初始化层的一种方式。这种初始化通常是为了改善层和网络的收敛;但总的来说,第一个代码块是典型的Dense层。我认为在第一段代码中没有添加任何噪声。另一方面,GaussianNoise层,这通常是为了使网络正则化并减少过拟合。基于official documentation,此GaussianNoise层仅在训练期间处于活动状态。https://stackoverflow.com/questions/63949680
复制相似问题