Регулятор діяльності працює як функція виходу мережі, і в основному використовується для регуляції прихованих одиниць, тоді як weight_regularizer, як сказано в назві, працює на ваги, змушуючи їх занепадати. В основному ви можете виразити втрати внаслідок регуляризації як функцію результату ( activity_regularizer
) або ваг ( weight_regularizer
).
Нова kernel_regularizer
замінює weight_regularizer
- хоча це не дуже зрозуміло з документації.
З визначення kernel_regularizer
:
kernel_regularizer: Функція регуляризатора, застосована до kernel
матриці ваг (див. регуляризатор).
І activity_regularizer
:
activity_regularizer: Функція регуляризатора, застосована до виводу шару (його "активація"). (див. регулятор).
Важливо Edit : Зверніть увагу , що є помилка в activity_regularizer , який фіксується тільки у версії 2.1.4 Keras (принаймні , з Tensorflow бекенда). Дійсно, у старих версіях функція регулятора активності застосовується до входу шару, замість того, щоб застосовуватись до виводу (фактичні активації шару, як передбачалося). Тож будьте обережні, якщо ви використовуєте стару версію Keras (до 2.1.4), регулювання діяльності може, можливо, не працювати належним чином.
Ви можете побачити коміт на GitHub
П'ять місяців тому Франсуа Шолле надав виправлення регулятору діяльності, яке тоді було включено в Keras 2.1.4
kernel_regularizer
замініweight_regularizer
?