问题标签 [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.
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中。希望回答,谢谢。
neural-network - 优化期间如何将交叉熵损失转换为标量?
我有一个关于如何定义神经网络的基本初学者问题,我正在 Keras 库的背景下学习。按照 MNIST hello world 程序,我定义了这个网络:
我的理解是,这将创建一个具有两层的神经网络,在本例RESHAPED
中为 784,并且NB_CLASSES
为 10,因此该网络将具有 1 个具有 785 个神经元的输入层和一个具有 10 个神经元的输出层。
然后我添加了这个:
我知道已经阅读了分类交叉熵的公式,但它似乎是按输出节点计算的。我的问题是,在训练期间,如何组合交叉熵的值来创建标量值目标函数?这只是一个平均值吗?
tensorflow - 如何使用 tensorflow 构建每层都有局部损失的深度神经网络?
我是张量流(TF)的新手。最近,当我尝试使用 TF 构建我的深度模型时,我感到很困惑,其中每一层都有自己的(局部)损失函数。
TF 实现的许多深度模型(例如 CNN)似乎只有一个(全局)损失函数,因此可以首先计算从输入层到输出层的隐藏表示;然后获得损失;最后,使用现有的优化算法和损失来训练模型。
与那些模型不同,我想使用 TF 根据其自身的局部损失来训练每一层。这意味着在训练当前层时,前一层的参数应该是固定的。
所以我的问题是如何构建一个或者,如果需要的话,几个图表来实现上述想法?
任何意见和建议将不胜感激。谢谢。
tensorflow - 如何从浮点值创建张量?
我正在使用 keras 构建 NN。我需要制作自定义评估功能(我做了但不完全)。
以下是部分代码:
这部分工作得很好,但这并不是我真正需要的。
我希望能够返回,例如0.123
目前,返回的K.sum(loss)
只是一个值(包装在某个张量中)。
不管你把它写下来0.123
或[0.123]
或[[0.123]]
或...
所以问题是如何将浮点数转换为张量,这将在这个自定义损失函数中作为响应被接受?
例如return K.new_tensor(0.123)
(也仅供参考,我使用 tensorflow 作为后端)
编辑:
我刚刚意识到我的想法在概念上毫无意义。我想应用损失(数量)而不提供有关损失函数是什么(即它的导数是什么)的任何信息,这对于反向传播至关重要,因此它可以知道如何更新权重。
python - 自定义损失函数的附加目标(或输入)
我有一个关于使用自定义损失函数的附加目标的问题。
通常我们有 2 个损失函数的输入,我称之为y_predict
和y_actual
。MSE 函数将是:
但是,如果我有第三个输入,比如说z
(为简单起见,假设z
具有相同的形状y_actual
)怎么办?
我在 github 中找到了一个答案,他们在另一个函数中使用了一个函数,例如:
然后,我们将模型编译为:
这可以。但是,当“z”在训练数据和有效数据方面是动态的时,我遇到了一个问题。这意味着,我有以下数据:
我想要的损失函数是:训练损失:
有效损失:
z_train 和 z_valid 可以被视为此损失函数的附加目标/输入。有人有处理类似问题的经验吗?谢谢。
tensorflow - 多个正分类的 TensorFlow 损失计算
我的标签看起来像这样
这意味着1, 4
匹配的样本输入中存在类。
- 如何为这样的标签创建一次性编码标签?
- 哪种损失函数更适合这种情况(sigmoid 交叉熵、softmax 交叉熵或稀疏 softmax 交叉熵)?
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_
。
知道为什么它是负面的吗?
谢谢!
deep-learning - InfoGainLossLayer、Caffe 中的动态 infoGainMatrix (H)
我试图在 Faster-RCNN 中 RPN 的多任务损失函数 (L) 中不同地缩放正样本和负样本在分类损失 (l_cls) 中的贡献。
据我所知,在 Caffe 中执行此操作的直接方法是使用“InfoGainLossLayer”并传递包含不同比例的 infoGainMatrix(H)。不幸的是,据我所知,无法即时计算 infoGainMatrix(H) 并将其传递给 InfoGainLossLayer。(参考)。我想让我的 H 动态计算。
如果有人能解释如何规避这种情况,那就太好了。
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。我做错了什么?
python - 如何有条件地为张量赋值[屏蔽损失函数]?
我想创建一个忽略标签值为 0 的值(=> 像素)的 L2 损失函数。张量batch[1]
包含标签,output
而是净输出的张量,两者的形状均为(None,300,300,1)
.
我当前的代码屈服于TypeError: 'Tensor' object does not support item assignment
(在第二行)。这样做的张量流方式是什么?我还尝试使用 来使损失正常化tf.reduce_sum(labels_mask)
,我希望它可以像这样工作。