pykan
pykan copied to clipboard
FourierSynthKan?
So the use of splines is cool, but computationally expensive, and for large models storage of the parameters might become extremely large.
Instead of a spline for each edge, what about a sine wave?
Functions can be approximated to varying levels of precision by sine waves
For each edge, we store the amplitude, phase and frequency.
We could get even simpler, and each level would increase the frequency of the previous by one, and each column could shift the phase by a set amount.
Of course we need more edges, but each edge is simpler.
Finally, another simplification is to simply use a sampled lookup table for the sine.
This could be done, I think fairly quickly in hardware.
This might not be as useful for precise function approximation, but would be like quantitized models currenly being used elsewhere.
Wow, thanks for the suggestions for speedup! Here's someone who implemented FourierKAN (I haven't looked into it yet)