Документация Keras не слишком точна, но из того, что я прочитал, регуляризация действий - это просто термин L1 или L2 для вывода определенного слоя, добавленного к соответствующей функции потерь модели.
Допустим, у вас есть потери, например, MSE для некоторых ярлыков:
loss = tf.metrics.mean_squared_error(labels, model_output)
Чтобы добавить регуляризацию активности L1 к определенному слою, вы просто добавили бы к вашим потерям термин регуляризации L1 для выхода этого слоя с некоторой силой регуляризации (я возьму 10e-5
, как указано в вашем вопросе):
loss += 10e-5*tf.nn.l1_loss(layer_output)
Где layer_output
- вывод слоя, который вы хотите регулировать.
Если бы вы сделали то же самое с весами слоя вместо его вывода, вы бы получили то, что в документации Keras 1014 * называется регуляризацией ядра. Если вы сделаете то же самое для вектора смещения этого слоя, вы получите регуляризацию смещения Кераса.