This GitHub repository contains coding files for my MSc Project, entitled
Approximation of Arbitrary Neuronal Network with Deep Learning
Submitted as partial requirements of the MSc in Machine Learning in University College London.
All files are in the masters branch:
approx_bnn.pycontains 4 classes of approximate biological neural networks (ABNNs);gen_data.pycontains code for generating synthetic spike trains and input patterns to feed into ABNNs;models.pycontains DNN classes: MLP and RNN;train.pycontains main training loop;bvc.pycontains classes for the environment, roaming agent, the boundary vector cell and place cell network;utils.pycontains a range of auxiliary functions, such as plotting;
Folders:approx_bnn_paramsstores parameters for ABNNs, including individual transfer functions for each neuron;dnn_paramsstores parameters for trained DNNs;datastores input-output pairs generated from synthetic spike trains, ABNN and BVC network;tempstores temporary files and training results for plotting;figuresstores saved figures
Notebooks:abnn_pattern_analysiscontains experiments on analysing synthetic neuronal inputs and outputs;abnn_experimentscontains all experiments in the first part (ABNN);bvc_experimentscontains all experiments in the second part (BVC model).
To recreate the results, run
git clone https://github.com/cngzlsh/BrainNet.git --branch master
And use the seed (1234) embedded at the beginning of each file.
The codes are tested on a machine with the following specifications:- Intel Core i7-11370H CPU (4-core, 8-threads), 40 GiB RAM, Nvidia RTX 3070 Laptop GPU (5,120-core, 8 GiB DRAM), 512 GiB SSD on Pop!_OS 22.04 LTS (Gnome version 42.4).