我有一个问题,我想要 LSTM 来预测身体的阻力。如果我们知道那个物体的阻力系数和速度,这个值也可以计算出来。就我而言,在推理时,速度是已知的,这意味着我可以执行以下操作:
- 预测阻力系数,然后据此计算阻力
- 直接预测阻力
我应该使用哪一个作为我的学习目标?
我有一个问题,我想要 LSTM 来预测身体的阻力。如果我们知道那个物体的阻力系数和速度,这个值也可以计算出来。就我而言,在推理时,速度是已知的,这意味着我可以执行以下操作:
我应该使用哪一个作为我的学习目标?
有趣的问题!
试验这两个选项,看看哪个效果最好!
预测阻力系数,然后据此计算阻力
如果您这样做,您的网络将尝试优化与您的实际目标(即阻力)不同的东西。这意味着您的模型不会“关心”您最终计算的阻力是否良好,这可能会导致奇怪的结果。
直接预测阻力
从机器学习的角度来看,这会更好,因为您的模型的目标将与您的目标相同,但是,您将失去知道如何计算阻力的优势。
解决方案 A
预测两者,然后有最后一步来决定你的最终阻力是什么。使用 LSTM,这绝对是可能的,您的目标将变成 2 个数字而不是 1 个。
解决方案 B
在我看来,最好的解决方案是让 LSTM 输出一个数字(将作为阻力系数),然后添加一个使用已知公式计算阻力的层,以便您可以在整个事情,你得到两全其美。在 PyTorch 中,这可以相当优雅地完成。最大的警告是计算阻力的公式需要是可微的。