Keras:カーネルとアクティビティの正規化機能の違い


86

私は、weight_regularizerKerasで利用できなくなり、代わりにアクティビティカーネル正則化が存在することに気づきました。私が知りたいのですが:

  • カーネルアクティビティレギュラライザーの主な違いは何ですか?
  • 私は使用することができactivity_regularizerの代わりにweight_regularizer

回答:


85

アクティビティ正則化はネットの出力の関数として機能し、主に非表示のユニットを正則化するために使用されますが、weight_regularizerは、その名前が示すように、重みを処理して減衰させます。基本的に、正則化損失は、出力(activity_regularizer)または重み(weight_regularizer)の関数として表すことができます。

ドキュメントからはあまり明確ではありませんが、新しいkernel_regularizerものが置き換えられweight_regularizerます。

の定義からkernel_regularizer

kernel_regularizer:kernel重み行列に適用される正則化関数(正則化を参照)。

そしてactivity_regularizer

activity_regularizer:レイヤーの出力(その「アクティブ化」)に適用されるRegularizer関数。(正則化を参照)。

重要な編集activity_regularizerには、Kerasのバージョン2.1.4でのみ修正されたバグがあることに注意してください(少なくともTensorflowバックエンドでは)。実際、古いバージョンでは、アクティビティレギュラライザー関数は、出力(意図したとおりのレイヤーの実際のアクティブ化)に適用されるのではなく、レイヤーの入力に適用されます。したがって、古いバージョンのKeras(2.1.4より前)を使用している場合は、アクティビティの正規化が意図したとおりに機能しない可能性があることに注意してください。

コミットはGitHubで確認できます

5か月前、FrançoisCholletがアクティビティ正則化の修正を提供しました。これはKeras2.1.4に含まれていました。


あなたはそのkernel_regularizer交換について完全に確信していweight_regularizerますか?
シモーネ

3
kernel_regularizerを使用した例はたくさんありますが、activity_regularizerでは見つかりません。activity_regularizerのユースケースについてコメントできますか?
ミラッドM 2018

1
なぜ隠しレイヤーの出力を正規化したいのですか?入力を範囲(-1、1)または(0、1)に正規化するのと同じ理由によるものですか。それは、SGDプロセスを支援するために、後続のレイヤーへの入力を小さく保つことですか?
ナガブシャンバディ

1
@NagabhushanBaddiはこの回答を参照してください:datascience.stackexchange.com/a/15195/32811
Michele Tonutti 2018年

1
@FinncentPrice以前はそこにあったと思いますが、今はもうありません
Michele Tonutti 2018

34

この回答は少し遅れていますが、将来の読者には役立ちます。したがって、彼らが言うように、必要性は発明の母です。私はそれが必要なときにだけそれを理解しました。
上記の答えは、実際には違いを述べていません。両方が重みに影響を与える原因になるので、重み自体に対する罰とレイヤーの出力の違いは何ですか?
答えは次のとおりです。ネットの重みが小さくて、[-0.3]から[+0.3]の範囲である場合がありました。
だから、私は本当に彼らを罰することはできません、彼らには何の問題もありません。カーネル正則化は役に立たない。ただし、レイヤーの出力は100秒で巨大です。
レイヤーへの入力も小さく、常に1未満であることに注意してください。しかし、これらの小さな値は、それらの大規模な出力を生成するような方法で重みと相互作用します。ここで、必要なのはカーネル正則化ではなく、アクティビティ正則化であることに気付きました。これで、私はそれらの大きな出力のレイヤーを罰しています、重み自体が小さいかどうかは気にしません、私はそれがそのような状態に達するのを防ぎたいだけですこれは私のシグモイド活性化を飽和させ、消失のような他の多くの問題を引き起こします勾配と停滞。


本当に直感的。
SarangManjrekar19年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.