weight_regularizerがKerasで利用できなくなり、代わりにactivityとkernel regularizerがあることに気づきました。私が知りたいのですが:
アクティビティレギュラーは、ネットの出力の関数として機能し、主に隠されたユニットを正規化するために使用されます。一方、weight_regularizerは、名前が示すように、重みに作用して減衰させます。基本的に、正則化損失は、出力(activity_regularizer
)または重み(weight_regularizer
)の関数として表現できます。
新しいkernel_regularizer
はweight_regularizer
を置き換えます-ドキュメントからはあまり明確ではありませんが。
kernel_regularizer
の定義から:
kernel_regularizer:
kernel
重み行列に適用されるRegularizer関数(regularizerを参照)。
そしてactivity_regularizer
:
activity_regularizer:レイヤーの出力に適用されるRegularizer関数(「アクティベーション」)。 (正則化を参照)。
重要な編集:activity_regularizerにはバグがあったことに注意してくださいKerasのバージョン2.1.4でのみ修正(少なくともTensorflowバックエンドでは)。実際、古いバージョンでは、アクティビティレギュライザー機能は、出力(意図したとおりのレイヤーの実際のアクティブ化)に適用されるのではなく、レイヤーの入力に適用されます。したがって、古いバージョンのKeras(2.1.4より前)を使用している場合は、アクティビティの正規化が意図したとおりに機能しない可能性があることに注意してください。
GitHub でコミットを確認できます
5か月前にFrançoisCholletがアクティビティレギュラライザーの修正を提供し、その後Keras 2.1.4に含まれました