问题标签 [softmax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - 如何在 TensorFlow 中对两种类型的标签进行 softmax
TensorFlow 很棒,我们已将其用于图像分类或推荐系统。我们使用softmax
和cross entropy
作为损失函数。如果我们只有一种类型的标签,它就可以工作。例如,我们在 MNIST 数据集中仅选择 0 到 9 中的一位。
现在我们有了性别和年龄的特征。我们对每个示例都有 one-hot 编码,例如 [1, 0, 1, 0, 0, 0, 0]。前两个标签代表性别,后五个标签代表年龄。每个示例有两个 1,其他应该是 0。
现在我们的代码看起来像这样。
但我发现它“softmax”所有标签并总和为 2。但我期望前两个总和为 1,后五个总和为 1。不知道如何在 TensorFlow 中实现它,因为这 7( 2+5) 功能似乎相同。
tensorflow - 张量流中的快速softmax回归实现
我正在尝试在 tensorflow 中实现 softmax 回归模型,以便与其他主流深度学习框架进行基准测试。由于 tensorflow 中的feed_dict 问题,官方文档代码很慢。我正在尝试将数据作为 tensorflow 常量提供,但我不知道最有效的方法。现在我只使用单个批次作为常量并通过该批次进行训练。制作该代码的小批量解决方案的有效解决方案是什么?这是我的代码:
python - 实现 softmax 回归
我正在尝试使用 softmax 回归制作神经网络。我正在使用以下回归公式:
假设我有一个 1000x100 的输入。换句话说,假设我有 1000 张图像,每个图像的尺寸为 10x10。现在,假设这些图像是来自 A、B、C、D、E、F、G、H、I、J 的字母的图像,我正试图预测这一点。我的设计如下:有 100 个输入(每个图像)和 10 个输出。
我有以下疑问。鉴于 n 是 x^n 中的上标,关于分子,我应该执行 w 的点积(w = 权重,其维度为 10x100 - 10 代表输出数量,100 代表输入数量)和单个x(单个图像)或所有想象的组合(1000x100)?我在 python 中编码,所以如果我做 w 和 x^T 的点积(10x100 点 100x1000),那么我不确定如何使它成为指数。我正在使用 numpy。我很难围绕这些矩阵来思考如何将它们提升为指数。
python - 用 tensorflow 实现一个函数
我是编程新手,尤其是使用 tensorflow 编程。我正在制作玩具问题以了解使用它。在那种情况下,我想构建一个像 softmax 这样的函数,其中分母不是所有类的总和,而是一些采样类的总和。
在 python 中使用 numpy 会像:
这如何在张量流中实现?更一般地说,有没有一种可能的方法来创建新的“自定义”功能?
python - 使用 softmax 计算熵时数据类型不匹配
我正在使用下面的代码来计算预测标签和实际标签的熵。数据来自 CIFAR-10 数据集。
我使用 astype(np.float32) 将源数据转换为 ndarray,然后在 tf.constant() 中使用 dtype 作为 float32。错误信息
TypeError:属性'Tlabels'的DataType float32不在允许值列表中:int32,int64
列出只允许使用 int32、int64 的数据类型。如果没有在上述两个步骤中明确指定数据类型,我在 matmul() 操作中遇到了障碍,因为计算中使用的权重项是浮点数据类型。
这是错误信息
我该如何解决
deep-learning - 在 Keras 中访问先前 RNN 状态的 softmax 输出
我的 RNN 中的递归公式是h(t) = tanh(W.x(t) + U.h(t-1) + V.O(t-1) + b)
,其中O(t-1)
是 RNN 在时间的分类输出(Softmax 输出)t-1
。如何在下一个时间步访问此输出?
我想我必须编写一个自定义的 RNN,但是我对 Keras 中的recurrent.py 中的所有循环函数有点困惑,我不确定应该修改哪些部分。
python - TensorFlow sampled_softmax_loss 示例
有人能给我一个关于Tensorflow的sampled_softmax_loss 的简单例子吗?
我尝试使用 sampled_softmax_loss 更改本教程的softmax 和cross_entropy ,其中num_sampled具有不同的数字,但结果非常糟糕。
python - numpy : 计算 softmax 函数的导数
我试图backpropagation
在一个简单的 3 层神经网络中理解MNIST
.
输入层带有weights
和bias
。标签是MNIST
这样的,它是一个10
类向量。
第二层是一个linear tranform
。第三层是将softmax activation
输出作为概率。
Backpropagation
计算每一步的导数并将其称为梯度。
以前的图层将global
或previous
渐变附加到local gradient
. 我无法local gradient
计算softmax
网上的一些资源对softmax及其派生词进行了解释,甚至给出了softmax本身的代码示例
导数是关于 wheni = j
和 when来解释的i != j
。这是我想出的一个简单的代码片段,希望能验证我的理解:
然后self.gradient
是local gradient
which 是一个向量。这个对吗?有没有更好的方法来写这个?
logging - 张量流 log_softmax tf.nn.log(tf.nn.softmax(predict)) tf.nn.softmax_cross_entropy_with_logits
我尝试按照 tensorflow 教程实现 MNIST CNN 神经网络,并找到这些实现 softmax 交叉熵的方法给出不同的结果:
(1) 不好的结果
(2) 好成绩
(3) 好成绩
在数学上,这些方法是相同的。我的测试程序如下:
当我使用方法(1)时,结果是这样的:
和方法(2)和(3)是这样的:
这两个结果相差甚远。我想知道(1)方法有什么问题,因为(1)方法在数学上是正确的。我想方法(2)和(3)中有一些特殊的过程。