There's more...

The idea behind the threshold (the encoding threshold, in our context) is that the parameter updates will happen across clusters, but only for the values that come under the user-defined limit (threshold). This threshold value is what we refer to as the encoding threshold. Parameter updates refer to the changes in gradient values during the training process. High/low encoding threshold values are not good for optimal results. So, it is reasonable to come up with a range of acceptable values for the encoding threshold. This is also termed as the sparsity ratio, in which the parameter updates happen across clusters. 

In this recipe, we also discussed how to configure threshold algorithms for distributed training. The default choice would be to use AdaptiveThresholdAlgorithm if AdaptiveThresholdAlgorithm provides undesired results.

The following are the various threshold algorithms that are available in DL4J:

  • AdaptiveThresholdAlgorithm: This is the default threshold algorithm that works well in most scenarios. 
  • FixedThresholdAlgorithm: This is a fixed and non-adaptive threshold strategy.
  • TargetSparsityThresholdAlgorithm: This is an adaptive threshold strategy with a specific target. It decreases or increases the threshold to try and match the target. 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset