Kolmogorov-Arnold Networks (KANs), inspired by the Kolmogorov-Arnold representation theorem, are promising alternatives to neural networks (NNs). KANs have activation functions on edges, whereas NNs have activation functions on nodes. This repo serves as an accessible tutorial on how to get started using KANs and comparing them directly to NN alternatives. Please see my beginner-friendly blog post.
All the necessary code and packages are contained within a Jupyter Notebook in this repository. Open either the classification or regression notebook and click run.
If you would like to use a GPU on colab you can change this setting by selecting Change Runtime Type -> GPU
, otherwise select cpu
.
If you would like to run this code locally, I am using these versions of the following packages:
torch==2.2.1+cu121
matplotlib==3.7.1
sklearn==1.2.2
moviepy==1.0.3
This repository contains the following files:
KAN_classification.ipynb
- A detailed Jupyter Notebook that will guide readers through how to make a KAN for classification.KAN_regression.ipynb
- A detailed Jupyter Notebook that will guide readers through how to make a KAN for regression.