ltc_mutations (macula_tweann v0.18.1)

View Source

LTC (Liquid Time-Constant) mutation operators for neural network evolution.

This module provides mutations specific to LTC/CfC neurons: - mutate_neuron_type: Switch between standard/ltc/cfc - mutate_time_constant: Perturb tau (response speed) - mutate_state_bound: Perturb state bound A - mutate_ltc_weights: Perturb backbone/head network weights

LTC neurons have adaptive temporal dynamics that can be evolved.

Summary

Functions

Mutate backbone/head weights of a random LTC/CfC neuron.

Mutate neuron type of a random neuron.

Mutate state bound (A) of a random LTC/CfC neuron.

Mutate time constant (tau) of a random LTC/CfC neuron.

Functions

mutate_ltc_weights(AgentId)

-spec mutate_ltc_weights(term()) -> ok | {error, term()}.

Mutate backbone/head weights of a random LTC/CfC neuron.

Perturbs the learned weights in the LTC f() backbone and h() head networks. These weights control the adaptive time constant and target state.

mutate_neuron_type(AgentId)

-spec mutate_neuron_type(term()) -> ok | {error, term()}.

Mutate neuron type of a random neuron.

Changes neuron type between standard, ltc, and cfc. This allows networks to evolve which neurons use temporal dynamics.

mutate_state_bound(AgentId)

-spec mutate_state_bound(term()) -> ok | {error, term()}.

Mutate state bound (A) of a random LTC/CfC neuron.

Perturbs the state bound which limits internal state magnitude. Larger bounds allow more dynamic range but may be less stable.

mutate_time_constant(AgentId)

-spec mutate_time_constant(term()) -> ok | {error, term()}.

Mutate time constant (tau) of a random LTC/CfC neuron.

Perturbs the base time constant which controls response speed. Smaller tau = faster response, larger tau = slower/smoother response.