问题标签 [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 投票
0 回答
1701 浏览

python - Scipy.ndimage.filters.convolve 的过滤器形状错误

我正在尝试使用 scipy convolve 函数,但它显示过滤器形状错误的错误。我有一个过滤器形状(1, 3, 3, 1)和图像形状(10,8,8,3)

我发现了一个类似的帖子,但它的维度少了一个,这在我的情况下是不正确的。

任何想法,我怎么能解决这个问题?

示例代码:

解决方案:我通过将两个变量都转换为 numpy. 可以通过传递一个占位符和图像来完成,sess.run()这样我们就可以获得 numpy 数组。

但是,我有兴趣使用张量解决这个问题,因为我不能在Keras 损失函数中使用上述方法来处理y_pred&y_true

0 投票
0 回答
214 浏览

deep-learning - 后向函数错误

我已经在pytorch中定义了一个损失函数,但是有一个错误我找不到解决方案。这是我的代码:

不幸的是,我收到了这个错误:


我无法解决它。我跟踪了代码并将其与没有错误的代码进行了比较,但我无法解决它。此外,我将输入和标签定义为带有“requires_grad=True”参数的变量。请指导我如何解决它。谢谢你。

0 投票
1 回答
991 浏览

tensorflow - Tensorflow,用元素操作定义损失函数的正确方法

我有一批n 个训练示例。每个训练示例都给我一个向量a(长度为 k)和一个向量c(长度也是 k)。

在张量流中,我的输出是p

我想定义以下损失函数:

\sum_(i = 0)^(i=n) c_i ( (a_i - p)^2 )

我已经阅读了我可以使用的各种 tf 操作,但似乎找不到合适的实现。我尝试使用 tf.tile 将 p 复制到 k 长度的张量中并执行 tf.subtract,但这似乎过分了。

任何帮助将非常感激。

0 投票
1 回答
257 浏览

python - 在损失函数中使用生成器

我需要将其他信息合并到取决于当前批次的 Keras 损失函数中。由于 Keras 损失只接受两个参数,因此我考虑通过在生成器对象上调用损失函数 next() 来添加此信息。但是,生成器只被调用一次(可能是在 model.compile() 中添加损失函数时)。这是一个示例代码:

有没有办法让损失函数在每次对 data_batch 进行评估时获得一个新的 meta_batch?还是有另一种方法可以将此元信息合并到损失函数中?

澄清: meta_x 和 meta_y 是二进制矩阵,应该从预测中消除某些元素,因为它们不应该计入损失。例如:

y_true = (a,b,c,0) y_pred = (d,e,f,g) y_meta = (1,1,1,0)

现在, y_pred*y_meta 应该抵消 g 以便它不计入损失。

0 投票
1 回答
541 浏览

python - TensorFlow DNNRegressor Retrieve Loss Values from Training Regressor

I would like to capture the loss value for every step that is output in the log when I train a tensorflow.estimator.DNNRegressor model.

Given the trivial nonsense example:

So, in the output above I would like to capture the step = N, and loss = value so I can plot and otherwise further analyze it.

Appreciate any help here

0 投票
1 回答
3137 浏览

tensorflow - Tensorflow - 总变化损失 - reduce_sum 与 reduce_mean?

为什么Tensorflow 中的 Total Variation Loss建议使用reduce_sum而不是reduce_mean作为损失函数?

这可以在优化过程中用作损失函数,以抑制图像中的噪声。如果您有一批图像,那么您应该将标量损失值计算为总和:
loss = tf.reduce_sum(tf.image.total_variation(images))

0 投票
0 回答
831 浏览

tensorflow - 使用 Keras 自定义损失函数

我正在尝试编写自定义 Keras 损失函数,但在实现和调试代码时遇到问题。我的目标向量是:

y_pred = [p_conf, p_class_1, p_class_2]

其中,p_conf= 检测到感兴趣事件的置信度

y_true例子:

我使用多标签分类(即在我的最后一层中使用 sigmoid 激活和 binary_crossentropy 损失函数)获得了相对较好的结果,但我想使用计算以下的自定义损失函数进行实验和改进我的结果:

  1. 当 y_true = [0, ..., ...] 时的 binary_crossentropy 损失
  2. 当 y_true = [1, ..., ...] 时的 categorical_crossentropy 损失

这是 YOLO 对象检测算法使用的简化损失函数。我尝试调整YOLO 损失函数的现有 Keras / TensorFlow 实现,但没有成功。

这是我当前的工作代码。它运行但产生不稳定的结果。即损失和准确性随着时间的推移而降低。任何帮助将不胜感激。

0 投票
1 回答
1486 浏览

python - 在 keras 中实现三元组损失的准确性

我想为三元组损失网络实现一个准确度函数,以便我知道该算法在训练期间是如何工作的。到目前为止,我已经尝试了一些东西,但我不确定它是否真的可以工作,而且我在 keras 中实现它也遇到了麻烦。我的想法是比较预测的anchor-positive和anchor-negative距离(in y_pred),这样正距离应该足够低,而负距离应该足够大:

这个问题是我无法弄清楚如何and在 keras 中实现这个条件。

然后我试图找到关于三元组损失准确性的主题。一种方法是将精度定义为三元组数量的比例,其中锚图像和正图像之间的预测距离小于锚图像和负图像之间的距离。有了这个,我在 keras 中实现它时遇到了更大的问题。

我试过这个(虽然我不知道它是否符合我的描述):

这让我的准确度一直在 0.5 左右(可能是一些随机的东西)。所以我仍然不知道是模型不好还是精度功能不好。

所以我的问题是如何在 keras 中实现任何合理的精度函数?是否会是这两个中的一个,我真的不在乎。

0 投票
0 回答
122 浏览

tensorflow - 在 keras 中实现自定义损失时访问张量值

我正在keras使用 tensorflow 作为后端来实现自定义损失函数。损失函数得到一个 和 的张y_truey_pred。我的输出是一个10-dimensional vector。我需要返回损失作为差异,y_truey_pred首先我需要找到的索引y_truey_pred找到差异。让我们说y_true=[0,0,0,0,1,0,0,0,0,0]y_pred=[0,0,1,0,0,0,0,0,0,0]。所以解码后的值将是y_true=4and y_pred=2。所以损失是2。我怎样才能解码张量并计算损失?

0 投票
1 回答
263 浏览

machine-learning - 通过梯度下降的反向传播如何表示每次前向传递后的误差

在神经网络多层感知器中,我了解随机梯度下降 (SGD) 与梯度下降 (GD) 之间的主要区别在于训练时选择多少样本的方式。也就是说,SGD 迭代地选择一个样本执行前向传播,然后进行反向传播以调整权重,这与 GD 相反,反向传播仅在前向传播中计算完整个样本后才开始)。

我的问题是:

  1. 当梯度下降(甚至是迷你批次梯度下降)是所选方法时,我们如何表示单个正向通行证中的误差?假设我的网络只有一个输出神经元,错误是通过平均每个样本中的所有单个错误还是通过对所有错误求和来表示?
  2. MLPClassifier scikit learn 中,有谁知道这样的错误是如何累积的?求平均还是求和?

非常感谢你。