diff --git a/intro-teaser.ipynb b/intro-teaser.ipynb index 029b793..712cffa 100644 --- a/intro-teaser.ipynb +++ b/intro-teaser.ipynb @@ -10,16 +10,16 @@ }, { "cell_type": "markdown", - "id": "lesbian-brave", + "id": "original-brave", "metadata": {}, "source": [ - "Let's start with a very reduced example that highlights some of the key capabilities of physics-based learning approaches.\n", + "Let's start with a very reduced example that highlights some of the key capabilities of physics-based learning approaches. Let's assume our physical model is an extremely simple equation: a parabola along +x\n", "\n", - "Take a look at the following picture - the desired solution is shown in light gray. If we don't take care we'll learn an approximation like the red one shown on the left, which is completely off! With an improved learning setup, ideally by using a discretized numerical solver, we can at least accurately represent a part of the solutions (shown in green on the right).\n", + "Despite being very simple, for every point along there are two solutions, i.e. we have two modes, one above the other one below the x axis, as shown on the left below. If we don't take care a conventional learning approach will give us an approximation like the red one shown on the middle, which is obviously completely off. With an improved learning setup, ideally by using a discretized numerical solver, we can at least accurately represent one of the modes of the solution (shown in green on the right).\n", "\n", "```{figure} resources/intro-teaser-side-by-side.png\n", "---\n", - "height: 240px\n", + "height: 180px\n", "name: intro-teaser-side-by-side\n", "---\n", "Side by side - supervised versus differentiable physics training.\n", @@ -49,7 +49,7 @@ "\n", "In contrast to this supervised approach, employing differentiable physics takes advantage of the fact that we can directly use a discretized version of the physical model $\\mathcal P$ and employ it to guide the training of $f$. I.e., we want $f$ to _interact_ with our _simulator_ $\\mathcal P$. This can vastly improve the learning, as we'll illustrate below with a very simple example (more complex ones will follow later on).\n", "\n", - "Note that it order for the DP approach to work, $\\mathcal P$ has to differentiable, as implied by the name. These differentials, in the form of a gradient, are what's driving the learning process.\n" + "Note that in order for the DP approach to work, $\\mathcal P$ has to differentiable, as implied by the name. These differentials, in the form of a gradient, are what's driving the learning process.\n" ] }, { @@ -67,9 +67,9 @@ "source": [ "To illustrate these two approaches, we consider the following simplified setting: Given the function $\\mathcal P: y\\to y^2$ for $y$ in the intverval $[0,1]$, find the unknown function $f$ such that $\\mathcal P(f(x)) = x$ for all $x$ in $[0,1]$. Note: to make things a bit more interesting, we're using $y^2$ here instead of the more common $x^2$ parabola, and the _discretization_ is simply given by representing the $x$ and $y$ via floating point numbers in the computer for this simple case.\n", "\n", - "We know possible solutions for $f$ are the positive or negative square root function (for completeness: piecewise combinations would also be possible).\n", - "We can try to solve this by using a neural network to approximate the inverse mapping $f$.\n", - "Let's start with the supervised approach." + "We know that possible solutions for $f$ are the positive or negative square root function (for completeness: piecewise combinations would also be possible).\n", + "Knowing that this is not overly difficult, it's an obvious idea to try training a neural network to approximate this inverse mapping $f$.\n", + "Doing this in the \"classical\" supervised manner, i.e. purely based on data, is an obvious starting point. After all, this approach was shown to be powerful tools for a variety of other applications, e.g., in computer vision." ] }, { @@ -89,7 +89,7 @@ "id": "numerous-emphasis", "metadata": {}, "source": [ - "For supervised training, we can employ use our solver $\\mathcal P$ for the problem to pre-compute the solutions we need for training: We randomly choose between the positive and the negative square root. This resembles the general case, where we would use optimization techniques to compute this the solutions. These methods are not expected to favor one particular mode in multimodal solutions." + "For supervised training, we can employ our solver $\\mathcal P$ for the problem to pre-compute the solutions we need for training: We randomly choose between the positive and the negative square root. This resembles the general case, where we would gather all data available to us (e.g., using optimization techniques to compute the solutions). Such a data collection typically does not favor one particular mode from multimodal solutions." ] }, { @@ -121,7 +121,7 @@ "id": "stone-science", "metadata": {}, "source": [ - "Now we can define a network, loss, and training configuration. We'll use a simple `keras` model with three hidden layers, ReLU activations." + "Now we can define a network, the loss, and the training configuration. We'll use a simple `keras` model with three hidden layers, ReLU activations." ] }, { @@ -134,8 +134,8 @@ "# Neural network\n", "act = tf.keras.layers.ReLU()\n", "model_sv = tf.keras.models.Sequential([\n", - " tf.keras.layers.Dense(8, activation=act),\n", - " tf.keras.layers.Dense(8, activation=act),\n", + " tf.keras.layers.Dense(10, activation=act),\n", + " tf.keras.layers.Dense(10, activation=act),\n", " tf.keras.layers.Dense(1,activation='linear')])" ] }, @@ -144,7 +144,7 @@ "id": "confirmed-cargo", "metadata": {}, "source": [ - "And we can start training via a simple mean squared error loss, using keras `fit` function:" + "And we can start training via a simple mean squared error loss, using `fit` function from keras:" ] }, { @@ -158,25 +158,26 @@ "output_type": "stream", "text": [ "Epoch 1/5\n", - "40/40 [==============================] - 0s 842us/step - loss: 0.5951\n", + "40/40 [==============================] - 0s 792us/step - loss: 0.4962\n", "Epoch 2/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.5594\n", + "40/40 [==============================] - 0s 853us/step - loss: 0.4938\n", "Epoch 3/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.5462\n", + "40/40 [==============================] - 0s 716us/step - loss: 0.4935\n", "Epoch 4/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.5404\n", + "40/40 [==============================] - 0s 1ms/step - loss: 0.4939\n", "Epoch 5/5\n", - "40/40 [==============================] - 0s 965us/step - loss: 0.5379\n" + "40/40 [==============================] - 0s 2ms/step - loss: 0.4937\n" ] } ], "source": [ "# Loss function\n", "loss_sv = tf.keras.losses.MeanSquaredError()\n", - "model_sv.compile(optimizer='adam', loss=loss_sv)\n", + "optimizer = tf.keras.optimizers.Adam(lr=0.001)\n", + "model_sv.compile(optimizer=optimizer, loss=loss_sv)\n", "\n", "# Training\n", - "results_sv = model_sv.fit(X, Y, epochs=5, batch_size= 5,verbose=1)" + "results_sv = model_sv.fit(X, Y, epochs=5, batch_size= 5, verbose=1)" ] }, { @@ -184,9 +185,9 @@ "id": "governmental-mixture", "metadata": {}, "source": [ - "As both model and data set are very small, the training converges very quickly, but if we inspect the predictions of the network, we can see that it is nowhere near the solution we were hoping to find: it averages between the data points on both sides of the x-axis and therefore, fails to find satisfying solutions to our above problem.\n", + "As both model and data set are very small, the training converges very quickly. However, if we inspect the predictions of the network, we can see that it is nowhere near the solution we were hoping to find: it averages between the data points on both sides of the x-axis and therefore fails to find satisfying solutions to the problem above.\n", "\n", - "The following plots nicely highlights this: it shows the data in light gray, and the supervised solution in red. " + "The following plot nicely highlights this: it shows the data in light gray, and the supervised solution in red. " ] }, { @@ -197,7 +198,7 @@ "outputs": [ { "data": { - "image/png": "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lbvuuoszzzyTiooKDjnkEAAuuugi7r77br71rW/FnTty5Eg++9nPAnD88cfz3HPPhX7H0Ucfzfnnn8+8efOYN29eCndtTG6LRqOxRHZZWVnsGeHVLLxnSFNTU7dzvX0iEkt+99b0VFJSQklJSdzndMh0L6wv97JfgW8k2LcYWDwY5erJ6NGj+/QPm4rq6moikQgf+chH+P73v8+ECRP4xz/+wf79+ykoKAg9584770zquGA32r50q83Pz48dH4lE2LdvX+hxTz31FC+99BJ//OMfue2221izZg15ecN+zKoZgtrb22lra2P06NGxIOEltYFYMruyspLCwsK4P0ATERGKi4spLi7udu1sY/9X91FhYSEVFRWD9g9bX1/PlVdeydVXX42IsHPnTiZPnsyIESN44IEH6OzsBGDs2LG0tLTEzkt0XND777/PihUrmD17Ng8//DAf+9jHOPTQQ6mpqWHTpk0cfPDB/PrXv+a0005Lusz+suzfv58tW7Zw+umn87GPfYwlS5bQ2trKuHHjUv+lGJNBYUHC2+7VJvxdZMOS2l5Lhf8PUE95eTmdnZ1EIhE6OzvjvidbA4fHAkgKCgsLB/QfdteuXcyaNYu9e/eSl5fHBRdcwLXXXgvAVVddxbnnnsuDDz7IWWedFavxHH300UQiEY455hguvvjihMcFHXroodx9991ceumlzJw5k69//esUFBRw3333cd5557Fv3z5OOOEErrzyyqTLP3/+fK644gruuusulixZwmWXXcbOnTtRVb75zW9a8DA5IxqN0tTURF5eHl6vzbAgAYmbs4uKimhtbY27rvf/o/cHqNd0VVxcnPVBoifDak30qqoqDS4otWHDBg4//PAMlSi9ampq+OxnP8vataEzx6TNcPqdm+zmr110dHTEmp48xcXFcXmKCRMmxAJLohoIJM6B5CoRWaWqVcHtVgMxxgx57e3tsUAwatSoWJORf5T2AQccEHpuopxnT83ZwaT2UGUBZBiZPn16xmsfxqSDv2YBJNXzKT8/v9tEn70lswe6OTvXWAAxxgwpwaalcePGJdXzqaysjLFjx8blQHIlmZ0pFkCMMVlty5YttLS0kJ+fz6RJk3p9mAeT20C3nk/etokTJ8b1fCosLBwWTU8DxQKIMSZreE1PXpfW1tbW2ASAu3fvprq6OjamIpHgWC2vGSqYA8nm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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEWCAYAAABIVsEJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA2VElEQVR4nO3deXhedZ3//+e76ZKmTWlCStu0dImUTQotBqTjKOXL6jKyudQRWQQRER2/jihcDCOCjCg/reMM11erIouyKShVhqFYKKAUocUqUKAtbYAuKWmT0jZpaJO+f3+cc5KTk3Pf2XPnTl6P67qv3Pc5n3Puz7mTnPf92c3dERER6aphuc6AiIjkJwUQERHpFgUQERHpFgUQERHpFgUQERHpFgUQERHpFgUQkQ6Y2Xwz29iL57vQzP7UW+cbaAb79UkrBRDJC2b2j2b2tJm9bWa1ZvZnMzsu3KcblkgODM91BkQ6YmbjgD8AXwDuA0YC7wfeyWW+OsPMhrt7U67zkWYg503yg0ogkg8OBXD3u9292d33uPsSd/+7mR0B/BiYZ2a7zWwHgJl92Mz+amY7zexNM7suOpmZzTAzN7MLzOwNM9tmZtfE9o82s9vMrM7MVgPHxTNjZleZ2WtmtsvMVpvZ2bF9F4alo4Vmth24zswONLPFYV6eBd6V7WLN7NdmVh2Wtp40s3fH9t1mZj82s0fD93/CzKbH9ruZfdnM1ofXdbOZDcuStwPM7A4zqzGz183s32Lp32Vmj5nZ9vBcvzKz8bH3OtjMHgiP3W5m/524jv8v/Aw3mNkHO/gdSx5SAJF8sAZoNrPbzeyDZlYS7XD3l4HLgOXuPtbdx4e76oHzgfHAh4EvmNlZifP+I3AYcDLw72EwAvgmwU3+XcDpwAWJ414jKAEdAHwL+KWZTY7tfy+wHpgI3AjcAjQCk4HPho9sHgZmAQcBzwO/Suz/NHADUAasStl/NlAJHAucmXi/ZN7+K7yOCuBEgs/sojCtAd8ByoEjgIOB6wDMrICgVPg6MAOYAtyTeJ9Xwzx+D/i5mVkH1y35xt310GPAPwhuYLcBG4EmYDEwMdx3IfCnDo7/IbAwfD4DcGBqbP+zwILw+XrgjNi+S4GNWc69Cjgzlpc3YvsKgH3A4bFt/9FRfmNpx4d5PSB8fRtwT2z/WKAZODh87Ym8Xw4szZK3vcCRsW2fB5ZlyMtZwF/D5/OAGmB4SroLgXWx10Vhvibl+u9Ij959qAQiecHdX3b3C919KnAUwbfiH2ZKb2bvNbPHw+qVtwlKKWWJZNWx5w0EN2PCc78Z2/d64tznm9kqM9sRVpkdlTh3/NgJBG2NGc+XOHeBmd0UVpHtBKrCXannd/fdQG2Y57T3fz3LvjJgRCI/rxOUJjCziWZ2j5ltCvPyy1g+DgZe98xtKC2frbs3hE/HZkgreUoBRPKOu79C8E38qGhTSrK7CEopB7v7AQTtJJ2tQtlCcIOMTIuehO0NPwWuAA70oMrsxcS54/mpISgxpZ4vxT8TVDudQlC1NCN661ialnOZ2VigFNictj98r/i+eN62EZSOpifSbwqf/0eYfra7jwPOi+XjTWCamakjzhCmACIDnpkdbmb/amZTw9cHA58CngmTbAWmmtnI2GHFQK27N5rZ8QQ35s66D7jazErC9/xSbN8YgptqTZiXi2gNZO24ezPwAEGDdZGZHUn7NpW4YoLeZdsJqn7+IyXNhyzo1jySoC3kGXePlyyuDPN+MPAvwL1Z8nYfcKOZFYfB8asEJY0oL7uBt81sCnBl7PBnCQLtTWY2xswKzex9Wa5LBiEFEMkHuwgaZf9iZvUEgeNF4F/D/Y8BLwHVZrYt3HY5cL2Z7QL+neBG2VnfIqjK2QAsAe6Mdrj7auD7wHKCwDUb+HMH57uCoPqmmqDk9Issae8I33sTsJrWIBl3F0FDfy3wHoKSQdyDwEqCtpmHgJ9neb8vEXQ4WA/8KTz3reG+bxE0xL8dnueB6KAw+PwTcAjwBkHb1CezvI8MQuauBaVE8oWZ3UbQoP9vGfY7MMvd1/VrxmRIUglERES6RQFERES6RVVYIiLSLSqBiIhItwypPtxlZWU+Y8aMXGdDRCSvrFy5cpu7T0huH1IBZMaMGaxYsSLX2RARyStmljp7gqqwRESkWxRARESkWxRARESkW4ZUG0iaffv2sXHjRhobG3OdlSGhsLCQqVOnMmLEiFxnRUR6KKcBxMxuBT4CvOXu7SakCxeg+U/gQwTTbV/o7s+H+y4Aoukcvu3ut3cnDxs3bqS4uJgZM2ag9W76lruzfft2Nm7cyMyZM3OdHRHpoVxXYd0GnJFl/wcJVmabRbCoz/8DMLNSgsnk3gscD3wzvkpdVzQ2NnLggQcqePQDM+PAAw9UaU9kkMhpAHH3JwlmFM3kTOAODzwDjA+XDj0deNTda929DniU7IEoKwWP/qPPWqTvNTQ0sGnTJjZt2kRDQ0PHB3TTQG8DmULbFdQ2htsybW/HzC4lKL0wbVq2dXxERPJLQ0MD9fX1jBkzhqKiopZtGzZsiJYTpq6ujoqKipb9vSnXVVh9zt0XuXulu1dOmNBuIOWAUFBQwJw5c3j3u9/NMcccw/e//33279+f9ZiqqiruuuuuPs/bJZdcwurVq7Om+d3vftdhGhHpmYaGBmpqaqitraWmpobq6mrWr1/P1q1b2bBhQ0tJo76+nuQch/X19X2Sp4EeQDbRdnnOqeG2TNvz0ujRo1m1ahUvvfQSjz76KA8//DDf+ta3sh7TXwHkZz/7GUceeWTWNAogIn0rKlVs3bqVzZs3s3XrVrZt29ay391bgsSYMWPaVRWPGTOmT/I10APIYuB8C5wAvO3uW4BHgNPCZTtLgNPCbf0i+ibQF3WLBx10EIsWLeK///u/cXeqqqp4//vfz7HHHsuxxx7L008/DcBVV13FU089xZw5c1i4cGHGdHFVVVUcfvjhfPrTn+aII47gYx/7WMs1LF26lLlz5zJ79mw++9nP8s477wAwf/78lulfxo4dyzXXXMMxxxzDCSecwNatW3n66adZvHgxV155JXPmzOG1117jRz/6EUceeSRHH300CxYs6PXPSCTfdbWNIq1UkRQFiaKiImbOnElJSQklJSV9Vn0FBJErVw/gboJ1lfcRtGNcDFwGXBbuN+AW4DXgBaAyduxngXXh46LOvN973vMeT1q9enW7bdnU19f7iy++6C+88IK/+OKLXl9f36Xj04wZM6bdtgMOOMCrq6u9vr7e9+zZ4+7ua9as8egaHn/8cf/whz/cJl9p6eI2bNjggP/pT39yd/eLLrrIb775Zt+zZ49PnTrVX331VXd3/8xnPuMLFy50d/cTTzzRn3vuOXd3B3zx4sXu7n7llVf6DTfc4O7uF1xwgf/6179ueZ/Jkyd7Y2Oju7vX1dW1y0dXP3ORwaS+vt5feOGFlkdn7iPx+07aY/v27X2aZ2CFp9xTc9qI7u6f6mC/A1/MsO9WWtdu7jfxbwIeFhv7LLoTDHS84oorWLVqFQUFBaxZs6ZH6Q4++GDe9773AXDeeefxox/9iFNPPZWZM2dy6KGHAnDBBRdwyy238JWvfKXNsSNHjuQjH/kIAO95z3t49NFHU9/j6KOP5tOf/jRnnXUWZ511VjeuWiS/NDQ0UFdXBwRV0s3NzTQ3N9PY2Mi4ceMoLS1tSZtsj+jMfSQqVdTX11NQUEBzc3PLz3gDen8b6L2wBpyoftHdMbM+qVtcv349BQUFHHTQQXzrW99i4sSJ/O1vf2P//v0UFhamHrNw4cJOpUvWjXalW+2IESNa0hcUFNDU1JSa7qGHHuLJJ5/k97//PTfeeCMvvPACw4frT00GlyhovPPOO22qoaJAEtm9ezdASxBJ3jM6ex8pKirKWaDIZKC3gQw40TeBiRMnMnPmzF7/hdbU1HDZZZdxxRVXYGa8/fbbTJ48mWHDhnHnnXfS3NwMQHFxMbt27Wo5LlO6pDfeeIPly5cDcNddd/GP//iPHHbYYVRVVbFu3ToA7rzzTk488cRO5zmel/379/Pmm29y0kkn8d3vfpe333675R9IZLCIGrXr6uo61Yaxc+fOludFRUVUVFS0tFH0xX2kvyiAdENRURETJkzotV/6nj17WrrxnnLKKZx22ml885vfBODyyy/n9ttv55hjjuGVV15p+aZy9NFHU1BQwDHHHMPChQszpks67LDDuOWWWzjiiCOoq6vjC1/4AoWFhfziF7/g4x//OLNnz2bYsGFcdtllnc7/ggULuPnmm5k7dy5r167lvPPOY/bs2cydO5cvf/nLjB8/vsefkUhf60rnmM40aseNGzeuzeuioiKmTJnClClT8jZ4wBBbE72ystKTC0q9/PLLHHHEETnKUf+qqqriIx/5CC+++GJO8zGUPnMZWOJtFSUlJamD78ysw1JBcrBepLi4mOLi4qxtIPnIzFa6e2VyuyqmRWTQiUZoxxucd+3a1abaNz5Cu6udY6Kq7Lq6Opqamhg+fHibgDRUKIAMITNmzMh56UOkt8Wn8wCorq7u9BitKFB0p3PMQGzU7m8KICKSN7IFiygAdEVy8F1yXinJTgFERAa8qO0i2UU2rivBo7i4uF1HGJUouk4BRERyKtOMsvGSRlqDdWcccMABFBYWUlBQwJ49ewCGZFtFX1EAEZF+F2/k3rJlS5veT0CbHlHjx4/vVPAoKytj3Lhx1NTUsG/fPkpLS/O+99NAp3EgA8CNN97Iu9/9bo4++mjmzJnDX/7yl5zk4x/+4R96fI5ly5a1THcikiY5s2yy91OyRxS0zphgZi0TBFZUVFBcXMzo0aMpLy9n0qRJFBUVMX36dA455BAFj36gEkiOLV++nD/84Q88//zzjBo1im3btrF3794+ea9oArRhw9K/N6TN4CvSWWlVUWkyDcKL936K94iKRmynnXv69Om9fyHSaSqBdMfy5fCd7wQ/e2jLli2UlZUxatQoICiGl5eXM2PGjJb5/lesWMH8+fMBuO666/jMZz7DvHnzmDVrFj/96U9bznXzzTdz3HHHcfTRR7eMZK+qquKwww7j/PPP56ijjuKGG27gyiuvbDnmtttu44orrgCC6dqjPH3gAx9gzpw5HHXUUTz11FMALFmyhHnz5nHsscfy8Y9/vGWKkv/93//l8MMP59hjj+WBBx7o8Wci+SdeqogvbpQmvl6FmVFeXt5maqC06YJ6e/YH6R0KIF21fDmcfDJce23ws4dB5LTTTuPNN9/k0EMP5fLLL+eJJ57o8Ji///3vPPbYYyxfvpzrr7+ezZs3s2TJEtauXcuzzz7LqlWrWLlyJU8++SQAa9eu5fLLL+ell17i8ssv57e//W3Lue699952a3bcddddnH766axatYq//e1vzJkzh23btvHtb3+bP/7xjzz//PNUVlbygx/8gMbGRj73uc/x+9//npUrV1JdXd2jz0MGroaGBl5//XVee+01amtr2+xLG4iXSTJAlJaWpvaIUsAY+FSF1VXLlsHevdDcHPxctgzmzev26caOHcvKlSt56qmnePzxx/nkJz/JTTfdlPWYM888k9GjRzN69GhOOukknn32Wf70pz+xZMkS5s6dCwQzgK5du5Zp06Yxffp0TjjhBAAmTJhARUUFzzzzDLNmzeKVV15pmd49ctxxx/HZz36Wffv2cdZZZzFnzhyeeOIJVq9e3ZJ27969zJs3j1deeYWZM2cya9YsIJgiftGiRd3+PCT3kqO4o2ql9evXt6SJejTFZ5jtykA8dZkdHBRAumr+fBg5MggeI0cGr3uooKCA+fPnM3/+fGbPns3tt9/O8OHDW9ZFb2xsbJM+bUp2d+fqq6/m85//fJt9VVVV7f6ZFyxYwH333cfhhx/O2Wef3e58H/jAB3jyySd56KGHuPDCC/nqV79KSUkJp556KnfffXebtKtWrerJpUsO1dbWsnPnzjZzNaXN8RT1hErauXNny3EaiDc05bQK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\n", "text/plain": [ "
" ] @@ -252,7 +253,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "id": "extensive-forward", "metadata": {}, "outputs": [], @@ -263,8 +264,8 @@ "\n", "# Model\n", "model_dp = tf.keras.models.Sequential([\n", - " tf.keras.layers.Dense(8, activation=act),\n", - " tf.keras.layers.Dense(8, activation=act),\n", + " tf.keras.layers.Dense(10, activation=act),\n", + " tf.keras.layers.Dense(10, activation=act),\n", " tf.keras.layers.Dense(1, activation='linear')])" ] }, @@ -280,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "id": "western-leader", "metadata": {}, "outputs": [], @@ -290,12 +291,13 @@ "def loss_dp(y_true, y_pred):\n", " return mse(y_true,y_pred**2)\n", "\n", - "model_dp.compile(optimizer='adam', loss=loss_dp)" + "optimizer_dp = tf.keras.optimizers.Adam(lr=0.001)\n", + "model_dp.compile(optimizer=optimizer, loss=loss_dp)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 9, "id": "artistic-table", "metadata": {}, "outputs": [ @@ -304,21 +306,21 @@ "output_type": "stream", "text": [ "Epoch 1/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.2260\n", + "40/40 [==============================] - 0s 961us/step - loss: 0.1184\n", "Epoch 2/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.0139\n", + "40/40 [==============================] - 0s 1ms/step - loss: 0.0065\n", "Epoch 3/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.0015\n", + "40/40 [==============================] - 0s 725us/step - loss: 0.0035\n", "Epoch 4/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.0014\n", + "40/40 [==============================] - 0s 837us/step - loss: 0.0029\n", "Epoch 5/5\n", - "40/40 [==============================] - 0s 1ms/step - loss: 0.0014\n" + "40/40 [==============================] - 0s 817us/step - loss: 0.0025\n" ] } ], "source": [ "#Training\n", - "results_dp = model_dp.fit(X, X, epochs=5, batch_size= 5,verbose=1)" + "results_dp = model_dp.fit(X, X, epochs=5, batch_size=5, verbose=1)" ] }, { @@ -331,13 +333,13 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 10, "id": "indonesian-abraham", "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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bdsAuO2223j55ZeZOnUqq1atilouNzeXCy+8kLlz5/KZz3yGZcuW0djo/MA99thjTJ48mTPOOINbb/2kf3T8+PGUlJRQWFjIxIkT+drXvsbpp5/OJZdcwokTJ1i/fj35+fksWLCAqVOncuLECW677TYmTZrEmWeeyc0339zhn4sxfV3e/jwuX3c5X//T19lUsInf7/p9SPAAaNSmqxELwqiUUdxy/i0d2voAnGGWsfoCLsRZJOedKMfnAM8DAnwOeN3dnw4UuP+mua/TWnq/adOmabjdu3c32decqqoqfeedd3TXrl36zjvvaFVVVZvOjyQ5ObnJvoEDB+qRI0e0qqpKT5w4oaqqH3zwgQbuYcuWLTp37tyQekUr169fP/3www+1vr5eZ82apU8++aQePHhQx4wZo0VFRVpXV6czZ87Up59+WlVVx40bp8XFxbpv3z71+/365ptvqqrql770JX3kkUdUVfWiiy7S7du3q6pqSUmJnnbaadrY2KiqquXl5U3up62fszF91X359+n01dP1snWX6baPt6mq6raPt2n/H/dXfkizX747fdr/x/11wVMLdPQvRuuFD14YvMapAPI1wu/UmHZhqepWERnfTJH5wFr3Bl4TkUEiMgLIAf6iqmUAIvIXYDbwWCdXmaqqqmATUVWpqqoiKSmp096vrq6O5cuXs3PnTvx+Px988EGby02fPp2srCwArr32Wl555RXi4+PJyckhI8OZYHPBggVs3bqVyy67LOS6mZmZTJ06FYBp06ZRWFjY5L0HDhxIYmIiS5YsYd68ecybN+/Ub9yYPmj1jtV8/U9fdzYOwcYPNvLXxX8ltzCX2obaqOf5xMfN593MoH6DyBmfw5TBUygvLwcgLS2t0+rb3XMgo4D9nu0D7r5o+5sQkaXAUoCxY8eecoWSk5MREVQVESE5OfmUrxmuoKAAv9/P0KFDufPOOxk2bBhvvfUWjY2NJCYmRjxn1apVUcuFD6Nty7Dafv36BV/7/X5OnDjRpExcXBxvvPEGmzdvZv369dx777289NJLrX4PY/oab/J74ZSFzBgzA4Cndj8VUq6usY7cwlxyxueQ4E+gtqEWn/iYPGQy/zT6nyivdoLEDWffwMwJMwGni33fvn3BP3TLy8vJysrqlD90u3sAOWWquhpYDZCdnX3Kyy8mJSWRmZlJVVUVycnJHf5N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\n", "text/plain": [ "
" ] @@ -362,18 +364,18 @@ }, { "cell_type": "markdown", - "id": "prostate-radio", + "id": "star-radio", "metadata": {}, "source": [ "This looks much better 😎, at least in the range of 0.1 to 1. \n", "\n", "What has happened here?\n", "\n", - "- We've prevented an undesired averaging of multiple modes in the solution by evaluating our discrete model w.r.t. current prediction of the network, rather than using a pre-computed solution. This let's us find the best single mode near the network prediction, and prevents an averaging of the modes that exist in the solution manifold.\n", + "- We've prevented an undesired averaging of multiple modes in the solution by evaluating our discrete model w.r.t. current prediction of the network, rather than using a pre-computed solution. This lets us find the best single mode near the network prediction, and prevents an averaging of the modes that exist in the solution manifold.\n", "\n", - "- We're still only getting one side of the curve! This is to be expected, because we're representing the solutions with a deterministic function. Hence we can only represent a single mode. Interestingly, whether it's the top or bottom mode is determined by the random initialization of the weights in $f$ - run the example a couple of time to see this effect in action. To capture multiple modes we'd need to extend the model to capture the full distribution of the outputs and parametrize it with additional dimensions.\n", + "- We're still only getting one side of the curve! This is to be expected, because we're representing the solutions with a deterministic function. Hence, we can only represent a single mode. Interestingly, whether it's the top or bottom mode is determined by the random initialization of the weights in $f$ - run the example a couple of time to see this effect in action. To capture multiple modes we'd need to extend the model to capture the full distribution of the outputs and parametrize it with additional dimensions.\n", "\n", - "- The region with $x$ near zero is typically still off in this example. The model primarily learns a linear approximation of one half of the parabola here. This is primarily caused by the weak neural network: it is very small and shallow. (Give it a try - it's very easy to fix this in the `model_dp` definition.)\n" + "- The region with $x$ near zero is typically still off in this example. The model essentially learns a linear approximation of one half of the parabola here. This is partially caused by the weak neural network: it is very small and shallow. In addition, the evenly spread of sample points along the x axis bias the model towards the larger y values. These contribute more to the loss, and hence the network invests most of its resources to reduce the error in this region.\n" ] }, { @@ -392,7 +394,7 @@ "height: 240px\n", "name: intro-fluid-bifurcation \n", "---\n", - "A bifurcation in a buoyancy-driven fluid flow: the \"smoke\" shown in green color starts rising in a percectly straight manner, but tiny numerical inaccuracies grow over time to lead to an instability with vortices alternating to one side (top-right), or in the opposite direction (bottom-right). \n", + "A bifurcation in a buoyancy-driven fluid flow: the \"smoke\" shown in green color starts rising in a perfectly straight manner, but tiny numerical inaccuracies grow over time to lead to an instability with vortices alternating to one side (top-right), or in the opposite direction (bottom-right). \n", "```\n" ] }, @@ -411,7 +413,7 @@ "\n", "- Or try extending the setup to a 2D case, i.e. a paraboloid. Given the function $\\mathcal P:(y_1,y_2)\\to y_1^2+y_2^2$, find an inverse function $f$ such that $\\mathcal P(f(x)) = x$ for all $x$ in $[0,1]$.\n", "\n", - "- If you want to experiment without installing anything, you can also [[run this notebook in colab]](https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/intro-teaser.ipynb). E.g., to try the things mentioned right above." + "- If you want to experiment without installing anything, you can also [[run this notebook in colab]](https://colab.research.google.com/github/tum-pbs/pbdl-book/blob/main/intro-teaser.ipynb)." ] } ], diff --git a/intro.md b/intro.md index b0e5e38..1dbde6a 100644 --- a/intro.md +++ b/intro.md @@ -26,13 +26,16 @@ Some visual examples of numerically simulated time sequences. In this book, we a As a _sneak preview_, in the next chapters will show: -- How to train networks to infer fluid flows around shapes like airfoils in one go, i.e., a _surrogate model_ that replaces a traditional numerical simulation. +- How to train networks to infer a fluid flow around shapes like airfoils, and estimate the uncertainty of the prediction. This gives a _surrogate model_ that replaces a traditional numerical simulation. - How to use model equations as residuals to train networks that represent solutions, and how to improve upon these residual constraints by using _differentiable simulations_. - How to more tightly interact with a full simulator for _inverse problems_. E.g., we'll demonstrate how to circumvent the convergence problems of standard reinforcement learning techniques by leveraging simulators in the training loop. -The different PBDL techniques will be introduced ordered in terms of growing +Over the course of the next +chapters we will introduce different approaches for introducing physical models +into deep learning, i.e., _physics-based deep learning_ (PBDL) approaches. +These algorithmic variants will be introduced in order of increasing tightness of the integration, and pros and cons of the different approaches will be discussed. It's important to know in which scenarios each of the different techniques is particularly useful. @@ -40,7 +43,7 @@ different techniques is particularly useful. ## Comments and suggestions -This _book_, where "book" stands for a collection of texts, equations, images and code examples, +This _book_, where "book" stands for a collection of digital texts and code examples, is maintained by the [TUM Physics-based Simulation Group](https://ge.in.tum.de). Feel free to contact us if you have any comments, e.g., via [old fashioned email](mailto:i15ge@cs.tum.edu). diff --git a/notation.md b/notation.md index 42a2e5e..2b4a173 100644 --- a/notation.md +++ b/notation.md @@ -23,11 +23,12 @@ | ABbreviation | Meaning | | --- | --- | -| CNN | Convolutional Neural Network | +| BNN | Bayesian neural network | +| CNN | Convolutional neural network | | DL | Deep Learning | | GD | (steepest) Gradient Descent| | MLP | Multi-Layer Perceptron, a neural network with fully connected layers | -| NN | Neural Network (a generic one, in contrast to, e.g., a CNN or MLP) | +| NN | Neural network (a generic one, in contrast to, e.g., a CNN or MLP) | | PDE | Partial Differential Equation | | PBDL | Physics-Based Deep Learning | | SGD | Stochastic Gradient Descent| diff --git a/resources/intro-teaser-side-by-side.png b/resources/intro-teaser-side-by-side.png index 3b3aafa..d89651d 100644 Binary files a/resources/intro-teaser-side-by-side.png and b/resources/intro-teaser-side-by-side.png differ