我有一个使用 Keras 函数式 API 解决的监督学习问题。
由于这个模型预测物理系统的状态,我知道监督模型应该遵循额外的约束。
我想补充一点,作为一个额外的损失项,它会惩罚模型做出不遵循这些约束的预测。不幸的是,监督学习问题的训练示例数量 >> 约束示例数量。
基本上,我正在尝试这样做:
最小化监督学习误差和作为辅助损失的约束误差。
我不相信在每个数据集上交替训练批次会成功,因为梯度一次只能捕获一个问题的错误,当我真的希望物理约束作为监督学习任务的正则化时。(如果我的解释不正确,请告诉我)。
我知道这可以在纯 Tensorflow 或 Theano 中实现,但我对离开 Keras 生态系统犹豫不决,因为它使其他一切变得如此方便。如果有人知道如何训练批量大小因输入而异的模型,我将非常感谢您的帮助。