制約の利用方法

constraintsモジュールの関数により,最適化中のネットワークパラメータに制約(例えば非負の制約)を設定することができます.

この制約はレイヤー毎に適用されます.厳密なAPIはレイヤーに依存しますが,DenseConv1DConv2DConv3Dレイヤーは統一的なAPIを持っています.

これらのレイヤーは2つの引数を取ります:

  • kernel_constraint 重み行列の制約.
  • bias_constraint バイアスの制約.
from keras.constraints import max_norm
model.add(Dense(64, kernel_constraint=max_norm(2.)))

利用可能な制約

  • maxnorm(max_value=2, axis=0): 最大値ノルム制約
  • non_neg(): 非負値制約
  • unit_norm(axis=0): ノルム正規化制約
  • min_max_norm(min_value=0.0, max_value=1.0, rate=1.0, axis=0): 最小/最大値ノルム制約