gpt4 book ai didi

tensorflow - 如何在 Tensorflow 中实现权重噪声

转载 作者:行者123 更新时间:2023-12-03 20:53:43 25 4
gpt4 key购买 nike

在 Tensorflow 中实现权重噪声的最佳方法是什么?我应该提取所有权重并应用噪声吗?或者我应该对渐变应用噪声?

最佳答案

权重噪声和梯度噪声是不一样的。

以下权重更新会产生权重噪声:



和梯度噪声(有时称为朗之万噪声)应用如下梯度:



后者是 Stochastic Gradient Langevin Dynamics 优化器的更新。

无论如何,在 tensorflow 中实现两者都非常简单。

# Assuming you defined a graph and loss function `loss` and noise
# is drawn from normal distribution

# Weight noise:
optimizer = tf.train.GradientDescentOptimizer(lr)
grads_and_vars = optimizer.compute_gradients(loss, tf.trainable_variables())
train_ops = [tf.assign(v,
v - lr*g + tf.random_normal(v.shape, stddev=0.1))
for g, v in grads_and_vars]
train_op = tf.group(train_ops)

# Langevin noise:
optimizer = tf.train.GradientDescentOptimizer(lr)
grads_and_vars = optimizer.compute_gradients(loss, tf.trainable_variables())
train_ops = [tf.assign(v,
v - lr*g - tf.sqrt(lr*T)*tf.random_normal(v.shape, stddev=1))
for g, v in grads_and_vars]
train_op = tf.group(train_ops)

关于tensorflow - 如何在 Tensorflow 中实现权重噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38727656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com