Le régularisateur d'activité fonctionne en fonction de la sortie du réseau, et est principalement utilisé pour régulariser les unités cachées, tandis que le régularisateur de poids, comme son nom l'indique, travaille sur les poids, les rendant décroissants. Fondamentalement, vous pouvez exprimer la perte de régularisation en fonction de la sortie ( activity_regularizer
) ou des poids ( weight_regularizer
).
Le nouveau kernel_regularizer
remplace weight_regularizer
- bien que ce ne soit pas très clair dans la documentation.
D'après la définition de kernel_regularizer
:
kernel_regularizer : Fonction de régularisation appliquée à le site kernel
matrice des poids (voir régularisateur).
Et activity_regularizer
:
activité_régulatrice : Fonction de régularisation appliquée à la sortie de la couche (son "activation"). (voir régularisateur).
Modification importante : Notez qu'il y a un bug dans le régularisateur d'activité qui était corrigé uniquement dans la version 2.1.4 de Keras (au moins avec le backend Tensorflow). En effet, dans les anciennes versions, la fonction de régularisation d'activité est appliquée à l'entrée de la couche, au lieu d'être appliquée à la sortie (les activations réelles de la couche, comme prévu). Donc, attention si vous utilisez une ancienne version de Keras (avant 2.1.4), la régularisation de l'activité peut ne pas fonctionner comme prévu.
Vous pouvez voir le commit sur GitHub
Il y a cinq mois, François Chollet a fourni un correctif pour le régularisateur d'activité, qui a ensuite été inclus dans la version 2.1.4 de Keras.