GitHub_collection_pykan/tutorials/API_4_initialization.ipynb
2024-08-11 13:02:16 -04:00

268 lines
227 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "134e7f9d",
"metadata": {},
"source": [
"# API 4: Initialization"
]
},
{
"cell_type": "markdown",
"id": "6581dacd",
"metadata": {},
"source": [
"Initialization is the first step to gaurantee good training. Each activation function is initialized to be $\\phi(x)={\\rm scale\\_base}*b(x) + {\\rm scale\\_sp}*{\\rm spline}(x)$.\n",
"1. $b(x)$ is the base function, default: 'silu', can be set with ${\\rm base\\_fun}$\n",
"\n",
"2. scale_sp sample from N(0, noise_scale^2)\n",
"\n",
"3. scale_base sampled from N(scale_base_mu, scale_base_sigma^2)\n",
"\n",
"4. sparse initialization: if sparse_init = True, most scale_base and scale_sp will be set to zero\n"
]
},
{
"cell_type": "markdown",
"id": "6459e11a",
"metadata": {},
"source": [
"Default setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "c3faa4ed",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"checkpoint directory created: ./model\n",
"saving model version 0.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from kan import KAN, create_dataset\n",
"import torch\n",
"\n",
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0)\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "markdown",
"id": "c3e6d104",
"metadata": {},
"source": [
"Case 1: Initialize all activation functions to be exactly linear. We need to set noise_scale_base = 0., base_fun = identity, noise_scale = 0."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "90d2d5de",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"checkpoint directory created: ./model\n",
"saving model version 0.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, base_fun = 'identity')\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "markdown",
"id": "1d834a51",
"metadata": {},
"source": [
"Case 2: Noisy spline initialization (not recommended, just for illustration). Set noise_scale to be a large number."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "a23d4e55",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"checkpoint directory created: ./model\n",
"saving model version 0.0\n"
]
},
{
"data": {
"image/png": "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Skpy+rFGO4QQPpPhJJOSkuJwifer4U7BuFouXCmhxsZG3HTTTS7Joru6uvDXv/4VW7ZsgY+PDx577DFs2LBhxEiFY8TJhYOTzK5du1BVVYXx48dj9erVyMnJcerJ7y7BuFounFji4uKcvsLXaDRi165d+PTTT9HX14ebbroJDzzwgOA1yUYDl0omJiYGqampTpeMuwTjSrlwYmlqasKNN97odLF0dnbijTfewIcffgg/Pz9s2LABjz32mNvGbd3NiJXLQKqqqrBr1y5UVFQgKSkJq1evdupOmO4QjCvl0tXVhfb2dqeLxWAwYOfOnfjss8+gVCpx880344EHHhCsbMxohhCCzs5ONDQ0QKfTuUQy7hCMq+TC1alrbm7GTTfd5NQu2vb2drzxxhv417/+hYCAADz++ON49NFHBVkv505GhVw4BkomMTERq1evRl5enlMuAqvViuLiYvT19SE3N9fpg3GukosrxKLX63mpqFQqLF++HPfff79g1Vkp/8dgkklJSXFa9W9XC8YVcrFardi7dy9aWlqcKpb29na8/vrr+OijjxAYGMhLReg6he5iVMmFo6amBjt37sSFCxeQmJiIVatWIT8/f9gXgisF4wq5cGIZO3asU+oS6fV67NixA59//jlUKhVWrFiB+++/X/DqrJTLuVQy0dHRSE1NdYpkXCkYZ8tloFhuvvlmp4z/tba24o033sBHH32E4OBgPPHEE/j1r38tmu073MWolAuHTCbDrl27UF5ejnHjxmH16tWYMWPGsC4GlmVRXFyM3t5e5OXlOU0wzpZLZ2cnOjo6nCIWvV6Pr7/+Gl988QU0Gg0vFbFUZ6VcGUIIurq60NDQAK1Wi6ioKKSmpg776ZplWX5LamcKxply4aprt7a2OkUsLS0teOONN/Dxxx8jJCQEv/nNb/DII4+4ZBKFJzCq5cJRW1uLnTt38pJZtWoVZsyY4fA2qgMFk5ub65RFUM6Ui7PEotPpeKlotVqsXLkS9913n+iqs1KuDSEE3d3dqK+vd5pkuN0sAecJxllyGSiW5cuXD2tySXNzM15//XV88sknCA0NxZNPPolf/epXo1YqHFQuA6itrcXu3btx7tw5xMfH49Zbb8WsWbMckoyzBeMsuThDLFqtlpeKXq/HypUrce+991KpjACcLRlnC8YZcrFarfjxxx/R1tY2LLE0NTXh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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, noise_scale=0.3)\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "37884df0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"checkpoint directory created: ./model\n",
"saving model version 0.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, noise_scale=10.)\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "markdown",
"id": "4641f36a",
"metadata": {},
"source": [
"Case 3: scale_base_mu and scale_base_sigma"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8d5348a7",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, scale_base_mu=5, scale_base_sigma=0)\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "bb2b1358",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 500x400 with 22 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, sparse_init=True)\n",
"x = torch.normal(0,1,size=(100,2))\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fc98e243",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}