|
|
|
@ -2,19 +2,20 @@
|
|
|
|
"cells": [
|
|
|
|
"cells": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 1,
|
|
|
|
"execution_count": 25,
|
|
|
|
"id": "dense-italic",
|
|
|
|
"id": "meaningful-piece",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
"import torch\n",
|
|
|
|
"import torch\n",
|
|
|
|
"import numpy\n"
|
|
|
|
"import numpy\n",
|
|
|
|
|
|
|
|
"from torch.autograd.functional import jacobian"
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 2,
|
|
|
|
"execution_count": 2,
|
|
|
|
"id": "adult-cargo",
|
|
|
|
"id": "prescribed-roller",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -27,7 +28,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 3,
|
|
|
|
"execution_count": 3,
|
|
|
|
"id": "photographic-miniature",
|
|
|
|
"id": "amateur-taste",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -38,7 +39,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"execution_count": null,
|
|
|
|
"id": "charming-plate",
|
|
|
|
"id": "accepted-bonus",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": []
|
|
|
|
"source": []
|
|
|
|
@ -46,7 +47,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 4,
|
|
|
|
"execution_count": 4,
|
|
|
|
"id": "fitting-horizontal",
|
|
|
|
"id": "burning-peeing",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -56,7 +57,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 5,
|
|
|
|
"execution_count": 5,
|
|
|
|
"id": "secret-oasis",
|
|
|
|
"id": "special-hydrogen",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -66,7 +67,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 6,
|
|
|
|
"execution_count": 6,
|
|
|
|
"id": "comic-context",
|
|
|
|
"id": "played-fairy",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -121,7 +122,7 @@
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"id": "chinese-family",
|
|
|
|
"id": "scientific-egypt",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
"# Try this\n",
|
|
|
|
"# Try this\n",
|
|
|
|
@ -163,7 +164,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 7,
|
|
|
|
"execution_count": 7,
|
|
|
|
"id": "exceptional-amount",
|
|
|
|
"id": "flexible-hotel",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -174,7 +175,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 8,
|
|
|
|
"execution_count": 8,
|
|
|
|
"id": "biblical-convertible",
|
|
|
|
"id": "floating-alert",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -198,7 +199,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 9,
|
|
|
|
"execution_count": 9,
|
|
|
|
"id": "classified-crisis",
|
|
|
|
"id": "historical-elevation",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -222,7 +223,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 10,
|
|
|
|
"execution_count": 10,
|
|
|
|
"id": "charged-locator",
|
|
|
|
"id": "proud-brake",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -244,7 +245,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 11,
|
|
|
|
"execution_count": 11,
|
|
|
|
"id": "cheap-necessity",
|
|
|
|
"id": "protective-grave",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -267,7 +268,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 12,
|
|
|
|
"execution_count": 12,
|
|
|
|
"id": "flexible-nightlife",
|
|
|
|
"id": "coated-guard",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -292,7 +293,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 13,
|
|
|
|
"execution_count": 13,
|
|
|
|
"id": "heavy-duration",
|
|
|
|
"id": "competitive-acting",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
@ -303,7 +304,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 14,
|
|
|
|
"execution_count": 14,
|
|
|
|
"id": "quantitative-organ",
|
|
|
|
"id": "statutory-starter",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -324,7 +325,7 @@
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 16,
|
|
|
|
"execution_count": 16,
|
|
|
|
"id": "transparent-cartridge",
|
|
|
|
"id": "engaged-teddy",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -351,16 +352,124 @@
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"id": "adjusted-saskatchewan",
|
|
|
|
"id": "stretch-mercury",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"source": [
|
|
|
|
"source": [
|
|
|
|
"So, I think I can construct a gradient, and possibly invert it/choose some other solution method."
|
|
|
|
"So, I think I can construct a gradient, and possibly invert it/choose some other solution method."
|
|
|
|
]
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
|
|
|
"id": "disciplinary-opposition",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"basic transition functions\n",
|
|
|
|
|
|
|
|
"$$\n",
|
|
|
|
|
|
|
|
"s^i(s,D)\\prime = (1-D^{\\sum s}) s^i + x\\\\\n",
|
|
|
|
|
|
|
|
"D\\prime = (1-\\delta)D + D^{\\alpha} +\\gamma D^{\\sum s} +\\Gamma x\n",
|
|
|
|
|
|
|
|
"$$"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
|
|
|
"execution_count": 54,
|
|
|
|
|
|
|
|
"id": "missing-robinson",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"outputs": [],
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"def satellite_loss(d,s):\n",
|
|
|
|
|
|
|
|
" return d**(s.sum())\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"def gs(d,s,x):\n",
|
|
|
|
|
|
|
|
" return (1-d**(s.sum()))*s + x\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"#Parameters\n",
|
|
|
|
|
|
|
|
"gamma, alpah, Gamma, delta = 0.1, 4000, 0.001, 0.1\n",
|
|
|
|
|
|
|
|
"\n",
|
|
|
|
|
|
|
|
"def gd(d,s,x):\n",
|
|
|
|
|
|
|
|
" return d*(1-delta) + gamma *s.sum()*d**(s.sum()) + Gamma*x"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
|
|
|
"execution_count": 51,
|
|
|
|
|
|
|
|
"id": "driving-wright",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"outputs": [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
|
|
"text/plain": [
|
|
|
|
|
|
|
|
"(tensor([7.9941, 6.9961], grad_fn=<AddBackward0>),\n",
|
|
|
|
|
|
|
|
" tensor([6., 4.], requires_grad=True),\n",
|
|
|
|
|
|
|
|
" tensor([2., 3.], requires_grad=True))"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
"execution_count": 51,
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"D = torch.Tensor([0.5])\n",
|
|
|
|
|
|
|
|
"gs(D,b,a),b,a"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
|
|
|
"execution_count": 52,
|
|
|
|
|
|
|
|
"id": "infectious-plaintiff",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"outputs": [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
|
|
"text/plain": [
|
|
|
|
|
|
|
|
"(tensor([[-0.1172],\n",
|
|
|
|
|
|
|
|
" [-0.0781]]),\n",
|
|
|
|
|
|
|
|
" tensor([[1.0031, 0.0041],\n",
|
|
|
|
|
|
|
|
" [0.0027, 1.0017]]),\n",
|
|
|
|
|
|
|
|
" tensor([[1., 0.],\n",
|
|
|
|
|
|
|
|
" [0., 1.]]))"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
"execution_count": 52,
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"jacobian(gs,(D,b,a))"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
|
|
|
"execution_count": 53,
|
|
|
|
|
|
|
|
"id": "proud-dance",
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"outputs": [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
|
|
"text/plain": [
|
|
|
|
|
|
|
|
"(tensor([[0.9195],\n",
|
|
|
|
|
|
|
|
" [0.9195]]),\n",
|
|
|
|
|
|
|
|
" tensor([[-0.0006, -0.0006],\n",
|
|
|
|
|
|
|
|
" [-0.0006, -0.0006]]),\n",
|
|
|
|
|
|
|
|
" tensor([[0.0010, 0.0000],\n",
|
|
|
|
|
|
|
|
" [0.0000, 0.0010]]))"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
"execution_count": 53,
|
|
|
|
|
|
|
|
"metadata": {},
|
|
|
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
"source": [
|
|
|
|
|
|
|
|
"jacobian(gd,(D,b,a))"
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"execution_count": null,
|
|
|
|
"id": "outdoor-functionality",
|
|
|
|
"id": "satisfied-briefs",
|
|
|
|
"metadata": {},
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"outputs": [],
|
|
|
|
"source": []
|
|
|
|
"source": []
|
|
|
|
|