Usage of constraints
Functions from the constraints module allow setting constraints (eg. non-negativity) on network parameters during optimization.
The penalties are applied on a per-layer basis. The exact API will depend on the layer, but the layers Dense, TimeDistributedDense, MaxoutDense, Convolution1D, Convolution2D and Convolution3D have a unified API.
These layers expose 2 keyword arguments:
W_constraintfor the main weights matrixb_constraintfor the bias.
from keras.constraints import maxnorm
model.add(Dense(64, W_constraint = maxnorm(2)))
Available constraints
- maxnorm(m=2): maximum-norm constraint
- nonneg(): non-negativity constraint
- unitnorm(): unit-norm constraint, enforces the matrix to have unit norm along the last axis