gpt4 book ai didi

python - 如何在 TensorFlow 中添加正则化?

转载 作者:IT老高 更新时间:2023-10-28 21:10:22 28 4
gpt4 key购买 nike

我在许多使用 TensorFlow 实现的可用神经网络代码中发现,正则化项通常是通过手动向损失值添加一个附加项来实现的。

我的问题是:

  1. 有没有比手动进行更优雅或推荐的正则化方式?

  2. 我还发现 get_variable 有一个参数 regularizer。应该如何使用?根据我的观察,如果我们向它传递一个正则化器(例如 tf.contrib.layers.l2_regularizer,一个表示正则化项的张量将被计算并添加到一个名为 tf. GraphKeys.REGULARIZATOIN_LOSSES。TensorFlow 会自动使用该集合(例如,优化器在训练时使用)吗?还是希望我自己使用该集合?

最佳答案

正如您在第二点中所说,使用 regularizer 参数是推荐的方式。您可以在 get_variable 中使用它,或在 variable_scope 中设置一次,然后将所有变量正则化。

损失被收集在图表中,您需要像这样手动将它们添加到成本函数中。

  reg_losses = tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES)
reg_constant = 0.01 # Choose an appropriate one.
loss = my_normal_loss + reg_constant * sum(reg_losses)

希望有帮助!

关于python - 如何在 TensorFlow 中添加正则化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107223/

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