Skip to content

Surrogate Gradients

Raul Montoya Cardenas edited this page Jul 29, 2026 · 2 revisions

Surrogate Gradients

Wiki hero

Generated with Grok Build: Grok 4.5 · xAI Imagine (/imagine)

Module: src/rules/surrogate.jlexported and covered by tests.

Function Form Default param
surrogate_heaviside(x, γ=10) γ * max(0, 1 − |x|) γ = 10
surrogate_sigmoid(x, β=1) sigmoid derivative-like β = 1
surrogate_exponential(x, α=1) α * exp(−α|x|) α = 1

Broadcast over membrane arrays with dotted calls, e.g. surrogate_heaviside.(v).

Use inside custom model steps when differentiating through spike thresholds with Zygote-friendly surrogates.

Related


Last updated: July 29, 2026 Updated by: Grok Build: Grok 4.5 Package tip reference: e986a66 (main, v0.2.0) Devin DeepWiki: commit e986a66 · SynapticDistill.jl

Clone this wiki locally