Paper · 2025-10-28 · cs.LG, cs.AI, cs.NE, math.NA
A Practitioner's Guide to Kolmogorov-Arnold Networks
A review of Kolmogorov-Arnold Networks (KANs), which put trainable univariate functions on edges and sum at nodes. It relates KANs to Kolmogorov superposition theory, MLPs and kernel methods, compares more than 20 basis families, and gives a seven-step configuration guide. It runs no experiments; its KAN-vs-MLP table aggregates literature trends, which are mixed.
Learnable activation functionsMulti-layer perceptron (MLP)Physics-informed neural networkNeural tangent kernelsurveyarchitecturekolmogorov-arnold-networksbasis-functionsscientific-machine-learning
AI-compiled by claude-haiku-5-5 on 2026-11-03, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
A standard neural network puts a fixed squashing function, such as ReLU, at each neuron and learns weights on the connections between neurons. A Kolmogorov-Arnold Network (KAN) reverses this. It puts a learnable one-variable curve on every connection and only adds the results together at each node. The name comes from a mid-twentieth-century theorem that continuous functions of many variables can be built from sums of one-variable functions. KANs take inspiration from that idea but do not implement the theorem exactly.
This review collects the many KAN variants published since 2024, grouped mostly by the type of curve each one uses. Its central claim is that the choice of curve, called the basis, matters most. It compares KANs with ordinary neural networks, physics-informed networks and kernel methods, and it ends with a checklist for choosing a configuration. Its overall message is that KANs are not a clear winner over well-tuned MLPs, and that results depend strongly on the problem.
TL;DR
- A KAN places a trainable univariate function on every edge and sums at each node. The review treats it as a structured alternative to MLPs, not as an implementation of Kolmogorov's theorem §2.
- The basis family (B-spline, Chebyshev, Jacobi, Fourier, Gaussian, wavelet, Sinc, ReLU-power and others) is the main design axis §5, tab. 5.
- Reported comparisons are mixed. KANs often match or beat MLPs and PINNs on accuracy or convergence speed, but usually train more slowly per iteration tab. 1, §11.
- The review's "Choose-Your-KAN" guide and its decision algorithm give a default (cubic B-spline on a uniform grid) and a basis choice by solution structure §10, alg. 1.
- Use it to decide whether a KAN is worth trying and which basis to start from. It does not give settled training recipes: learning rates, budgets and most regularization weights are not stated.
Problem
Fixed activations in MLPs limit adaptability. Networks are hard to interpret and to attribute causally. Accurate MLPs often need many parameters. MLPs also show spectral bias: they learn low frequencies before high ones, which slows convergence on oscillatory or sharp solutions §1.
The review asks when a KAN should be preferred over an MLP or a PINN. Its answer is that the evidence is inconsistent. Fairness-focused studies reach conflicting conclusions, and the best basis changes with the PDE being solved [§1, "MLPs vs. KANs"]. The literature it covers spans regression, function approximation and PDE solving tab. 1. It also notes that comparisons often match parameter counts but ignore basis-induced bias and normalization or grid constraints §11.
Method
The review is not a method paper, so this section sets out the components it describes, in the order it presents them.
Architecture. A KAN layer maps n_l inputs to n_{l+1} outputs through one
univariate function for each input-output pair. Each output is the sum of its
edge functions. Layers are composed to make a deep KAN §2. The original KAN
uses a trainable B-spline on each edge §2, §5.1.
Forward pass of a deep KAN §2:
# KAN forward pass: stacked layers of learnable edge functions [§2]
# Input: x (n_0,)
# Output: y (n_L,)
def kan_forward(x, layers):
# Layer l holds one univariate function per edge (i -> j) [§2]
for edge_functions in layers:
# Each output node sums its incoming edge functions; there is
# no separate nonlinearity at the node [§2]
x = [sum(phi(x[i]) for i, phi in enumerate(row))
for row in edge_functions]
return xEach edge function is a fixed-knot B-spline with trainable coefficients §5.1:
# Univariate edge function as a fixed-knot B-spline [§5.1]
# Input: x (scalar), coeffs (N,), knots (N + k + 1,), degree k
# Output: scalar
def edge_function(x, coeffs, knots, degree):
# Basis values B_n^(k)(x) from the Cox-de Boor recursion [§5.1]
basis = bspline_basis(x, knots, degree) # (N,)
# The trainable coefficients c_n weight the basis [§5.1]
return dot(coeffs, basis)Relation to Kolmogorov superposition theory (KST). The review states that KANs are inspired by KST but are not exact realisations of it. KST has universal, fixed inner functions and a single outer function per target. KAN edge functions are learned, use smooth B-splines, and are not constrained by the separation conditions of the theorem. Deep KANs also distribute nonlinearity over several layers §2. In the compressed modern form of KST that the review cites, the inner function is universal and the outer function depends on the target §2.
Relation to MLPs. Under a ReLU^k activation, an MLP of width W and depth
L can be re-expressed exactly as a KAN of the same width, with at most twice the
depth, a grid of size G = 2 and B-spline bases of order k [§4, theorem MLP ⇒
KAN, attributed to Wang].
The review also states the converse §4. An MLP maps activate-then-mix, whereas
a KAN maps activate-then-mix on each input coordinate §4.
Relation to kernel methods. Per the review, a shallow KAN on one-dimensional inputs is a classical kernel method in all but the way its coefficients are fitted §1, §3.
Basis families. Table 5 lists the bases the review covers. Each row is a
univariate function phi with its support, its grid requirement and its
normalization. Reference keys are omitted here; see tab. 5 for the full table.
| Basis | Support | Form | Grid | Normalization or type |
|---|---|---|---|---|
| B-spline | local | sum_n c_n B_n(x) | yes | B-spline §5.1 |
| Chebyshev | global | sum_k c_k T_k(tanh x) | no | Chebyshev + tanh §5.2 |
| Stabilized Chebyshev | global | tanh(sum_k c_k T_k(tanh x)) | no | Chebyshev + linear head |
| Chebyshev (grid) | global | sum_k c_k T_k((1/m) sum_i tanh(w_i x + b_i)) | yes | Chebyshev + tanh |
| ReLU-KAN | local | sum_i w_i R_i(x) | yes | squared ReLU §5.3 |
| HRKAN | local | sum_i w_i [ReLU(x)]^m | yes | polynomial ReLU §5.3 |
| Adaptive ReLU-KAN | local | sum_i w_i v_i(x) | yes | adaptive ReLU §5.3 |
| fKAN (Jacobi) | global | sum_n c_n P_n(x) | no | Jacobi §5.4 |
| rKAN | global | ratio of Jacobi sums | no | rational + Jacobi §5.4 |
| Jacobi-KAN | global | sum_i c_i P_i(tanh x) | no | Jacobi + tanh §5.4 |
| FourierKAN | global | sum_k a_k cos(kx) + b_k sin(kx) | no | Fourier §5.6 |
| KAF | global | alpha GELU(x) + sum_j beta_j psi_j(x) | no | RFF + GELU §5.6 |
| Gaussian + residual | local | sum_i w_i exp(-((x - g_i)/eps)^2) + w_b rho(x) | yes | Gaussian RBF + SiLU §5.5 |
| Gaussian | local | sum_i w_i exp(-((x - g_i)/eps)^2) | yes | Gaussian RBF §5.5 |
| RSWAF-KAN | local | sum_i w_i (s_i - tanh^2((x - c_i)/h_i)) | yes | reflectional switch |
| CVKAN | local | sum_{u,v} w_uv exp(-abs(z - g_uv)^2) | yes | complex Gaussian |
| BSRBF-KAN | local | sum_i a_i B_i(x) + sum_j b_j exp(-(x - g_j)^2/eps^2) | yes | B-spline + Gaussian |
| Wav-KAN | local | sum_{j,k} c_jk psi((x - u_jk)/s_j) | no | wavelet §5.7 |
| FBKAN | local | sum_j omega_j(x) K_j(x) | yes | partition of unity + B-spline §5.8 |
| SincKAN | global | sum_i c_i Sinc(pi (x - i h)/h) | yes | Sinc §5.9 |
| Poly-KAN | global | sum_i w_i P_i(x) | no | polynomial |
Decision procedure (the review's Choose-Your-KAN guide). The review gives a seven-step recipe, summarised in its decision algorithm. The algorithm is reproduced here in condensed form, with its branches and their order alg. 1.
# Choose MLP or KAN, then a basis [alg. 1] [§10]
# Input: many_samples (bool), has_prior (bool), structure (str)
# Output: model class and basis name
def choose_model(many_samples, has_prior, structure):
# Step 1: MLP baseline when data are large and no prior exists [alg. 1]
model = "KAN"
if many_samples and not has_prior:
model = "MLP"
# Step 2: basis from solution structure; branches tested in order [alg. 1]
basis = None # alg. 1 defines no default branch
if structure == "smooth or boundary-sensitive":
basis = "B-spline (cubic, extended grid)"
elif structure == "periodic or globally oscillatory":
basis = "FourierKAN or KAF"
elif structure == "polynomial-like or spectrally smooth":
basis = "Chebyshev or Jacobi, tanh normalization"
elif structure == "shocks, discontinuities, boundary layers":
basis = "SincKAN, rKAN, DKAN or HRKAN"
elif structure == "multiscale or spatially heterogeneous":
basis = "Wavelet KAN or FBKAN"
elif structure == "high-dimensional or separable":
basis = "KKAN, SPIKAN or KAF (RFF)"
return model, basisThe seven steps of the guide §10:
- Start with a cubic B-spline KAN on a uniform grid. For PDEs, enable grid extension and post-training refinement §10 Step 1.
- Match the basis to the structure of the target: Chebyshev with tanh normalization for globally smooth or oscillatory functions; Jacobi for controllable smoothness; SincKAN, rKAN or DKAN for discontinuities; FourierKAN or KAF for periodic structure; wavelets for local or multi-scale features §10 Step 2.
- If speed matters, use ReLU^m or Gaussian RBF bases, JAX
jit/XLA or fused CUDA kernels, and orthogonal polynomials or RBFs with l1-plus-entropy pruning §10 Step 3. - Stabilize with tanh normalization for Chebyshev and Jacobi, min-max or sigmoid/tanh scaling for RBF and wavelet bases, and extended or free-knot grids for splines. Optional 1-Lipschitz layers may be inserted between the summation and the linear maps §10 Step 4.
- For PINNs, use the weighted loss
L = w_u L_data + w_f L_phys + w_b L_bc. Add augmented Lagrangian or residual attention, residual-adaptive sampling, or coarse-to-fine grid updates only when needed §10 Step 5. - Warm up with Adam or RAdam, then refine with (L-)BFGS. Use mixed precision and gradient clipping for stiff PDEs §10 Step 6.
- Increase capacity locally: local refinement with free knots, subdomain partition-of-unity decomposition (FBKAN), or selective basis enrichment [§10 Step 7].
Accuracy techniques named in the review include physics-constrained losses, adaptive sampling and grids, domain decomposition, function decomposition, hybrid and ensemble models, sequence and attention hybrids, handling of discontinuities and sharp gradients, and staged optimization §6, §10.
Efficiency techniques. The review lists three sources of speed-up: replacing
iterative B-spline evaluation with non-iterative ReLU-power activations; CUDA
matrix kernels; and model restructuring, such as Random Fourier Feature
compression or custom backward kernels to reduce memory stalls. JAX
implementations with jit/XLA are reported to give substantial end-to-end
speedups §7.1.
Regularization. The review groups methods into sparsity, Lipschitz control, weight decay and implicit or dropout-style approaches §8. The L1 sparsity penalty and entropy balancing are written as follows §8:
\|\varphi_{ij}\|_1 = \tfrac{1}{N_p} \sum_{s=1}^{N_p} |\varphi_{ij}(x^{(s)})|, \qquad \|\Phi\|_1 = \sum_{i,j} \|\varphi_{ij}\|_1
S(\Phi) = -\sum_{i,j} \frac{\|\varphi_{ij}\|_1}{\|\Phi\|_1} \log\Big(\frac{\|\varphi_{ij}\|_1}{\|\Phi\|_1}\Big)
\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{pred}} + \lambda \big( \mu_1 \sum_\ell \|\Phi_\ell\|_1 + \mu_2 \sum_\ell S(\Phi_\ell) \big)
Other approaches in §8: a Bayesian alternative (Gaussian-process and spike-and-slab priors) §8; LipKAN, which inserts 1-Lipschitz layers and uses an l_{1.5} penalty §8; L2 weight decay with temporal and mutual-information terms §8; DropKAN, which masks outputs after the spline evaluation rather than the inputs §8; and the implicit bounding from nested tanh in Chebyshev KANs §8.
Convergence and scaling. Theory and empirics are summarized in §9:
- Under the conditions in the review, a deep spline KAN attains a Sobolev
approximation rate of order
L^{-2s/d}, which doubles the classical parameter rate §9.1. - For KAN regression, spline-based KANs reach the minimax rate
n^{-2r/(2r+1)}for Sobolev-rfunctions, with knot count scaling asn^{1/(2r+1)}§9.1. - Empirically, error follows a power law
l ∝ N^{-alpha}with a task-dependentalpha > 0, and refining the spline grid helps more than widening layers §9.1. - Flatter NTK spectra, reported for KANs and learnable-basis PINNs, indicate weaker spectral bias. Broader spectra can also raise curvature and worsen conditioning §9.2.
- Under gradient flow with
G = D^T Dpositive definite, the loss decays exponentially at a rate set by the smallest eigenvalue ofG; the same holds in expectation for SGD §9.3.
Hyperparameters
The review gives few concrete values. Most rows below are qualitative, and the rest are stated as "not stated".
| Name | Value | Where | Notes |
|---|---|---|---|
| default basis | cubic B-spline | §10 Step 1 | degree 3 read from "cubic" |
| grid for the default | uniform | §10 Step 1 | grid size not stated |
| grid extension | enabled for PDE tasks | §10 Step 1 | schedule not stated |
| grid size G (MLP ⇒ KAN construction) | 2 | §4 theorem | a construction value, not a recommendation |
| Chebyshev, Jacobi normalization | tanh | §10 Step 2, Step 4 | |
| optional Lipschitz layers | 1-Lipschitz (tanh, sigmoid or ReLU) | §10 Step 4 | placement stated, no values |
| physics loss weights | w_u, w_f, w_b | §10 Step 5 | values not stated |
| optimizer schedule | Adam or RAdam, then (L-)BFGS | §10 Step 6 | switch point and learning rates not stated |
| mixed precision, gradient clipping | enabled for stiff PDEs | §10 Step 6 | no values |
| L1 and entropy weights | lambda, mu_1, mu_2 | §8 | values not stated |
| L2 weight decay | lambda_1 | §8 | value not stated |
| Gaussian width | eps in a "well-conditioned range" | §8 | no value |
| Sinc spacing | h | §5.9, figure caption | caption example uses h = 1.0; text does not fix it |
| Morlet wavelet parameter | omega_0 | §5.7, figure caption | caption example uses omega_0 = 5 |
| scaling exponent | alpha > 0 | §9.1 | task-dependent, not given |
| learning rate, batch size, epochs | not stated | §1–§12 | the review gives none |
Results
Author-reported, but this is a review. It runs no experiments of its own; its figures are illustrative activations. The table below is aggregated from literature results, which the authors describe as qualitative trends that mix metrics such as relative L2 and RMSE. Setup is per source paper and not restated here tab. 1.
| Setting | Metric | Baseline | Reported trend | Source |
|---|---|---|---|---|
| Function approximation (KAN, Liu et al.) | accuracy | MLP | KAN ≥ MLP; faster convergence, slower training | tab. 1 |
| Symbolic function approximation (Yu et al.) | accuracy | MLP | KAN > MLP; slower training | tab. 1 |
| Function approximation, non-smooth target (Zeng et al.) | accuracy | MLP | KAN ≤ MLP; faster convergence | tab. 1 |
| PDE, PIKAN (Liu et al.) | accuracy | PINN | PIKAN ≫ PINN; training about 10× slower per iteration | tab. 1 |
| PDE, Chebyshev-based PIKAN (Faroughi et al.) | accuracy | PINN | PIKAN ≫ PINN; faster convergence | tab. 1 |
| PDE, Chebyshev-based cPIKAN (Faroughi et al.) | NTK conditioning | not stated | better conditioning and faster convergence on four PDEs | §9.3 |
| Theory, Sobolev approximation | rate in parameters | classical networks | order P^{-2s/d} vs P^{-s/d} | §9.1 |
| Theory, statistical | minimax rate | classical spline and sieve methods | n^{-2r/(2r+1)} | §9.1 |
| Empirical scaling | error vs. N | none | l ∝ N^{-alpha} | §9.1 |
Table 1 records mixed outcomes, and the review says it reflects prevailing tendencies rather than definitive results for every case §1.
Paper vs code
No official code. The paper links github.com/AmirNoori68/kan-review as a
structured reference for KAN research §1, abstract. The paper describes it that
way. I did not open the repository, and reference repositories of a survey are
not treated as method code here. The review's repository table (Table 2) lists other authors'
and third-party projects, and none of them is used here. No discrepancies found,
since there is no code to compare against.
Pitfalls
- Mixed evidence. Table 1 mixes metrics and setups and says so tab. 1. Do not rank KAN and MLP from it. The review's own conclusion is that KANs can match or beat MLPs under some bases and problems, and fail under others §11.
- Algorithm and text disagree. The guide's text and alg. 1 are not identical. Alg. 1 has a branch for high-dimensional or separable problems (KKAN, SPIKAN, KAF) that the text's step 2 does not mention §10, alg. 1. The text's step 2 gives Jacobi for controllable smoothness, but alg. 1 lumps Jacobi with Chebyshev. Alg. 1 adds self-scaled quasi-Newton methods to the refinement stage alg. 1 Step 5. The text adds Lipschitz layers and mixed precision, which alg. 1 does not contain §10 Steps 4, 6.
- Branch order and gaps. Alg. 1 is an if/elif chain with no default branch and no tie-break. A problem that is both smooth and periodic matches the first branch that applies. The review does not say how to decide. Implement the branch order as written, and treat the tie-break as an open choice alg. 1.
- Basis forms are idealized. Table 5 shows the Chebyshev and Jacobi rows with tanh inputs, but normalization is a separate choice that the review treats as a design decision §10 Step 4, tab. 5. Implement the normalization as its own step.
- Theory has conditions. The Sobolev rate applies to grid size
G = 2and a fixed widthW_0(d), with a constant that does not depend on depthL§9.1. The prose states the rate in parametersP, while the corollary states it in depthL§9.1; check which one a claim refers to. The review also says some of these gains may come from optimization dynamics rather than from asymptotic expressivity §9.1. The gradient-flow bound needsGpositive definite; the learning-rate condition is not stated in the review §9.3. - Regularization signs and weights. The objective adds
mu_2timesS(Phi)as written, but the review does not state the sign convention, the weightslambda,mu_1,mu_2, orlambda_1§8. Check the sign against the original KAN paper before implementing (see Lineage). - First-layer collapse with large Gaussian width. For Gaussian KANs, a large
epsmakes the first-layer feature matrix nearly rank one, so distinct inputs become indistinguishable §8. Keepepsin a well-conditioned range; the review gives no numeric range. - Training cost. Many cited PINN comparisons report KANs as slower to train per iteration tab. 1. Efficiency techniques reduce this §7.1, but the review gives no speed numbers for them.
- Plain Chebyshev KANs can be unstable. The review's case study says targeted refinements (tanh normalization, linear heads, tanh-based grids, hybrid optimizers, trainable degree) are needed §11.
- KST does not guarantee KAN behaviour. The review says KANs are not exact realisations of KST: the inner functions are learned and the separation constraints are absent §2. Do not argue KAN properties from KST proofs.
Lineage
- Builds on: Kolmogorov superposition theory and its refinements by Lorentz and Sprecher §2, tab. 3, and the KAN architecture of Liu et al., which is summarized on this site at /papers/2404.19756 §2, §4.
- Compared against: MLPs and PINNs tab. 1; DeepONet and Fourier neural operators as counterparts to KAN-based operator learners tab. 4.
- Superseded by: not stated in the review.
Source and license
Adapted from “A Practitioner's Guide to Kolmogorov-Arnold Networks” by Amir Noorizadegan, Sifan Wang, Leevan Ling, Juan P. Dominguez-Morales (arXiv:2510.25781), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.