我目前正在使用深度神经网络解决回归问题,给定输入中的 32x32x256 体积需要在输出中生成相同尺寸的第二体积,这不是分割问题,网络生成的体积由浮点数形成(更具体地说,我试图从嘈杂的 X 射线束中去除噪声)。
作为损失函数,我使用 MSE beetwen 由网络生成的体积和已经计算的没有噪声的地面体积。
在将它们提供给网络之前,已将体积标准化为 0 到 1 之间的值。
当我们开始第一次训练时,我们在 MSE 中得到非常低的值(大约 3*10^-4),但深度网络正在收敛(接近 5*10^6 的值)。
我的一位同事表示,这些(损失的)值远远低于使用 Keras 和 Adam 作为优化器的框架获得最佳结果,并建议更改损失函数以在 100 范围内获得结果 - 0.01,他建议做差的平方和而不是平均值。
起初我真的被他的说法弄糊涂了,但做了一个测试:
在将它们提供给网络之前,我没有将体积标准化为 0 到 1 之间的值,而是将它们标准化为 0 到 1000 之间的值。
在这个测试中,MSE 从大约 30'000 的值开始,并覆盖了接近 600 的值,在对数据进行非规范化之后,这个新的神经网络给出了比第一个网络更准确的结果,并且只是通过改变起始规范化!
你知道这种行为的原因吗,我的同事是对的吗?