小编Flo*_*n_O的帖子

神经网络关于输入的导数

我训练了一个神经网络来对正弦函数进行回归,并希望计算相对于输入的一阶和二阶导数。我尝试使用这样的 tf.gradients() 函数(neural_net 是 tf.keras.Sequential 的实例):

prediction = neural_net(x_value)
dx_f = tf.gradients(prediction, x_value)
dx_dx_f = tf.gradients(dx_f, x_value)
Run Code Online (Sandbox Code Playgroud)

x_value 是一个长度为测试大小的数组。然而,这会产生预测和导数。网络的预测(蓝色曲线)基本上准确地捕获了正弦函数,但我必须将一阶导数(橙色)除以 10 倍,将二阶导数(绿色)除以 100 倍,才能得到在同一数量级。因此,一阶导数看起来(重新缩放后)没问题,但二阶导数完全不稳定。由于正弦函数的预测效果非常好,所以这里显然发生了一些有趣的事情。

python tensorflow

5
推荐指数
1
解决办法
4737
查看次数

标签 统计

python ×1

tensorflow ×1