Papers › KAN: Kolmogorov-Arnold Networks

KAN: Kolmogorov-Arnold Networks

30 Apr 2024arXiv:2404.19756archive 2025-07-28

Ziming Liu, YiXuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin Soljačić, Thomas Y. Hou, Max Tegmark

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.

PaperPDFCodeCode Syntology ran

In Syntology View this paper on Syntology: its repositories, every harvested function with whether it ran, its licence and the call to fetch it.

Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2404.19756")

Code

Syntology Ran 29 of 45 code samples harvested from 15 repositories linked to this paper; 16 have no recorded run. Of those that ran: 1 ran · honoured contract; 28 ran with no contract checked.

By repository: official repository: 6 samples from 1 repository, 1 ran; community (archive-listed): 39 samples from 14 repositories, 28 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

25 repositories listed; official and paper-mentioned ones first.

kindxiaoming/pykan officialmentioned in papermentioned on GitHubpytorchMIT report
1ssb/torchkan mentioned on GitHubpytorch report
MrPio/KAN-Continual_Learning_tests mentioned on GitHubpytorch report
antoniotepsich/convolutional-kans mentioned on GitHubpytorchMIT report
athanasiosdelis/faster-kan mentioned on GitHubpytorch report
cg80499/kan-gpt-2 mentioned on GitHubjax report
cometscome/fluxkan.jl mentioned on GitHubpytorchMIT report
engichang1467/Simple-KAN mentioned on GitHubpytorch report
engichang1467/kan-mixer mentioned on GitHubpytorch report
firasbdarwish/convkan3d mentioned on GitHubpytorch report
hoangthangta/all-kan mentioned on GitHubpytorch report
ivandrokin/torch-conv-kan mentioned on GitHubpytorch report
jaouadt/kanu_net mentioned on GitHubpytorch report
jloveric/high-order-layers-torch mentioned on GitHubpytorchMIT report
riiswa/kanrl mentioned on GitHubpytorch report
spacelearner/jacobikan mentioned on GitHubpytorch report
srigas/jaxKAN mentioned on GitHubjax report
synodicmonth/chebykan mentioned on GitHubpytorch report
tavish9/kanerf mentioned on GitHubpytorch report
vpuri3/kolmogorovarnold.jl mentioned on GitHubMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

45 samples harvested; 29 ran; 1 honoured the contract we drafted; 16 have no recorded run. Read from Syntology's graph 2026-09-25; that is when this build read the record, not when the samples ran.

1ran · honoured contract
28ran
16unverified

Licence: 18 of the 45 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 15 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

sparse_mask kindxiaoming/pykan/kan/KANLayer.py official repository ran · honoured contract MIT (permissive) · 2f28fd290c4d9bd9 · report
KANLayer kindxiaoming/pykan/kan/KANLayer.py official repository unverified MIT (permissive) · 81f6b6bcc71a3151 · report
get_feynman_dataset KindXiaoming/pykan/kan/feynman.py official repository unverified MIT (permissive) · 66c87ccdfecd9980 · report
next_nontrivial_operation KindXiaoming/pykan/kan/compiler.py official repository unverified MIT (permissive) · 5a7aee504b816c90 · report
pareto_frontier KindXiaoming/pykan/kan/experiment.py official repository unverified MIT (permissive) · 5a09c168cd818718 · report
runner1 KindXiaoming/pykan/kan/experiment.py official repository unverified MIT (permissive) · 2d265a6adde38491 · report
AF_KANLayer hoangthangta/all-kan/models/af_kan.py community (archive-listed) ran MIT (permissive) · 07caa2645c6f88dc · report
BSplineFunction jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · b92aedeeb42c44a3 · report
ChebyKAN cg80499/kan-gpt-2/transformer.py community (archive-listed) ran no licence file found · pointer only · b6a3b5c6796392f6 · report
ChebyKANLayer synodicmonth/chebykan/ChebyKANLayer.py community (archive-listed) ran fingerprinted no licence file found · pointer only · d78f0ff6a36bad3a · report
ChebyshevFunction jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · df26e00e41461ac5 · report
FourierBasisFunction jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · 67e96346db6b0aeb · report
JacobiKANLayer spacelearner/jacobikan/JacobiKANLayer.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · 1710ab92a3464cb1 · report
KAN 1ssb/torchkan/torchkan.py community (archive-listed) ran · metamorphic tier: deterministic fingerprinted MIT (permissive) · 0baa1b88f9939a21 · report
KAN ivandrokin/torch-conv-kan/kans/kan.py community (archive-listed) ran fingerprinted MIT (permissive) · 02d69923ac1319f1 · report
KAN engichang1467/Simple-KAN/model.py community (archive-listed) ran fingerprinted no licence file found · pointer only · ca2c6d9bc4073b91 · report
KANLayer ivandrokin/torch-conv-kan/kans/kan.py community (archive-listed) ran fingerprinted MIT (permissive) · 166660fec1a43c38 · report
KANLinear firasbdarwish/convkan3d/src/ConvKAN3D/efficient_kan.py community (archive-listed) ran GPL-3.0 (copyleft) · pointer only · 1c4b9e66c3895df6 · report
KANLinear engichang1467/Simple-KAN/model.py community (archive-listed) ran no licence file found · pointer only · ee552720e93579c6 · report
KANLinear chenziwenhaoshuai/Vision-KAN/ekan.py community (archive-listed) ran MIT (permissive) · bba5f2e58a12a52a · report
KANLinear athanasiosdelis/faster-kan/efficient_kan/kan.py community (archive-listed) ran · metamorphic tier: invariant Apache-2.0 (permissive) · cd044fcb8e3f44fc · report
KANLinear Blealtan/efficient-kan/src/efficient_kan/kan.py community (archive-listed) ran · metamorphic tier: invariant MIT (permissive) · 28166672e87da391 · report
LinearKAN Ipsedo/KolmogorovArnoldNetworks/kan/networks/networks.py community (archive-listed) ran no licence file found · pointer only · c159d03d56ef3105 · report
PolynomialFunction jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · 4d9332c12687c65a · report
RadialBasisFunction jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran · metamorphic tier: invariant fingerprinted no licence file found · pointer only · 432049a474dabd46 · report
SplineConv2D jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) ran fingerprinted no licence file found · pointer only · e31c4c404b98d796 · report
chebyshevLobatto jloveric/high-order-layers-torch/high_order_layers_torch/LagrangePolynomial.py community (archive-listed) ran fingerprinted MIT (permissive) · 9c1513ccebbda096 · report
conv_transpose_wrapper jloveric/high-order-layers-torch/high_order_layers_torch/FunctionalConvolutionTranspose.py community (archive-listed) ran MIT (permissive) · 5ce9da957bc84eec · report
conv_wrapper jloveric/high-order-layers-torch/high_order_layers_torch/FunctionalConvolution.py community (archive-listed) ran MIT (permissive) · 654325325ef70521 · report
get_lagrange_basis jloveric/high-order-layers-torch/high_order_layers_torch/LagrangePolynomial.py community (archive-listed) ran MIT (permissive) · c9ec66053c2c6c3d · report
max_abs jloveric/high-order-layers-torch/high_order_layers_torch/utils.py community (archive-listed) ran fingerprinted MIT (permissive) · e6a067cf62cc8c8b · report
max_abs_normalization jloveric/high-order-layers-torch/high_order_layers_torch/utils.py community (archive-listed) ran fingerprinted MIT (permissive) · a6d502baf050617f · report
max_abs_normalization_last jloveric/high-order-layers-torch/high_order_layers_torch/utils.py community (archive-listed) ran fingerprinted MIT (permissive) · a15c9905e0c2add9 · report
scalar_to_list jloveric/high-order-layers-torch/high_order_layers_torch/networks.py community (archive-listed) ran fingerprinted MIT (permissive) · 463cbaa8879bc79d · report
AF_KAN hoangthangta/all-kan/models/af_kan.py community (archive-listed) unverified MIT (permissive) · b00cb7f7deabbeab · report
ActivationFunction Ipsedo/KolmogorovArnoldNetworks/kan/networks/networks.py community (archive-listed) unverified no licence file found · pointer only · 36bad22a5b2a35bb · report
FastKANConvLayer jaouadt/kanu_net/src/fastkanconv.py community (archive-listed) unverified no licence file found · pointer only · 5be468792b0cf15a · report
InfoModule Ipsedo/KolmogorovArnoldNetworks/kan/networks/networks.py community (archive-listed) unverified no licence file found · pointer only · b8d00a4f1cb48922 · report
KAN chenziwenhaoshuai/Vision-KAN/ekan.py community (archive-listed) unverified MIT (permissive) · 9775b6b471f0efe7 · report
KAN athanasiosdelis/faster-kan/efficient_kan/kan.py community (archive-listed) unverified Apache-2.0 (permissive) · 0406a19e6e415352 · report
KAN Blealtan/efficient-kan/src/efficient_kan/kan.py community (archive-listed) unverified MIT (permissive) · 32c87d6531990ab4 · report
KANLayer cg80499/kan-gpt-2/transformer.py community (archive-listed) unverified no licence file found · pointer only · 6c165e56ec04e1b9 · report
LinearKanLayers Ipsedo/KolmogorovArnoldNetworks/kan/networks/networks.py community (archive-listed) unverified no licence file found · pointer only · 2c906ad0c6bcc8fb · report
fixed_rotation_layer jloveric/high-order-layers-torch/high_order_layers_torch/layers.py community (archive-listed) unverified MIT (permissive) · 6467947a4d7fb147 · report
select_network jloveric/high-order-layers-torch/high_order_layers_torch/modules.py community (archive-listed) unverified MIT (permissive) · 1e0e36dc3aa7b0f3 · report

Tasks

Kolmogorov-Arnold Networks

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections