问题标签 [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.

0 投票
1 回答
338 浏览

tensorflow - 如何通过在 tensorflow 中使用 softmax-output-layer 来并行确定多个标签(在神经网络中)?

由于我的硕士研究项目工作,我正在使用 Google 的 tensorflow 库实现神经网络。在那我想确定(在我的前馈神经网络的输出层)并行的几个标签。作为输出层的激活函数,我想使用 softmax 函数。所以我特别想要的是一个输出是一个看起来像这样的向量:

这里前三个数字是第一分类三个类别的概率,其他三个数字是第二分类三个类别的概率。所以在这种情况下,我会说标签是:

在第一次尝试中,我尝试通过首先使用 tf.reshape() 将 (1x6) 向量重塑为 (2x3) 矩阵,然后在矩阵 tf.nn.softmax() 上应用 softmax 函数,最后重塑矩阵回到向量。不幸的是,由于重塑,梯度下降优化器在计算梯度时遇到问题,所以我尝试了一些不同的方法。

我现在要做的是,我将 (1x6) 向量乘以一个矩阵,该矩阵的上半部分有一个 (3x3) 恒等矩阵,下半部分有一个 (3x3) 零矩阵。Whit this 我提取了向量的前三个条目。然后我可以应用 softmax 函数并通过另一个矩阵乘法将其恢复为 (1x6) 的旧形式。这也必须对其他三个向量条目重复。

到目前为止它有效,但我不喜欢这个解决方案。因为在我的实际问题中,我不仅要一次确定两个标签,而且要确定 91 个标签,我必须重复上述过程形式 91 次。

有没有人有解决方案,我如何获得所需的向量,其中 softmax 函数一次仅应用于三个条目,而无需编写“相同”代码 91 次?

0 投票
1 回答
1553 浏览

python - 张量流 softmax 回归总是预测 1

我有以下基于 MNIST 示例的代码。它通过两种方式进行修改:

1)我没有使用 one-hot-vector,所以我只是使用tf.equal(y, y_)

2) 我的结果是二进制的:0 或 1

准确度始终为 0.5(因为我的测试数据中的 1 和 0 一样多)。W和的值b似乎总是增加,可能是因为 的值cross_entropy总是全零的向量。

当我尝试使用此模型进行预测时,预测始终为 1:

我在这里做错了什么?

0 投票
1 回答
1425 浏览

c# - 这个函数在做什么(softmax)

这个函数中的“ih”和“ho”是什么。这是softmax激活函数我无法理解字符串检查的原因。

0 投票
1 回答
797 浏览

r - 具有 softmax 输出的神经网络无法收敛

我一直在研究 Stamford 的深度学习教程,但我遇到了其中一个练习的问题,即带有 softmax 输出层的神经网络。这是我在 R 中的实现:

这是我在输出层使用的 softmax 函数,也是我在 softmax 中使用的成本函数:

我已经根据数值梯度检查了我的程序计算的梯度,它们是不同的。但是,我找不到不正确梯度计算的来源。

此外,我已经在 MNIST 的输出层使用 sigmoid 激活成功地使用了这个网络,而使用 softmax 层根本不起作用(11% 的准确率)。这让我相信问题在于我的 softmax 实现。

0 投票
0 回答
515 浏览

python - 使用 Softmax 回归的面部关键点检测

我正在尝试使用 Tensorflow 为Kaggle 面部关键点检测竞赛构建一个基本的 Softmax 回归模型。

我按照 Tensorflow 初学者 MNIST 示例进行 Softmax 回归模型和 Daniel Nouri 的博客进行数据结构化。

我面临的问题是脚本总是将准确率预测为 0.0

我也关注了类似的问题,但没有运气:-

注意:-我正在从数据集中删除所有缺少值的行。

终端日志:

编辑 :

似乎问题出在成本/交叉熵上,将其更改为解决问题:

0 投票
0 回答
339 浏览

matlab - 神经网络(patternnet)的softmax和logsig激活函数有什么区别?

我使用该函数设置网络softmax,我注意到在训练网络后,输出层激活函数只是变为logsig. 这可能是什么原因?

我的数据在 0 和 1 之间缩放。

0 投票
25 回答
316734 浏览

python - 如何在 Python 中实现 Softmax 函数

Udacity 的深度学习类中,y_i 的 softmax 就是简单的指数除以整个 Y 向量的指数之和:

在此处输入图像描述

哪里S(y_i)是softmax函数y_i并且e是指数并且j是no。输入向量 Y 中的列数。

我尝试了以下方法:

返回:

但建议的解决方案是:

它产生与第一个实现相同的输出,即使第一个实现显式地获取每列和最大值的差异,然后除以总和。

有人可以在数学上显示为什么吗?一个是对的,一个是错的吗?

实现在代码和时间复杂度方面是否相似?哪个更有效率?

0 投票
1 回答
1817 浏览

tensorflow - 如何在一次运行中从 Inception-v3 检索 fc 和 softmax 层的输出?

我想提取'pool_3:0''softmax:0'层的输出。我可以运行模型两次,每次运行都提取单层的输出,但这有点浪费。是否可以只运行一次模型?

我正在使用提供的示例classify_image.py。这是相关的片段:

0 投票
1 回答
912 浏览

tensorflow - 在 TensorFlow 中消除类似 DeepMNIST 的网络中用于彩色图像分类的 softmax 饱和度

我有一个分类数据集,它由大小为 8000x(32x32x3 图像)的训练和大小为 2000x(相同大小的图像)的测试组成。
我正在做一个非常简单的区分车辆和背景的任务。我使用 cross_entropy 作为成本函数。

我使用的网络与DeepMNIST中使用的网络几乎相同,除了第一个过滤器的大小为 3x... 而不是 1x... 因为它是彩色图像并且输出大小为 2,因为只有两个类:车辆或非车辆。看到这个相对简单的任务的结果让我问自己几个审问:

-首先,如果我没有使用足够大的批量大小(> 200),我几乎每次都会卡住,这两组的准确度为 62%(局部最优),这不足以满足我的需要

-其次,每当我使用正确的优化器 Adam 和正确的批量大小和学习率时,我都会达到 92%,但是输出总是非常好,例如 [0.999999999 0.000000000001]。

这不应该发生,因为任务很困难。
因此,当我完全卷积创建热图时,由于饱和,我几乎在所有地方都得到了 1.000001。
我究竟做错了什么 ?你觉得美白能解决问题吗?批量标准化?还有什么?我面临什么?

0 投票
1 回答
1893 浏览

mathematical-optimization - 试图理解在 Torch 中计算 LogSoftMax 输入梯度的代码

代码来自:https ://github.com/torch/nn/blob/master/lib/THNN/generic/LogSoftMax.c

我看不出这段代码是如何计算模块 LogSoftMax 输入的梯度 wrt 的。我感到困惑的是两个 for 循环在做什么。