Class TargetSparsityThresholdAlgorithm

    • Field Detail

      • DEFAULT_INITIAL_THRESHOLD

        public static final double DEFAULT_INITIAL_THRESHOLD
        See Also:
        Constant Field Values
      • DEFAULT_SPARSITY_TARGET

        public static final double DEFAULT_SPARSITY_TARGET
        See Also:
        Constant Field Values
      • DEFAULT_DECAY_RATE

        public static final double DEFAULT_DECAY_RATE
    • Constructor Detail

      • TargetSparsityThresholdAlgorithm

        public TargetSparsityThresholdAlgorithm​(double initialThreshold,
                                                double sparsityTarget,
                                                double decayRate)
        Parameters:
        initialThreshold - The initial threshold to use
        sparsityTarget - The sparsity target
        decayRate - The decay rate. For example 0.95
    • Method Detail

      • calculateThreshold

        public double calculateThreshold​(int iteration,
                                         int epoch,
                                         Double lastThreshold,
                                         Boolean lastWasDense,
                                         Double lastSparsityRatio,
                                         INDArray updatesPlusResidual)
        Specified by:
        calculateThreshold in interface ThresholdAlgorithm
        Parameters:
        iteration - Current neural network training iteration
        epoch - Current neural network training epoch
        lastThreshold - The encoding threshold used in the last iteration - if available. May be null for first iteration in an epoch (where no 'last iteration' value is available)
        lastWasDense - Whether the last encoding was dense (true) or sparse (false). May be null for the first iteration in an epoch (where no 'last iteration' value is available)
        lastSparsityRatio - The sparsity ratio of the last iteration. Sparsity ratio is defined as numElements(encoded)/length(updates). A sparsity ratio of 1.0 would mean all entries present in encoded representation; a sparsity ratio of 0.0 would mean the encoded vector did not contain any values. Note: when the last encoding was dense, lastSparsityRatio is always null - this means that the sparsity ratio is larger than 1/16 = 0.0625
        updatesPlusResidual - The actual array (updates plus residual) that will be encoded using the threshold calculated/returned by this method
        Returns: