GitHub_collection_pykan/tutorials/.ipynb_checkpoints/API_4_initialization-checkpoint.ipynb
2024-08-11 16:06:09 -04:00

288 lines
218 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": [
"cuda\n",
"checkpoint directory created: ./model\n",
"saving model version 0.0\n"
]
},
{
"data": {
"image/png": "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",
"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",
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
"print(device)\n",
"\n",
"model = KAN(width=[2,5,1], grid=5, k=3, seed=0, device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\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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",
"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', device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\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": 3,
"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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",
"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, device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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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",
"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., device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\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": 6,
"id": "8d5348a7",
"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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",
"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, device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\n",
"model(x) # forward is needed to collect activations for plotting\n",
"model.plot()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "bb2b1358",
"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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",
"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, device=device)\n",
"x = torch.normal(0,1,size=(100,2)).to(device)\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.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}