KAN原作论文github阅读(readme)
目录
目录
地址
超参数设置
结构规模要小
lamb——正则化参数入
增加解释性
1.稀疏化网路
2.剪枝
3.可解释性与准确性不一定对立,
4.训练出较好的结果,可以增加数据量,再来最后一次的训练!
作者note
一些链接:
主要是作者的建议与ssn
地址
pykan/README.md at master · KindXiaoming/pykan · GitHub
超参数设置
结构规模要小
Start from a simple setup (small KAN shape, small grid size, small data, no reguralization lamb=0
).
lamb——正则化参数入
"lamb" 是指正则化参数λ(lambda),它在机器学习和深度学习中用于正则化模型以防止过拟合。正则化是一种惩罚模型复杂性的方法,通过在损失函数中添加一个与模型参数大小相关的项来实现。
具体来说,这里的"lamb=0"意味着没有应用正则化,或者正则化的强度被设置为0。
具体来说,这里的"lamb=0"意味着没有应用正则化,或者正则化的强度被设置为0。以下是一些常见的正则化技术及其对应的λ参数:
- L1正则化(Lasso):在损失函数中添加模型权重绝对值之和的λ倍。
- L2正则化(Ridge):在损失函数中添加模型权重平方和的λ倍。
- 弹性网(Elastic Net):是L1和L2正则化的组合,损失函数中同时包含L1和L2正则化项,每个项前都有自己的λ参数。
例如5输入1输出,会首先尝试width=【5,1,1】的=》增加宽度=》增加深度
增加解释性
1.稀疏化网路
增加lamb
model.train(lamb=0.01)
2.剪枝
现成的剪枝方法
pruned_model = model.prune()
3.可解释性与准确性不一定对立,
时常正相关,有一个平衡
4.训练出较好的结果,可以增加数据量,再来最后一次的训练!
5.为防止过拟合,先让模型欠拟合,在逐步增加数据量,增大规模时,先增加grid,在增加width
作者note
适用于小规模、训练速度熳效率不高、不能即插即用、需要调整超参数、
是否适用llm?恐怕还不行
与mlp还不能相互替代。
作者是学物理的。
一些链接:
API
API — Kolmogorov Arnold Network documentation
GITHUB
pykan/kan/KANLayer.py at master · KindXiaoming/pykan · GitHub
WELCOME
Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation
这个加载不出来可能需要
https://private-user-images.githubusercontent.com/23551623/326218913-a2d2d225-b4d2-4c1e-823e-bc45c7ea96f9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjk5MzA2MjEsIm5iZiI6MTcyOTkzMDMyMSwicGF0aCI6Ii8yMzU1MTYyMy8zMjYyMTg5MTMtYTJkMmQyMjUtYjRkMi00YzFlLTgyM2UtYmM0NWM3ZWE5NmY5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDI2VDA4MTIwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJkNjY3OWU1YjI1ZGIwMDU3ZDhkYjVhZmE2NWE3M2Y5ODA4ZTU0OGUzYWQ2MTc2ZWRhMWY4ZTBjZjNkODBkMmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.f1mpblwj5sFoZZyyaFsT7PwxPetbtkajqPm_EwmhZbI