Class AdaptiveThresholdAlgorithm

    • Field Detail

      • DEFAULT_INITIAL_THRESHOLD

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

        public static final double DEFAULT_MIN_SPARSITY_TARGET
        See Also:
        Constant Field Values
      • DEFAULT_MAX_SPARSITY_TARGET

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

        public static final double DEFAULT_DECAY_RATE
    • Constructor Detail

      • AdaptiveThresholdAlgorithm

        public AdaptiveThresholdAlgorithm​(double initialThreshold)
        Create the adaptive threshold algorithm with the specified initial threshold, but defaults for the other values: default minimum sparsity target DEFAULT_MIN_SPARSITY_TARGET, default maximum sparsity target DEFAULT_MAX_SPARSITY_TARGET, and default decay rate DEFAULT_DECAY_RATE
      • AdaptiveThresholdAlgorithm

        public AdaptiveThresholdAlgorithm​(double initialThreshold,
                                          double minTargetSparsity,
                                          double maxTargetSparsity,
                                          double decayRate)
        Parameters:
        initialThreshold - The initial threshold to use
        minTargetSparsity - The minimum target sparsity ratio - for example 1e-4
        maxTargetSparsity - The maximum target sparsity ratio - for example 1e-2
        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: