我想在tensorflow中限制输出范围,并确保渐变可以通过这些修剪的值,例如:
y = tf.nn.leaky_relu(x)
我想限制y的值,以便y可以在(-2,2)范围内
我尝试过:
y = tf.clip_by_value(y, -2, 2)
但是,渐变无法通过y中的这些裁剪值,它们会得到0个渐变。
已编辑
:以下是我的cnn层输出的真实分布:(我要限制那些离群值,因为它们使后一个RNN层变得饱和)
答案 0 :(得分:0)
诸如剪辑等功能在某些区域不可区分。因此,不要期望渐变表现良好。
如果只想将y的值限制在[-2,2]范围内,则最好使用tanh激活函数。设置y = 2 * tanh(x)。