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

lua - 火炬中的成对相似性准则

我想在torch7 中实现一个新的标准。

基本上,我有一对样本,我有一个归一化的相似性实际值(我们将其表示为“d”)。

在现有的标准中,我能拥有的最接近的是CosineEmbeddingCriterion,它提供了以下损失:

显然这是为对设计的,但这是针对分类问题的。

在我的问题中,我想实现一个提供以下损失函数的标准: loss(x1, y2, d) = | d - cos(x1,x2) |

不幸的是,与这个问题不同,在我看来,我不能简单地结合现有标准来做到这一点。

所以我打算继续痛苦地从torch7源文件创建一个新模块。

我的问题如下:

  • 我是否正确,我没有任何其他直接的解决方案?
  • 如果我在 torch7 中实现自己的标准:
    • 是否有框架可以编写标准或指南?
    • 我如何检查它是否有效?(如何进行单元测试?)

(在我看来,写一个对我来说似乎正确的标准很容易——但在实践中却不是)

提前感谢您提供任何线索!

0 投票
0 回答
571 浏览

caffe - Caffe 负训练迭代损失

我一直在尝试在 vqa(视觉问答)数据集上运行多模式 cnn。但奇怪的是,训练损失立即变为零,然后变为负数。在对我的数据进行洗牌后,训练损失不会立即变为 0,但仍会立即变为负数。

为了对此进行调试,我将所有层逐一注释为只有基本的 imagenet 层,(所以基本上在 vqa 上进行微调)但仍然如下所示。

我还运行了 flickr_style_finetune 模型来查看 softmax 层是否正确,但它在那里工作正常。请帮助我理解这个问题并正确训练 cnn。这是我的train_val.prototxt文件。

0 投票
2 回答
1040 浏览

nan - 在我的 tensorflow CNN 的第一轮,损失变成了 NAN

在我的 tensorflow CNN 的第一轮,损失变成了 NAN。

1. 网络

3个隐藏层(2个卷积层+1个隐藏全连接层)+读出层。

2. 3个隐藏层

a) 重量
W = tf.Variable(tf.truncated_normal(wt,stddev=0.1,name='wights' ))

b) 偏差
b = tf.Variable( tf.fill([W.get_shape().as_list()[-1] ],0.9),name = 'biases' )

c) 活动:
ReLu

d) 辍学:
0.6

**即使 dropout 为 0.0,损失也会变为 nan

3. 读出层:
softmax

4:损失函数:
tf.reduce_mean(-tf.reduce_sum(_lables * tf.log(_logist), reduction_indices=[1]))

5.优化器:
tf.train.AdamOptimizer

learning_rate = 0.0005
**即使 learning_rate = 0,损失也会变成 nan

0 投票
0 回答
286 浏览

matlab - 如何将路径损耗包括到瑞利通道中?

我理解接收信号方程表示y=hx+n。我有一个在 MCCDMA Rayleigh 和 AWGN 通道中从发送方到接收方的传输脚本。从某个论坛上查找,我发现距离和路径损耗指数可以包含在信道增益中h = h* d^(-v/2)

其中d= 距离和v= 路径损耗指数

下面是我的 MATLAB 代码的一半,其中我在瑞利通道中包含了距离和路径损耗指数:

但是,我需要一些帮助来验证所包含的路径损耗 Ii 是否正确。

0 投票
0 回答
1457 浏览

deep-learning - 损失增加微调caffe

我有 280 个类别的分类问题,有约 278,000 张图像。我使用 quick_solver.txt 基于模型 GoogleNet(caffe 中的 bvlc_googlenet)进行微调。我的求解器如下:

在训练期间,我使用 32 的批大小,以及 32 的测试批。我只是从头开始重新学习三层 loss1/classifier loss2/classifier 和 loss3/classifier 通过重命名它们。我将全局学习率设置为 0.001,即比从头训练中使用的学习率低 10 倍。然而,最后三层仍然获得 0.01 的学习率。

第一次迭代的日志文件:

在第 100,000 次迭代之前,我的网络获得了 50% 的 top-1 准确度和 ~80% 的 top-5 准确度:

在第 119,00 次迭代中,一切仍然正常

紧接着损失突然增加,即等于初始损失(从 8 到 9),

在突然的变化发生很久之后,网络无法减少这种损失

我重新运行了两次实验,它只是在第 119040 次迭代中完全重复。有关更多信息,我在创建 LMDB 数据库时进行了数据混洗。我使用这个数据库训练了一个 VGG-16(步进学习率策略,最大 80k 次迭代,每步 20k 次迭代),没有任何问题。使用 VGG,我获得了 55% 的 top-1 准确率。

有人遇到和我类似的问题吗?

0 投票
1 回答
413 浏览

lua - 在 Torch 中添加自定义损失函数

在 Torch 中实现自定义损失函数的必要步骤是什么?

看来您必须为 updateOutput 和 updateGradInput 编写一个实现。

这就是全部?那么你基本上创建了一个新类:

并实现以下两个功能:

这是正确的,还是还有更多工作要做?

此外,对于提供的标准,这些函数是用 C 实现的,但我想 Lua 实现也可以工作,尽管可能会慢一点?

0 投票
1 回答
3345 浏览

regression - 使用 CNN 进行边界框回归的损失函数

我正在尝试了解 CNN 中边界框回归的损失函数。目前我使用 Lasagne 和 Theano,这使得编写损失表达式非常容易。许多消息来源提出了不同的方法,我问自己在实践中通常使用哪一种。

边界框坐标按顺序表示为归一化坐标[left, top, right, bottom](使用T.matrix('targets', dtype=theano.config.floatX))。

到目前为止,我已经尝试了以下功能;但是,它们都有其缺点。

联合交叉口

有人建议我使用该Intersection over Union度量来确定 2 个边界框对齐和重叠的程度。但是,当框不重叠并且交集为0时会出现问题;然后无论边界框相距多远,整个商都变为 0。我将其实现为:

平方直径差

为了为非重叠边界框创建误差度量,我尝试计算边界框直径的平方差。它似乎有效,但我几乎可以肯定有更好的方法来做到这一点。我将其实现为:

欧几里得损失

最简单的函数是Euclidean Loss计算边界框参数平方差的平方根。但是,这并没有考虑重叠边界框的面积,而只考虑了参数left,right,top,bottom的差异。我将其实现为:

如果我在这里做错了什么,有人可以指导我对于这个用例或现场的边界框回归,哪个是最好的损失函数。实践中通常使用哪种损失函数?

0 投票
1 回答
1562 浏览

optimization - CNN 中全连接参数的 L2 正则化

这个tensorflow 示例中,它对全连接参数使用了 L2 正则化:

它是什么?为什么这里使用全连接参数?以及它如何提高性能?

0 投票
1 回答
38 浏览

android - Android screen stops reading inputs

First off, this has never happened before on any other android device I've used (multiple devices have been tried and tested before this). Now I have an app that I have worked on for a little over a year now, it is called AutomatedId (on the app store) and it has worked quite well for my company for quite some time. Recently I have been given a device to add compatibility to the app (specifically for reading UHF tags) but that isn't the problem. The problem comes whenever you open the app, the screen stops reading inputs completely, as well as buttons cease to function. I turned on developer options to see the screen inputs and as i suspected, it completely stops and does not read any of the inputs after the app is opened. Clicks don't work, buttons don't work, keyboard doesn't open, hardware buttons on the device stop working. It's a mess, does anyone know what could have caused this?

This is a S98 from here: http://www.wepoy.com/product_view_18.html

0 投票
1 回答
2960 浏览

python - 张量流损失函数?

张量流中有很多损失函数,如 sigmoid_cross_entropy_logits、softmax_cross_entropy_logits。你能写出这些函数的数学公式吗?什么是logits?是指这个功能吗?它是明智地应用元素吗?