Skip to content
This repository was archived by the owner on May 29, 2025. It is now read-only.

trxxxxkov/spbu-bachelor-thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spbu-bachelor-thesis

Code and thesis document for my Bachelor’s thesis at St. Petersburg State University (SPbU)

How to Use

Follow these steps to get started:

  1. Read the thesis document (in Russian) located at ./reports/thesis.pdf.
  2. Review the prerequisites and install all required dependencies as described in the Installation section.
  3. Navigate to the ./notebooks/ directory and run the notebooks sequentially.
  4. After executing all notebooks, you will find:
    • Datasets and embeddings that were used in experiments in ./data/;
    • Saved weights of the trained models in ./models/;
    • A summary of the proposed models and their metrics (same as in the thesis) in ./reports/models_summary.csv;

Installation

Pre-requisites:

Python 3.9 or higher
pip
venv

This project can be installed using pip as follows:

git clone https://github.com/trxxxxkov/spbu-bachelor-thesis.git
cd spbu-bachelor-thesis
python3 -m venv .venv
source .venv/bin/activate
pip install .

Project Structure

spbu-bachelor-thesis/
├── .github/
│   └── workflows/
│       └── latex-compilation.yaml  #  CI workflow that auto-compiles LaTeX sources into PDFs
├── notebooks/
│   ├── 01_data_preparation.ipynb    # Clean raw datasets and write embeddings for later use
│   ├── 02_proposed_models.ipynb     # Define and train the KAN-based model variants
│   ├── 03_continual_learning.ipynb  # Benchmark models under continual-learning setup
│   └── 04_report_preparation.ipynb  # Summarize results in plots and tables
├── reports/  
│   ├── tex/
│   │   ├── figures/
│   │   │   └── ...  # All graphics (plots, diagrams, logos) referenced in LaTeX sources
│   │   ├── beamerbasetitle.sty  # Redefining of the Beamer title page
│   │   ├── beamerthemespbu.sty  # SPbU-branded Beamer theme
│   │   ├── presentation.tex     # Beamer source for the defence slides
│   │   ├── references.bib       # BibTeX database for the thesis
│   │   ├── thesis.sty           # Custom SPbU-compliant LaTeX style
│   │   └── thesis.tex           # Main bachelor-thesis LaTeX document
│   ├── models_summary.csv  # CSV log of all experiment metrics across models
│   ├── presentation.pdf    # Pre-built PDF of the defence slides
│   └── thesis.pdf          # Pre-built PDF of the full thesis
├── spbu_bachelor_thesis/
│   ├── nn/
│   │   ├── architectural_kan.py  # KAN-based model with a FEL layer
│   │   ├── kan.py                # Kolmogorov-Arnold Network model
│   │   ├── mlp.py                # Multilayer perceptron model
│   │   ├── regularized_kan.py    # KAN-based model with explicit weights regularisation
│   │   └── rehearsal_kan.py      # KAN-based model with a SOM layer
│   ├── datasets.py          # Dataset loaders and preprocessing pipelines
│   ├── global_constants.py  # Paths, seeds and hyper-params
│   ├── metrics.py           # Custom CL and metrics and MPC accuracy implementation
│   ├── train_test.py        # Implementation of train/test loops for CL experiments
│   └── visualization.py     # Utilities for plotting training progress graphics
├── .gitignore
├── LICENSE          
├── pyproject.toml  # Build-system and dependency specification
└── README.md        

The thesis template was adapted from itonik/spbu_diploma; the presentation template was adapted from spbu-se/report_presentation_template.

About

Evaluating the effectiveness of continual learning with Kolmogorov-Arnold Networks in pattern recognition tasks

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors