我有一个用于回归预测的神经网络意味着输出是 0 到 1 范围内的实数值。
我对所有层都使用了 drop out,错误突然增加并且从未收敛。
退出可用于回归任务吗?因为如果我们忽略一些节点,最后一层的节点会更少,预测值肯定会与实际值相差很大。所以反向传播的误差会很大,模型会被破坏。那么为什么我们要在神经网络中使用 dropout 进行回归任务呢?
我有一个用于回归预测的神经网络意味着输出是 0 到 1 范围内的实数值。
我对所有层都使用了 drop out,错误突然增加并且从未收敛。
退出可用于回归任务吗?因为如果我们忽略一些节点,最后一层的节点会更少,预测值肯定会与实际值相差很大。所以反向传播的误差会很大,模型会被破坏。那么为什么我们要在神经网络中使用 dropout 进行回归任务呢?
因为如果我们忽略一些节点,最后一层的节点会更少,预测值肯定会与实际值相差很大。
你是对的。因此,大多数框架在训练期间(而不是在预测期间)增加了神经元的数量。这个简单的 hack 是有效的,并且适用于大多数情况。但是,它对于回归任务来说效果不佳。它在激活的输出可以相互关联的情况下运行良好(如 softmax)。在回归中,这些值是绝对的,“训练”和“预测”设置的微小差异有时会导致轻微的不稳定性。
总是最好从 0 dropout 开始,然后慢慢增加它以观察什么值给出了最好的结果
我对所有层都使用了 drop out,错误突然增加并且从未收敛。
当您使用太多 dropout 时也会发生这种情况,尤其是在回归任务中。你试过减少辍学吗?此外,对于具有大量可训练参数的层,建议使用 dropout。还可以考虑从最后一层删除 dropout,然后检查一次。