如何找到张量流函数的零点

用户1245262

我开始学习 Tensorflow 并设置为自己的练习,以找到函数的零点。我采取的方法如下:

x = tf.Variable(0.0, trainable=True)  # Independent variable
y = 2*tf.pow(x,2) - 6*x + 4           # Function for which to find 0's
loss = tf.pow(y,2)                    # Function with minima at 0 of y(x)
opt = tf.train.GradientDescentOptimizer(0.1).minimize(loss) # Optimizer

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    for i in range(1000): # Minimizing loop
        print sess.run([x,y, loss])
        sess.run(opt)

我预计找到损失的最小值(即 y^2)会给我 y 的零点。但是,当我尝试上面的代码时,我得到了以下结果:

[0.0, 4.0, 16.0]
[4.8, 21.280005, 452.83856]
[-51.37921, 5591.9224, 31269596.0]
[236505.78, 111868550000.0, 1.2514572e+22]
[-2.1165915e+16, 8.959919e+32, inf]
[inf, nan, nan]
[nan, nan, nan]

我做错了什么?我期待“发现”y 在 x=1 处为零。

T.小川

学习率过大。较小的学习率(如 0.01)会产生以下结果:

[0.0, 4.0, 16.0]
[0.48, 1.5808, 2.4989288]
[0.6089933, 1.087786, 1.1832783]
[0.68653125, 0.82346296, 0.6780912]
[0.7401202, 0.65483475, 0.42880854]
[0.77992785, 0.5370076, 0.28837714]
[0.8108626, 0.44982052, 0.2023385]
[0.83566165, 0.3826909, 0.14645232]
[0.85600054, 0.3294704, 0.10855074]
[0.8729749, 0.28632116, 0.08197981]
[0.8873373, 0.25071096, 0.06285599]
[0.8996254, 0.2208991, 0.048796415]
[0.9102352, 0.19564486, 0.03827691]
[0.91946596, 0.17403984, 0.030289866]
[0.9275488, 0.15540075, 0.024149394]
[0.93466556, 0.13920641, 0.019378424]     
[0.9409614, 0.12504816, 0.015637042]
[0.94655395, 0.112605095, 0.0126799075]
[0.95153964, 0.101617336, 0.010326083]
[0.9559983, 0.09187603, 0.008441205]

这将收敛到 1。

更新:原始代码发散现象的描述。

如您所见,结果的 x 坐标被解释为围绕最优解 x = 1 的振荡。x 坐标越远,产生的梯度越大。最后,损失超过了tf.float32可以表达的最大值,导致inf

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

零点稀疏矩阵

来自分类Dev

使用python查找方程的零点

来自分类Dev

寻找位置向量的零点

来自分类Dev

如何忽略一维张量流张量中的零

来自分类Dev

将零点连接成零点

来自分类Dev

将零点连接为零点

来自分类Dev

斩从无用的零点朱莉娅浮动

来自分类Dev

TRIM与写入零点:一样吗?

来自分类Dev

IEEE 754 标准中的零点一

来自分类Dev

在张量流中,如何将张量的行重置为零?

来自分类Dev

Chart.js在零线和零点处填充颜色工具提示

来自分类Dev

张量流预测包含全零

来自分类Dev

理解张量流函数输出

来自分类Dev

翻转张量并在张量流中填充零

来自分类Dev

在嵌套的CSS计数器的第一级添加一个“零点”

来自分类Dev

为什么Textarea.Innertext给我零点异常?

来自分类Dev

m子4中带有长度检查的左垫零点

来自分类Dev

在javascript中将脉冲序列的零点显式打印到文本文件

来自分类Dev

根据要素在R中创建一个零点矩阵

来自分类Dev

在嵌套的CSS计数器的第一级添加一个“零点”

来自分类Dev

回声十进制值,结尾不带零点(.0)

来自分类Dev

使用JavaScript从小数点中删除零点以获取经度和纬度

来自分类Dev

使用滑块小部件跟踪散景图中的零点

来自分类Dev

如何在张量流存储库中找到代码“ tf.nn.dynamic_rnn”?

来自分类Dev

张量流索引如何工作

来自分类Dev

如何处理张量流

来自分类Dev

张量流索引如何工作

来自分类Dev

如何根据带索引的张量过滤张量流的张量?

来自分类Dev

张量流:reduce_max函数