Today, we will have a chat with one of our colleagues: Valentin Pinkau. Valentin has been working as a machine learning engineer at scalable minds for 5 years. As an experienced data scientist specializing in connectomics, he has some interesting insights to share.
What do you like most about your work here?
The fact that we support researchers in neuroscience and life sciences, which is a meaningful purpose. I also find my tasks exciting: training models, working with machine learning and diving deep into the wonderful data.
As you can see in this image, some scientists (Motta et al. 2019) annotated the synaptic clefts in the EM images (red, brown), along with mitochondrias (orange) and vesicles (green). They also indicated the synapse types: spine-head or dendritic shaft synapse.
The scientists generate their training data using webKnossos, which is great to manually and collaboratively annotate EM data, and then simply send me a link to the annotated dataset. Based on this, I train my machine learning model with Voxelytics to detect such information, using a fully convolutional residual Unet.
To evaluate the model, I run the predictions on an evaluation box and automatically compare my 3-point annotation with a ground-truth 3-point annotation done by the biologists. In some cases, I will have a look at the detected mistakes to try to understand how they happened.
Finally, I discuss the result of the comparison with the scientists in order to decide how to proceed: e.g. fix errors in the ground truth, iterate on the model if it is not good enough, or run it on the whole dataset. Once the synapse detection has run on the complete dataset, I can visualize them on webKnossos (despite the huge size of the dataset) and share a link with the scientists.
Now, I know that I cannot fix this error in the synapse detection, but need to go back to the neuron reconstruction segmentation. With webKnossos, this is as easy as activating additional layers, such as the neuron segmentation and the CNN predictions of the reconstruction.
I understand debugging a synapse classifier is quite a challenge. Thank you Valentin for sharing your insights!