gpt4 book ai didi

tensorflow - TensorFlow 如何处理 L1 正则化的差异?

转载 作者:行者123 更新时间:2023-12-04 19:34:26 25 4
gpt4 key购买 nike

似乎您可以通过 tf.abs() 声明一个成本函数,然后将其传递给自动梯度生成(请参阅 https://github.com/nfmcclure/tensorflow_cookbook/blob/master/03_Linear_Regression/04_Loss_Functions_in_Linear_Regressions/04_lin_reg_l1_vs_l2.py )

.但我们知道 abs() 是不可微的。

这是如何在 Tensorflow 中完成的?它只是在 [-1,1] 中随机抛出一个数字吗?

如果有人可以请指出我的实现,那将是很棒的。谢谢!

(我在 git 中寻找 tensorflow.py,但它甚至不存在)

最佳答案

f(x) = abs(x)处处可微,除了在 x=0 .它的导数等于:

abs derivative

所以唯一的问题是 tensorflow 如何在 x=0 处实现导数.您可以手动检查:

import tensorflow as tf
x = tf.Variable(0.0)
y = tf.abs(x)
grad = tf.gradients(y, [x])[0]
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(grad))

它打印 0.0 .

关于tensorflow - TensorFlow 如何处理 L1 正则化的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518869/

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