public class TargetSparsityThresholdAlgorithm extends Object implements ThresholdAlgorithm
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_DECAY_RATE |
static double |
DEFAULT_INITIAL_THRESHOLD |
static double |
DEFAULT_SPARSITY_TARGET |
Constructor and Description |
---|
TargetSparsityThresholdAlgorithm()
Create the adaptive threshold algorithm with the default initial threshold
DEFAULT_INITIAL_THRESHOLD ,
default sparsity target DEFAULT_SPARSITY_TARGET and default decay rate DEFAULT_DECAY_RATE |
TargetSparsityThresholdAlgorithm(double initialThreshold,
double sparsityTarget,
double decayRate) |
Modifier and Type | Method and Description |
---|---|
double |
calculateThreshold(int iteration,
int epoch,
Double lastThreshold,
Boolean lastWasDense,
Double lastSparsityRatio,
INDArray updatesPlusResidual) |
TargetSparsityThresholdAlgorithm |
clone() |
ThresholdAlgorithmReducer |
newReducer()
Create a new ThresholdAlgorithmReducer.
|
String |
toString() |
public static final double DEFAULT_INITIAL_THRESHOLD
public static final double DEFAULT_SPARSITY_TARGET
public static final double DEFAULT_DECAY_RATE
public TargetSparsityThresholdAlgorithm()
DEFAULT_INITIAL_THRESHOLD
,
default sparsity target DEFAULT_SPARSITY_TARGET
and default decay rate DEFAULT_DECAY_RATE
public TargetSparsityThresholdAlgorithm(double initialThreshold, double sparsityTarget, double decayRate)
initialThreshold
- The initial threshold to usesparsityTarget
- The sparsity targetdecayRate
- The decay rate. For example 0.95public double calculateThreshold(int iteration, int epoch, Double lastThreshold, Boolean lastWasDense, Double lastSparsityRatio, INDArray updatesPlusResidual)
calculateThreshold
in interface ThresholdAlgorithm
iteration
- Current neural network training iterationepoch
- Current neural network training epochlastThreshold
- 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.0625updatesPlusResidual
- The actual array (updates plus residual) that will be encoded using the threshold
calculated/returned by this methodpublic ThresholdAlgorithmReducer newReducer()
ThresholdAlgorithm
newReducer
in interface ThresholdAlgorithm
public TargetSparsityThresholdAlgorithm clone()
clone
in interface ThresholdAlgorithm
clone
in class Object
Copyright © 2019. All rights reserved.