src/core/layer/regularization/GradientClipping.java
public void backwardProcess() throws MatrixException {
        resetLayerGradients();
        getLayerGradients().putAll(getNextLayerGradients());

        HashMap<Matrix, Matrix> nextLayerWeightGradients = getNextLayer().getLayerWeightGradients();
        for (Matrix weight : nextLayerRegularizedWeights) {
            if (nextLayerWeightGradients.containsKey(weight)) {
                Matrix weightGradientSum = nextLayerWeightGradients.get(weight);
                double weightGradientSumL2norm = Math.sqrt(weightGradientSum.norm(2));
                if (weightGradientSumL2norm > threshold) weightGradientSum.multiply(threshold / weightGradientSumL2norm, weightGradientSum);
            }
        }
    }
/**
     * Takes single backward processing step to process layer output gradient(s) towards input.<br>
     * Applies automated backward (automatic gradient) procedure when relevant to layer.<br>
     * Additionally applies any regularization defined for layer.<br>
     *
     * @throws MatrixException throws exception if matrix operation fails.
     */
Takes single backward processing step to process layer output gradient(s) towards input.
Applies automated backward (automatic gradient) procedure when relevant to layer.
Additionally applies any regularization defined for layer.

@throws MatrixException throws exception if matrix operation fails.
Takes single backward processing step to process layer output gradient ( s ) towards input . Applies automated backward ( automatic gradient ) procedure when relevant to layer . Additionally applies any regularization defined for layer . @throws MatrixException throws exception if matrix operation fails .
public void backwardProcess() throws MatrixException {
        resetLayerGradients();
        getLayerGradients().putAll(getNextLayerGradients());
        HashMap<Matrix, Matrix> nextLayerWeightGradients = getNextLayer().getLayerWeightGradients();
        for (Matrix weight : nextLayerRegularizedWeights) {
            if (nextLayerWeightGradients.containsKey(weight)) {
                Matrix weightGradientSum = nextLayerWeightGradients.get(weight);
                double weightGradientSumL2norm = Math.sqrt(weightGradientSum.norm(2));
                if (weightGradientSumL2norm > threshold) weightGradientSum.multiply(threshold / weightGradientSumL2norm, weightGradientSum);
            }
        }
    }
public void backwardProcess ( ) throws MatrixException { resetLayerGradients ( ) ; getLayerGradients ( ) . putAll ( getNextLayerGradients ( ) ) ; HashMap < Matrix , Matrix > nextLayerWeightGradients = getNextLayer ( ) . getLayerWeightGradients ( ) ; for ( Matrix weight : nextLayerRegularizedWeights ) { if ( nextLayerWeightGradients . containsKey ( weight ) ) { Matrix weightGradientSum = nextLayerWeightGradients . get ( weight ) ; double weightGradientSumL2norm = Math . sqrt ( weightGradientSum . norm ( 2 ) ) ; if ( weightGradientSumL2norm > threshold ) weightGradientSum . multiply ( threshold / weightGradientSumL2norm , weightGradientSum ) ; } } }
Takes single backward processing step to process layer output gradient(s) towards input.<br>
 Applies automated backward (automatic gradient) procedure when relevant to layer.<br>
 Additionally applies any regularization defined for layer.<br>
Takes single backward processing step to process layer output gradient ( s ) towards input . <br > Applies automated backward ( automatic gradient ) procedure when relevant to layer . <br > Additionally applies any regularization defined for layer . <br >