dale_sparse
ReservoirComputing.dale_sparse — Function
dale_sparse([rng], [T], dims...;
excitatory_fraction=0.8, sparsity=0.1, std=1.0,
radius=1.0, ei_weight_ratio=1.0, return_sparse=false)Dale-compliant sparse reservoir: first round(excitatory_fraction * n) columns excitatory (non-negative), rest inhibitory (non-positive). Inhibitory magnitudes scaled by ei_weight_ratio, then spectral radius to radius.
Arguments
rng: Random number generator. Default isUtils.default_rng()from WeightInitializers.T: Element type. Default isFloat32.dims: Square matrix dimensions.
Keyword arguments
excitatory_fraction: Fraction of excitatory units in(0, 1). Default:0.8.sparsity: Fraction of zeros. Default:0.1.std: Sparse initialiser standard deviation. Default:1.0.radius: Spectral radius. Default:1.0.ei_weight_ratio: Inhibitory magnitude scale. Default:1.0.return_sparse: Sparse return (SparseArraysrequired). Default:false.
Examples
julia> rng = MersenneTwister(123);
julia> W = dale_sparse(rng, 10, 10; excitatory_fraction = 0.8, sparsity = 0.3);
julia> size(W) == (10, 10) && all(>=(0), W[:, 1:8]) && all(<=(0), W[:, 9:10])
true