Liking cljdoc? Tell your friends :D

org.replikativ.foerster.gradient

Gradient protocol for variational inference.

Provides grad-log and grad-step for distributions, enabling:

  • Black Box Variational Inference (BBVI)
  • Amortized inference with learned proposals

Gradients are w.r.t. unconstrained parameters for numerical stability:

  • Normal: (mean, log-std)
  • Gamma: (log-shape, log-scale); Beta: (log-alpha, log-beta)
  • Flip: logit(p)
Gradient protocol for variational inference.

Provides grad-log and grad-step for distributions, enabling:
- Black Box Variational Inference (BBVI)
- Amortized inference with learned proposals

Gradients are w.r.t. unconstrained parameters for numerical stability:
- Normal: (mean, log-std)
- Gamma: (log-shape, log-scale); Beta: (log-alpha, log-beta)
- Flip: logit(p)
raw docstring

compute-gradientclj/s

(compute-gradient dist x)

Compute gradient of log p(x) for distribution. Returns nil if gradient not implemented.

Compute gradient of log p(x) for distribution.
Returns nil if gradient not implemented.
sourceraw docstring

digammaclj/s

(digamma x)

Digamma function psi(x) = d/dx ln(Gamma(x)). Asymptotic expansion for x >= 1.

Digamma function psi(x) = d/dx ln(Gamma(x)).
Asymptotic expansion for x >= 1.
sourceraw docstring

finite?clj/s

(finite? x)
source

has-gradient?clj/s

(has-gradient? dist)

Check if distribution type has gradient implemented.

Check if distribution type has gradient implemented.
sourceraw docstring

logitclj/s

(logit p)
source

PDistGradientclj/sprotocol

Protocol for computing gradients of log probability.

Protocol for computing gradients of log probability.

grad-logclj/s

(grad-log dist)

Returns (fn [x] gradient-vector) for gradient of log p(x) w.r.t. parameters.

Returns (fn [x] gradient-vector) for gradient of log p(x) w.r.t. parameters.

grad-stepclj/s

(grad-step dist gradient learning-rate)

Returns updated distribution after gradient step. gradient: vector of gradients w.r.t. unconstrained parameters learning-rate: scalar or vector of per-parameter rates

Returns updated distribution after gradient step.
gradient: vector of gradients w.r.t. unconstrained parameters
learning-rate: scalar or vector of per-parameter rates
sourceraw docstring

positive-finite?clj/s

(positive-finite? x)
source

sigmoidclj/s

(sigmoid x)
source

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close