Notes from my online journal [krishna-bhatt.com]

A collection of notes, random thoughts, and observations (mostly unintelligible). Unfortunately, I cannot post everything publicly due to IP. Cheers! -Krishna

Latest posts

MesoNet: local-stability and conjecture checklist

coupled weight / plasticity system. negative plasticity-direction eigenvalue is only one piece; check the other slope + event updates too source evolution: the earlier packet labels the central result a theorem; the later preprint labels Section...

MesoNet: code archive navigation

code map for finding things again. PDF filenames can run into the preceding text—check the repo when the boundary looks strange Repository reference: blizzard-labs/NMCtests . The March 2025 Code Base.pdf is an archived listing containing...

MesoNet: benchmark data reconciliation

these tables need run IDs. match split + settings + version before picking numbers from different drafts There are at least two result-table versions. The native MesoNet Data sheet reports MNIST accuracy 98.11% and CIFAR-10 56.6% for MesoNet....

MesoNet: DSP terminology and algorithm revisions

DSP names changed between drafts. keep early distance/significance idea separate from later variable plasticity + triangulated attribution early formulation: the MIT THINK draft calls the mechanism Distributed Synaptic Plasticity (DSP). It...

MesoNet: convolution and linear-algebra reading map

convolution / SVD / eigenvalues reading pile. keep shapes + indexing next to the intuition, otherwise i lose track of what the matrix is even acting on February 1–3 reference cluster: convolution, finite geometric series, Kronecker delta,...

MesoNet: unresolved experiment matrix

too many possible combinations rn. make the encoder × architecture × update-rule grid before another round of parameter spaghetti questions collected in the January review: efficient multiscale STDP; adapting unsupervised clustering to spiking...

MesoNet: CIFAR-100 encoding and invariant features

CIFAR-100: what survives the image → spike conversion, esp color + spatial structure? save for later: shift the image one pixel, how much should the spike pattern change motivation: a more complex image dataset tests spatial structure beyond...

MesoNet: Difference-of-Gaussians latency encoder

DoG branch, different from bipolar TSC. flat image vs one sharp edge would be a useful tiny check—esp if thresholding leaves no latency events reference implementation: imgClassifierSDNN/src/dog_filter.py , explicitly attributed in the code to...

MesoNet: vanishing spikes in Spiking-Inception

vanishing spikes, ugh. check activity layer by layer, then encoding magnitude / inhibition / thresholds instead of changing everything together code reference: Spiking-Inception src/Train.py . Initial training encountered a vanishing-spike...

MesoNet: weight-history debugging

save weight evolution, not just the last matrix. overly aggressive pruning—check update vs normalization before deciding it's the rule's fault reference code: weights/WeightReadout_B2.py in the Diehl–Cook Brian2 port. Compare saved weight...

MesoNet: learning as an optimal-control problem

synaptic updates as controls? state / objective / constraints first; random tangent: add a small cost per weight change instead of only caring about the endpoint reading direction: Pontryagin's maximum principle and Hamiltonian-based methods....

MesoNet: Lyapunov and linearization study

linearization + Lyapunov reading. remember the jumps at spike events, not only the nice continuous bit between them study bundle: eigenvalues, Jacobians and Lyapunov functions as tools for connecting the proposed learning rule to stability. Keep...

MesoNet: nonlinear dynamics and useful variability

interesting squiggles ≠ automatically chaos. same input spikes, almost-identical initial states... save that comparison for later study topic: chaotic attractors and the relation between nonlinear network dynamics, robustness and computation....

MesoNet: history-dependent synaptic updates

history beyond the last pre/post pair. extra state + its timescale need names, “second order” by itself is not enough to implement anything experiment direction: add dependence on past activity rather than using only the immediate pre/post...

MesoNet: perturbation and Jacobian notes

perturb one weight, follow what changes. specify the state + scale of the perturbation before staring at the Jacobian approach: perturb synaptic weights and examine the resulting change in neuron/network outputs. The journal explores linear...

MesoNet: spectral diagnostics and pruning

eigenvalues / pruning / runaway updates. weight matrix isn't automatically the full Jacobian, especially w/ thresholds + resets in there recorded exploration: eigenvalues of the weight matrix, dynamic pruning of weak connections, and alternative...

MesoNet: experiment-log structure

fill the gaps in the run notes before they're impossible to reconstruct. changed parameter + input settings + output files + what broke, all together recorded housekeeping: fill missing experiment descriptions and reorganize notes so parameter...

MesoNet: incidence weighting and shortest paths

functional distance → paths → share credit. 1/w needs care w/ zero or signed weights; also if two routes tie, split credit or just take whichever the search finds first? proposal: distribute an STDP update to surrounding significant neurons...

MesoNet: plasticity-state sketch

plasticity state: decay between updates, bump on a change. write the actual jump rule down; neighboring updates feeding it back could get out of hand intended state: each synapse has a plasticity value that decays over time and increases when its...

MesoNet: graph-directed plasticity

graph context for local STDP. how much extra work per spike before the “selective” update is basically visiting the whole network anyway draft mechanism: represent connections as a graph and use significance/connectivity information to select...

MesoNet: benchmark axes

accuracy, spikes/inference, convergence, wall time. keep separate columns—moving to CIFAR also changes the encoding problem Target measures: classification accuracy, computational efficiency and convergence speed. The notes propose spikes per...

MesoNet: remote/cloud test suite

cloud setup notes need the actual environment + command. tiny local/remote comparison before the long run, and keep compilation time separate recorded change: Google Cloud GPU instances and an initial testing suite were set up. This entry...

MesoNet: training diagnostics

log firing rates + weight histories too. accuracy alone tells me basically nothing about which layer is going quiet or blowing up recorded work: layer-wise STDP training on MNIST; activity-dependent learning-rate changes; global inhibition and...

MesoNet: archived STDP trace parameters

STDP constants + handlers together. find where on_post is attached, not just where the string is defined Location: base_model/mnistV1.py , the stdp_eqs , stdp_eqs_pre and stdp_eqs_post strings. The prototype uses taupre = taupost = tau , with...

MesoNet: experiment-wrapper contract

wrapper: load → encode → run → outputs. keep the model bits swappable, this does not need to become one gigantic script architecture choice: begin with convolutional SNNs for visual datasets while keeping feedforward and recurrent...

MesoNet: wrapper training loop and checkpoint review

wrapper loop check: normalize, encode, run, count, clear, rest. reshape return + capture_period condition look worth slowing down for entry point: base_model/main.py → evalInstance.train(num_examples, target_weight, single_run_time, rest_time,...

MesoNet: dual-threshold spike routing

upper / lower threshold → separate event routes. check each pathway alone, then alternate; resets could make this weird recorded design: an upper threshold emits a positive event and a lower threshold emits a negative event. Route the event...

MesoNet: bipolar event names and update ordering

wait, check sPlus / sMinus against the predicates. old s → new s → event check, names alone are not helping here archived model state: v , u , v0 , threshold state s and previous threshold state s_pre . neuronUpdates() runs with...

MesoNet: custom update functions

network_operation for the extra state updates. need the scheduling order written down, not just the function body code/API pointer: NetworkOperation / network_operation . The notebook uses this to explore updates outside the normal...

MesoNet: sigmoid response versus spike threshold

sigmoid response is tempting, but where exactly does the discrete spike happen. threshold adaptation might be the other route—check timing + cost variants explored: a smooth sigmoid-response neuron and an exponentially adapting threshold. The...

MesoNet: bipolar event design

positive + negative events without automatically making two whole populations? keep event sign, synapse sign and voltage separate... too many different meanings of “negative” here experiment: vary membrane time constants, reset rules and...

MesoNet: minimal neuron experiments

tiny neuron tests 🙂 easier to follow one trace than the whole network. check which declared state variables actually appear in the equation neuron-models/logistic_test.py: a single dimensionless neuron uses dv/dt = (0.1*v*(I-v))/tau , with...

MesoNet: TSC input integration

TSC → neuron model, watch the ones that keep firing. indices and times need to stay paired when replacing a sample's spikes recorded changes: TSC input encoding connected to the neuron model; spike-time resolution and decay rates adjusted;...

MesoNet: bipolar temporal-switch encoder

sign from swapping the two event times, nice. draw pixels either side of a quantization boundary later; want to see how suddenly that pair moves Reference: base_model/mnistV1.py → temporal_switch(img, quant_levels=10) . The archived experiment...

MesoNet: temporal spike coding and LIF variants

relative spike timing rather than just rate. keep encoder / neuron / learning rule separate while messing w/ the time constants study direction: use relative spike timing rather than only average rate. The notebook adapts the LIF baseline by...

MesoNet: datasets and spike encoding

MNIST vs actual event data—encoding is part of the experiment. inspect the spike trains! also if every spike shifts by the same amount, does the representation change or only its timing? Candidates: MNIST for a simple static-image baseline;...

MesoNet: CPU runtime observations

11 hours for ~8%... yeah this needs looking at. save neuron count, dt, presentation time + backend with the runtime, otherwise the numbers aren't much use recorded observations: after more than 11 hours the simulation was about 8% complete; a...

MesoNet: Brian2CUDA bring-up

CUDA setup first, tiny example first. not dragging the entire network into compiler-error land yet failure: the Brian2CUDA example did not compile in the current environment. The October 15 entry frames CUDA/environment setup as the next...

MesoNet: baseline equations and run configuration

equations + constants here so i stop hunting for them. don't skip the reset / refractory / inhibitory paths just bc the learning rule is more interesting Neuron equation recorded in the reference sheet: tau*dV/dt = (e_rest - V) + g_e*(e_exc -...

MesoNet: Diehl–Cook Brian2 baseline

keep the Diehl–Cook port nearby while changing the rule. trace input → conductance → spikes → updates, then compare Chosen reference: Diehl–Cook 2015 Brian2 port . The journal's occasional “2005” wording conflicts with the...

MesoNet: selecting a reproducible baseline

need ONE baseline i can follow all the way through. check normalization + readout before getting distracted by another repo candidate task: MNIST recognition with STDP in Brian2. The notebook compares discussion-forum implementations, older paper...

MesoNet: simulator selection and learning resources

Brian2 once again. need the equations + custom events exposed, the convenient abstractions are kind of in the way here options considered: Brian2, PyNN, BindsNET and snnTorch. The selection criterion in the notebook is access to neuron equations,...