有没有办法在整体损失函数中添加 keras 'custom layer' based/specific 惩罚?

Is there a way to add keras 'custom layer' based/specific penalty to the overall loss function?

我有一个 keras 序列模型,里面有一些自定义层。现在,在其中一层中,基于该特定层的输入,我想计算一个惩罚,并且我希望将惩罚添加到优化器试图最小化整体的损失函数中。

我已经了解了 tf.keras.layers.ActivityRegularization 的概念,但还在苦苦思索如何解决我的问题。

如果要"add",只需要计算图层output/loss,然后使用model.add_loss(loss_tensor)

....
loss_tensor = MyCustomLayer(...)(layer_inputs)
....

model = Model(model_inputs, model_outputs)
model.add_loss(loss_tensor)
model.compile(loss=any_normal_loss)