在神经网络中施加物理约束(先前的知识)以进行回归

人工智能 神经网络 机器学习 回归
2021-10-23 20:01:02

我正在尝试训练神经网络进行多重非线性回归y=f(xi),i=1,2N. 到目前为止效果很好(低 MSE),但有一些预测y是“非物理的”,例如对于我们的应用,从第一原理可知,当x2增加,然后y也必须增加(dy/dx2>0),但在某些情况下,神经网络的输出不符合此约束。另一个例子是y+x5+x7应该小于一个常数K

我想过在损失函数中添加一个惩罚项来强制执行这些约束,但我想知道是否有一种“更难”的方式来施加这样的约束(也就是说,要确保这些约束将永远成立,而不仅仅是那个非-物理预测将受到惩罚)

1个回答

我脑海中浮现出一些想法:

  1. 如果是dy/dx2>0您可以使用链式法则计算梯度并限制权重以使约束成立

  2. 如果是y+x5+x7<K您可以在输出层上使用剪辑功能吗?