Keras скрывает много сложности (и это не всегда хорошо).
Вы используете абстракцию Model
: эта модель содержит всю необходимую информацию об архитектуре и обучениипроцедура.
Когда вы вызываете метод compile
или train
или train_on_batch
, вы указываете функцию потерь, но под капотом происходит следующее:
- Создание функции потерьзаданный (например, категориальная перекрестная энтропия)
- Извлечение из модели примененных регуляризаций и добавление их всех к ранее определенному сроку потери
Вы можете видеть операции, которые будутдобавлен к сроку потери доступ к свойству .losses
экземпляра модели (это список операций тензорного потока, обычно всех операций умножения, поскольку регуляризации находятся в for regularization_strenght * norm_p(variable)
.