I spent tonight digging through the research on digital fly brains and what people have managed to do with them. There's some fascinating work on taste, sensory processing, and even synaptic plasticity.
But the whole-brain simulations I'm looking at are largely running with frozen weights, which leaves them without much capacity for persistent learning.
What's interesting to me is that the fly already has specialized neural circuitry for managing memory. So why not hook that machinery up to a synthetic memory system and see what happens?
And that got me thinking about the Russian lobsters from Accelerando.
A stateless amnesiac fly doesn't really do anybody any good.
So I'm building a Flyborg with a memory system. The idea is to connect the fly's existing learning circuitry to synthetic storage, using neural activity to generate and retrieve vector embeddings.
Ideally, the fly's own nervous system will help determine what gets remembered, when those memories are retrieved, and how they influence its behavior.
Easy enough.
I was just thinking how much my mother would have loved this experiment.
Me: I'm doing brain surgery on a digital fly.
Mom: That's nice. You built a poop tree, didn't you?
Me: Yeah, kinda... but it's for science!
Mom: Of course it is, dear.
The first thing I'm running into is the size of the neural traces and how to manage them. The fly moves constantly, and the simulation is generating an awful lot of data. Much more than I expected.
Once you connect the synthetic memory system, there's an enormous amount of information available to capture and store. But the good news is that I think I can be selective about it, categorizing and prioritizing what the fly remembers.
Thankfully, I did remember at the beginning of the project to use a proper schema.
It's still a work in progress, but I'm thinking a fast, short-term memory system combined with slower, selectively consolidated long-term memory might make sense here.
So right now, the fly is a happy little sphere floating around in a rough Godot world. It's not much to look at yet, but it's going to be neat when the terrarium is done. My hope is that the final product is a paper and a little world you can download and run on your own.
Also, it's a really interesting and different way to think about agents and robots. I hadn't considered working on a pulse-based architecture before, but I really like it. It makes a kind of sense, if you think about it.
I'll keep posting here as I learn more about this process over the weekend.
More soon.
A later observation
Edit: While the fly is constantly taking in data, it's not constantly recording. An interesting detail here is that there's a 20ms delay between triggering and processing. I thought at first that this was a feature of the digital recreation, but it turns out that biological flies do the same thing at the same interval.
Also thought about ending with "Da Comrades," but the joke would have gone over people's heads. Love ya.