问题标签 [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.
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 开始而不是更低?
非常感谢你们!
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}] = ...
我必须做些什么来解决这个问题?谢谢你
python - Keras - 使用 theano 后端(K.function)计算损失时编译模型
我正在 Keras 中构建一个 NN,并且正在使用 Theano 后端。
代码:
如果我使用上述参数编译这个模型并保存它,加载的模型会保留训练配置(损失,优化)吗?
由于我使用 K.function(...) 方法来计算成本(损失),这会以任何方式影响模型的配置吗?
到目前为止,我还没有找到一种方法来检查恢复模型的配置是否与保存的配置相同。那么,有没有办法打印出网络配置以检查它是否已正确恢复,即使用与保存时完全相同的配置和参数?
tensorflow - Tensorflow:成功恢复检查点后丢失重置
保存或恢复时没有错误。重量似乎已正确恢复。
我正在尝试按照karpathy/min-char-rnn.py、sherjilozair/char-rnn-tensorflow和Tensorflow RNN 教程来构建我自己的最小字符级别 RNN 。我的脚本似乎按预期工作,除非我尝试恢复/恢复训练。
如果我重新启动脚本并从检查点恢复,然后恢复训练,则损失总是会恢复,就好像没有检查点一样(尽管权重已正确恢复)。但是,在脚本的执行过程中,如果我重置图表、启动新会话并恢复,那么我可以继续按预期将损失最小化。
我试图在我的台式机(带有 GPU)和笔记本电脑(仅 CPU)上运行它,两者都在带有 Tensorflow 0.12 的 Windows 上。
下面是我的代码,我在这里上传了代码+数据+控制台输出: https ://gist.github.com/dk1027/777c3da7ba1ff7739b5f5e89491bef73
keras - 需要内部层输出作为标签的自定义损失函数的 Keras 实现
在 keras 中,我想自定义我的损失函数,它不仅需要 (y_true, y_pred) 作为输入,还需要使用网络内部层的输出作为输出层的标签。这张图显示了网络布局
这里,内部输出是 xn,它是一个 1D 特征向量。在右上角,输出为xn',即xn的预测。换句话说,xn 是 xn' 的标签。
而 [Ax, Ay] 传统上称为 y_true,而 [Ax',Ay'] 是 y_pred。
我想将这两个损失组件合二为一,共同训练网络。
任何想法或想法都非常感谢!
tensorflow - 使用 TensorFlow 进行多标签分类
我有 5 个标签的多标签分类问题。如果我的输出层的形状为 [n_samples, n_labels=5] 并且损失函数为 tf.nn.sigmoid_cross_entropy_with_logits 是否正确?或者我应该有 [n_samples, n_labels=5, 2] 形状的输出层,其中 2 用于编码是否每个标签都分配给样本?
deep-learning - Caffe 损失层 - 后向函数
我对 Caffe 损失层中的后向函数有疑问。我在以下位置看到了欧几里得损失层的实现: https ://github.com/BVLC/caffe/blob/master/examples/pycaffe/layers/pyloss.py
最后,反向函数定义如下:
我知道底部 [0]表示预测值,底部 [1]是目标值(基本事实)。
你能帮我理解为什么符号是 +1 表示预测而 -1 表示目标吗?我认为我们不需要为目标分配任何值到bottom[1].diff。
如果我有多标签问题,我该如何更新代码?
limit - Amibroker:每日亏损限额
我想实现一个 afl 代码来查找日内交易中的每日亏损限制。我将使用代码进行大约 200 天的回测。我有以下代码,但有错误。
任何帮助将不胜感激。谢谢。