问题标签 [loss]

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

caffe - caffe 训练损失不收敛

我遇到了非收敛训练损失的问题。(批量:16,平均损失:10)。我尝试了以下方法 + 改变学习率 lr(初始 lr = 0.002 导致非常高的损失,大约 e+10)。然后使用 lr = e-6,损失似乎很小但不收敛。+ 为偏差添加初始化 + 为偏差和权重添加正则化

这是网络结构训练损失日志

希望收到您的来信最好的问候

0 投票
1 回答
11973 浏览

tensorflow - Tensorflow - 损失开始很高并且不会减少

我开始用 tensorflow 编写神经网络,在我的每个示例项目中我似乎都面临一个问题。

我的损失总是从 50 或更高开始,并且不会减少,或者如果减少,它会非常缓慢,以至于在我的所有时期之后,我什至没有接近可接受的损失率。

它已经尝试过的事情(并且对结果没有太大影响)

  • 过拟合测试,但在下面的示例中,您可以看到我有 15000 个训练和 15000 个测试数据集以及类似 900 个神经元
  • 测试了不同的优化器和优化器值
  • 尝试通过使用测试数据作为训练数据来增加训练数据
  • 尝试增加和减少批大小

我根据https://youtu.be/vq2nnJ4g6N0的知识创建了网络

但是让我们看看我的一个测试项目

我有一个名字列表,想假设性别,所以我的原始数据如下所示:

为了将其输入网络,我将名称转换为 charCodes 数组(期望最大长度为 30),并将性别转换为位数组

我为输出层构建了具有 3 个隐藏层 [30,20]、[20,10]、[10,10] 和 [10,2] 的网络。所有隐藏层都有一个 ReLU 作为激活函数。输出层有一个softmax。

现在计算损失、准确率和训练操作:

我以 100 个批次训练网络

我得到以下结果:


我究竟做错了什么?

为什么它在我的项目中从 ~69 开始而不是更低?


非常感谢你们!

0 投票
2 回答
472 浏览

regression - 如何在 matconvnet 中通过回归改变 softmaxlayer

我正在尝试使用单输出训练 MNIST 数据集。这意味着当我给一个 28*28 的输入(图像)时,模型给了我们一个公正的数字。例如我给'5',模型给我的结果是4.9、5、5.002或接近5。所以我有一些文件是红色的。人们告诉softmaxlayer必须用回归层来改变。为了这样做。我正在使用 matconvnet 库及其 mnist 示例。我已经改变了我的网络并编写了回归层损失函数。这些是我的代码:

这是回归损失函数:

我更改opts.errorFunction = 'multiclass' ;'none' 另外我添加

到 vl_simplenn 脚本

但是当我运行火车时会发生此错误

错误使用 vl_nnconv DEROUTPUT 维度与 X 和 FILTERS 不兼容。

vl_simplenn 中的错误(第 415 行)[res(i).dzdx, dzdw{1}, dzdw{2}] = ...

我必须做些什么来解决这个问题?谢谢你

0 投票
0 回答
231 浏览

python - Keras - 使用 theano 后端(K.function)计算损失时编译模型

我正在 Keras 中构建一个 NN,并且正在使用 Theano 后端。

代码:

如果我使用上述参数编译这个模型并保存它,加载的模型会保留训练配置(损失,优化)吗?

由于我使用 K.function(...) 方法来计算成本(损失),这会以任何方式影响模型的配置吗?

到目前为止,我还没有找到一种方法来检查恢复模型的配置是否与保存的配置相同。那么,有没有办法打印出网络配置以检查它是否已正确恢复,即使用与保存时完全相同的配置和参数?

0 投票
1 回答
1244 浏览

tensorflow - Tensorflow:成功恢复检查点后丢失重置

保存或恢复时没有错误。重量似乎已正确恢复。

我正在尝试按照karpathy/min-char-rnn.pysherjilozair/char-rnn-tensorflowTensorflow RNN 教程来构建我自己的最小字符级别 RNN 。我的脚本似乎按预期工作,除非我尝试恢复/恢复训练。

如果我重新启动脚本并从检查点恢复,然后恢复训练,则损失总是会恢复,就好像没有检查点一样(尽管权重已正确恢复)。但是,在脚本的执行过程中,如果我重置图表、启动新会话并恢复,那么我可以继续按预期将损失最小化。

我试图在我的台式机(带有 GPU)和笔记本电脑(仅 CPU)上运行它,两者都在带有 Tensorflow 0.12 的 Windows 上。

下面是我的代码,我在这里上传了代码+数据+控制台输出: https ://gist.github.com/dk1027/777c3da7ba1ff7739b5f5e89491bef73

0 投票
3 回答
6432 浏览

keras - 需要内部层输出作为标签的自定义损失函数的 Keras 实现

在 keras 中,我想自定义我的损失函数,它不仅需要 (y_true, y_pred) 作为输入,还需要使用网络内部层的输出作为输出层的标签。这张图显示了网络布局

这里,内部输出是 xn,它是一个 1D 特征向量。在右上角,输出为xn',即xn的预测。换句话说,xn 是 xn' 的标签。

而 [Ax, Ay] 传统上称为 y_true,而 [Ax',Ay'] 是 y_pred。

我想将这两个损失组件合二为一,共同训练网络。

任何想法或想法都非常感谢!

0 投票
1 回答
3381 浏览

tensorflow - 使用 TensorFlow 进行多标签分类

我有 5 个标签的多标签分类问题。如果我的输出层的形状为 [n_samples, n_labels=5] 并且损失函数为 tf.nn.sigmoid_cross_entropy_with_logits 是否正确?或者我应该有 [n_samples, n_labels=5, 2] 形状的输出层,其中 2 用于编码是否每个标签都分配给样本?

0 投票
1 回答
306 浏览

scikit-learn - 使用 RANSACRegressor 限制多项式的允许值

我将以下白色像素作为输入数据并使用 sklearn.linear_model.RANSACRegressor 拟合 2 次(二次)多项式以避免异常值。这种情况下的结果显示为红色并且是完全正确的:

在此处输入图像描述

但是,我知道在我的应用程序中,二次曲线的最小值/最大值总是在该图像的右侧(但我不知道在哪个高度),并且曲率不会那么强。换句话说:我已经知道我最适合的应该是蓝线,而其他点是腐败的异常值。

有没有办法通过(例如)提供一个损失函数来控制或限制 RANSACRegressor 的结果,该函数惩罚非常强的曲率,但在使用较低曲率时仍试图找到最佳拟合?

提前感谢任何提示或链接:-)

0 投票
1 回答
678 浏览

deep-learning - Caffe 损失层 - 后向函数

我对 Caffe 损失层中的后向函数有疑问。我在以下位置看到了欧几里得损失层的实现: https ://github.com/BVLC/caffe/blob/master/examples/pycaffe/layers/pyloss.py

最后,反向函数定义如下:

我知道底部 [0]表示预测值,底部 [1]是目标值(基本事实)。
你能帮我理解为什么符号是 +1 表示预测而 -1 表示目标吗?我认为我们不需要为目标分配任何值到bottom[1].diff

如果我有多标签问题,我该如何更新代码?

0 投票
1 回答
262 浏览

limit - Amibroker:每日亏损限额

我想实现一个 afl 代码来查找日内交易中的每日亏损限制。我将使用代码进行大约 200 天的回测。我有以下代码,但有错误。

任何帮助将不胜感激。谢谢。