Kolmogorov-Arnold Newtworks (KANs)
This the github repo for the paper "KAN: Kolmogorov-Arnold Networks" [link]. Find the documentation here.
Kolmogorov-Arnold Networks (KANs) are promising alternatives of Multi-Layer Perceptrons (MLPs). KANs have strong mathematical foundations just like MLPs: MLPs are based on the universal approximation theorem, while KANs are based on Kolmogorov-Arnold representation theorem. KANs and MLPs are dual: KANs have activation functions on edges, while MLPs have activation functions on nodes. This simple change makes KANs better (sometimes much better!) than MLPs in terms of both model accuracy and interpretability. A quick intro of KANs here.
Installation
There are two ways to install pykan, through pypi or github.
Installation via github
git clone https://github.com/KindXiaoming/pykan.git
cd pykan
pip install -e .
Installation via pypi
pip install pykan
Requirements
# python==3.9.7
matplotlib==3.6.2
numpy==1.24.4
scikit_learn==1.1.3
setuptools==65.5.0
sympy==1.11.1
torch==2.2.2
tqdm==4.66.2
To install requirements:
pip install -r requirements.txt
Documentation
The documenation can be found here.
Tutorials
Quickstart
Get started with hellokan.ipynb notebook.
More demos
More Notebook tutorials can be found in tutorials.