Regulator aktywności działa jako funkcja wyjścia sieci i jest używany głównie do regulowania ukrytych jednostek, podczas gdy weight_regularizer, jak sama nazwa mówi, działa na odważnikach, powodując ich rozpad. Zasadniczo można wyrazić stratę regularyzacyjną jako funkcję wyniku ( activity_regularizer) lub wag ( weight_regularizer).
Nowy kernel_regularizerzastępuje weight_regularizer- chociaż nie jest to bardzo jasne z dokumentacji.
Z definicji kernel_regularizer:
kernel_regularizer: Funkcja regulatora zastosowana do kernelmacierzy wag (zobacz regularyzator).
Oraz activity_regularizer:
activity_regularizer: Funkcja regularyzatora zastosowana na wyjściu warstwy (jej „aktywacja”). (patrz regularyzator).
Ważna zmiana : Zwróć uwagę, że w pliku activity_regularizer jest błąd , który został naprawiony tylko w wersji 2.1.4 Keras (przynajmniej z zapleczem Tensorflow). Rzeczywiście, w starszych wersjach funkcja regulatora aktywności jest stosowana na wejściu warstwy, zamiast być stosowana na wyjściu (rzeczywiste aktywacje warstwy, zgodnie z zamierzeniami). Dlatego uważaj, jeśli używasz starszej wersji Keras (sprzed 2.1.4), regularyzacja aktywności może prawdopodobnie nie działać zgodnie z przeznaczeniem.
Możesz zobaczyć zatwierdzenie na GitHub
Pięć miesięcy temu François Chollet dostarczył poprawkę do regulatora aktywności, który został następnie włączony do Keras 2.1.4
kernel_regularizerwymianyweight_regularizer?