Description
Return scale for x>0 and scale*alpha*exp(x) for x<0; at zero select scale*alpha on the left or scale on the right.
SELU multiplies an ELU-shaped function by an outer scale: the positive branch is scale*x and the negative branch is scale*alpha*(exp(x)-1). Input, alpha and scale derivatives differ, and one-sided input slopes at zero match only when alpha=1.
Return scale for x>0 and scale*alpha*exp(x) for x<0; at zero select scale*alpha on the left or scale on the right.
When to use this tool
Use Activation: Selu Scalar Derivative when checking the stated scaled exponential-linear limit or derivative convention.
How to use the tool and how it works
- Enter x, alpha, scale, zeroSide. Use the units and conventions below.
- Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
- Read result. Expand result to inspect the returned fields.
Require alpha>0, scale>0 and zeroSide left or right. Return scale for x>0 and scale*alpha*exp(x) for x<0; at zero select scale*alpha on the left or scale on the right.1
SELU combines an outer scale with an exponential negative branch. This local parameter or input term does not establish the distributional assumptions needed for network self-normalization.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| x | Finite scalar input coordinate; use the mathematical scale specified above. | Required. Finite number. |
| alpha | Positive shape parameter when required by the function convention above. | Required. Finite number. |
| scale | Supplied scale parameter with its operation-specific meaning stated above. | Required. Finite number. |
| zeroSide | Chosen one-sided input derivative at x=0; the two sides match only at alpha=1. | Required. Text; one of "left", "right". Implementation limit: 8192 Unicode code points and 16384 UTF-16 code units. |
| Output field | Interpretation | Returned shape |
|---|---|---|
| result | Object containing the operation-specific returned members listed below. | Required. Object. |
| result.derivative | Scalar derivative with respect to the variable and at the fixed coordinates specified above; not a tensor/model gradient. | Calculated result member: number. |
{
"input": {
"x": 0,
"alpha": 2,
"scale": 3,
"zeroSide": "left"
},
"output": {
"result": {
"derivative": 6
}
}
} Limitations and assumptions
- These are one-sided join values; a two-sided input derivative exists at zero only when alpha=1.
- Outputs are nested inside result. Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
- Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.
Alternative or Complementary methods
Use the complete explicit function and the intended parameter, branch and numerical conventions for symbolic, tensor or model-level differentiation; assess training behavior independently.
References
-
Calculation and input contract: activation/selu-scalar-derivative — tool.io
-
Self-Normalizing Neural Networks — Günter Klambauer and coauthors
Similar or alternative tools
- SELU Scale Partial Derivative
Return x for x>=0 and alpha*expm1(x) for x<0, the partial derivative of scaled ELU with respect to its outer scale.
- SELU Alpha Partial Derivative
Return scale*expm1(x) for x<0 and zero otherwise, differentiating SELU with respect to alpha at fixed x and scale.