问题标签 [loss-function]

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 回答
32 浏览

tensorflow - 如何通过 Tensorflow 实现张量中的元素比较?

在我的自定义损失函数中,我想实现这个特定的计算:

输入:

和A、B的形状一样。

输出:

例如:

首先res[0] = B[0],如果A[i] == A[i-1],那么res[i] = res[i-1];否则,res[i] = B[i]。所以我们得到res=[4, 4, 2, 3, 3, 3, 4,...]

我真的很困扰这个问题,我不希望在tensorflow中。希望回答,谢谢。

0 投票
1 回答
473 浏览

neural-network - 优化期间如何将交叉熵损失转换为标量?

我有一个关于如何定义神经网络的基本初学者问题,我正在 Keras 库的背景下学习。按照 MNIST hello world 程序,我定义了这个网络:

我的理解是,这将创建一个具有两层的神经网络,在本例RESHAPED中为 784,并且NB_CLASSES为 10,因此该网络将具有 1 个具有 785 个神经元的输入层和一个具有 10 个神经元的输出层。

然后我添加了这个:

我知道已经阅读了分类交叉熵的公式,但它似乎是按输出节点计算的。我的问题是,在训练期间,如何组合交叉熵的值来创建标量值目标函数?这只是一个平均值吗?

0 投票
1 回答
49 浏览

tensorflow - 如何使用 tensorflow 构建每层都有局部损失的深度神经网络?

我是张量流(TF)的新手。最近,当我尝试使用 TF 构建我的深度模型时,我感到很困惑,其中每一层都有自己的(局部)损失函数。

TF 实现的许多深度模型(例如 CNN)似乎只有一个(全局)损失函数,因此可以首先计算从输入层到输出层的隐藏表示;然后获得损失;最后,使用现有的优化算法和损失来训练模型。

与那些模型不同,我想使用 TF 根据其自身的局部损失来训练每一层。这意味着在训练当前层时,前一层的参数应该是固定的。

所以我的问题是如何构建一个或者,如果需要的话,几个图表来实现上述想法?

任何意见和建议将不胜感激。谢谢。

0 投票
0 回答
239 浏览

tensorflow - 如何从浮点值创建张量?

我正在使用 keras 构建 NN。我需要制作自定义评估功能(我做了但不完全)。

以下是部分代码:

这部分工作得很好,但这并不是我真正需要的。
我希望能够返回,例如0.123
目前,返回的K.sum(loss)只是一个值(包装在某个张量中)。
不管你把它写下来0.123[0.123][[0.123]]或...

所以问题是如何将浮点数转换为张量,这将在这个自定义损失函数中作为响应被接受?

例如return K.new_tensor(0.123)
(也仅供参考,我使用 tensorflow 作为后端)

编辑:

我刚刚意识到我的想法在概念上毫无意义。我想应用损失(数量)而不提供有关损失函数是什么(即它的导数是什么)的任何信息,这对于反向传播至关重要,因此它可以知道如何更新权重。

0 投票
0 回答
48 浏览

python - 自定义损失函数的附加目标(或输入)

我有一个关于使用自定义损失函数的附加目标的问题。

通常我们有 2 个损失函数的输入,我称之为y_predicty_actual。MSE 函数将是:

但是,如果我有第三个输入,比如说z(为简单起见,假设z具有相同的形状y_actual)怎么办?

我在 github 中找到了一个答案,他们在另一个函数中使用了一个函数,例如:

然后,我们将模型编译为:

这可以。但是,当“z”在训练数据和有效数据方面是动态的时,我遇到了一个问题。这意味着,我有以下数据:

我想要的损失函数是:训练损失:

有效损失:

z_train 和 z_valid 可以被视为此损失函数的附加目标/输入。有人有处理类似问题的经验吗?谢谢。

0 投票
1 回答
225 浏览

tensorflow - 多个正分类的 TensorFlow 损失计算

我的标签看起来像这样

这意味着1, 4匹配的样本输入中存在类。

  1. 如何为这样的标签创建一次性编码标签?
  2. 哪种损失函数更适合这种情况(sigmoid 交叉熵、softmax 交叉熵或稀疏 softmax 交叉熵)?
0 投票
3 回答
3320 浏览

python - Scikit-Learn:GridSearchCV 的自定义损失函数

我正在参加 Kaggle 比赛(https://www.kaggle.com/c/house-prices-advanced-regression-techniques#evaluation),它指出我的模型将通过以下方式进行评估:

我在文档中找不到这个(基本上是RMSE(log(truth), log(prediction)),所以我开始编写自定义记分器:

两个问题:

1)我的自定义损失函数是否应该返回一个 numpy 分数数组(每个(真相,预测)对一个?还是应该是这些(真相,预测)对的总损失,返回一个数字?

我查看了文档,但它们并不是很有帮助:我的自定义损失函数应该返回什么。

2)当我跑步时:

我回来了:

这是非常令人惊讶的。鉴于我的损失函数正在RMSE(log(truth) - log(prediction))使用,我不应该有一个负数best_score_

知道为什么它是负面的吗?

谢谢!

0 投票
1 回答
47 浏览

deep-learning - InfoGainLossLayer、Caffe 中的动态 infoGainMatrix (H)

我试图在 Faster-RCNN 中 RPN 的多任务损失函数 (L) 中不同地缩放正样本和负样本在分类损失 (l_cls) 中的贡献。

据我所知,在 Caffe 中执行此操作的直接方法是使用“InfoGainLossLayer”并传递包含不同比例的 infoGainMatrix(H)。不幸的是,据我所知,无法即时计算 infoGainMatrix(H) 并将其传递给 InfoGainLossLayer。(参考)。我想让我的 H 动态计算。

如果有人能解释如何规避这种情况,那就太好了。

0 投票
2 回答
4181 浏览

keras - 如何在 Keras 中使用 categorical_hinge?

也许是一个非常愚蠢的问题,但我找不到如何在 Keras 中使用 categorical_hinge 的示例。我进行分类,我的目标是shape(,1)值 [-1,0,1],所以我有 3 个类别。使用功能 API,我设置了输出层,如下所示:

输出=密集(1,名称='输出',激活='tanh',kernel_initializer='lecun_normal')(输出1)

然后我申请:

model.compile(optimizer=adam, loss={'output': 'categorical_hinge'}, metrics=['accuracy'])

结果是模型正在收敛,但准确度接近 0。我做错了什么?

0 投票
2 回答
4044 浏览

python - 如何有条件地为张量赋值[屏蔽损失函数]?

我想创建一个忽略标签值为 0 的值(=> 像素)的 L2 损失函数。张量batch[1]包含标签,output而是净输出的张量,两者的形状均为(None,300,300,1).

我当前的代码屈服于TypeError: 'Tensor' object does not support item assignment(在第二行)。这样做的张量流方式是什么?我还尝试使用 来使损失正常化tf.reduce_sum(labels_mask),我希望它可以像这样工作。