Deepinsight : User-Friendly Deep Learning Tool to Decode Neural Activity in an Automated Way

DeepInsight is a deep learning-based decoding framework for discovering and characterizing the neural correlates of behavior and stimuli in unprocessed neural data. This tool allows raw data usage directly as input, removing the traditional step of spike-sorting. This provides a more objective way of measuring decoding performance.

The network requires little user input and generalizes across stimuli, behaviors, brain regions, and recording techniques. Once the neural network is trained, it can be analyzed to determine elements of the neural code that are informative about a given variable.

Model Architecture
Source: https://github.com/CYHSM/DeepInsight

Paper: https://www.biorxiv.org/content/10.1101/871848v1.full

Paper PDF: https://www.biorxiv.org/content/10.1101/871848v1.full.pdf

Github: https://github.com/CYHSM/DeepInsight

Jupyter Notebook: https://github.com/CYHSM/DeepInsight/blob/master/notebooks/deepinsight_example_usage.ipynb

Installation

For now install DeepInsight with the following command:

pip install -e git+https://github.com/CYHSM/DeepInsight.git#egg=DeepInsight

Example (Copied from Github)

import deepinsight

# Load your electrophysiological or calcium-imaging data
(raw_data,
 raw_timestamps,
 output,
 output_timestamps,
 info) = deepinsight.util.tetrode.read_tetrode_data(fp_raw_file)

# Transform raw data to frequency domain
deepinsight.preprocess.preprocess_input(fp_deepinsight, raw_data, sampling_rate=info['sampling_rate'],
                                        channels=info['channels'])

# Prepare outputs
deepinsight.util.tetrode.preprocess_output(fp_deepinsight, raw_timestamps, output, output_timestamps,
                                           sampling_rate=info['sampling_rate'])

# Train the model
deepinsight.train.run_from_path(fp_deepinsight, loss_functions, loss_weights)

# Get loss and shuffled loss for influence plot
losses, output_predictions, indices = deepinsight.analyse.get_model_loss(fp_deepinsight, stepsize=10)
shuffled_losses = deepinsight.analyse.get_shuffled_model_loss(fp_deepinsight, axis=1, stepsize=10)

# Plot influence across behaviours
deepinsight.visualize.plot_residuals(fp_deepinsight, frequency_spacing=2)

Asif Razzaq is an AI Journalist and Cofounder of Marktechpost, LLC. He is a visionary, entrepreneur and engineer who aspires to use the power of Artificial Intelligence for good.

Asif's latest venture is the development of an Artificial Intelligence Media Platform (Marktechpost) that will revolutionize how people can find relevant news related to Artificial Intelligence, Data Science and Machine Learning.

Asif was featured by Onalytica in it’s ‘Who’s Who in AI? (Influential Voices & Brands)’ as one of the 'Influential Journalists in AI' (https://onalytica.com/wp-content/uploads/2021/09/Whos-Who-In-AI.pdf). His interview was also featured by Onalytica (https://onalytica.com/blog/posts/interview-with-asif-razzaq/).