Flyhard
Trains a MaleCNS-based model to operate a steering wheel through simulated fly limbs and connect it to CARLA. Documents a bounded steering result; visual driving remains a future milestone.
Neurons are simulated — leaky integrate-and-fire or better — with documented, tuned parameters.
Dispute this rating →The evidence
No evidence, no level.Node dynamics are a documented leaky recurrent rate unit with a bounded per-neuron leak over the measured edge set.
https://github.com/MarkUnthank/flyhard/blob/328906f4a0e62c8f9fc18805cf6edae6989b82a5/src/flyhard/connectome.py#L66-L79The trainable quantity is a gain on each measured connectome edge, not a bolt-on readout - the adjacency itself stays immutable.
https://github.com/MarkUnthank/flyhard/blob/328906f4a0e62c8f9fc18805cf6edae6989b82a5/src/flyhard/connectome.py#L44-L59Those edge gains are changed only by Adam minimising a supervised mean-squared error in an offline training script, which then saves a checkpoint.
https://github.com/MarkUnthank/flyhard/blob/328906f4a0e62c8f9fc18805cf6edae6989b82a5/scripts/train_wheel.py#L86-L103At run time the checkpoint is loaded, the policy is put in eval mode and every step runs under torch.no_grad(), so weights are fixed during the episode.
https://github.com/MarkUnthank/flyhard/blob/328906f4a0e62c8f9fc18805cf6edae6989b82a5/scripts/record_learned_wheel.py#L25-L44The motor decoder is a fixed random projection the project deliberately keeps untrainable.
https://github.com/MarkUnthank/flyhard/blob/328906f4a0e62c8f9fc18805cf6edae6989b82a5/src/flyhard/motor_policy.py#L37-L43
Neurons are sparse recurrent rate units with an explicit bounded leak, state = (1 - leak) * state + leak * tanh(signal), run over the immutable measured MaleCNS adjacency - documented dynamics, so L1. This project is an interesting inversion of the usual trap: the readout decoder is a frozen random projection that is explicitly untrainable, and what actually gets trained is a per-edge gain on the connectome's own measured edges. It still does not reach L2, for two reasons. First, the rule is supervised regression - Adam on a mean-squared error against target joint angles - not anything grounded in fly biology; a repo-wide search for plasticity, dopamine, STDP, Hebbian or eligibility in src/ and scripts/ returns nothing. Second, it is offline: training writes a checkpoint, and the CARLA run loads that checkpoint under .eval() and torch.no_grad(), so no synapse changes while the fly is driving. This is the classic bake-in-fixed-weights near-miss, just applied to the connectome instead of a readout.
Record
Nearby
All projects →MaleCNS simulation connected to ViZDoom through modeled visual inputs and a fixed button readout. Includes plasticity experiments and negative validation results; learned survival has not been demonstrated.
Research framework comparing a MaleCNS-constrained sparse recurrent controller with rewired graphs, conventional neural networks, and other controls on simple VizDoom tasks.
Ratings on thelearningfly.com are proposals, not verdicts. Every one of them is arguable in public.