栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

绕过tf.argmax这是不可区分的

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

绕过tf.argmax这是不可区分的

如果您很酷,

import tensorflow as tfimport numpy as npsess = tf.Session()x = tf.placeholder(dtype=tf.float32, shape=(None,))beta = tf.placeholder(dtype=tf.float32)# Pseudo-math for the below# y = sum( i * exp(beta * x[i]) ) / sum( exp(beta * x[i]) )y = tf.reduce_sum(tf.cumsum(tf.ones_like(x)) * tf.exp(beta * x) / tf.reduce_sum(tf.exp(beta * x))) - 1print("I can compute the gradient", tf.gradients(y, x))for run in range(10):    data = np.random.randn(10)    print(data.argmax(), sess.run(y, feed_dict={x:data/np.linalg.norm(data), beta:1e2}))

这是一种技巧,可以在低温环境中计算平均值,从而得出概率空间的近似最大值。在这种情况下,低温与温度过高有关

beta

实际上,随着

beta
逼近无穷大,我的算法将收敛到最大值(假设最大值是唯一的)。不幸的是,在您遇到数值错误并得到之前,beta不能太大
NaN
,但是有一些技巧可以解决,如果您需要的话,我可以研究一下。

输出看起来像这样,

0 2.244599 9.08 8.04 4.04 4.08 8.09 9.06 6.09 8.999951 1.0

因此,您可以看到它在某些地方变得混乱,但通常会得到正确的答案。根据您的算法,这可能很好。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号