Да, вы можете передать потери / метрики в виде словаря, который сопоставляет имя слоя с потерями / метриками.
Цитата из документации :
убыток: ... Если модель имеет несколько выходов, вы можете использовать разные потери на каждом выходе, передав словарь или список потерь.Значение потерь, которое будет минимизировано моделью, будет тогда суммой всех индивидуальных потерь.
и
метрики: ... Чтобы указать разные метрики для разных выходов модели с несколькими выходами, вы также можете передать словарь, например metrics = {'output_a': 'precision'}.
Пример:
model.compile(
optimizer='rmsprop',
loss={'output_1': 'loss_1', 'output_2': 'loss_2'},
loss_weights={'output_1': 1., 'output_2': 0.2},
metrics={'output_1': 'metric_1', 'output_2': ['metric_2', 'metric_3']})
Подробнее о модели с несколькими выходами и Keras вы можете прочитать в: https://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models