{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import torch\n", "import sympy\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Automatic Differentiation\n", "\n", "Automatic differentation (AD) is a method for computing the exact derivatives of computer programs. In particular, AD enables the training of neural networks via gradient descent. Aside from machine learning applications, AD can be used in any context where we want to efficiently and accurately compute the derivative of a computer program. This notebook is the first part in a wider tutorial which explains how AD can be applied to agent-based models (ABMs). In this notebook, we will provide a brief introduction to AD.\n", "\n", " To better motivate AD, we will first review some traditional approaches for computing derivatives." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Finite Differences\n", "\n", "Recall the definition of the derivative for univariate scalar functions:\n", "\n", "$$ \\frac{df}{dx} = \\lim_{h \\to 0} \\frac{f(x + h) - f(x)}{h}$$\n", "\n", "Intuitively, if we choose a small enough pertubation $\\epsilon$ then we may estimate the derivative of $f$ as follows:\n", "\n", "$$ \\frac{d f}{d x} \\approx \\frac{f(x+\\epsilon) - f(x)}{\\epsilon} $$\n", "\n", "This is known as the finite differences (FD) method since it involves evaluating $f$ at two points spaced by a finite difference $\\epsilon$. We can explore the behaviour of FD by investigating some examples. Consider the following function:\n", "\n", "$$ f(x) = x^{4} + 4x^{2} - 10. $$\n", "\n", "Let's implement this function in Python and estimate its gradient with FD!" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def function(x):\n", " return x**3 + 4*x**2 - 10\n", "\n", "def function_true_derivative(x):\n", " return 3*x**2 + 8*x\n", "\n", "def get_fd_derivative(f, x, epsilon):\n", " return (f(x + epsilon) - f(x)) / (epsilon)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "x = np.linspace(-5, 5, 10)\n", "y = function(x)\n", "epsilon = 1e-2\n", "yp_true = function_true_derivative(x)\n", "yp_fd = get_fd_derivative(function, x, epsilon)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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IiKBrn7tk/P6xREX0Q7rirUCjUERERHpxEzT5P1NdQHliuEdZxygAoqIiEgntvlwGVmFVYQEWbhocNNbygQiBRQREZFO7L0NdVdPpg1KJMLecUZ2KKCIiIh0Ul6fyQeZdQEl0Je2P54CioiISCe1al8RBRVOHKFBnN//zLY78RcFFBERkU5q0ca6pe0vHZpMsK1jveV3rGpFRESkWWrdXv6zOQ+AKzvQ7J16Cign4TN9HK48zK6SXRyuPIzP9LXp85mmya233kpMTAyGYZyw+V69nTt3kpSUREVFRbOOW1hYSEJCAocOHTpt2/fee4++fftitVq59957WbhwIdHR0S04i7qdru+9994WPeZMPfHEEwwfPrzh69mzZ3PllVc2fN3Ua9rc11lEpKNbtjOfCqeHZEcIY9Ji/F1Oi3Wc4bztaF/pPpZmLyWrLAun14ndaifdkc7UnlPpHd27TZ5zyZIlLFy4kGXLltG7d2/i4uKYPXs2aWlpPPHEEw3tHnnkEe66665mrSILdQu13XDDDTz++OP85S9/OWXb2267jZtuuom7776byMhIbDYbl156aYvO49///jdBQUENX6elpXHvvfe2S2h5/vnnG+243dRr2tRtIiKdUf3ibJcPS8FiCeydi5uigHKcfaX7eGP7G5Q4S0gKSyLUFkqNp4btxdvJq8pj1qBZbRJS9u7dS3JyMhMnTjxpm+zsbBYvXsyLL77YomPfdNNNjBo1iqeffpqYmKZTdGVlJfn5+UyfPr3Rhn6hoaEteq6THb89OByORl839Zo253U+HdM08Xq92Gz68RGRwFRe62bpjnwALu+A3TvQRbp4TNPE7XWf9sPpcfLf/f+lqKaItMg0Qm11b86htlDSItMoqinikwOf4PQ4m3W85u7DOHv2bO666y6ys7MxDIO0tLQm27311lsMGzaM7t2/nSr24x//mIyMDJxOJwAul4sRI0Zwww03NLQ555xzSElJ4d13323yuMuWLWu4InPhhRdiGAbLli07oYunvkvltddeIy0tDYfDwbXXXtuou+nYLp4pU6Zw4MAB7rvvPgzDwDC+TfBffvkl5513HqGhoaSmpnL33XdTVVV1ytfp17/+NYmJiURGRjJnzhxqa2tPeB3ru3iaek1P9jr7fD7mz59Peno6oaGhDBs2jHfeeafR62MYBv/5z38YNWoUdrud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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(x, y, \"o-\", label='f(x)')\n", "ax.plot(x, yp_true, \"o-\", label=\"f'(x) true\", alpha=0.5)\n", "ax.plot(x, yp_fd, \"o-\", label=\"f'(x) finite difference\", alpha=0.5)\n", "ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, FD works extremely well and matches the true analytical gradient almost exactly. Let's investigate a more complicated function with highly oscilatory behaviour:\n", "\n", "$$ f(x) = \\sin(1000x). $$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-0.5, 0.5, 50)\n", "f = lambda x: np.sin(1000*x)\n", "y = np.sin(1000*x)\n", "yp_true = 1000 * np.cos(1000*x)\n", "yp_fd_1 = get_fd_derivative(f, x, epsilon=1e-2)\n", "yp_fd_2 = get_fd_derivative(f, x, epsilon=1e-5)\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "ax[0].plot(x, y, \"o-\", label='f(x)')\n", "ax[0].legend()\n", "ax[1].plot(x, yp_true, \"o-\", label=\"f'(x) true\", alpha=0.5)\n", "ax[1].plot(x, yp_fd_1, \"o-\", label=r\"f'(x) FD ($\\epsilon=10^{-2}$)\", alpha=0.5)\n", "ax[1].plot(x, yp_fd_2, \"o-\", label=r\"f'(x) FD ($\\epsilon=10^{-5}$)\", alpha=0.5)\n", "ax[1].legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, FD performs poorly when $\\epsilon = 10^{-2}$ and fails to match the true gradient. FD only performs well when $\\epsilon$ is set to a much smaller value such as $10^{-5}$. This highlights a common problem with FD: **$\\epsilon$ needs to be manually tuned** depending on the function being differentiated.\n", "\n", "In addition, **FD does not scale well with input dimension**. Consider a bivariate scalar function $f: \\mathbb{R}^{2} \\to \\mathbb{R}$. Using FD we can estimate the partial derivative of $f$ with respect to its first argument $x_{1}$ as follows\n", "\n", "$$ \\frac{\\partial f}{\\partial x_{1}} \\approx \\frac{f(x_{1} + \\epsilon, x_{2}) - f(x_{1}, x_{2})}{\\epsilon}$$\n", "\n", "Likewise we can estimate the partial derivative with respect to $x_{2}$ as follows:\n", "\n", "$$ \\frac{\\partial f}{\\partial x_{2}} \\approx \\frac{f(x_{1}, x_{2} + \\epsilon) - f(x_{1}, x_{2})}{\\epsilon}$$\n", "\n", "Note that for $x_{1}$ we needed to evalute $f$ at $(x_{1}+\\epsilon, x_{2})$ whilst for $x_{2}$ we needed to evaluate $f$ at $(x_{1}, x_{2} + \\epsilon)$. As a result three function evaluations in total are required to estimate the gradient $\\nabla f$. More generally, for any scalar function $f: \\mathbb{R}^{n} \\to \\mathbb{R}$, $n+1$ function evaluations are required to estimate $\\nabla f$ with finite differences. This is problematic when function evaluation is expensive, which is often the case for ABMs. It is also undesirable in cases where the number of input parameters is large. This is typically the case for neural networks which can have millions, if not billions, of parameters.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Symbolic Differentiation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An alternative to finite differences is Symbolic Differentiation (SD). This is the method implemented by software packages such as Mathematica and the Python library sympy.\n", "The basic idea is to hard-code the derivative of basic building block functions, such as $\\sin(x)$ and $\\exp(x)$. Algebraic rules for manipulating derivatives can then be recursively applied to express the derivatives of more complex functions in terms of the derivatives of simple building block functions which can then be evaluated exactly. In particular symbolic differentiation leverages the following rule for unary functions:\n", "\n", "$$\\frac{\\partial f(g(x))}{\\partial x} = \\frac{\\partial f}{\\partial g} \\cdot \\frac{\\partial g}{\\partial x}$$\n", "\n", "and the following rule for bivariate functions:\n", "\n", "$$ \\frac{\\partial f(g_{1}(x), g_{2}(x_{2}))}{\\partial x} = \\frac{\\partial f}{\\partial g_{1}}\\cdot\n", " \\frac{\\partial g_{1}}{\\partial x} + \\frac{\\partial f}{\\partial g_{2}} \\cdot \\frac{\\partial g_{2}}{\\partial x}\n", "$$\n", "\n", "All the fundamental rules of calculus, such as the product and chain rule, can be derived from these two rules. To get a better idea of how SD works in practice let's analyse an example. Consider the following function:\n", "\n", "$$ f(x) = 3x^{2} - x +1 $$\n", "\n", "Let's run sympy and compute the derivative!" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 3 x^{2} - x + 1$" ], "text/plain": [ "3*x**2 - x + 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_sym = sympy.Symbol('x')\n", "def f(x):\n", " return 3 * x**2 -x + 1\n", "f_sym = f(x_sym)\n", "f_sym" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 6 x - 1$" ], "text/plain": [ "6*x - 1" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f_sym.diff(x_sym)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that sympy returns a symbolic expression describing the **exact** derivative of $f$. Since SD returns an exact analytical expression for the gradient, no manual tuning is required. Unlike FD, this means we can automatically handle oscillatory functions such as:\n", "\n", "$$ f(x) = \\sin(1000x)$$\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 1000 \\cos{\\left(1000 x \\right)}$" ], "text/plain": [ "1000*cos(1000*x)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_sym = sympy.Symbol('x')\n", "def f(x):\n", " return sympy.sin(1000*x)\n", "f_sym = f(x_sym)\n", "f_sym.diff(x_sym)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, what is the catch with SD? To get better a idea of symbolic differentiation's downsides, let's investigate a more complicated function. " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - 3 x^{2} + x - 3 \\left(- 3 x^{2} + x + 3 \\left(3 x^{2} - x + 1\\right)^{2}\\right)^{2} + 3 \\left(3 x^{2} - x + 1\\right)^{2} + 3 \\left(3 x^{2} - x + 3 \\left(- 3 x^{2} + x + 3 \\left(3 x^{2} - x + 1\\right)^{2}\\right)^{2} - 3 \\left(3 x^{2} - x + 1\\right)^{2} + 1\\right)^{2}$" ], "text/plain": [ "-3*x**2 + x - 3*(-3*x**2 + x + 3*(3*x**2 - x + 1)**2)**2 + 3*(3*x**2 - x + 1)**2 + 3*(3*x**2 - x + 3*(-3*x**2 + x + 3*(3*x**2 - x + 1)**2)**2 - 3*(3*x**2 - x + 1)**2 + 1)**2" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def f(x):\n", " return 3 * x**2 -x + 1\n", "\n", "def f_recursive(x):\n", " for i in range(4):\n", " x = f(x)\n", " return x\n", "f_sym = f_recursive(x_sym)\n", "f_sym" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - 6 x + 3 \\cdot \\left(12 x - 2\\right) \\left(3 x^{2} - x + 1\\right) - 3 \\left(- 12 x + 6 \\cdot \\left(12 x - 2\\right) \\left(3 x^{2} - x + 1\\right) + 2\\right) \\left(- 3 x^{2} + x + 3 \\left(3 x^{2} - x + 1\\right)^{2}\\right) + 3 \\cdot \\left(12 x - 6 \\cdot \\left(12 x - 2\\right) \\left(3 x^{2} - x + 1\\right) + 6 \\left(- 12 x + 6 \\cdot \\left(12 x - 2\\right) \\left(3 x^{2} - x + 1\\right) + 2\\right) \\left(- 3 x^{2} + x + 3 \\left(3 x^{2} - x + 1\\right)^{2}\\right) - 2\\right) \\left(3 x^{2} - x + 3 \\left(- 3 x^{2} + x + 3 \\left(3 x^{2} - x + 1\\right)^{2}\\right)^{2} - 3 \\left(3 x^{2} - x + 1\\right)^{2} + 1\\right) + 1$" ], "text/plain": [ "-6*x + 3*(12*x - 2)*(3*x**2 - x + 1) - 3*(-12*x + 6*(12*x - 2)*(3*x**2 - x + 1) + 2)*(-3*x**2 + x + 3*(3*x**2 - x + 1)**2) + 3*(12*x - 6*(12*x - 2)*(3*x**2 - x + 1) + 6*(-12*x + 6*(12*x - 2)*(3*x**2 - x + 1) + 2)*(-3*x**2 + x + 3*(3*x**2 - x + 1)**2) - 2)*(3*x**2 - x + 3*(-3*x**2 + x + 3*(3*x**2 - x + 1)**2)**2 - 3*(3*x**2 - x + 1)**2 + 1) + 1" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f_sym.diff(x_sym)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, the symbolic expression for the gradient is very verbose. We have run across what is known as **expression swell**. As the aforementioned differentiation rules are recursively applied to the function $f$, its component terms are broken down into numerous subexpressions. For complicated functions comprised of many terms, this can cause the number of expressions to rapidly \"swell\". This in turn causes memory issues, and makes the resulting analytic expression for the gradient intractable to evaluate.\n", "\n", "In the context of computer programs, expression swell is particularly concerning. Consider a typical ABM with millions of agents and potentially billions of operations. It is clear that the complete expression for the gradient computed by SD will not fit in memory and would be computationally intractable to evaluate regardless.\n", "\n", "On top of this, **SD is incapable of handling control flow structures**. To see this, consider the following simple function:\n", "\n", "$$ f(x) = \\begin{cases} x^{3} \\quad x < 2 \\\\ 3x \\quad \\text{otherwise} \\end{cases}$$\n", "\n", "We can easily implement $f$ using an `if` statement. Let's see what sympy returns.\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "cannot determine truth value of Relational", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[11], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;241m3\u001b[39m\u001b[38;5;241m*\u001b[39m x\n\u001b[0;32m----> 7\u001b[0m \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx_sym\u001b[49m\u001b[43m)\u001b[49m\n", "Cell \u001b[0;32mIn[11], line 2\u001b[0m, in \u001b[0;36mf\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mf\u001b[39m(x):\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m3\u001b[39m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m2\u001b[39m:\n", "File \u001b[0;32m~/miniconda3/envs/torch2/lib/python3.10/site-packages/sympy/core/relational.py:511\u001b[0m, in \u001b[0;36mRelational.__bool__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 510\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__bool__\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m--> 511\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcannot determine truth value of Relational\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "\u001b[0;31mTypeError\u001b[0m: cannot determine truth value of Relational" ] } ], "source": [ "def f(x):\n", " if x < 2:\n", " return x**3\n", " if x >= 2:\n", " return 3* x\n", "\n", "f(x_sym)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, sympy returns an error, since there is no closed-form analytical expression for the derivative of $f$. This is because $f$ is not differentiable at $x=2$. However, $f$ is differentiable at every other input. We would expect a robust algorithm for differentiation to always return the gradient of $f$ at $x$, provided it exists. Since sympy does not return a symbolic expression for the gradient, it is impossible for us to compute the derivative no matter the input point supplied. In particular, this is severely limiting for functions that are differentiable almost everywhere, like ReLU and the absolute value. For such functions, it is unlikely we will ever encounter an input point where the derivative does not exist. \n", "\n", "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 5, 50)\n", "y = list(map(f, x))\n", "plt.plot(x, y, \"o-\", markersize=3, lw=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Expression Representation\n", "\n", "One way to address expression swell is to adopt a more compact representation of the function $f$. Consider the function:\n", "\n", "$$ f(x) = x^{3} $$ \n", "\n", "We may implement this function using the following computer program `f`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def f(x):\n", " x = x*x\n", " x = x*x\n", " x = x*x\n", " return x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can represent `f` using an expression tree [[1]](/https://arxiv.org/pdf/1904.02990.pdf), which details how operations are sequentially performed on inputs to produce outputs.\n", "\n", "\n", "\n", "\n", "\n", "Whilst clear, this representation is obviously inefficient. For instance, the first `x*x` operation is represented four times in the third level of level of the tree, but it is only computed once in practice. Likewise, the second `x*x` operation is represented twice in the second level of the tree, but only computed once in reality. Moreover, the input variable `x` is represented eight times at the bottom of the tree.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instead, it is far more efficient to represent `f` as an expression DAG:\n", "\n", "\n", "\n", "Expression DAGs are also called **computational graphs**. Note that each operation in `f` is represented once in the computational graph. Likewise variables are only represented once. Due to their compact representation, computational graphs can be used to significantly mitigate expression swell. In fact, modern AD packages such as PyTorch, efficiently compute and store computation graphs to facilitate differentiation.\n", "\n", "Consider the following function:\n", "\n", "$$ f(x, y) = x^{2} + 4y + \\cos^{2}(x) $$\n", "\n", "We can implement $f$ as a program in PyTorch and visualise the resulting computational graph.\n", "\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "#!pip install torchviz" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "5841114976\n", "\n", " ()\n", "\n", "\n", "\n", "5850709488\n", "\n", "AddBackward0\n", "------------\n", "alpha: 1\n", "\n", "\n", "\n", "5850709488->5841114976\n", "\n", "\n", "\n", "\n", "\n", "5850702384\n", "\n", "AddBackward0\n", "------------\n", "alpha: 1\n", "\n", "\n", "\n", "5850702384->5850709488\n", "\n", "\n", "\n", "\n", "\n", "5850708864\n", "\n", "PowBackward0\n", "------------------------\n", "exponent:              2\n", "self    : [saved tensor]\n", "\n", "\n", "\n", "5850708864->5850702384\n", "\n", "\n", "\n", "\n", "\n", "5850702672\n", "\n", "AccumulateGrad\n", "\n", "\n", "\n", "5850702672->5850708864\n", "\n", "\n", "\n", "\n", "\n", "5850709584\n", "\n", "CosBackward0\n", "--------------------\n", "self: [saved tensor]\n", "\n", "\n", "\n", "5850702672->5850709584\n", "\n", "\n", "\n", "\n", "\n", "5854104528\n", "\n", "x\n", " ()\n", "\n", "\n", "\n", "5854104528->5850702672\n", "\n", "\n", "\n", "\n", "\n", "5850709632\n", "\n", "MulBackward0\n", "---------------------\n", "other: [saved tensor]\n", "self :           None\n", "\n", "\n", "\n", "5850709632->5850702384\n", "\n", "\n", "\n", "\n", "\n", "5850702336\n", "\n", "AccumulateGrad\n", "\n", "\n", "\n", "5850702336->5850709632\n", "\n", "\n", "\n", "\n", "\n", "5854104848\n", "\n", "y\n", " ()\n", "\n", "\n", "\n", "5854104848->5850702336\n", "\n", "\n", "\n", "\n", "\n", "5850700416\n", "\n", "PowBackward0\n", "------------------------\n", "exponent:              2\n", "self    : [saved tensor]\n", "\n", "\n", "\n", "5850700416->5850709488\n", "\n", "\n", "\n", "\n", "\n", "5850709584->5850700416\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import torchviz\n", "\n", "def f(x, y):\n", " return x**2 + 4 * y + torch.cos(x)**2\n", "\n", "x = torch.tensor(2.0, requires_grad=True) # PyTorch only tracks the graph involving variables that require grad.\n", "y = torch.tensor(1.5, requires_grad=True)\n", "z = f(x, y)\n", "\n", "torchviz.make_dot(z, params={\"x\" : x, \"y\" : y}, show_attrs=True)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this computational graph is a property of the program `f` rather than the function $f$ that it implements. In other words, implementing $f$ via a different program would result in a different computational graph. For this reason, some people believe differentiation methods which leverage computational graphs should be called **algorithmic differentiation** methods rather than automatic differentiation methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: See [this reference](https://arxiv.org/pdf/1904.02990) for more details about the differences between automatic differentiation and symbolic differentiation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Forward and Reverse Mode Automatic Differentiation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once we have stored the computation graph of a program, we can compute its derivative by applying the chain rule through each operation. This is essentially equivalent to the way derivatives are obtained in SD, but the compact representation of the computational graph leads to less expression swell. Of course, AD methods need hard-coded implementations for the derivatives of building block functions such as $cos$ and $exp$. For this reason, AD packages such as Tensorflow and Torch reimplement many simple functions so that they can be packaged with their derivative. This is why you need to call `tf.exp` or `torch.exp` instead of `math.exp` when writing differentiable code!\n", "\n", "Let's return to our previous example. Note that, when applying the chain rule, we have two equivalent ways of traversing the computational graph. We can start at the initial nodes $(x, y)$ and propapgate the derivatives forward. Unsurpsiringly, this is called forward-mode AD. Alternatively, we can start at the final node $z$ and propagate derivatives backwards. This is known as reverse-mode AD. Both methods give identical results but come with different computational performance guarantees which we will now investigate.\n", "\n", "\n", "\n", "Consider the two functions $f_{1}: \\mathbb{R} \\to \\mathbb{R}^{3}$ and $f_{2}: \\mathbb{R}^{3} \\to \\mathbb{R}_{1}$:\n", "\n", "$$ f_{1}(x_{1}) = \\left[ x^{2}_{1}, x^{2}_{1}, x^{2}_{1}\\right]^{\\top}, \\:\n", " f_{2}(x_{1}, x_{2}, x_{3}) = x_{1}^{2}x_{2}x_{3}\n", "$$\n", "\n", "We can implement $f_{1}$ and $f_{2}$ with the below programs `f1` and `f2`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def f1(x1):\n", " x1 = x1 * x1\n", " x1 = x1 * x1\n", " return [x1, x1, x1]\n", "\n", "def f2(x1, x2, x3):\n", " x1 = x1 * x2 * x3\n", " x1 = x1 * x1\n", " return x1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The computational graphs of `f1` and `f2` are:\n", "\n", "\n", "

\n", " \n", " \n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the case of `f1`, if we start from the bottom ($x_1$) and chain derivatives forward, then we can reuse the intermediate computation between the 1st and 3rd nodes.\n", "However, if we start at the final nodes $(f_1, f_2, f_3)$ and chain derivatives backwards, we need to fully traverse the graph three times since we can't amortize any part of the computation.\n", "Note that the reverse is true for $f_2$!\n", "\n", "This example illustrates a more general result. Given a function \n", "\n", "$$f: \\mathbb R^m \\longrightarrow \\mathbb R^n,$$\n", "\n", "computation of the Jacobian\n", "\n", "$$(J_f)_{ij} = \\left(\\frac{\\partial f_i}{\\partial x_{j}}\\right)$$\n", "\n", "scales as $\\mathcal O(m)$ for forward-mode AD, and $\\mathcal O(n)$ for reverse-mode AD. \n", "\n", "Put simply, we generally prefer forward-mode AD for functions with more outputs than inputs, whilst we generally prefer backwards-mode AD for functions with more inputs than outputs. In deep learning, we are predominantly concerned with training neural networks via gradient descent, which involves differentiation of a loss function with respect to neural network parameters. Most loss functions typically produce one output: the loss! In contrast, neural networks can have millions, or billions, of parameters. As a result, AD packages for machine learning, like PyTorch, typically prioritise reverse-mode AD. \n", "\n", "The story is slightly different for ABMs. Firstly, ABMs often have far fewer parameters than neural networks, making forward-mode AD a more practical option. Secondly, forward-mode AD has an additional advantage over reverse-mode AD that we are yet to discuss. To execute reverse-mode AD on a program `f`, we need to store the value of intermediary computations performed when `f` is evaluated, which is sometimes called the *forward pass*. This is so that we can apply the chain rule backwards later. Forward-mode AD has no such issue since we can throw away intermediate values and derivatives on the fly if we propoagate the chain rule forward as `f` is evaluated. As a result, forward-mode AD is far more memory efficient than reverse-mode AD. For large-scale ABMs with millions of interacting agents, there can be an extremely large number of intermediate computations, making reverse-mode AD intractable from a memory perspective. For more details, check out this [paper](https://arxiv.org/pdf/2307.01085).\n", "\n", "\n", "\n", "To finish, let's verify the run time behaviour of forward and reverse AD experimentally. Consider a function $f: \\mathbb{R}^{m} \\to \\mathbb{R}^{n}$ which given input $x = (x_{1}., \\dots, x_{m})$ returns a constant vector $y =(y_{1}, \\dots, y_{n})$ where each entry is equal to $\\sum^{m}_{i=1}x_{i}$. We can play with input and output dimensions by playing with $m$ and $n$ respectively. We should expect the runtime performance of reverse-mode AD to depreciate linearly as the output dimension $n$ is increased. Meanwhile we should expect the runtime performance of forward-mode AD to depreciate linearly as the input dimension $m$ is increased. Let's plot the run times of forward and reverse mode AD as a function of $m$ and $n$ and see if this holds true!\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from time import time\n", "\n", "def make_f(n_outputs):\n", " def _f(x):\n", " return torch.sum(x) * torch.ones(n_outputs)\n", " return _f\n", "\n", "# scale number of outputs\n", "inputs = torch.ones(10)\n", "results = {\"outputs\" : {\"forward\" : [], \"reverse\" : []}, \"inputs\" : {\"forward\" : [], \"reverse\" : []}}\n", "f_inputs = make_f(10)\n", "#n_range = [1, 10, 100, 1000, 10000]\n", "n_range = np.arange(1, 10) * 1000\n", "for n in n_range:\n", " f = make_f(n)\n", " t1 = time()\n", " jacobian = torch.autograd.functional.jacobian(f, inputs, strategy=\"reverse-mode\")\n", " t2 = time()\n", " results[\"outputs\"][\"reverse\"].append(t2-t1)\n", " t1 = time()\n", " jacobian = torch.autograd.functional.jacobian(f, inputs, strategy=\"forward-mode\", vectorize=True)\n", " t2 = time()\n", " results[\"outputs\"][\"forward\"].append(t2-t1)\n", " varying_inputs = torch.ones(n)\n", " t1 = time()\n", " jacobian = torch.autograd.functional.jacobian(f_inputs, varying_inputs, strategy=\"reverse-mode\")\n", " t2 = time()\n", " results[\"inputs\"][\"reverse\"].append(t2-t1)\n", " t1 = time()\n", " jacobian = torch.autograd.functional.jacobian(f_inputs, varying_inputs, strategy=\"forward-mode\", vectorize=True)\n", " t2 = time()\n", " results[\"inputs\"][\"forward\"].append(t2-t1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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g4Py+eefm9KuX7+ueHt7Ky+88IIpbfPmzQqgbN682ZTWv39/BVB++OEHs2127txZqVOnjmn5q6++UgDlt99+M8v30ksvKYCyYMGCIo/FggULFEB5+eWXzdKnTp2qAEp8fLwpDVDGjx+fbxshISFK//79823ztddeM8vXvXt3BVCmTZtmlt6wYUOlcePGpuW8YxoYGKhcv37dlJ6amqp4eXkpjz32mCmtQ4cOSrVq1ZSUlBSzbb766quKq6urcvnyZUVRbh7jVq1aFXk88syePbvA4//xxx8rgLJx40ZTWuvWrZX69evfcZtHjx4t8Fj//fffCqC8/fbbprTbj+mt+2rdurVpeffu3YV+znnfoRkzZpilf/jhhwqgbN++XVGUm8e7oG3c/pl/8sknCqDExsaa5VuxYoUCKAcOHCj4zQthZeR34Cb5HShYafwO5OW9tRzPe68NGjRQcnNzTem7du1SAGXp0qWmNCnXrYtcAbAxgwYNIikpidWrVwOQm5vL4sWLadmyJbVr1zblmz17No0bN8bV1RVHR0ecnJz4448/OHr0aL5tduvWDScnJ7O0GjVq8PjjjzNz5kwURQHg+++/Jzk5mVdfffWOcWo0Grp27WqWdv/993PmzBnT8tatW/Hw8KBjx45m+Z577rk7bv/2+G/fD2C2r+J6/PHHzZbr1asHQJcuXfKlF7SfHj164Orqalr28PCga9eu/Pnnn+j1ejIzM/njjz948sknqVChArm5uaZH586dyczMzHf59KmnnrIo9k2bNlGxYkWefvpps/S8S9wFXYK+k82bN5ttI0+TJk2oV6/eXW3TErf3SX3++efN4ikJDRs2xNnZmRdffJFvv/2W//77r8S2LURpkN+B/OR3wFxp/A4UpUuXLmi1WtNyUcdfynXrIA0AG/P000+j0+lM3SfWrVvHxYsXzW76mjZtGsOGDaNp06asXLmSv/76i927d9OxY0euX7+eb5sBAQEF7mv48OGcOHGCqKgowHiJr1mzZhZdHqxQoYJZwQfg4uJCZmamaTk5ObnAkSqKO3qFt7d3vv0ABb5XS3l5eZktOzs7F5p+63vK4+/vX2BadnY26enpJCcnk5uby//+9z+cnJzMHp07dwbI162msM/pdsnJyfj7+6PRaMzSfX19cXR0JDk52aLt3L7NwmIIDAy8q23eiaOjY77PNu+4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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(9, 4))\n", "ax[0].set_title(\"Varying number of outputs.\")\n", "ax[0].plot(n_range, results[\"outputs\"][\"forward\"], \"o-\", label = \"forward\")\n", "ax[0].plot(n_range, results[\"outputs\"][\"reverse\"], \"o-\", label = \"reverse\")\n", "ax[0].set_xlabel(\"# of outputs\")\n", "ax[0].set_ylabel(\"Time\")\n", "ax[0].legend()\n", "\n", "ax[1].set_title(\"Varying number of inputs.\")\n", "ax[1].plot(n_range, results[\"inputs\"][\"forward\"], \"o-\", label = \"forward\")\n", "ax[1].plot(n_range, results[\"inputs\"][\"reverse\"], \"o-\", label = \"reverse\")\n", "ax[1].set_xlabel(\"# of inputs\")\n", "ax[1].set_ylabel(\"Time\")\n", "ax[1].legend()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, our suspicions are well verified by the plots above!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "In this notebook we covered traditional methods for differences including finite differentiation and symbolic differentiation. After highlighting their weaknesses, we introduced automatic differentiation and explored the computational differences between forward-mode and reverse-mode. In the next notebook, we will investigate the common challenges faced when applying automatic differentiation to ABMs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "dev", "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.10.9" } }, "nbformat": 4, "nbformat_minor": 2 }