我正在尝试使用Keras中的深度学习来学习计算机来玩Snake。我的模型试图预测四个动作中每个动作所能带来的总回报。因为代理仅采取一项行动,所以只有四个预测奖励之一的真实价值是已知的。这会在调用model.fit时引起问题,因为它需要每个输出的真实值。我试图实现一个忽略其他值但没有成功的损失函数。
有人知道该怎么做吗?
答案 0 :(得分:0)
我可以使用以下损失函数来解决它:
def custom_loss(y_true, y_pred):
diff = y_true - y_pred
max_diff = K.max(diff, axis=1)
return K.square(max_diff)
并将每个未知值设置为一个非常低且为负的值。