diff --git a/README.md b/README.md index 7343b2d..fc0cf76 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,15 @@ export PYTHONPATH=${PYTHONPATH}:ddn python tests/testBasicDeclNodes.py ``` -Example applications for image and point cloud classification can be found under the `apps` directory. See -the `README` files therein for instructions on installation and how to run. +Tutorials should be opened in Jupyter notebook: + +``` +cd tutorials +jupyter notebook +``` + +Reference (PyTorch) applications for image and point cloud classification can be found under the `apps` +directory. See the `README` files therein for instructions on installation and how to run. ## License diff --git a/ddn/basic/composition.py b/ddn/basic/composition.py index 72c02a7..3b5f9f8 100644 --- a/ddn/basic/composition.py +++ b/ddn/basic/composition.py @@ -11,6 +11,7 @@ class ComposedNode(AbstractNode): as such can be further composed with other nodes to form a chain.""" def __init__(self, nodeA, nodeB): + assert (nodeA.dim_y == nodeB.dim_x) super().__init__(nodeA.dim_x, nodeB.dim_y) self.nodeA = nodeA self.nodeB = nodeB diff --git a/ddn/basic/node.py b/ddn/basic/node.py index 9726d5d..ed12ad4 100644 --- a/ddn/basic/node.py +++ b/ddn/basic/node.py @@ -6,6 +6,7 @@ # import autograd.numpy as np +import scipy as sci from autograd import grad, jacobian import warnings @@ -90,8 +91,7 @@ def gradient(self, x, y=None, ctx=None): y, ctx = self.solve(x) assert self._check_optimality_cond(x, y) - # TODO: replace with symmetric matrix solver - return -1.0 * np.linalg.solve(self.fYY(x, y), self.fXY(x, y)) + return -1.0 * sci.linalg.solve(self.fYY(x, y), self.fXY(x, y), assume_a='pos') def _check_optimality_cond(self, x, y, ctx=None): """Checks that the problem's first-order optimality condition is satisfied.""" @@ -159,8 +159,7 @@ def gradient(self, x, y=None, ctx=None): B = self.fXY(x, y) - nu * self.hXY(x, y) C = self.hX(x, y) try: - # TODO: replace with symmetric solver - v = np.linalg.solve(H, np.concatenate((a.reshape((self.dim_y, 1)), B), axis=1)) + v = sci.linalg.solve(H, np.concatenate((a.reshape((self.dim_y, 1)), B), axis=1), assume_a='pos') except: return np.full((self.dim_y, self.dim_x), np.nan).squeeze() return (np.outer(v[:, 0], (v[:, 0].dot(B) - C) / v[:, 0].dot(a)) - v[:, 1:self.dim_x + 1]).squeeze() @@ -241,11 +240,15 @@ def gradient(self, x, y=None, ctx=None): assert self._check_constraints(x, y) assert self._check_optimality_cond(x, y, ctx) - # TODO: replace with symmetric matrix solver and avoid explicit inverse matrix computations - invH = np.linalg.inv(self.fYY(x, y)) - invHAT = np.dot(invH, self.A.T) - w = np.dot(np.dot(invHAT, np.linalg.inv(np.dot(self.A, invHAT))), invHAT.T) - invH - return np.dot(w, self.fXY(x, y)) + # TODO: write test case for LinEqConstDeclarativeNode + # use cholesky to solve H^{-1}A^T and H^{-1}B + C, L = sci.linalg.cho_factor(self.fYY(x, y)) + invHAT = sci.linalg.cho_solve((C, L), self.A.T) + invHB = sci.linalg.cho_solve((C, L), self.fXY(x, y)) + # compute W = H^{-1}A^T (A H^{-1} A^T)^{-1} A + W = np.dot(invHAT, sci.linalg.solve(np.dot(self.A, invHAT), self.A)) + # return H^{-1}A^T (A H^{-1} A^T)^{-1} A H^{-1} B - H^{-1} B + return np.dot(W, invHB) - invHB def _check_constraints(self, x, y): """Check that the problem's constraints are satisfied.""" diff --git a/ddn/basic/robust_nodes.py b/ddn/basic/robust_nodes.py index d59ef35..eed8499 100644 --- a/ddn/basic/robust_nodes.py +++ b/ddn/basic/robust_nodes.py @@ -15,7 +15,7 @@ class RobustAverage(NonUniqueDeclarativeNode): minimize f(x, y) = \sum_{i=1}^{n} phi(y - x_i; alpha) where phi(z; alpha) is one of the following robust penalties, 'quadratic': 1/2 z^2 - 'pseudo-huber': alpha^2 (\sqrt(1 + (z/alpha)^2 - 1) + 'pseudo-huber': alpha^2 (\sqrt(1 + (z/alpha)^2) - 1) 'huber': 1/2 z^2 for |z| <= alpha and alpha |z| - 1/2 alpha^2 otherwise 'welsch': 1 - exp(-z^2 / 2 alpha^2) 'trunc-quad': 1/2 z^2 for |z| <= alpha and 1/2 alpha^2 otherwise diff --git a/ddn/pytorch/robustpool.py b/ddn/pytorch/robustpool.py index c706b08..f560e00 100755 --- a/ddn/pytorch/robustpool.py +++ b/ddn/pytorch/robustpool.py @@ -266,7 +266,7 @@ def backward(ctx, grad_output): grad_input = method.Dy(z, alpha) * grad_output.unsqueeze(-1).unsqueeze(-1) # Unflatten: grad_input = grad_input.reshape(input_size) - return grad_input, None, None, None, None + return grad_input, None, None class RobustGlobalPool2d(torch.nn.Module): def __init__(self, method, alpha=1.0): @@ -304,4 +304,4 @@ def extra_repr(self): input = (torch.randn(2, 3, 7, 7, dtype=torch.double, requires_grad=True), method, alpha_tensor) test = gradcheck(robustPool, input, eps=1e-6, atol=1e-4, rtol=1e-3, raise_exception=True) print("{}: {}".format(method.__name__, test)) -""" \ No newline at end of file +""" diff --git a/tutorials/01_simple_worked_example.ipynb b/tutorials/01_simple_worked_example.ipynb index 387a31c..269b302 100644 --- a/tutorials/01_simple_worked_example.ipynb +++ b/tutorials/01_simple_worked_example.ipynb @@ -4,13 +4,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Constrained Declarative Node Worked Examples\n", + "# Declarative Node Worked Examples\n", "\n", - "In this notebook we explore three simple examples of constrained declarative nodes.\n", - "The first example solves a problem with linear objective and unit sphere constraint,\n", - "the second example solves a problem with quadratic objective and unit sphere constraint,\n", - "and the third example solve a problem with quadratic objective and unit ball constraint.\n", - "All examples have two-dimensional output to allow for easy visualization.\n", + "In this notebook we explore four simple examples of declarative nodes.\n", + "The first example explores an unconstrained scalar-input/scalar-output problem,\n", + "the second example solves a problem with linear objective and unit sphere constraint,\n", + "the third example solves a problem with quadratic objective and unit sphere constraint,\n", + "and the last example solve a problem with quadratic objective and unit ball constraint.\n", + "All examples have one- or two-dimensional output to allow for easy visualization.\n", "\n", "It is assumed that you have read the [\"Deep Declarative Networks: A New Hope\"](https://arxiv.org/abs/1909.04866) paper." ] @@ -51,7 +52,276 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Example 1: Minimize linear objective over unit circle\n", + "## Example 1: One-dimensional unconstrained polynomial\n", + "\n", + "In this example we explore minimization of a one-dimensional parameterized polynomial from [Gould et al., 2016](https://arxiv.org/abs/1607.05447). Here the problem is\n", + "$$\n", + "y(x) = \\text{argmin}_u \\; f(x, u)\n", + "$$\n", + "where $f(x, u) = xu^4 + 2x^2u^3 - 12u^2$ with $x, u \\in \\mathbb{R}$.\n", + "\n", + "For fixed $x$, we can easily solve for the stationary points of the polynomial as\n", + "$$\n", + "\\begin{align*}\n", + "0 &= \\frac{d}{du} f(x, u) \\\\\n", + "&= 4xu^3 + 6x^2u^2 - 24u \\\\\n", + "&= 2u(2xu^2 + 3x^2u - 12) \\\\\n", + "\\end{align*}\n", + "$$\n", + "Therefore the stationary points are at\n", + "$$\n", + "u \\in \\left\\{0, \\frac{-3x^2 - \\sqrt{9x^4 + 96x}}{4x}, \\frac{-3x^2 + \\sqrt{9x^4 + 96x}}{4x} \\right\\}\n", + "$$\n", + "For $x > 0$ one of these will be the global minimum, $y$. The others are either local minimum, local maximum or inflection points depending on the value of $x$. We can therefore evaluate all three stationary points to determine the global minimum as done in the `solve` function below." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def f(x, u):\n", + " return x * u ** 4.0 + 2 * x ** 2.0 * u ** 3.0 - 12.0 * u ** 2.0\n", + "\n", + "def solve(x):\n", + " delta = np.sqrt(9.0 * x ** 4.0 + 96.0 * x)\n", + " y_stationary = [0.0, (-3.0 * x ** 2.0 - delta) / (4.0 * x), (-3.0 * x ** 2.0 + delta) / (4.0 * x)]\n", + " y_min_indx = np.argmin([f(x, y) for y in y_stationary])\n", + " return y_stationary[y_min_indx]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualization\n", + "\n", + "The following shows a contour plot of the function $f(x, u)$ for $0.25 \\leq x \\leq 2.25$ and $-6 \\leq u \\leq 4$. Only negative contour lines are shown to highlight the shape of the function around the minima. The black dashed line depicts the valley in which we find the global minima for each $x$. Over this range it turns out that the global minimum is\n", + "$$\n", + "y(x) = \\frac{-3x^2 - \\sqrt{9x^4 + 96x}}{4x}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(0.25, 2.25, 101)\n", + "u = np.linspace(-6.0, 4.0, 101)\n", + "\n", + "X, Y = np.meshgrid(x, u)\n", + "Z = np.empty(X.shape)\n", + "\n", + "for i in range(Z.shape[0]):\n", + " for j in range(Z.shape[1]):\n", + " Z[i, j] = min(f(X[i, j], Y[i, j]), 0)\n", + "\n", + "plt.figure()\n", + "cs = plt.contour(X, Y, Z, 20)\n", + "plt.clabel(cs, inline=1, fontsize=10)\n", + "plt.plot(x, [solve(xi) for xi in x], 'k--', linewidth=2)\n", + "plt.title('contour plot for f(x, u)'); plt.xlabel('x'); plt.ylabel('u')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Animation\n", + "\n", + "In order to get a better feel for how $y = \\text{argmin}_u \\, f(x, u)$ changes as a function of $x$ we can animate the function sweeping from $x = 0.25$ to $x = 2.25$. The righthand plot shows $f(x, u)$ as a function of $u$ for fixed $x$ with the global minimum identified by red dashed lines." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "fig = plt.figure()\n", + "ax = [plt.subplot(1, 2, 1), plt.subplot(1, 2, 2)]\n", + "\n", + "def animate(fnum, x, u):\n", + " # clear axes\n", + " ax[0].clear(); ax[1].clear()\n", + "\n", + " # find minimum of f(x, u) for given x\n", + " y = solve(x[fnum])\n", + "\n", + " # plot contour and show value of x\n", + " cs = ax[0].contour(X, Y, Z, 20)\n", + " plt.clabel(cs, inline=1, fontsize=10)\n", + " ax[0].plot(x, [solve(xi) for xi in x], 'k--', linewidth=2)\n", + " ax[0].plot([x[fnum], x[fnum]], ax[0].get_ylim(), 'k-', linewidth=2)\n", + " ax[0].set_xlabel('x'); ax[0].set_ylabel('u'); ax[0].set_title('f(x, u)')\n", + "\n", + " # plot f(x, u) as a function of u for given x\n", + " ax[1].plot(u, [f(x[fnum], ui) for ui in u], 'k-', linewidth=2)\n", + " ax[1].set_ylim([-300, 300])\n", + " ax[1].plot([y, y], ax[1].get_ylim(), 'r--')\n", + " ax[1].plot([u[0], u[-1]], [f(x[fnum], y), f(x[fnum], y)], 'r--')\n", + " ax[1].set_xlabel('u'); ax[1].set_title('f(x = {:0.2f}, u)'.format(x[fnum]))\n", + "\n", + " return ax\n", + "\n", + "ani = animation.FuncAnimation(fig, animate, fargs=(x, u), interval=100, frames=len(x), blit=False, repeat=False)\n", + "plt.close(fig)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# display using video or javascript\n", + "HTML(ani.to_html5_video())\n", + "#HTML(ani.to_jshtml())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Gradient\n", + "\n", + "Since we have a closed-form solution for $y$ in terms of $x$ we can compute the gradient directly, i.e.,\n", + "$$\n", + "\\begin{align*}\n", + "\\frac{dy}{dx}\n", + "&= \\frac{d}{dx} \\left( \\frac{-3x^2 - \\sqrt{9x^4 + 96x}}{4x} \\right) \\\\\n", + "&= -\\frac{3}{4} + \\frac{9x^4 - 18x^3 + 96x - 48}{\\sqrt{9x^4 + 96x}}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Alternatively, we can make use of the implicit function theorem\n", + "$$\n", + "\\begin{align*}\n", + "\\frac{dy}{dx}\n", + "&= -\\left( \\frac{\\partial^2 f}{\\partial u^2}(x, y) \\right)^{-1} \\frac{\\partial^2 f}{\\partial x \\partial u}(x, y) \\\\\n", + "&= -\\left(12xy^2 + 12x^2y - 24\\right)^{-1} \\left( 4y^3 + 12xy^2\\right) \\\\\n", + "&= - \\frac{y^3 + 3xy^2}{3xy^2 + 4x^2y - 6}\n", + "\\end{align*}\n", + "$$\n", + "\n", + "Here we have used $\\frac{dy}{dx}$ notation for gradients. In the following examples we switch to $\\text{D}y$ notation since the arguments and outputs are no longer scalars.\n", + "\n", + "The following plot shows $y(x)$ and $\\frac{dy}{dx}$ for $0.25 \\leq x \\leq 2.25$." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def gradient(x):\n", + " y = solve(x)\n", + " return -1.0 * (y ** 3 + 3.0 * x * y ** 2) / (3.0 * x * y ** 2 + 3.0 * x ** 2 * y - 6.0)\n", + "\n", + "plt.figure()\n", + "plt.subplot(2, 1, 1)\n", + "plt.plot(x, [solve(xi) for xi in x])\n", + "plt.grid()\n", + "plt.title(r'$y = argmin_u f(x, u)$'); plt.ylabel(r'$y$')\n", + "\n", + "plt.subplot(2, 1, 2)\n", + "plt.plot(x, [gradient(xi) for xi in x])\n", + "plt.xlabel(r'$x$'); plt.ylabel(r'$dy/dx$')\n", + "plt.grid()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Automatic differentiation\n", + "\n", + "Instead of deriving the Hessian $\\frac{\\partial^2 f}{\\partial u^2}$ and mixed partial deriavtive $\\frac{\\partial^2 f}{\\partial x \\partial u}$ by hand we can also use Python's `autograd` module. However, this requires re-writing the objective function `f(x, u)` using `numpy` operators as the following code demonstrates." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def f(x, u):\n", + " return x * np.power(u, 4.0) + 2 * np.power(x, 2.0) * np.power(u, 3.0) - 12.0 * np.power(u, 2.0)\n", + "\n", + "fY = grad(f, 1)\n", + "fXY = jacobian(fY, 0)\n", + "fYY = jacobian(fY, 1)\n", + "\n", + "y = [solve(xi) for xi in x]\n", + "dy = [-1.0 * fXY(xi, yi) / fYY(xi, yi) for xi, yi in zip(x, y)]\n", + "\n", + "plt.figure()\n", + "plt.subplot(2, 1, 1); plt.plot(x, y); plt.grid()\n", + "plt.title(r'$y = argmin_u f(x, u)$'); plt.ylabel(r'$y$')\n", + "\n", + "plt.subplot(2, 1, 2); plt.plot(x, dy); plt.grid()\n", + "plt.xlabel(r'$x$'); plt.ylabel(r'$dy/dx$')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 2: Minimize linear objective over unit circle\n", "\n", "Consider the problem\n", "$$\n", @@ -76,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 9, "metadata": { "collapsed": true }, @@ -176,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 10, "metadata": { "collapsed": true }, @@ -216,7 +486,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -252,7 +522,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 12, "metadata": { "collapsed": true }, @@ -329,7 +599,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Example 2: Minimize quadratic objective over unit circle\n", + "## Example 3: Minimize quadratic objective over unit circle\n", "\n", "Consider the problem\n", "$$\n", @@ -341,7 +611,7 @@ "$$\n", "with $x \\in \\mathbb{R}^2$ and $y \\in \\mathbb{R}^2$.\n", "\n", - "This is just the Euclidean projection of $x$ onto the unit cirle. The problem has analytic solution\n", + "This is just the Euclidean projection of the two-dimensional point $x$ onto the unit cirle, which can be seen by replacing the objective function with $\\frac{1}{2} \\|u - x\\|^2 = \\frac{1}{2} u^T u - x^T u + \\frac{1}{2} x^T x$ and recognizing that $\\frac{1}{2} x^T x$ plays no part in the optimization. The problem has analytic solution\n", "$$\n", "\\begin{align*}\n", "y &= \\frac{1}{\\|x\\|} x \\\\\n", @@ -350,8 +620,7 @@ "\\frac{\\partial y_2}{\\partial x_1} & \\frac{\\partial y_2}{\\partial x_2}\n", "\\end{bmatrix}\n", "= \\frac{1}{\\|x\\|^3} \\begin{bmatrix}\n", - " x_2^2 & - x_1 x_2\n", - " \\\\\n", + " x_2^2 & - x_1 x_2 \\\\\n", " - x_1 x_2 & x_1^2\n", "\\end{bmatrix}\n", "\\end{align*}\n", @@ -360,7 +629,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 14, "metadata": { "collapsed": true }, @@ -411,7 +680,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 15, "metadata": { "collapsed": true }, @@ -445,7 +714,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "metadata": { "collapsed": false }, @@ -472,7 +741,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "metadata": { "collapsed": true }, @@ -549,7 +818,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Example 3: Minimize quadratic objective over unit ball\n", + "## Example 4: Minimize quadratic objective over unit ball\n", "\n", "Consider the problem\n", "$$\n", @@ -583,7 +852,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": { "collapsed": true }, @@ -614,7 +883,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 20, "metadata": { "collapsed": true }, @@ -653,7 +922,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 21, "metadata": { "collapsed": false }, diff --git a/tutorials/TODO.md b/tutorials/TODO.md new file mode 100644 index 0000000..2d2f52e --- /dev/null +++ b/tutorials/TODO.md @@ -0,0 +1,5 @@ +- [ ] Diagram immediately after each optimisation problem +- [ ] Starting with a 1D example like the contour plot +- [ ] Linking the last two simple worked examples to Euclidean projection onto balls/spheres +- [ ] Adding a PyTorch tutorial +- [ ] Feedback from Itzik