1

我正在使用 l2_regularization Tensorflow 有 - tf.nn.l2_loss 我可以使用这个吗?

  1. K.sum(K.square(K.abs(权重)))
  2. tf.nn.l2_loss

我可以在 Keras(Tensorflow 后端)中互换使用它吗?

4

1 回答 1

4

是的,你可以,但请记住tf.nn.l2_loss计算output = sum(t ** 2) / 2(来自文档),所以你忘记了乘以0.5. 你也不必计算K.abs(weights),因为K.square(K.abs(weights)) == K.square(weights).

区别在于:

  • tf.nn.l2_loss直接在内核中实现。

  • Keras 后端中的操作直接转换为此处定义的Tensorflow

于 2017-07-18T12:13:43.563 回答