A curated list of awesome libraries, projects, tutorials, papers, and other resources related to Kolmogorov-Arnold Network (KAN). This repository aims to be a comprehensive and organized collection that will help researchers and developers in the world of KAN!
- KAN: Kolmogorov-Arnold Networks : Inspired by the Kolmogorov-Arnold representation theorem, we propose Kolmogorov-Arnold Networks (KANs) as promising alternatives to Multi-Layer Perceptrons (MLPs). While MLPs have fixed activation functions on nodes ("neurons"), KANs have learnable activation functions on edges ("weights"). KANs have no linear weights at all -- every weight parameter is replaced by a univariate function parametrized as a spline. We show that this seemingly simple change makes KANs outperform MLPs in terms of accuracy and interpretability. For accuracy, much smaller KANs can achieve comparable or better accuracy than much larger MLPs in data fitting and PDE solving. Theoretically and empirically, KANs possess faster neural scaling laws than MLPs. For interpretability, KANs can be intuitively visualized and can easily interact with human users. Through two examples in mathematics and physics, KANs are shown to be useful collaborators helping scientists (re)discover mathematical and physical laws. In summary, KANs are promising alternatives for MLPs, opening opportunities for further improving today's deep learning models which rely heavily on MLPs.
- pykan : Offical implementation for Kolmogorov Arnold Networks |
- efficient-kan : An efficient pure-PyTorch implementation of Kolmogorov-Arnold Network (KAN). |
- FastKAN : Very Fast Calculation of Kolmogorov-Arnold Networks (KAN) |
- FourierKAN : Pytorch Layer for FourierKAN. It is a layer intended to be a substitution for Linear + non-linear activation |
- FCN-KAN : Kolmogorov–Arnold Networks with modified activation (using fully connected network to represent the activation) |
- Large Kolmogorov-Arnold Networks : Variations of Kolmogorov-Arnold Networks |
- xKAN : Kolmogorov-Arnold Networks with various basis functions like B-Splines, Fourier, Chebyshev, Wavelets etc |
- ChebyKAN : Kolmogorov-Arnold Networks (KAN) using Chebyshev polynomials instead of B-splines. |
- kan-polar : Kolmogorov-Arnold Networks in MATLAB |
- Deep-KAN : This repository contains a better implementation of Kolmogorov-Arnold networks |
- KAN-GPT : The PyTorch implementation of Generative Pre-trained Transformers (GPTs) using Kolmogorov-Arnold Networks (KANs) for language modeling |
- KAN-GPT-2 : Training small GPT-2 style models using Kolmogorov-Arnold networks.(despite the KAN model having 25% fewer parameters!).
- Simple-KAN-4-Time-Series : A simple feature-based time series classifier using Kolmogorov–Arnold Networks |
- kanrl : Kolmogorov-Arnold Network for Reinforcement Leaning, initial experiments |
- KAN Author's twitter introduction
- KAN Hacker news discussion
- [D] Kolmogorov-Arnold Network is just an MLP
- Official Tutorial Notebooks
- imodelsX examples with KAN : Scikit-learn wrapper for tabular data for KAN (Kolmogorov Arnold Network)
- What is the new Neural Network Architecture?(KAN) Kolmogorov-Arnold Networks Explained
- What is the significance of the Kolmogorov axioms for Mathematical Probability?
- KAN: Kolmogorov-Arnold Networks
- 超越谷歌DeepMind的最新大作:KAN全网最详细解读!
- Randomness and Kolmogorov Complexity
- Unboxing Functions: The Power of Addition and the Kolmogorov-Arnold Theorem #shorts
We welcome your contributions! Please follow these steps to contribute:
- Fork the repo.
- Create a new branch (e.g.,
feature/new-kan-resource
). - Commit your changes to the new branch.
- Create a Pull Request, and provide a brief description of the changes/additions.
Please make sure that the resources you add are relevant to the field of Kolmogorov-Arnold Network. Before contributing, take a look at the existing resources to avoid duplicates.
This work is licensed under a Creative Commons Attribution 4.0 International License.