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