如何同时为两个不同的训练集和不同的成本函数训练 Keras 模型

How to train a Keras model for two different training set and different cost functions at the same time

我正在尝试根据两组不同的训练数据来训练 CNN。对于训练数据集 A 和 B,我想分别优化成本函数 Cost_A 和 Cost_B。 我想确保在训练过程中模型参数的变化方向是同时优化两个损失函数。

有人知道如何在 Keras 中实现它吗?

PS:我不是找代码!只需一个提示就足够了!

备用小批量

一种选择是交替训练 - 运行 具有成本函数 A 的集合 A 的小批量(例如使用 train_on_batch),运行 具有成本函数 B 的集合 B 的小批量.

条件成本函数

另一种选择是使用 'conditional' 成本函数。本质上,您可以在输入中添加一个新变量 X(制作多输入模型),将 A 中的每个样本设置为 1,B 中的每个样本设置为 0。然后您可以将成本函数设置为 Cost_A*X + Cost_B*(1-X),这将忽略每个项目的 "wrong" 成本函数。然后你可以同时训练两个数据集。