O regularizador de atividade funciona em função da saída da rede, e é usado principalmente para regularizar unidades ocultas, enquanto o weight_regularizer, como o nome já diz, atua sobre os pesos, fazendo-os decair. Basicamente, você pode expressar a perda de regularização em função da saída ( activity_regularizer) ou dos pesos ( weight_regularizer).
O novo kernel_regularizersubstitui weight_regularizer- embora não esteja muito claro na documentação.
Da definição de kernel_regularizer:
kernel_regularizer: função regularizer aplicada à kernelmatriz de pesos (veja regularizer).
E activity_regularizer:
activity_regularizer: Função regularizer aplicada à saída da camada (sua "ativação"). (ver regularizador).
Edição importante : observe que há um bug no activity_regularizer que só foi corrigido na versão 2.1.4 do Keras (pelo menos com o back-end do Tensorflow). Na verdade, nas versões mais antigas, a função de regularizador de atividade é aplicada à entrada da camada, em vez de ser aplicada à saída (as ativações reais da camada, conforme pretendido). Portanto, tome cuidado se você estiver usando uma versão mais antiga do Keras (anterior à 2.1.4), a regularização de atividades provavelmente não funcionará como esperado.
Você pode ver o commit no GitHub
Há cinco meses, François Chollet forneceu uma correção para o regularizador de atividades, que foi então incluído no Keras 2.1.4
kernel_regularizersubstituiçãoweight_regularizer?