Skip to content

DavideStefanelli97/Neural-Networks-Portfolio

Repository files navigation

Neural Networks Portfolio

Python 3.10 License: MIT Exercises Release

Portfolio-grade public release of a master's-level neural networks laboratory project, covering ex01 to ex09 with full reports, curated figures, and GIF-based visual narratives preserved.

Abstract

This repository is the public flagship release of a broader private archive developed during laboratory work in neural networks at the master's degree level. The public v1 focuses on the strongest and most internally consistent part of the portfolio: four chapters spanning integrate-and-fire neuron models, neural mass modeling, hetero-associative memory, and Hopfield networks.

The release is intentionally curated rather than partial by accident. It preserves the material that carries the real value of the project β€” exercise-level reports, chapter narratives, manual figures, animated GIFs, equations, and reproducibility tooling β€” while excluding the original exercise PDFs and the later chapters that are still being finalized for public presentation.

Visual Highlights


Integrate-and-Fire - Frequency-current characteristic curve

Neural Mass Model - EEG alpha rhythm spectral analysis

Hetero-Associative Memory - Recognition robustness across noise levels

Hopfield Retrieval - Corrupted pattern recovery

Scientific Overview

The public v1 follows a coherent scientific arc:

  • Cap01 develops integrate-and-fire neuron models through threshold dynamics, adaptation, and synaptic conductances.
  • Cap02 lifts the analysis from single neurons to cortical populations with the Jansen-Rit neural mass model and EEG-like rhythms.
  • Cap03 studies hetero-associative memory with Hebbian learning, recognition under noise, and image reconstruction.
  • Cap04 closes the release with recurrent associative memory through Hopfield networks, attractor dynamics, and capacity/robustness analyses.

All public chapters retain the full report-centric presentation style: chapter introductions, exercise-level scientific narratives, curated figures, and GIF-based visual explanations.


Chapter Map

Cap01 - Integrate-and-Fire Models (ex01-ex04)

Exercise Topic Key Concept Report
01 Constant Threshold IF f-I curves, Euler integration View
02 Variable Threshold IF Relative refractory period View
03 IF with Adaptation Spike-frequency adaptation View
04 Synaptic Conductances Coupled excitatory/inhibitory interactions View

Cap02 - Neural Mass Models (ex05)

Exercise Topic Key Concept Report
05 Neural Mass Models Jansen-Rit dynamics, EEG alpha rhythm View

Cap03 - Hetero-Associative Networks (ex06-ex07)

Exercise Topic Key Concept Report
06 Hetero-Associative I Hebbian mapping, linear vs sigmoid readout View
07 Hetero-Associative II Multi-pattern storage and reconstruction View

Cap04 - Hopfield Networks (ex08-ex09)

Exercise Topic Key Concept Report
08 Hopfield Model I Image pattern recovery with asynchronous updates View
09 Hopfield Model II Capacity limits, sparse coding, dilution studies View

Key Methods and Skills

  • Integrate-and-fire modeling, refractory dynamics, adaptation, and synaptic conductances
  • Mean-field neural mass modeling and EEG-oriented spectral analysis
  • Hebbian associative memory, cross-talk analysis, and reconstruction under noise
  • Hopfield energy landscapes, asynchronous retrieval, dilution, and sparse coding
  • Scientific computing with NumPy, SciPy, and Matplotlib
  • Reproducible report generation with curated static figures and animated narratives

Getting Started

Prerequisites

Setup

poetry config virtualenvs.in-project true --local
poetry env use 3.10
poetry install

Run An Exercise

poetry run python Cap01_Integrate-and-Fire-Models/03-if-adaptation/python/exercise03.py
poetry run python Cap04_Hopfield-Networks/08-hopfield-model-i/python/exercise08.py

Dataset Policy

External datasets are not bundled in this public release. Place required .mat files in data/raw/ or set NN_DATA_DIR:

export NN_DATA_DIR=/path/to/datasets    # Linux/macOS
set NN_DATA_DIR=C:\path\to\datasets     # Windows

Required files for public v1:

  • imdemos.mat for ex08 and ex09

Public Report Assets

This public release intentionally preserves the portfolio-grade report material for ex01-ex09:

  • chapter-level README narratives
  • exercise-level scientific reports
  • all curated report/plots/manual/**
  • all curated report/plots/full/**
  • report/metrics/full.json

Report Generation

The repository includes the reporting pipeline used to regenerate exercise-level outputs for the public scope.

poetry run python shared/reporting/validate_data.py
poetry run python shared/reporting/run_all.py --profile fast
poetry run python shared/reporting/run_all.py --profile full
poetry run python shared/reporting/run_all.py --exercise ex08 --profile full

Additional details are documented in docs/reporting-workflow.md.

Repository Structure

Neural-Networks-Portfolio/
β”œβ”€β”€ Cap01_Integrate-and-Fire-Models/
β”œβ”€β”€ Cap02_Neural-Mass-Models/
β”œβ”€β”€ Cap03_Hetero-Associative-Networks/
β”œβ”€β”€ Cap04_Hopfield-Networks/
β”œβ”€β”€ data/raw/
β”œβ”€β”€ docs/
β”œβ”€β”€ shared/reporting/
└── shared/utils.py

Roadmap

  • Current public v1: Cap01 to Cap04 (ex01-ex09)
  • Next public release: Cap05 once the supervised/deep-learning chapter is publication-ready
  • Final planned addition: Cap06 after its visual and report layer reaches the same standard as the earlier chapters

License

MIT License. See LICENSE.

About

🧠🌐 Neural Networks course portfolio: Python/MATLAB exercises with reproducible Poetry setup, plus per-exercise reports including plots, metrics, and logs from IF models to Hopfield and deep learning

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors