The Neurotech Development Kit

Over the past couple of years there have been a number of new neurotechnology hardware platforms developed, from semi-invasive to fully invasive (Neuralink having recently reached their first human implantation), with capabilities for everything from high bandwidth interfacing with the retina to whole brain imaging to targeted neuromodulation. While this is incredibly exciting for the field, there's still a group of people with a potential to impact it who have almost no good routes for contributing: early-career software engineers. 

I've met a number of ambitious young engineers with primarily software skills who want to either start a company in neurotech, build a portfolio project to demonstrate ability and interest in the area, or just make something cool using brain signals. There is basically one option available to them, which is consumer EEG (or in some cases surface EMG, which is a fairly indirect method of collecting brain activity), and it's a really limited one. Even research-grade EEGs, with hundreds of contacts in controlled lab conditions top out at a few cm of spatial resolution (10s of thousands of neurons) and are only reliable for collecting cortical data. There have been some impressive demos using EEG for control but studying the deep brain, getting high bandwidth input and output for high fidelity computer control, discovering new modalities for interfacing with AI, all would either require or greatly benefit from new hardware. The hardware is both years away and likely to come more and more from companies without open API access. 

In the meantime, I think it would be extremely valuable to make simulation environments more available to outside contributors, which was the inspiration behind NDK, the Neurotech Development Kit, which I worked on with AE Studio, Milan Cvitkovic and Sumner Norman. Developing hardware and experimental design within neurotech companies often starts with or heavily uses simulation, and well-documented and open packages allow anyone with software skills to contribute to the space. Furthermore, given the speed of iteration in simulation, I could imagine these packages having an impact on the state of the art similar to what we've seen with robotics and reinforcement learning in the past, where simulation is a key part of making faster progress. In fact, part of the original impetus for NDK came from the success of the OpenAI gym in offering a standard environment to benchmark RL algorithms, which greatly accelerated the field. 

I think some of the most impactful future neurotech devices will be completely noninvasive, and the first use case for NDK is for modeling transcranial ultrasound for neuromodulation. It's open for contributions to anyone who wants to work on neurotech but doesn't have a lab or the hardware, and we hope to see what the world can build with it! 

Connectome Harmonics

During 2021 I worked with researchers at the Johns Hopkins CPCR and UNC to develop a new tool for connectome-specific harmonic waves, a technique first introduced by Selen Atasoy at Oxford for measuring whole brain network states in a fairly simple decomposition to around 100 structural/functional 'modes'. We wanted to make the technique usable by a larger number of scientists in the field by open-sourcing the code and analysis pipelines, and making use of more modern techniques from the software development community like containerization. It was fascinating, although not that surprising, to see how much cloud computing, open source neuro data, and improved code made collaboration on the project smoother and the reach broader. The long-term impact, I hope, is that more technical talent in other fields start to see neuro data as a resource for building magical applications in addition to understanding what the brain is doing - the best example I've seen of this recently is "Mind's Eye". 

So-called 'connectome harmonics', introduced in 2016 in this publication of Atasoy's in Nature, are a beautiful way of describing oscillations of activity throughout the brain and have proven useful for characterizing states of neural activity. There are plenty of descriptions of the math underneath connectome harmonics, which borrow from graph theory and show up in other unexpected places, but I often feel the significance of the approach can be lost between visualizations and jargon-filled language of the formal process. In my mind CSHW and related techniques provide a way to simplify the representation of the brain from the activity of 100 billion neurons (plus other emergent phenomena like local field potentials) to 100 dimensions that still give a rich understanding of the brain's state at a given moment in time. By describing such a state as "just" characterized by these 100 or so dimensions, we can further start to think about distance functions between these points (comparing one brainstate to another mathematically), trajectories through this high dimensional space (comparing brainstates over time), and critically, benchmarking such states across different interventions (when I do X to the brain, what trajectory does it follow?). 

I spend much of my time now working on new technologies that will modulate brain activity towards some desired end - be that something relatively mundane like sleep or focus, or more exotic like 'advanced meditation'.  A conventional "functional localization" view of neuroscience might tell us that we should target changing activity in the hypothalamus for modulating sleep or locus coeruleus for modulating arousal but I imagine there are far better metrics for both the endpoint (what is "sleep" or "good sleep", actually?) and more refined strategies for where to target that will fall out of a better understanding of these endpoints. Ultimately, I hope a union of mental models from science, engineering and math all contribute to directly improving people's state of mind.