【问题标题】:Torch, why is my neural network producing only one output instead of many?Torch,为什么我的神经网络只产生一个输出而不是多个输出?
【发布时间】:2016-09-24 15:51:57
【问题描述】:

我在 Torch 中实现了一个孪生神经网络,但我在输出的维度上有问题。

在我为测试而开发的一个简单脚本中,它读取输入中的 N 个元素并在输出中正确生成 N 个元素。

但在我的主软件中,几乎相同的模型在输入中读取 N 个元素并在输出中错误地生成 1 个元素。 两个模型之间的唯一区别是神经元的数量,这不应该影响输出维度

为什么会这样?

在这张图片中,您可以看到两个 Torch 孪生神经网络的结构之间的比较。

可能是什么错误? 如何检测它? 有什么想法吗?

【问题讨论】:

  • 首先,尝试切换 dropout 参数的存在。默认值为 0.5,因此它不会影响任何东西,但让我们先删除该因素。那将只留下 826 参数;这是什么?如果是批量大小,我认为没有问题;如果是其他东西,可能与实际输入形状不匹配?
  • @Prune 感谢您的帮助。我删除了 Dropout 组件,没有任何改变。 82 和 6 不是 minibatch 的大小,而是神经网络的大小。
  • 好的,这在这两种情况下都是一个好兆头,只是它没有给我们一个简单的解决方案。接下来,让我们尝试真正的偏执镜头:将 82 更改为 6 并再次运行。这应该使两个模型相同。如果您仍然只得到 1 个元素,那么除了您在此帖子中显示的内容之外,还有一些问题 - 这对您来说应该是一个巨大的线索。
  • 如果更改为 6 有效,那么我会尝试慢慢提高它:7 或 8,然后尝试将性能中断发生的位置归零。
  • 谢谢@Prune。我修改了正确的让它读取具有 82 维的数据集,但不幸的是没有任何改变。我还用一张新图片更新了这个问题,其中两个神经网络都有 82 个神经元。

标签: lua neural-network deep-learning torch


【解决方案1】:

我认为我们在聊天线程中得到了它。

我假设您在 CentOS 上运行 Torch7。 Torch7 需要 CentOS 7.0 或更高版本。它在 CentOS 6 上安装,但不能正常工作;我认为是反向传播有一个微妙的失败。

【讨论】:

    猜你喜欢
    • 2016-12-30
    • 2018-01-25
    • 2019-02-28
    • 2021-04-12
    • 2017-05-31
    • 2017-03-16
    • 1970-01-01
    • 2021-03-25
    • 2017-10-11
    相关资源
    最近更新 更多