surrogate#
How to use surrogate#
- class DynapSEtorch.surrogate.FastSigmoid(*args, **kwargs)[source]#
Bases:
FunctionFast-sigmoid surrogated gradient Apply the fast-sigmoid gradient as a surrogated gradient for the heavyside step function.
\[\frac{\partial S}{\partial V} = \frac{1}{(\lambda \left|v\right| + 1.0)^2}\]Where \(\lambda\) is a scale factor with default value 10.
- class DynapSEtorch.surrogate.Step(*args, **kwargs)[source]#
Bases:
FunctionStep function surrogated gradient Use the step function as a surrogated gradient of itself
- class DynapSEtorch.surrogate.Triangular(*args, **kwargs)[source]#
Bases:
FunctionTriangular surrogated gradient Apply the triangular function as a surrogated gradient for the heavyside step function.
\[\frac{\partial S}{\partial V} = \lambda max(1 - \left|V\right|, 0)\]Where \(\lambda\) is a scale factor with default value 0.3.