kolmogorov-arnold-networks-guide
Papers and tutorials on KAN learnable activation networks
Best use case
kolmogorov-arnold-networks-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Papers and tutorials on KAN learnable activation networks
Teams using kolmogorov-arnold-networks-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/kolmogorov-arnold-networks-guide/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How kolmogorov-arnold-networks-guide Compares
| Feature / Agent | kolmogorov-arnold-networks-guide | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Papers and tutorials on KAN learnable activation networks
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Kolmogorov-Arnold Networks (KAN) Guide
## Overview
Kolmogorov-Arnold Networks (KANs) are a novel neural network architecture that places learnable activation functions on edges (weights) instead of fixed activations on nodes. Based on the Kolmogorov-Arnold representation theorem, KANs use B-spline functions as learnable edge activations, achieving better accuracy and interpretability than MLPs with fewer parameters in certain domains. This collection tracks the rapidly growing KAN literature.
## Core Concept
```
Traditional MLP:
x → [fixed activation(linear transform)] → y
Activations on nodes, weights on edges
KAN:
x → [learnable spline functions on edges] → sum → y
Each edge learns its own activation function (B-spline)
Kolmogorov-Arnold Theorem:
f(x₁,...,xₙ) = Σ Φᵢ(Σ φᵢⱼ(xⱼ))
Any multivariate continuous function = composition of
univariate functions and addition
```
## Key Papers
```bibtex
@article{liu2024kan,
title={KAN: Kolmogorov-Arnold Networks},
author={Liu, Ziming and Wang, Yixuan and Vaidya, Sachin and
Ruehle, Fabian and Halverson, James and
Solja{\v{c}}i{\'c}, Marin and Hou, Thomas Y. and
Tegmark, Max},
journal={arXiv:2404.19756},
year={2024}
}
```
## Implementation
```python
# Using pykan (official implementation)
# pip install pykan
from kan import KAN
import torch
# Create a KAN model
model = KAN(
width=[2, 5, 1], # Input: 2, Hidden: 5, Output: 1
grid=5, # Spline grid resolution
k=3, # Spline order (cubic)
)
# Training data
x = torch.randn(1000, 2)
y = torch.sin(x[:, 0]) + torch.cos(x[:, 1])
y = y.unsqueeze(1)
# Train
dataset = {"train_input": x[:800], "train_label": y[:800],
"test_input": x[800:], "test_label": y[800:]}
model.train(dataset, steps=100, lr=0.01)
# Visualize learned functions
model.plot()
# Prune and simplify
model = model.prune()
model.plot()
```
## KAN vs MLP Comparison
```python
# Comparison on function approximation
from kan import KAN
import torch.nn as nn
# KAN: learnable activations on edges
kan_model = KAN(width=[2, 5, 1], grid=5, k=3)
# Parameters: ~150 (spline coefficients)
# MLP: fixed activations on nodes
class MLP(nn.Module):
def __init__(self):
super().__init__()
self.net = nn.Sequential(
nn.Linear(2, 50),
nn.ReLU(),
nn.Linear(50, 50),
nn.ReLU(),
nn.Linear(50, 1),
)
def forward(self, x):
return self.net(x)
mlp_model = MLP()
# Parameters: ~2,700
# KAN advantages:
# - Fewer parameters for same accuracy
# - Interpretable (visualize learned functions)
# - Better for scientific discovery (symbolic regression)
# - Grid refinement for progressive accuracy
# MLP advantages:
# - Faster training
# - Better scaling to high dimensions
# - More mature tooling and optimization
```
## Extensions and Variants
| Variant | Innovation | Application |
|---------|-----------|-------------|
| **KAN 2.0** | MultKAN with multiplication nodes | Improved scaling |
| **Temporal KAN** | Time-series adaptation | Forecasting |
| **ConvKAN** | KAN + convolutions | Image processing |
| **GraphKAN** | KAN on graph structures | Graph learning |
| **FourierKAN** | Fourier basis instead of splines | Periodic functions |
| **WavKAN** | Wavelet-based activations | Signal processing |
| **BSRBF-KAN** | B-spline + radial basis | Function approximation |
## Scientific Applications
```python
# KAN for symbolic regression (discovering equations)
from kan import KAN
# Generate data from unknown equation: f(x,y) = x*exp(y)
import torch
x = torch.rand(1000, 2) * 2
y = x[:, 0:1] * torch.exp(x[:, 1:2])
dataset = {"train_input": x[:800], "train_label": y[:800],
"test_input": x[800:], "test_label": y[800:]}
model = KAN(width=[2, 1, 1], grid=10, k=3)
model.train(dataset, steps=200)
# Symbolic fitting — discover the equation
model.auto_symbolic()
# Output: f(x₁, x₂) = x₁ * exp(x₂)
# KAN can discover symbolic expressions from data
```
## Research Landscape
```markdown
### Key Research Directions
1. **Scaling** — Making KANs work at LLM scale
2. **Efficiency** — Reducing spline computation overhead
3. **Theory** — Understanding approximation guarantees
4. **Architecture search** — Optimal KAN topologies
5. **Hybrid models** — Combining KAN and MLP strengths
6. **Domain applications** — Physics, chemistry, biology
7. **Interpretability** — Extracting symbolic knowledge
```
## Use Cases
1. **Scientific discovery**: Extract equations from experimental data
2. **Function approximation**: High-accuracy low-parameter models
3. **Interpretable ML**: Understand what the network learned
4. **Physics-informed**: Embed physical constraints in activations
5. **Education**: Teach alternative neural network architectures
## References
- [awesome-kan](https://github.com/mintisan/awesome-kan)
- [KAN Paper](https://arxiv.org/abs/2404.19756)
- [pykan Implementation](https://github.com/KindXiaoming/pykan)
- [KAN 2.0 Paper](https://arxiv.org/abs/2408.10205)Related Skills
thuthesis-guide
Write Tsinghua University theses using the ThuThesis LaTeX template
thesis-writing-guide
Templates, formatting rules, and strategies for thesis and dissertation writing
thesis-template-guide
Set up LaTeX templates for PhD and Master's thesis documents
sjtuthesis-guide
Write SJTU theses using the SJTUThesis LaTeX template with full compliance
novathesis-guide
LaTeX thesis template supporting multiple universities and formats
graphical-abstract-guide
Create SVG graphical abstracts for journal paper submissions
beamer-presentation-guide
Guide to creating academic presentations with LaTeX Beamer
plagiarism-detection-guide
Use plagiarism detection tools and ensure manuscript originality
paper-polish-guide
Review and polish LaTeX research papers for clarity and style
grammar-checker-guide
Use grammar and style checking tools to polish academic manuscripts
conciseness-editing-guide
Eliminate wordiness and redundancy in academic prose for clarity
academic-translation-guide
Academic translation, post-editing, and Chinglish correction guide