AbstractNoise

experimental.network_dynamics.noise.AbstractNoise(
    apply_to=None,
    key=None,
    **kwargs,
)

Base class for stochastic processes in neural networks.

Handles the diffusion coefficient g(t, state, params) part of SDEs. The Brownian motion dW is handled by Diffrax integration.

Methods

Name Description
diffusion Compute diffusion coefficient g(t, state, params).
generate_noise_samples Generate standard Gaussian noise samples.
verify Verify noise configuration is valid for given dynamics.

diffusion

experimental.network_dynamics.noise.AbstractNoise.diffusion(t, state, params)

Compute diffusion coefficient g(t, state, params).

Args: t: Current time state: Current state, shape [n_states, n_nodes] params: Noise parameters (Bunch object)

Returns: Diffusion coefficient, shape [n_noise_states, n_nodes] where n_noise_states = len(self._state_indices)

generate_noise_samples

experimental.network_dynamics.noise.AbstractNoise.generate_noise_samples(shape)

Generate standard Gaussian noise samples.

Args: shape: Shape of noise samples to generate Typically (n_steps, n_noise_states, n_nodes)

Returns: Raw Gaussian noise samples ~ N(0,1) with the requested shape

verify

experimental.network_dynamics.noise.AbstractNoise.verify(dynamics, verbose=True)

Verify noise configuration is valid for given dynamics.

Args: dynamics: Dynamics model to verify against verbose: Whether to print verification results

Returns: True if configuration is valid, False otherwise