Inspiration

This project comes from combining my love for machine learning, with my actual work. Currently, I'm a researcher here, and I model neurons. I've always wanted to apply machine learning in this field, but never had time to do it at work.

What it does

It uses a reinforcement learning algorithm that attempts to use only an extracellular voltage to force the gate value(s) into a specific state.

How I built it

I built the reinforcement learning algorithm from scratch. Its a simple algorithm, but it works well enough for a demo. I chose to do this over using a known machine learning algorithm because I wanted to know what was going on under the hood. The interface between python and NEURON was something I had done before, so making it again was relatively simple. Then I used most of the code from work to run the specific simulations. I didn't remake this code simply because it is not the focus of the project.

Challenges I ran into

Having to remember how to get through all the random quirks of python.

Accomplishments that I'm proud of

I was able to create my own reinforcement learning algorithm. I was able to successfully force a gate value into a desired state.

What I learned

Even a simple reinforcement learning algorithm can still be effective in some scenarios.

What's next for ML To Help Understand Neuroscience Phenomena

  1. Testing more gates, and seeing if setting multiple gates into specific values is possible.
  2. Being able to test hypothesis that try and explain the relationship between conduction block and gating values.
  3. Optimization. A better reinforcement learning algorithm, and testing networks in parallel instead of serial.

Built With

Share this project:

Updates