From fc0a941856bfbeb78e0b6e5af42d59d03027ba8e Mon Sep 17 00:00:00 2001 From: Morten Hjorth-Jensen Date: Sun, 6 Oct 2024 13:38:44 +0200 Subject: [PATCH] added files --- doc/LectureNotes/_toc.yml | 4 +- doc/LectureNotes/exercisesweek41.ipynb | 1144 +++++ doc/LectureNotes/week41.ipynb | 3972 +++++++++++++++++ .../week41/ipynb-exercisesweek41-src.tar.gz | Bin 0 -> 492792 bytes 4 files changed, 5119 insertions(+), 1 deletion(-) create mode 100644 doc/LectureNotes/exercisesweek41.ipynb create mode 100644 doc/LectureNotes/week41.ipynb create mode 100644 doc/src/week41/ipynb-exercisesweek41-src.tar.gz diff --git a/doc/LectureNotes/_toc.yml b/doc/LectureNotes/_toc.yml index de004588b..43e4a496e 100644 --- a/doc/LectureNotes/_toc.yml +++ b/doc/LectureNotes/_toc.yml @@ -54,7 +54,9 @@ parts: - file: exercisesweek39.ipynb - file: week39.ipynb - file: week40.ipynb - - caption: Projects + - file: exercisesweek41.ipynb + - file: week41.ipynb +- caption: Projects numbered: false chapters: - file: project1.ipynb diff --git a/doc/LectureNotes/exercisesweek41.ipynb b/doc/LectureNotes/exercisesweek41.ipynb new file mode 100644 index 000000000..8ddfd2d6d --- /dev/null +++ b/doc/LectureNotes/exercisesweek41.ipynb @@ -0,0 +1,1144 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4b4c06bc", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "bcb25e64", + "metadata": { + "editable": true + }, + "source": [ + "# Exercises week 41\n", + "**October 4-11, 2024**\n", + "\n", + "Date: **Deadline is Friday October 11 at midnight**" + ] + }, + { + "cell_type": "markdown", + "id": "bb01f126", + "metadata": { + "editable": true + }, + "source": [ + "# Overarching aims of the exercises this week\n", + "\n", + "The aim of the exercises this week is to get started with implementing\n", + "gradient methods of relevance for project 2. This exercise will also\n", + "be continued next week with the addition of automatic differentation.\n", + "Everything you develop here will be used in project 2. \n", + "\n", + "In order to get started, we will now replace in our standard ordinary\n", + "least squares (OLS) and Ridge regression codes (from project 1) the\n", + "matrix inversion algorithm with our own gradient descent (GD) and SGD\n", + "codes. You can use the Franke function or the terrain data from\n", + "project 1. **However, we recommend using a simpler function like**\n", + "$f(x)=a_0+a_1x+a_2x^2$ or higher-order one-dimensional polynomials.\n", + "You can obviously test your final codes against for example the Franke\n", + "function. Automatic differentiation will be discussed next week.\n", + "\n", + "You should include in your analysis of the GD and SGD codes the following elements\n", + "1. A plain gradient descent with a fixed learning rate (you will need to tune it) using the analytical expression of the gradients\n", + "\n", + "2. Add momentum to the plain GD code and compare convergence with a fixed learning rate (you may need to tune the learning rate), again using the analytical expression of the gradients.\n", + "\n", + "3. Repeat these steps for stochastic gradient descent with mini batches and a given number of epochs. Use a tunable learning rate as discussed in the lectures from week 39. Discuss the results as functions of the various parameters (size of batches, number of epochs etc)\n", + "\n", + "4. Implement the Adagrad method in order to tune the learning rate. Do this with and without momentum for plain gradient descent and SGD.\n", + "\n", + "5. Add RMSprop and Adam to your library of methods for tuning the learning rate.\n", + "\n", + "The lecture notes from weeks 39 and 40 contain more information and code examples. Feel free to use these examples.\n", + "\n", + "In summary, you should \n", + "perform an analysis of the results for OLS and Ridge regression as\n", + "function of the chosen learning rates, the number of mini-batches and\n", + "epochs as well as algorithm for scaling the learning rate. You can\n", + "also compare your own results with those that can be obtained using\n", + "for example **Scikit-Learn**'s various SGD options. Discuss your\n", + "results. For Ridge regression you need now to study the results as functions of the hyper-parameter $\\lambda$ and \n", + "the learning rate $\\eta$. Discuss your results.\n", + "\n", + "You will need your SGD code for the setup of the Neural Network and\n", + "Logistic Regression codes. You will find the Python [Seaborn\n", + "package](https://seaborn.pydata.org/generated/seaborn.heatmap.html)\n", + "useful when plotting the results as function of the learning rate\n", + "$\\eta$ and the hyper-parameter $\\lambda$ when you use Ridge\n", + "regression.\n", + "\n", + "We recommend reading chapter 8 on optimization from the textbook of [Goodfellow, Bengio and Courville](https://www.deeplearningbook.org/). This chapter contains many useful insights and discussions on the optimization part of machine learning." + ] + }, + { + "cell_type": "markdown", + "id": "d576598a", + "metadata": { + "editable": true + }, + "source": [ + "# Code examples from week 39 and 40" + ] + }, + { + "cell_type": "markdown", + "id": "2d07a903", + "metadata": { + "editable": true + }, + "source": [ + "## Code with a Number of Minibatches which varies, analytical gradient\n", + "\n", + "In the code here we vary the number of mini-batches." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4db17153", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "# Importing various packages\n", + "from math import exp, sqrt\n", + "from random import random, seed\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.inv(X.T @ X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = 2.0/n*X.T @ ((X @ theta)-y)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "for epoch in range(n_epochs):\n", + "# Can you figure out a better way of setting up the contributions to each batch?\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (2.0/M)* xi.T @ ((xi @ theta)-yi)\n", + " eta = learning_schedule(epoch*m+i)\n", + " theta = theta - eta*gradients\n", + "print(\"theta from own sdg\")\n", + "print(theta)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "a815759a", + "metadata": { + "editable": true + }, + "source": [ + "In the above code, we have use replacement in setting up the\n", + "mini-batches. The discussion\n", + "[here](https://sebastianraschka.com/faq/docs/sgd-methods.html) may be\n", + "useful." + ] + }, + { + "cell_type": "markdown", + "id": "4dc76e73", + "metadata": { + "editable": true + }, + "source": [ + "## Momentum based GD\n", + "\n", + "The stochastic gradient descent (SGD) is almost always used with a\n", + "*momentum* or inertia term that serves as a memory of the direction we\n", + "are moving in parameter space. This is typically implemented as\n", + "follows" + ] + }, + { + "cell_type": "markdown", + "id": "2650be7b", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathbf{v}_{t}=\\gamma \\mathbf{v}_{t-1}+\\eta_{t}\\nabla_\\theta E(\\boldsymbol{\\theta}_t) \\nonumber\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "94cf4be5", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation} \n", + "\\boldsymbol{\\theta}_{t+1}= \\boldsymbol{\\theta}_t -\\mathbf{v}_{t},\n", + "\\label{_auto1} \\tag{1}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "2c744311", + "metadata": { + "editable": true + }, + "source": [ + "where we have introduced a momentum parameter $\\gamma$, with\n", + "$0\\le\\gamma\\le 1$, and for brevity we dropped the explicit notation to\n", + "indicate the gradient is to be taken over a different mini-batch at\n", + "each step. We call this algorithm gradient descent with momentum\n", + "(GDM). From these equations, it is clear that $\\mathbf{v}_t$ is a\n", + "running average of recently encountered gradients and\n", + "$(1-\\gamma)^{-1}$ sets the characteristic time scale for the memory\n", + "used in the averaging procedure. Consistent with this, when\n", + "$\\gamma=0$, this just reduces down to ordinary SGD as discussed\n", + "earlier. An equivalent way of writing the updates is" + ] + }, + { + "cell_type": "markdown", + "id": "c0c1409c", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\Delta \\boldsymbol{\\theta}_{t+1} = \\gamma \\Delta \\boldsymbol{\\theta}_t -\\ \\eta_{t}\\nabla_\\theta E(\\boldsymbol{\\theta}_t),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "8a20fde4", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined $\\Delta \\boldsymbol{\\theta}_{t}= \\boldsymbol{\\theta}_t-\\boldsymbol{\\theta}_{t-1}$." + ] + }, + { + "cell_type": "markdown", + "id": "80345cf7", + "metadata": { + "editable": true + }, + "source": [ + "## Algorithms and codes for Adagrad, RMSprop and Adam\n", + "\n", + "The algorithms we have implemented are well described in the text by [Goodfellow, Bengio and Courville, chapter 8](https://www.deeplearningbook.org/contents/optimization.html).\n", + "\n", + "The codes which implement these algorithms are discussed after our presentation of automatic differentiation." + ] + }, + { + "cell_type": "markdown", + "id": "9e073302", + "metadata": { + "editable": true + }, + "source": [ + "## Practical tips\n", + "\n", + "* **Randomize the data when making mini-batches**. It is always important to randomly shuffle the data when forming mini-batches. Otherwise, the gradient descent method can fit spurious correlations resulting from the order in which data is presented.\n", + "\n", + "* **Transform your inputs**. Learning becomes difficult when our landscape has a mixture of steep and flat directions. One simple trick for minimizing these situations is to standardize the data by subtracting the mean and normalizing the variance of input variables. Whenever possible, also decorrelate the inputs. To understand why this is helpful, consider the case of linear regression. It is easy to show that for the squared error cost function, the Hessian of the cost function is just the correlation matrix between the inputs. Thus, by standardizing the inputs, we are ensuring that the landscape looks homogeneous in all directions in parameter space. Since most deep networks can be viewed as linear transformations followed by a non-linearity at each layer, we expect this intuition to hold beyond the linear case.\n", + "\n", + "* **Monitor the out-of-sample performance.** Always monitor the performance of your model on a validation set (a small portion of the training data that is held out of the training process to serve as a proxy for the test set. If the validation error starts increasing, then the model is beginning to overfit. Terminate the learning process. This *early stopping* significantly improves performance in many settings.\n", + "\n", + "* **Adaptive optimization methods don't always have good generalization.** Recent studies have shown that adaptive methods such as ADAM, RMSPorp, and AdaGrad tend to have poor generalization compared to SGD or SGD with momentum, particularly in the high-dimensional limit (i.e. the number of parameters exceeds the number of data points). Although it is not clear at this stage why these methods perform so well in training deep neural networks, simpler procedures like properly-tuned SGD may work as well or better in these applications.\n", + "\n", + "Geron's text, see chapter 11, has several interesting discussions." + ] + }, + { + "cell_type": "markdown", + "id": "23fed8cc", + "metadata": { + "editable": true + }, + "source": [ + "## Using Automatic differentation with OLS\n", + "\n", + "We conclude the part on optmization by showing how we can make codes\n", + "for linear regression and logistic regression using **autograd**. The\n", + "first example shows results with ordinary leats squares." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2b199ebe", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients for OLS\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e1d7695a", + "metadata": { + "editable": true + }, + "source": [ + "## Same code but now with momentum gradient descent" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "74404bdc", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients for OLS\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x#+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 30\n", + "\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(theta)\n", + " theta -= eta*gradients\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "# Now improve with momentum gradient descent\n", + "change = 0.0\n", + "delta_momentum = 0.3\n", + "for iter in range(Niterations):\n", + " # calculate gradient\n", + " gradients = training_gradient(theta)\n", + " # calculate update\n", + " new_change = eta*gradients+delta_momentum*change\n", + " # take a step\n", + " theta -= new_change\n", + " # save the change\n", + " change = new_change\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"theta from own gd wth momentum\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "398dee87", + "metadata": { + "editable": true + }, + "source": [ + "## But noen of these can compete with Newton's method" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f4f7ac9a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Newton's method\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "def CostOLS(beta):\n", + " return (1.0/n)*np.sum((y-X @ beta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "beta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(beta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "# Note that here the Hessian does not depend on the parameters beta\n", + "invH = np.linalg.pinv(H)\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "beta = np.random.randn(2,1)\n", + "Niterations = 5\n", + "\n", + "# define the gradient\n", + "training_gradient = grad(CostOLS)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = training_gradient(beta)\n", + " beta -= invH @ gradients\n", + " print(iter,gradients[0],gradients[1])\n", + "print(\"beta from own Newton code\")\n", + "print(beta)" + ] + }, + { + "cell_type": "markdown", + "id": "7fe85919", + "metadata": { + "editable": true + }, + "source": [ + "## Including Stochastic Gradient Descent with Autograd\n", + "In this code we include the stochastic gradient descent approach discussed above. Note here that we specify which argument we are taking the derivative with respect to when using **autograd**." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f4ca22ee", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using SGD\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 1000\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = (1.0/n)*training_gradient(y, X, theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "xnew = np.array([[0],[2]])\n", + "Xnew = np.c_[np.ones((2,1)), xnew]\n", + "ypredict = Xnew.dot(theta)\n", + "ypredict2 = Xnew.dot(theta_linreg)\n", + "\n", + "plt.plot(xnew, ypredict, \"r-\")\n", + "plt.plot(xnew, ypredict2, \"b-\")\n", + "plt.plot(x, y ,'ro')\n", + "plt.axis([0,2.0,0, 15.0])\n", + "plt.xlabel(r'$x$')\n", + "plt.ylabel(r'$y$')\n", + "plt.title(r'Random numbers ')\n", + "plt.show()\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "for epoch in range(n_epochs):\n", + "# Can you figure out a better way of setting up the contributions to each batch?\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " eta = learning_schedule(epoch*m+i)\n", + " theta = theta - eta*gradients\n", + "print(\"theta from own sdg\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "81bbaf59", + "metadata": { + "editable": true + }, + "source": [ + "## Same code but now with momentum gradient descent" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f2ecc922", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using SGD\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 100\n", + "x = 2*np.random.rand(n,1)\n", + "y = 4+3*x+np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "# Hessian matrix\n", + "H = (2.0/n)* XT_X\n", + "EigValues, EigVectors = np.linalg.eig(H)\n", + "print(f\"Eigenvalues of Hessian Matrix:{EigValues}\")\n", + "\n", + "theta = np.random.randn(2,1)\n", + "eta = 1.0/np.max(EigValues)\n", + "Niterations = 100\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "\n", + "for iter in range(Niterations):\n", + " gradients = (1.0/n)*training_gradient(y, X, theta)\n", + " theta -= eta*gradients\n", + "print(\"theta from own gd\")\n", + "print(theta)\n", + "\n", + "\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "t0, t1 = 5, 50\n", + "def learning_schedule(t):\n", + " return t0/(t+t1)\n", + "\n", + "theta = np.random.randn(2,1)\n", + "\n", + "change = 0.0\n", + "delta_momentum = 0.3\n", + "\n", + "for epoch in range(n_epochs):\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " eta = learning_schedule(epoch*m+i)\n", + " # calculate update\n", + " new_change = eta*gradients+delta_momentum*change\n", + " # take a step\n", + " theta -= new_change\n", + " # save the change\n", + " change = new_change\n", + "print(\"theta from own sdg with momentum\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "ddf05caf", + "metadata": { + "editable": true + }, + "source": [ + "## AdaGrad algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "8ac3a77b", + "metadata": { + "editable": true + }, + "source": [ + "## Similar (second order function now) problem but now with AdaGrad" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "ec906255", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using AdaGrad and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-8\n", + "for epoch in range(n_epochs):\n", + " Giter = 0.0\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " Giter += gradients*gradients\n", + " update = gradients*eta/(delta+np.sqrt(Giter))\n", + " theta -= update\n", + "print(\"theta from own AdaGrad\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "b540daef", + "metadata": { + "editable": true + }, + "source": [ + "Running this code we note an almost perfect agreement with the results from matrix inversion." + ] + }, + { + "cell_type": "markdown", + "id": "4fbc5639", + "metadata": { + "editable": true + }, + "source": [ + "## RMSProp algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "80820b57", + "metadata": { + "editable": true + }, + "source": [ + "## RMSprop for adaptive learning rate with Stochastic Gradient Descent" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a51a1f9f", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using RMSprop and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x# +np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Value for parameter rho\n", + "rho = 0.99\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-8\n", + "for epoch in range(n_epochs):\n", + " Giter = 0.0\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + "\t# Accumulated gradient\n", + "\t# Scaling with rho the new and the previous results\n", + " Giter = (rho*Giter+(1-rho)*gradients*gradients)\n", + "\t# Taking the diagonal only and inverting\n", + " update = gradients*eta/(delta+np.sqrt(Giter))\n", + "\t# Hadamard product\n", + " theta -= update\n", + "print(\"theta from own RMSprop\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "1dbb8774", + "metadata": { + "editable": true + }, + "source": [ + "## ADAM algorithm, taken from [Goodfellow et al](https://www.deeplearningbook.org/contents/optimization.html)\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1:

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "53f97773", + "metadata": { + "editable": true + }, + "source": [ + "## And finally [ADAM](https://arxiv.org/pdf/1412.6980.pdf)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "88a61340", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# Using Autograd to calculate gradients using RMSprop and Stochastic Gradient descent\n", + "# OLS example\n", + "from random import random, seed\n", + "import numpy as np\n", + "import autograd.numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from autograd import grad\n", + "\n", + "# Note change from previous example\n", + "def CostOLS(y,X,theta):\n", + " return np.sum((y-X @ theta)**2)\n", + "\n", + "n = 1000\n", + "x = np.random.rand(n,1)\n", + "y = 2.0+3*x +4*x*x# +np.random.randn(n,1)\n", + "\n", + "X = np.c_[np.ones((n,1)), x, x*x]\n", + "XT_X = X.T @ X\n", + "theta_linreg = np.linalg.pinv(XT_X) @ (X.T @ y)\n", + "print(\"Own inversion\")\n", + "print(theta_linreg)\n", + "\n", + "\n", + "# Note that we request the derivative wrt third argument (theta, 2 here)\n", + "training_gradient = grad(CostOLS,2)\n", + "# Define parameters for Stochastic Gradient Descent\n", + "n_epochs = 50\n", + "M = 5 #size of each minibatch\n", + "m = int(n/M) #number of minibatches\n", + "# Guess for unknown parameters theta\n", + "theta = np.random.randn(3,1)\n", + "\n", + "# Value for learning rate\n", + "eta = 0.01\n", + "# Value for parameters beta1 and beta2, see https://arxiv.org/abs/1412.6980\n", + "beta1 = 0.9\n", + "beta2 = 0.999\n", + "# Including AdaGrad parameter to avoid possible division by zero\n", + "delta = 1e-7\n", + "iter = 0\n", + "for epoch in range(n_epochs):\n", + " first_moment = 0.0\n", + " second_moment = 0.0\n", + " iter += 1\n", + " for i in range(m):\n", + " random_index = M*np.random.randint(m)\n", + " xi = X[random_index:random_index+M]\n", + " yi = y[random_index:random_index+M]\n", + " gradients = (1.0/M)*training_gradient(yi, xi, theta)\n", + " # Computing moments first\n", + " first_moment = beta1*first_moment + (1-beta1)*gradients\n", + " second_moment = beta2*second_moment+(1-beta2)*gradients*gradients\n", + " first_term = first_moment/(1.0-beta1**iter)\n", + " second_term = second_moment/(1.0-beta2**iter)\n", + "\t# Scaling with rho the new and the previous results\n", + " update = eta*first_term/(np.sqrt(second_term)+delta)\n", + " theta -= update\n", + "print(\"theta from own ADAM\")\n", + "print(theta)" + ] + }, + { + "cell_type": "markdown", + "id": "8e34a6cb", + "metadata": { + "editable": true + }, + "source": [ + "## Introducing [JAX](https://jax.readthedocs.io/en/latest/)\n", + "\n", + "Presently, instead of using **autograd**, we recommend using [JAX](https://jax.readthedocs.io/en/latest/)\n", + "\n", + "**JAX** is Autograd and [XLA (Accelerated Linear Algebra))](https://www.tensorflow.org/xla),\n", + "brought together for high-performance numerical computing and machine learning research.\n", + "It provides composable transformations of Python+NumPy programs: differentiate, vectorize, parallelize, Just-In-Time compile to GPU/TPU, and more." + ] + }, + { + "cell_type": "markdown", + "id": "04f74999", + "metadata": { + "editable": true + }, + "source": [ + "### Getting started with Jax, note the way we import numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a5c7d572", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "import jax\n", + "import jax.numpy as jnp\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from jax import grad as jax_grad" + ] + }, + { + "cell_type": "markdown", + "id": "2c584b1d", + "metadata": { + "editable": true + }, + "source": [ + "### A warm-up example" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "651b82b4", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "def function(x):\n", + " return x**2\n", + "\n", + "def analytical_gradient(x):\n", + " return 2*x\n", + "\n", + "def gradient_descent(starting_point, learning_rate, num_iterations, solver=\"analytical\"):\n", + " x = starting_point\n", + " trajectory_x = [x]\n", + " trajectory_y = [function(x)]\n", + "\n", + " if solver == \"analytical\":\n", + " grad = analytical_gradient \n", + " elif solver == \"jax\":\n", + " grad = jax_grad(function)\n", + " x = jnp.float64(x)\n", + " learning_rate = jnp.float64(learning_rate)\n", + "\n", + " for _ in range(num_iterations):\n", + " \n", + " x = x - learning_rate * grad(x)\n", + " trajectory_x.append(x)\n", + " trajectory_y.append(function(x))\n", + "\n", + " return trajectory_x, trajectory_y\n", + "\n", + "x = np.linspace(-5, 5, 100)\n", + "plt.plot(x, function(x), label=\"f(x)\")\n", + "\n", + "descent_x, descent_y = gradient_descent(5, 0.1, 10, solver=\"analytical\")\n", + "jax_descend_x, jax_descend_y = gradient_descent(5, 0.1, 10, solver=\"jax\")\n", + "\n", + "plt.plot(descent_x, descent_y, label=\"Gradient descent\", marker=\"o\")\n", + "plt.plot(jax_descend_x, jax_descend_y, label=\"JAX\", marker=\"x\")" + ] + }, + { + "cell_type": "markdown", + "id": "245d5858", + "metadata": { + "editable": true + }, + "source": [ + "### A more advanced example" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "51bc9058", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "backend = np\n", + "\n", + "def function(x):\n", + " return x*backend.sin(x**2 + 1)\n", + "\n", + "def analytical_gradient(x):\n", + " return backend.sin(x**2 + 1) + 2*x**2*backend.cos(x**2 + 1)\n", + "\n", + "\n", + "x = np.linspace(-5, 5, 100)\n", + "plt.plot(x, function(x), label=\"f(x)\")\n", + "\n", + "descent_x, descent_y = gradient_descent(1, 0.01, 300, solver=\"analytical\")\n", + "\n", + "# Change the backend to JAX\n", + "backend = jnp\n", + "jax_descend_x, jax_descend_y = gradient_descent(1, 0.01, 300, solver=\"jax\")\n", + "\n", + "plt.scatter(descent_x, descent_y, label=\"Gradient descent\", marker=\"v\", s=10, color=\"red\") \n", + "plt.scatter(jax_descend_x, jax_descend_y, label=\"JAX\", marker=\"x\", s=5, color=\"black\")" + ] + } + ], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/doc/LectureNotes/week41.ipynb b/doc/LectureNotes/week41.ipynb new file mode 100644 index 000000000..3def9b7f3 --- /dev/null +++ b/doc/LectureNotes/week41.ipynb @@ -0,0 +1,3972 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4fed6eef", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "6a758aaa", + "metadata": { + "editable": true + }, + "source": [ + "# Week 41 Neural networks and constructing a neural network code\n", + "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo\n", + "\n", + "Date: **Week 41**" + ] + }, + { + "cell_type": "markdown", + "id": "7436d60f", + "metadata": { + "editable": true + }, + "source": [ + "## Plan for week 41, October 7-11" + ] + }, + { + "cell_type": "markdown", + "id": "4a06fa29", + "metadata": { + "editable": true + }, + "source": [ + "## Material for the lecture on Monday October 7, 2024\n", + "1. Neural Networks, setting up the basic steps, from the simple perceptron model to the multi-layer perceptron model.\n", + "\n", + "2. Building our own Feed-forward Neural Network\n", + "\n", + "\n", + "\n", + "**Readings and Videos:**\n", + "\n", + "1. These lecture notes\n", + "\n", + "2. Rashcka et al chapter 11 \n", + "\n", + "3. For neural networks we recommend Goodfellow et al chapter 6.\n", + "\n", + "a. Neural Networks demystified at \n", + "\n", + "2. Building Neural Networks from scratch at \n", + "\n", + "3. Video on Neural Networks at \n", + "\n", + "4. Video on the back propagation algorithm at \n", + "\n", + "We also recommend Michael Nielsen's intuitive approach to the neural networks and the universal approximation theorem, see the slides at ." + ] + }, + { + "cell_type": "markdown", + "id": "c77f547a", + "metadata": { + "editable": true + }, + "source": [ + "## Material for the active learning sessions on Tuesday and Wednesday\n", + "* Exercise on writing your own stochastic gradient and gradient descent codes. This exercise continues next week with studies of automatic differentiation\n", + "\n", + "* One lecture at the beginning of each session on the material from weeks 39 and 40 and how to write your own gradient descent code\n", + "\n", + "* Discussion of project 2\n", + "\n", + "* Your task before the sessions: revisit the material from weeks 39 and 40 and in particular the material from week 40 on stochastic gradient descent" + ] + }, + { + "cell_type": "markdown", + "id": "a1ba6a50", + "metadata": { + "editable": true + }, + "source": [ + "## Lecture Monday October 7" + ] + }, + { + "cell_type": "markdown", + "id": "9ef418c8", + "metadata": { + "editable": true + }, + "source": [ + "## Introduction to Neural networks\n", + "\n", + "Artificial neural networks are computational systems that can learn to\n", + "perform tasks by considering examples, generally without being\n", + "programmed with any task-specific rules. It is supposed to mimic a\n", + "biological system, wherein neurons interact by sending signals in the\n", + "form of mathematical functions between layers. All layers can contain\n", + "an arbitrary number of neurons, and each connection is represented by\n", + "a weight variable." + ] + }, + { + "cell_type": "markdown", + "id": "b58ec2e6", + "metadata": { + "editable": true + }, + "source": [ + "## Artificial neurons\n", + "\n", + "The field of artificial neural networks has a long history of\n", + "development, and is closely connected with the advancement of computer\n", + "science and computers in general. A model of artificial neurons was\n", + "first developed by McCulloch and Pitts in 1943 to study signal\n", + "processing in the brain and has later been refined by others. The\n", + "general idea is to mimic neural networks in the human brain, which is\n", + "composed of billions of neurons that communicate with each other by\n", + "sending electrical signals. Each neuron accumulates its incoming\n", + "signals, which must exceed an activation threshold to yield an\n", + "output. If the threshold is not overcome, the neuron remains inactive,\n", + "i.e. has zero output.\n", + "\n", + "This behaviour has inspired a simple mathematical model for an artificial neuron." + ] + }, + { + "cell_type": "markdown", + "id": "7d1b99e3", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y = f\\left(\\sum_{i=1}^n w_ix_i\\right) = f(u)\n", + "\\label{artificialNeuron} \\tag{1}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "367512fa", + "metadata": { + "editable": true + }, + "source": [ + "Here, the output $y$ of the neuron is the value of its activation function, which have as input\n", + "a weighted sum of signals $x_i, \\dots ,x_n$ received by $n$ other neurons.\n", + "\n", + "Conceptually, it is helpful to divide neural networks into four\n", + "categories:\n", + "1. general purpose neural networks for supervised learning,\n", + "\n", + "2. neural networks designed specifically for image processing, the most prominent example of this class being Convolutional Neural Networks (CNNs),\n", + "\n", + "3. neural networks for sequential data such as Recurrent Neural Networks (RNNs), and\n", + "\n", + "4. neural networks for unsupervised learning such as Deep Boltzmann Machines.\n", + "\n", + "In natural science, DNNs and CNNs have already found numerous\n", + "applications. In statistical physics, they have been applied to detect\n", + "phase transitions in 2D Ising and Potts models, lattice gauge\n", + "theories, and different phases of polymers, or solving the\n", + "Navier-Stokes equation in weather forecasting. Deep learning has also\n", + "found interesting applications in quantum physics. Various quantum\n", + "phase transitions can be detected and studied using DNNs and CNNs,\n", + "topological phases, and even non-equilibrium many-body\n", + "localization. Representing quantum states as DNNs quantum state\n", + "tomography are among some of the impressive achievements to reveal the\n", + "potential of DNNs to facilitate the study of quantum systems.\n", + "\n", + "In quantum information theory, it has been shown that one can perform\n", + "gate decompositions with the help of neural. \n", + "\n", + "The applications are not limited to the natural sciences. There is a\n", + "plethora of applications in essentially all disciplines, from the\n", + "humanities to life science and medicine." + ] + }, + { + "cell_type": "markdown", + "id": "3d79cfce", + "metadata": { + "editable": true + }, + "source": [ + "## Neural network types\n", + "\n", + "An artificial neural network (ANN), is a computational model that\n", + "consists of layers of connected neurons, or nodes or units. We will\n", + "refer to these interchangeably as units or nodes, and sometimes as\n", + "neurons.\n", + "\n", + "It is supposed to mimic a biological nervous system by letting each\n", + "neuron interact with other neurons by sending signals in the form of\n", + "mathematical functions between layers. A wide variety of different\n", + "ANNs have been developed, but most of them consist of an input layer,\n", + "an output layer and eventual layers in-between, called *hidden\n", + "layers*. All layers can contain an arbitrary number of nodes, and each\n", + "connection between two nodes is associated with a weight variable.\n", + "\n", + "Neural networks (also called neural nets) are neural-inspired\n", + "nonlinear models for supervised learning. As we will see, neural nets\n", + "can be viewed as natural, more powerful extensions of supervised\n", + "learning methods such as linear and logistic regression and soft-max\n", + "methods we discussed earlier." + ] + }, + { + "cell_type": "markdown", + "id": "cbcafcdc", + "metadata": { + "editable": true + }, + "source": [ + "## Feed-forward neural networks\n", + "\n", + "The feed-forward neural network (FFNN) was the first and simplest type\n", + "of ANNs that were devised. In this network, the information moves in\n", + "only one direction: forward through the layers.\n", + "\n", + "Nodes are represented by circles, while the arrows display the\n", + "connections between the nodes, including the direction of information\n", + "flow. Additionally, each arrow corresponds to a weight variable\n", + "(figure to come). We observe that each node in a layer is connected\n", + "to *all* nodes in the subsequent layer, making this a so-called\n", + "*fully-connected* FFNN." + ] + }, + { + "cell_type": "markdown", + "id": "1ab04b48", + "metadata": { + "editable": true + }, + "source": [ + "## Convolutional Neural Network\n", + "\n", + "A different variant of FFNNs are *convolutional neural networks*\n", + "(CNNs), which have a connectivity pattern inspired by the animal\n", + "visual cortex. Individual neurons in the visual cortex only respond to\n", + "stimuli from small sub-regions of the visual field, called a receptive\n", + "field. This makes the neurons well-suited to exploit the strong\n", + "spatially local correlation present in natural images. The response of\n", + "each neuron can be approximated mathematically as a convolution\n", + "operation. (figure to come)\n", + "\n", + "Convolutional neural networks emulate the behaviour of neurons in the\n", + "visual cortex by enforcing a *local* connectivity pattern between\n", + "nodes of adjacent layers: Each node in a convolutional layer is\n", + "connected only to a subset of the nodes in the previous layer, in\n", + "contrast to the fully-connected FFNN. Often, CNNs consist of several\n", + "convolutional layers that learn local features of the input, with a\n", + "fully-connected layer at the end, which gathers all the local data and\n", + "produces the outputs. They have wide applications in image and video\n", + "recognition." + ] + }, + { + "cell_type": "markdown", + "id": "e4cf80b3", + "metadata": { + "editable": true + }, + "source": [ + "## Recurrent neural networks\n", + "\n", + "So far we have only mentioned ANNs where information flows in one\n", + "direction: forward. *Recurrent neural networks* on the other hand,\n", + "have connections between nodes that form directed *cycles*. This\n", + "creates a form of internal memory which are able to capture\n", + "information on what has been calculated before; the output is\n", + "dependent on the previous computations. Recurrent NNs make use of\n", + "sequential information by performing the same task for every element\n", + "in a sequence, where each element depends on previous elements. An\n", + "example of such information is sentences, making recurrent NNs\n", + "especially well-suited for handwriting and speech recognition." + ] + }, + { + "cell_type": "markdown", + "id": "f27655c6", + "metadata": { + "editable": true + }, + "source": [ + "## Other types of networks\n", + "\n", + "There are many other kinds of ANNs that have been developed. One type\n", + "that is specifically designed for interpolation in multidimensional\n", + "space is the radial basis function (RBF) network. RBFs are typically\n", + "made up of three layers: an input layer, a hidden layer with\n", + "non-linear radial symmetric activation functions and a linear output\n", + "layer (''linear'' here means that each node in the output layer has a\n", + "linear activation function). The layers are normally fully-connected\n", + "and there are no cycles, thus RBFs can be viewed as a type of\n", + "fully-connected FFNN. They are however usually treated as a separate\n", + "type of NN due the unusual activation functions." + ] + }, + { + "cell_type": "markdown", + "id": "fa00e7d8", + "metadata": { + "editable": true + }, + "source": [ + "## Multilayer perceptrons\n", + "\n", + "One uses often so-called fully-connected feed-forward neural networks\n", + "with three or more layers (an input layer, one or more hidden layers\n", + "and an output layer) consisting of neurons that have non-linear\n", + "activation functions.\n", + "\n", + "Such networks are often called *multilayer perceptrons* (MLPs)." + ] + }, + { + "cell_type": "markdown", + "id": "7b05bd13", + "metadata": { + "editable": true + }, + "source": [ + "## Why multilayer perceptrons?\n", + "\n", + "According to the *Universal approximation theorem*, a feed-forward\n", + "neural network with just a single hidden layer containing a finite\n", + "number of neurons can approximate a continuous multidimensional\n", + "function to arbitrary accuracy, assuming the activation function for\n", + "the hidden layer is a **non-constant, bounded and\n", + "monotonically-increasing continuous function**.\n", + "\n", + "Note that the requirements on the activation function only applies to\n", + "the hidden layer, the output nodes are always assumed to be linear, so\n", + "as to not restrict the range of output values." + ] + }, + { + "cell_type": "markdown", + "id": "3600caa3", + "metadata": { + "editable": true + }, + "source": [ + "## Illustration of a single perceptron model and a multi-perceptron model\n", + "\n", + "\n", + "\n", + "\n", + "

Figure 1: In a) we show a single perceptron model while in b) we dispay a network with two hidden layers, an input layer and an output layer.

\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "99af52bb", + "metadata": { + "editable": true + }, + "source": [ + "## Examples of XOR, OR and AND gates\n", + "\n", + "Let us first try to fit various gates using standard linear\n", + "regression. The gates we are thinking of are the classical XOR, OR and\n", + "AND gates, well-known elements in computer science. The tables here\n", + "show how we can set up the inputs $x_1$ and $x_2$ in order to yield a\n", + "specific target $y_i$." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "04ecfb00", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Simple code that tests XOR, OR and AND gates with linear regression\n", + "\"\"\"\n", + "\n", + "import numpy as np\n", + "# Design matrix\n", + "X = np.array([ [1, 0, 0], [1, 0, 1], [1, 1, 0],[1, 1, 1]],dtype=np.float64)\n", + "print(f\"The X.TX matrix:{X.T @ X}\")\n", + "Xinv = np.linalg.pinv(X.T @ X)\n", + "print(f\"The invers of X.TX matrix:{Xinv}\")\n", + "\n", + "# The XOR gate \n", + "yXOR = np.array( [ 0, 1 ,1, 0])\n", + "ThetaXOR = Xinv @ X.T @ yXOR\n", + "print(f\"The values of theta for the XOR gate:{ThetaXOR}\")\n", + "print(f\"The linear regression prediction for the XOR gate:{X @ ThetaXOR}\")\n", + "\n", + "\n", + "# The OR gate \n", + "yOR = np.array( [ 0, 1 ,1, 1])\n", + "ThetaOR = Xinv @ X.T @ yOR\n", + "print(f\"The values of theta for the OR gate:{ThetaOR}\")\n", + "print(f\"The linear regression prediction for the OR gate:{X @ ThetaOR}\")\n", + "\n", + "\n", + "# The OR gate \n", + "yAND = np.array( [ 0, 0 ,0, 1])\n", + "ThetaAND = Xinv @ X.T @ yAND\n", + "print(f\"The values of theta for the AND gate:{ThetaAND}\")\n", + "print(f\"The linear regression prediction for the AND gate:{X @ ThetaAND}\")" + ] + }, + { + "cell_type": "markdown", + "id": "0026adeb", + "metadata": { + "editable": true + }, + "source": [ + "What is happening here?" + ] + }, + { + "cell_type": "markdown", + "id": "e23f3056", + "metadata": { + "editable": true + }, + "source": [ + "## Does Logistic Regression do a better Job?" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a30fe879", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "\"\"\"\n", + "Simple code that tests XOR and OR gates with linear regression\n", + "and logistic regression\n", + "\"\"\"\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.linear_model import LogisticRegression\n", + "import numpy as np\n", + "\n", + "# Design matrix\n", + "X = np.array([ [1, 0, 0], [1, 0, 1], [1, 1, 0],[1, 1, 1]],dtype=np.float64)\n", + "print(f\"The X.TX matrix:{X.T @ X}\")\n", + "Xinv = np.linalg.pinv(X.T @ X)\n", + "print(f\"The invers of X.TX matrix:{Xinv}\")\n", + "\n", + "# The XOR gate \n", + "yXOR = np.array( [ 0, 1 ,1, 0])\n", + "ThetaXOR = Xinv @ X.T @ yXOR\n", + "print(f\"The values of theta for the XOR gate:{ThetaXOR}\")\n", + "print(f\"The linear regression prediction for the XOR gate:{X @ ThetaXOR}\")\n", + "\n", + "\n", + "# The OR gate \n", + "yOR = np.array( [ 0, 1 ,1, 1])\n", + "ThetaOR = Xinv @ X.T @ yOR\n", + "print(f\"The values of theta for the OR gate:{ThetaOR}\")\n", + "print(f\"The linear regression prediction for the OR gate:{X @ ThetaOR}\")\n", + "\n", + "\n", + "# The OR gate \n", + "yAND = np.array( [ 0, 0 ,0, 1])\n", + "ThetaAND = Xinv @ X.T @ yAND\n", + "print(f\"The values of theta for the AND gate:{ThetaAND}\")\n", + "print(f\"The linear regression prediction for the AND gate:{X @ ThetaAND}\")\n", + "\n", + "# Now we change to logistic regression\n", + "\n", + "\n", + "# Logistic Regression\n", + "logreg = LogisticRegression()\n", + "logreg.fit(X, yOR)\n", + "print(\"Test set accuracy with Logistic Regression for OR gate: {:.2f}\".format(logreg.score(X,yOR)))\n", + "\n", + "logreg.fit(X, yXOR)\n", + "print(\"Test set accuracy with Logistic Regression for XOR gate: {:.2f}\".format(logreg.score(X,yXOR)))\n", + "\n", + "\n", + "logreg.fit(X, yAND)\n", + "print(\"Test set accuracy with Logistic Regression for AND gate: {:.2f}\".format(logreg.score(X,yAND)))" + ] + }, + { + "cell_type": "markdown", + "id": "7773ba9d", + "metadata": { + "editable": true + }, + "source": [ + "Not exactly impressive, but somewhat better." + ] + }, + { + "cell_type": "markdown", + "id": "4a85ef26", + "metadata": { + "editable": true + }, + "source": [ + "## Adding Neural Networks" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "2f8dd9ef", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "\n", + "# and now neural networks with Scikit-Learn and the XOR\n", + "\n", + "from sklearn.neural_network import MLPClassifier\n", + "from sklearn.datasets import make_classification\n", + "X, yXOR = make_classification(n_samples=100, random_state=1)\n", + "FFNN = MLPClassifier(random_state=1, max_iter=300).fit(X, yXOR)\n", + "FFNN.predict_proba(X)\n", + "print(f\"Test set accuracy with Feed Forward Neural Network for XOR gate:{FFNN.score(X, yXOR)}\")" + ] + }, + { + "cell_type": "markdown", + "id": "5b0fb3ff", + "metadata": { + "editable": true + }, + "source": [ + "## Mathematical model\n", + "\n", + "The output $y$ is produced via the activation function $f$" + ] + }, + { + "cell_type": "markdown", + "id": "f5c984c2", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "y = f\\left(\\sum_{i=1}^n w_ix_i + b_i\\right) = f(z),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "9743f4cb", + "metadata": { + "editable": true + }, + "source": [ + "This function receives $x_i$ as inputs.\n", + "Here the activation $z=(\\sum_{i=1}^n w_ix_i+b_i)$. \n", + "In an FFNN of such neurons, the *inputs* $x_i$ are the *outputs* of\n", + "the neurons in the preceding layer. Furthermore, an MLP is\n", + "fully-connected, which means that each neuron receives a weighted sum\n", + "of the outputs of *all* neurons in the previous layer." + ] + }, + { + "cell_type": "markdown", + "id": "e89c3e3f", + "metadata": { + "editable": true + }, + "source": [ + "## Mathematical model\n", + "\n", + "First, for each node $i$ in the first hidden layer, we calculate a weighted sum $z_i^1$ of the input coordinates $x_j$," + ] + }, + { + "cell_type": "markdown", + "id": "21c83fef", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation} z_i^1 = \\sum_{j=1}^{M} w_{ij}^1 x_j + b_i^1\n", + "\\label{_auto1} \\tag{2}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3267338f", + "metadata": { + "editable": true + }, + "source": [ + "Here $b_i$ is the so-called bias which is normally needed in\n", + "case of zero activation weights or inputs. How to fix the biases and\n", + "the weights will be discussed below. The value of $z_i^1$ is the\n", + "argument to the activation function $f_i$ of each node $i$, The\n", + "variable $M$ stands for all possible inputs to a given node $i$ in the\n", + "first layer. We define the output $y_i^1$ of all neurons in layer 1 as" + ] + }, + { + "cell_type": "markdown", + "id": "04a1a613", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y_i^1 = f(z_i^1) = f\\left(\\sum_{j=1}^M w_{ij}^1 x_j + b_i^1\\right)\n", + "\\label{outputLayer1} \\tag{3}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "bc8b70e2", + "metadata": { + "editable": true + }, + "source": [ + "where we assume that all nodes in the same layer have identical\n", + "activation functions, hence the notation $f$. In general, we could assume in the more general case that different layers have different activation functions.\n", + "In this case we would identify these functions with a superscript $l$ for the $l$-th layer," + ] + }, + { + "cell_type": "markdown", + "id": "10686541", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y_i^l = f^l(u_i^l) = f^l\\left(\\sum_{j=1}^{N_{l-1}} w_{ij}^l y_j^{l-1} + b_i^l\\right)\n", + "\\label{generalLayer} \\tag{4}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "a92cdf36", + "metadata": { + "editable": true + }, + "source": [ + "where $N_l$ is the number of nodes in layer $l$. When the output of\n", + "all the nodes in the first hidden layer are computed, the values of\n", + "the subsequent layer can be calculated and so forth until the output\n", + "is obtained." + ] + }, + { + "cell_type": "markdown", + "id": "74dcfa13", + "metadata": { + "editable": true + }, + "source": [ + "## Mathematical model\n", + "\n", + "The output of neuron $i$ in layer 2 is thus," + ] + }, + { + "cell_type": "markdown", + "id": "0147afef", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y_i^2 = f^2\\left(\\sum_{j=1}^N w_{ij}^2 y_j^1 + b_i^2\\right) \n", + "\\label{_auto2} \\tag{5}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4a4d5b2e", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation} \n", + " = f^2\\left[\\sum_{j=1}^N w_{ij}^2f^1\\left(\\sum_{k=1}^M w_{jk}^1 x_k + b_j^1\\right) + b_i^2\\right]\n", + "\\label{outputLayer2} \\tag{6}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "31742756", + "metadata": { + "editable": true + }, + "source": [ + "where we have substituted $y_k^1$ with the inputs $x_k$. Finally, the ANN output reads" + ] + }, + { + "cell_type": "markdown", + "id": "123af90c", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y_i^3 = f^3\\left(\\sum_{j=1}^N w_{ij}^3 y_j^2 + b_i^3\\right) \n", + "\\label{_auto3} \\tag{7}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "aeb7cc95", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation} \n", + " = f_3\\left[\\sum_{j} w_{ij}^3 f^2\\left(\\sum_{k} w_{jk}^2 f^1\\left(\\sum_{m} w_{km}^1 x_m + b_k^1\\right) + b_j^2\\right)\n", + " + b_1^3\\right]\n", + "\\label{_auto4} \\tag{8}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3ab7d88c", + "metadata": { + "editable": true + }, + "source": [ + "## Mathematical model\n", + "\n", + "We can generalize this expression to an MLP with $l$ hidden\n", + "layers. The complete functional form is," + ] + }, + { + "cell_type": "markdown", + "id": "9b07f5bb", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "y^{l+1}_i = f^{l+1}\\left[\\!\\sum_{j=1}^{N_l} w_{ij}^3 f^l\\left(\\sum_{k=1}^{N_{l-1}}w_{jk}^{l-1}\\left(\\dots f^1\\left(\\sum_{n=1}^{N_0} w_{mn}^1 x_n+ b_m^1\\right)\\dots\\right)+b_k^2\\right)+b_1^3\\right] \n", + "\\label{completeNN} \\tag{9}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e9b4beb5", + "metadata": { + "editable": true + }, + "source": [ + "which illustrates a basic property of MLPs: The only independent\n", + "variables are the input values $x_n$." + ] + }, + { + "cell_type": "markdown", + "id": "57213d71", + "metadata": { + "editable": true + }, + "source": [ + "## Mathematical model\n", + "\n", + "This confirms that an MLP, despite its quite convoluted mathematical\n", + "form, is nothing more than an analytic function, specifically a\n", + "mapping of real-valued vectors $\\hat{x} \\in \\mathbb{R}^n \\rightarrow\n", + "\\hat{y} \\in \\mathbb{R}^m$.\n", + "\n", + "Furthermore, the flexibility and universality of an MLP can be\n", + "illustrated by realizing that the expression is essentially a nested\n", + "sum of scaled activation functions of the form" + ] + }, + { + "cell_type": "markdown", + "id": "85dc952c", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " f(x) = c_1 f(c_2 x + c_3) + c_4\n", + "\\label{_auto5} \\tag{10}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4a67580f", + "metadata": { + "editable": true + }, + "source": [ + "where the parameters $c_i$ are weights and biases. By adjusting these\n", + "parameters, the activation functions can be shifted up and down or\n", + "left and right, change slope or be rescaled which is the key to the\n", + "flexibility of a neural network." + ] + }, + { + "cell_type": "markdown", + "id": "19f79e3c", + "metadata": { + "editable": true + }, + "source": [ + "### Matrix-vector notation\n", + "\n", + "We can introduce a more convenient notation for the activations in an A NN. \n", + "\n", + "Additionally, we can represent the biases and activations\n", + "as layer-wise column vectors $\\hat{b}_l$ and $\\hat{y}_l$, so that the $i$-th element of each vector \n", + "is the bias $b_i^l$ and activation $y_i^l$ of node $i$ in layer $l$ respectively. \n", + "\n", + "We have that $\\mathrm{W}_l$ is an $N_{l-1} \\times N_l$ matrix, while $\\hat{b}_l$ and $\\hat{y}_l$ are $N_l \\times 1$ column vectors. \n", + "With this notation, the sum becomes a matrix-vector multiplication, and we can write\n", + "the equation for the activations of hidden layer 2 (assuming three nodes for simplicity) as" + ] + }, + { + "cell_type": "markdown", + "id": "e350b83c", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " \\hat{y}_2 = f_2(\\mathrm{W}_2 \\hat{y}_{1} + \\hat{b}_{2}) = \n", + " f_2\\left(\\left[\\begin{array}{ccc}\n", + " w^2_{11} &w^2_{12} &w^2_{13} \\\\\n", + " w^2_{21} &w^2_{22} &w^2_{23} \\\\\n", + " w^2_{31} &w^2_{32} &w^2_{33} \\\\\n", + " \\end{array} \\right] \\cdot\n", + " \\left[\\begin{array}{c}\n", + " y^1_1 \\\\\n", + " y^1_2 \\\\\n", + " y^1_3 \\\\\n", + " \\end{array}\\right] + \n", + " \\left[\\begin{array}{c}\n", + " b^2_1 \\\\\n", + " b^2_2 \\\\\n", + " b^2_3 \\\\\n", + " \\end{array}\\right]\\right).\n", + "\\label{_auto6} \\tag{11}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3b64eaf6", + "metadata": { + "editable": true + }, + "source": [ + "### Matrix-vector notation and activation\n", + "\n", + "The activation of node $i$ in layer 2 is" + ] + }, + { + "cell_type": "markdown", + "id": "dc8ca05e", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + " y^2_i = f_2\\Bigr(w^2_{i1}y^1_1 + w^2_{i2}y^1_2 + w^2_{i3}y^1_3 + b^2_i\\Bigr) = \n", + " f_2\\left(\\sum_{j=1}^3 w^2_{ij} y_j^1 + b^2_i\\right).\n", + "\\label{_auto7} \\tag{12}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "079a6c4b", + "metadata": { + "editable": true + }, + "source": [ + "This is not just a convenient and compact notation, but also a useful\n", + "and intuitive way to think about MLPs: The output is calculated by a\n", + "series of matrix-vector multiplications and vector additions that are\n", + "used as input to the activation functions. For each operation\n", + "$\\mathrm{W}_l \\hat{y}_{l-1}$ we move forward one layer." + ] + }, + { + "cell_type": "markdown", + "id": "3498dab8", + "metadata": { + "editable": true + }, + "source": [ + "### Activation functions\n", + "\n", + "A property that characterizes a neural network, other than its\n", + "connectivity, is the choice of activation function(s). As described\n", + "in, the following restrictions are imposed on an activation function\n", + "for a FFNN to fulfill the universal approximation theorem\n", + "\n", + " * Non-constant\n", + "\n", + " * Bounded\n", + "\n", + " * Monotonically-increasing\n", + "\n", + " * Continuous" + ] + }, + { + "cell_type": "markdown", + "id": "c0b93415", + "metadata": { + "editable": true + }, + "source": [ + "### Activation functions, Logistic and Hyperbolic ones\n", + "\n", + "The second requirement excludes all linear functions. Furthermore, in\n", + "a MLP with only linear activation functions, each layer simply\n", + "performs a linear transformation of its inputs.\n", + "\n", + "Regardless of the number of layers, the output of the NN will be\n", + "nothing but a linear function of the inputs. Thus we need to introduce\n", + "some kind of non-linearity to the NN to be able to fit non-linear\n", + "functions Typical examples are the logistic *Sigmoid*" + ] + }, + { + "cell_type": "markdown", + "id": "74a5d31d", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "f(x) = \\frac{1}{1 + e^{-x}},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "539998aa", + "metadata": { + "editable": true + }, + "source": [ + "and the *hyperbolic tangent* function" + ] + }, + { + "cell_type": "markdown", + "id": "e4b4b760", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "f(x) = \\tanh(x)\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b98e352b", + "metadata": { + "editable": true + }, + "source": [ + "### Relevance\n", + "\n", + "The *sigmoid* function are more biologically plausible because the\n", + "output of inactive neurons are zero. Such activation function are\n", + "called *one-sided*. However, it has been shown that the hyperbolic\n", + "tangent performs better than the sigmoid for training MLPs. has\n", + "become the most popular for *deep neural networks*" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9f6ead02", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "\"\"\"The sigmoid function (or the logistic curve) is a \n", + "function that takes any real number, z, and outputs a number (0,1).\n", + "It is useful in neural networks for assigning weights on a relative scale.\n", + "The value z is the weighted sum of parameters involved in the learning algorithm.\"\"\"\n", + "\n", + "import numpy\n", + "import matplotlib.pyplot as plt\n", + "import math as mt\n", + "\n", + "z = numpy.arange(-5, 5, .1)\n", + "sigma_fn = numpy.vectorize(lambda z: 1/(1+numpy.exp(-z)))\n", + "sigma = sigma_fn(z)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(111)\n", + "ax.plot(z, sigma)\n", + "ax.set_ylim([-0.1, 1.1])\n", + "ax.set_xlim([-5,5])\n", + "ax.grid(True)\n", + "ax.set_xlabel('z')\n", + "ax.set_title('sigmoid function')\n", + "\n", + "plt.show()\n", + "\n", + "\"\"\"Step Function\"\"\"\n", + "z = numpy.arange(-5, 5, .02)\n", + "step_fn = numpy.vectorize(lambda z: 1.0 if z >= 0.0 else 0.0)\n", + "step = step_fn(z)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(111)\n", + "ax.plot(z, step)\n", + "ax.set_ylim([-0.5, 1.5])\n", + "ax.set_xlim([-5,5])\n", + "ax.grid(True)\n", + "ax.set_xlabel('z')\n", + "ax.set_title('step function')\n", + "\n", + "plt.show()\n", + "\n", + "\"\"\"Sine Function\"\"\"\n", + "z = numpy.arange(-2*mt.pi, 2*mt.pi, 0.1)\n", + "t = numpy.sin(z)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(111)\n", + "ax.plot(z, t)\n", + "ax.set_ylim([-1.0, 1.0])\n", + "ax.set_xlim([-2*mt.pi,2*mt.pi])\n", + "ax.grid(True)\n", + "ax.set_xlabel('z')\n", + "ax.set_title('sine function')\n", + "\n", + "plt.show()\n", + "\n", + "\"\"\"Plots a graph of the squashing function used by a rectified linear\n", + "unit\"\"\"\n", + "z = numpy.arange(-2, 2, .1)\n", + "zero = numpy.zeros(len(z))\n", + "y = numpy.max([zero, z], axis=0)\n", + "\n", + "fig = plt.figure()\n", + "ax = fig.add_subplot(111)\n", + "ax.plot(z, y)\n", + "ax.set_ylim([-2.0, 2.0])\n", + "ax.set_xlim([-2.0, 2.0])\n", + "ax.grid(True)\n", + "ax.set_xlabel('z')\n", + "ax.set_title('Rectified linear unit')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "95f54888", + "metadata": { + "editable": true + }, + "source": [ + "## The multilayer perceptron (MLP)\n", + "\n", + "The multilayer perceptron is a very popular, and easy to implement approach, to deep learning. It consists of\n", + "1. A neural network with one or more layers of nodes between the input and the output nodes.\n", + "\n", + "2. The multilayer network structure, or architecture, or topology, consists of an input layer, one or more hidden layers, and one output layer.\n", + "\n", + "3. The input nodes pass values to the first hidden layer, its nodes pass the information on to the second and so on till we reach the output layer.\n", + "\n", + "As a convention it is normal to call a network with one layer of input units, one layer of hidden\n", + "units and one layer of output units as a two-layer network. A network with two layers of hidden units is called a three-layer network etc etc.\n", + "\n", + "For an MLP network there is no direct connection between the output nodes/neurons/units and the input nodes/neurons/units.\n", + "Hereafter we will call the various entities of a layer for nodes.\n", + "There are also no connections within a single layer.\n", + "\n", + "The number of input nodes does not need to equal the number of output\n", + "nodes. This applies also to the hidden layers. Each layer may have its\n", + "own number of nodes and activation functions.\n", + "\n", + "The hidden layers have their name from the fact that they are not\n", + "linked to observables and as we will see below when we define the\n", + "so-called activation $\\hat{z}$, we can think of this as a basis\n", + "expansion of the original inputs $\\hat{x}$. The difference however\n", + "between neural networks and say linear regression is that now these\n", + "basis functions (which will correspond to the weights in the network)\n", + "are learned from data. This results in an important difference between\n", + "neural networks and deep learning approaches on one side and methods\n", + "like logistic regression or linear regression and their modifications on the other side." + ] + }, + { + "cell_type": "markdown", + "id": "91bf2419", + "metadata": { + "editable": true + }, + "source": [ + "## From one to many layers, the universal approximation theorem\n", + "\n", + "A neural network with only one layer, what we called the simple\n", + "perceptron, is best suited if we have a standard binary model with\n", + "clear (linear) boundaries between the outcomes. As such it could\n", + "equally well be replaced by standard linear regression or logistic\n", + "regression. Networks with one or more hidden layers approximate\n", + "systems with more complex boundaries.\n", + "\n", + "As stated earlier, \n", + "an important theorem in studies of neural networks, restated without\n", + "proof here, is the [universal approximation\n", + "theorem](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.441.7873&rep=rep1&type=pdf).\n", + "\n", + "It states that a feed-forward network with a single hidden layer\n", + "containing a finite number of neurons can approximate continuous\n", + "functions on compact subsets of real functions. The theorem thus\n", + "states that simple neural networks can represent a wide variety of\n", + "interesting functions when given appropriate parameters. It is the\n", + "multilayer feedforward architecture itself which gives neural networks\n", + "the potential of being universal approximators." + ] + }, + { + "cell_type": "markdown", + "id": "6500ed58", + "metadata": { + "editable": true + }, + "source": [ + "## Deriving the back propagation code for a multilayer perceptron model\n", + "\n", + "As we have seen now in a feed forward network, we can express the final output of our network in terms of basic matrix-vector multiplications.\n", + "The unknowwn quantities are our weights $w_{ij}$ and we need to find an algorithm for changing them so that our errors are as small as possible.\n", + "This leads us to the famous [back propagation algorithm](https://www.nature.com/articles/323533a0).\n", + "\n", + "The questions we want to ask are how do changes in the biases and the\n", + "weights in our network change the cost function and how can we use the\n", + "final output to modify the weights?\n", + "\n", + "To derive these equations let us start with a plain regression problem\n", + "and define our cost function as" + ] + }, + { + "cell_type": "markdown", + "id": "703f7235", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "{\\cal C}(\\hat{W}) = \\frac{1}{2}\\sum_{i=1}^n\\left(y_i - t_i\\right)^2,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "667ef874", + "metadata": { + "editable": true + }, + "source": [ + "where the $t_i$s are our $n$ targets (the values we want to\n", + "reproduce), while the outputs of the network after having propagated\n", + "all inputs $\\hat{x}$ are given by $y_i$. Below we will demonstrate\n", + "how the basic equations arising from the back propagation algorithm\n", + "can be modified in order to study classification problems with $K$\n", + "classes." + ] + }, + { + "cell_type": "markdown", + "id": "dd53c6c8", + "metadata": { + "editable": true + }, + "source": [ + "## Definitions\n", + "\n", + "With our definition of the targets $\\hat{t}$, the outputs of the\n", + "network $\\hat{y}$ and the inputs $\\hat{x}$ we\n", + "define now the activation $z_j^l$ of node/neuron/unit $j$ of the\n", + "$l$-th layer as a function of the bias, the weights which add up from\n", + "the previous layer $l-1$ and the forward passes/outputs\n", + "$\\hat{a}^{l-1}$ from the previous layer as" + ] + }, + { + "cell_type": "markdown", + "id": "4f58ed9b", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "z_j^l = \\sum_{i=1}^{M_{l-1}}w_{ij}^la_i^{l-1}+b_j^l,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c60762cd", + "metadata": { + "editable": true + }, + "source": [ + "where $b_k^l$ are the biases from layer $l$. Here $M_{l-1}$\n", + "represents the total number of nodes/neurons/units of layer $l-1$. The\n", + "figure here illustrates this equation. We can rewrite this in a more\n", + "compact form as the matrix-vector products we discussed earlier," + ] + }, + { + "cell_type": "markdown", + "id": "5c1c5162", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\hat{z}^l = \\left(\\hat{W}^l\\right)^T\\hat{a}^{l-1}+\\hat{b}^l.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "080b6f9a", + "metadata": { + "editable": true + }, + "source": [ + "With the activation values $\\hat{z}^l$ we can in turn define the\n", + "output of layer $l$ as $\\hat{a}^l = f(\\hat{z}^l)$ where $f$ is our\n", + "activation function. In the examples here we will use the sigmoid\n", + "function discussed in our logistic regression lectures. We will also use the same activation function $f$ for all layers\n", + "and their nodes. It means we have" + ] + }, + { + "cell_type": "markdown", + "id": "12e261bb", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "a_j^l = f(z_j^l) = \\frac{1}{1+\\exp{-(z_j^l)}}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "49a48c09", + "metadata": { + "editable": true + }, + "source": [ + "## Derivatives and the chain rule\n", + "\n", + "From the definition of the activation $z_j^l$ we have" + ] + }, + { + "cell_type": "markdown", + "id": "6dc08f48", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial z_j^l}{\\partial w_{ij}^l} = a_i^{l-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b8211d41", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "96822eda", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial z_j^l}{\\partial a_i^{l-1}} = w_{ji}^l.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f0b1660f", + "metadata": { + "editable": true + }, + "source": [ + "With our definition of the activation function we have that (note that this function depends only on $z_j^l$)" + ] + }, + { + "cell_type": "markdown", + "id": "df85f033", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial a_j^l}{\\partial z_j^{l}} = a_j^l(1-a_j^l)=f(z_j^l)(1-f(z_j^l)).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ea90d738", + "metadata": { + "editable": true + }, + "source": [ + "## Derivative of the cost function\n", + "\n", + "With these definitions we can now compute the derivative of the cost function in terms of the weights.\n", + "\n", + "Let us specialize to the output layer $l=L$. Our cost function is" + ] + }, + { + "cell_type": "markdown", + "id": "fafb43b4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "{\\cal C}(\\hat{W^L}) = \\frac{1}{2}\\sum_{i=1}^n\\left(y_i - t_i\\right)^2=\\frac{1}{2}\\sum_{i=1}^n\\left(a_i^L - t_i\\right)^2,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "41afcc45", + "metadata": { + "editable": true + }, + "source": [ + "The derivative of this function with respect to the weights is" + ] + }, + { + "cell_type": "markdown", + "id": "aed16939", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial{\\cal C}(\\hat{W^L})}{\\partial w_{jk}^L} = \\left(a_j^L - t_j\\right)\\frac{\\partial a_j^L}{\\partial w_{jk}^{L}},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4ece624c", + "metadata": { + "editable": true + }, + "source": [ + "The last partial derivative can easily be computed and reads (by applying the chain rule)" + ] + }, + { + "cell_type": "markdown", + "id": "7fbf4fe4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial a_j^L}{\\partial w_{jk}^{L}} = \\frac{\\partial a_j^L}{\\partial z_{j}^{L}}\\frac{\\partial z_j^L}{\\partial w_{jk}^{L}}=a_j^L(1-a_j^L)a_k^{L-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "dba0e4a4", + "metadata": { + "editable": true + }, + "source": [ + "## Bringing it together, first back propagation equation\n", + "\n", + "We have thus" + ] + }, + { + "cell_type": "markdown", + "id": "c32147af", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial{\\cal C}(\\hat{W^L})}{\\partial w_{jk}^L} = \\left(a_j^L - t_j\\right)a_j^L(1-a_j^L)a_k^{L-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "4b6176c8", + "metadata": { + "editable": true + }, + "source": [ + "Defining" + ] + }, + { + "cell_type": "markdown", + "id": "b87747a4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L = a_j^L(1-a_j^L)\\left(a_j^L - t_j\\right) = f'(z_j^L)\\frac{\\partial {\\cal C}}{\\partial (a_j^L)},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "1547289e", + "metadata": { + "editable": true + }, + "source": [ + "and using the Hadamard product of two vectors we can write this as" + ] + }, + { + "cell_type": "markdown", + "id": "ef9854e4", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\hat{\\delta}^L = f'(\\hat{z}^L)\\circ\\frac{\\partial {\\cal C}}{\\partial (\\hat{a}^L)}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c9ce87bb", + "metadata": { + "editable": true + }, + "source": [ + "This is an important expression. The second term on the right handside\n", + "measures how fast the cost function is changing as a function of the $j$th\n", + "output activation. If, for example, the cost function doesn't depend\n", + "much on a particular output node $j$, then $\\delta_j^L$ will be small,\n", + "which is what we would expect. The first term on the right, measures\n", + "how fast the activation function $f$ is changing at a given activation\n", + "value $z_j^L$.\n", + "\n", + "Notice that everything in the above equations is easily computed. In\n", + "particular, we compute $z_j^L$ while computing the behaviour of the\n", + "network, and it is only a small additional overhead to compute\n", + "$f'(z^L_j)$. The exact form of the derivative with respect to the\n", + "output depends on the form of the cost function.\n", + "However, provided the cost function is known there should be little\n", + "trouble in calculating" + ] + }, + { + "cell_type": "markdown", + "id": "5b74b869", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial {\\cal C}}{\\partial (a_j^L)}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "42b1eab9", + "metadata": { + "editable": true + }, + "source": [ + "With the definition of $\\delta_j^L$ we have a more compact definition of the derivative of the cost function in terms of the weights, namely" + ] + }, + { + "cell_type": "markdown", + "id": "27331743", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial{\\cal C}(\\hat{W^L})}{\\partial w_{jk}^L} = \\delta_j^La_k^{L-1}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "8f1b672f", + "metadata": { + "editable": true + }, + "source": [ + "## Derivatives in terms of $z_j^L$\n", + "\n", + "It is also easy to see that our previous equation can be written as" + ] + }, + { + "cell_type": "markdown", + "id": "543a0ba2", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L =\\frac{\\partial {\\cal C}}{\\partial z_j^L}= \\frac{\\partial {\\cal C}}{\\partial a_j^L}\\frac{\\partial a_j^L}{\\partial z_j^L},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "628ee133", + "metadata": { + "editable": true + }, + "source": [ + "which can also be interpreted as the partial derivative of the cost function with respect to the biases $b_j^L$, namely" + ] + }, + { + "cell_type": "markdown", + "id": "94f361e5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L = \\frac{\\partial {\\cal C}}{\\partial b_j^L}\\frac{\\partial b_j^L}{\\partial z_j^L}=\\frac{\\partial {\\cal C}}{\\partial b_j^L},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "13e5c5d5", + "metadata": { + "editable": true + }, + "source": [ + "That is, the error $\\delta_j^L$ is exactly equal to the rate of change of the cost function as a function of the bias." + ] + }, + { + "cell_type": "markdown", + "id": "4887a3d7", + "metadata": { + "editable": true + }, + "source": [ + "## Bringing it together\n", + "\n", + "We have now three equations that are essential for the computations of the derivatives of the cost function at the output layer. These equations are needed to start the algorithm and they are\n", + "\n", + "**The starting equations.**" + ] + }, + { + "cell_type": "markdown", + "id": "8f4d75dd", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "\\frac{\\partial{\\cal C}(\\hat{W^L})}{\\partial w_{jk}^L} = \\delta_j^La_k^{L-1},\n", + "\\label{_auto8} \\tag{13}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "69864347", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "e654f179", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "\\delta_j^L = f'(z_j^L)\\frac{\\partial {\\cal C}}{\\partial (a_j^L)},\n", + "\\label{_auto9} \\tag{14}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f650a917", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "b8169c55", + "metadata": { + "editable": true + }, + "source": [ + "\n", + "
\n", + "\n", + "$$\n", + "\\begin{equation}\n", + "\\delta_j^L = \\frac{\\partial {\\cal C}}{\\partial b_j^L},\n", + "\\label{_auto10} \\tag{15}\n", + "\\end{equation}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "5567d66c", + "metadata": { + "editable": true + }, + "source": [ + "An interesting consequence of the above equations is that when the\n", + "activation $a_k^{L-1}$ is small, the gradient term, that is the\n", + "derivative of the cost function with respect to the weights, will also\n", + "tend to be small. We say then that the weight learns slowly, meaning\n", + "that it changes slowly when we minimize the weights via say gradient\n", + "descent. In this case we say the system learns slowly.\n", + "\n", + "Another interesting feature is that is when the activation function,\n", + "represented by the sigmoid function here, is rather flat when we move towards\n", + "its end values $0$ and $1$ (see the above Python codes). In these\n", + "cases, the derivatives of the activation function will also be close\n", + "to zero, meaning again that the gradients will be small and the\n", + "network learns slowly again.\n", + "\n", + "We need a fourth equation and we are set. We are going to propagate\n", + "backwards in order to the determine the weights and biases. In order\n", + "to do so we need to represent the error in the layer before the final\n", + "one $L-1$ in terms of the errors in the final output layer." + ] + }, + { + "cell_type": "markdown", + "id": "f5c09470", + "metadata": { + "editable": true + }, + "source": [ + "## Final back propagating equation\n", + "\n", + "We have that (replacing $L$ with a general layer $l$)" + ] + }, + { + "cell_type": "markdown", + "id": "d66ef5ca", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l =\\frac{\\partial {\\cal C}}{\\partial z_j^l}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e96004a2", + "metadata": { + "editable": true + }, + "source": [ + "We want to express this in terms of the equations for layer $l+1$. Using the chain rule and summing over all $k$ entries we have" + ] + }, + { + "cell_type": "markdown", + "id": "0ee94485", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l =\\sum_k \\frac{\\partial {\\cal C}}{\\partial z_k^{l+1}}\\frac{\\partial z_k^{l+1}}{\\partial z_j^{l}}=\\sum_k \\delta_k^{l+1}\\frac{\\partial z_k^{l+1}}{\\partial z_j^{l}},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "1c2ac190", + "metadata": { + "editable": true + }, + "source": [ + "and recalling that" + ] + }, + { + "cell_type": "markdown", + "id": "f89f9c76", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "z_j^{l+1} = \\sum_{i=1}^{M_{l}}w_{ij}^{l+1}a_i^{l}+b_j^{l+1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f8293787", + "metadata": { + "editable": true + }, + "source": [ + "with $M_l$ being the number of nodes in layer $l$, we obtain" + ] + }, + { + "cell_type": "markdown", + "id": "a2914db3", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l =\\sum_k \\delta_k^{l+1}w_{kj}^{l+1}f'(z_j^l),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "297a2622", + "metadata": { + "editable": true + }, + "source": [ + "This is our final equation.\n", + "\n", + "We are now ready to set up the algorithm for back propagation and learning the weights and biases." + ] + }, + { + "cell_type": "markdown", + "id": "c952f57b", + "metadata": { + "editable": true + }, + "source": [ + "## Setting up the Back propagation algorithm\n", + "\n", + "The four equations provide us with a way of computing the gradient of the cost function. Let us write this out in the form of an algorithm.\n", + "\n", + "First, we set up the input data $\\hat{x}$ and the activations\n", + "$\\hat{z}_1$ of the input layer and compute the activation function and\n", + "the pertinent outputs $\\hat{a}^1$.\n", + "\n", + "Secondly, we perform then the feed forward till we reach the output\n", + "layer and compute all $\\hat{z}_l$ of the input layer and compute the\n", + "activation function and the pertinent outputs $\\hat{a}^l$ for\n", + "$l=2,3,\\dots,L$.\n", + "\n", + "Thereafter we compute the ouput error $\\hat{\\delta}^L$ by computing all" + ] + }, + { + "cell_type": "markdown", + "id": "37d4f242", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L = f'(z_j^L)\\frac{\\partial {\\cal C}}{\\partial (a_j^L)}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "ff2e732a", + "metadata": { + "editable": true + }, + "source": [ + "Then we compute the back propagate error for each $l=L-1,L-2,\\dots,2$ as" + ] + }, + { + "cell_type": "markdown", + "id": "97a96714", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l = \\sum_k \\delta_k^{l+1}w_{kj}^{l+1}f'(z_j^l).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "3ee8ad1b", + "metadata": { + "editable": true + }, + "source": [ + "Finally, we update the weights and the biases using gradient descent for each $l=L-1,L-2,\\dots,2$ and update the weights and biases according to the rules" + ] + }, + { + "cell_type": "markdown", + "id": "c4d2d1a1", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "w_{jk}^l\\leftarrow = w_{jk}^l- \\eta \\delta_j^la_k^{l-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "d412dae3", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "b_j^l \\leftarrow b_j^l-\\eta \\frac{\\partial {\\cal C}}{\\partial b_j^l}=b_j^l-\\eta \\delta_j^l,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "64129a91", + "metadata": { + "editable": true + }, + "source": [ + "The parameter $\\eta$ is the learning parameter discussed in connection with the gradient descent methods.\n", + "Here it is convenient to use stochastic gradient descent (see the examples below) with mini-batches with an outer loop that steps through multiple epochs of training." + ] + }, + { + "cell_type": "markdown", + "id": "681d8bd9", + "metadata": { + "editable": true + }, + "source": [ + "## Setting up the Back propagation algorithm\n", + "\n", + "The four equations above provide us with a way of computing the gradient of the cost function. Let us write this out in the form of an algorithm.\n", + "\n", + "First, we set up the input data $\\boldsymbol{x}$ and the activations\n", + "$\\boldsymbol{z}_1$ of the input layer and compute the activation function and\n", + "the pertinent outputs $\\boldsymbol{a}^1$.\n", + "\n", + "Secondly, we perform then the feed forward till we reach the output\n", + "layer and compute all $\\boldsymbol{z}_l$ of the input layer and compute the\n", + "activation function and the pertinent outputs $\\boldsymbol{a}^l$ for\n", + "$l=2,3,\\dots,L$.\n", + "\n", + "Thereafter we compute the ouput error $\\boldsymbol{\\delta}^L$ by computing all" + ] + }, + { + "cell_type": "markdown", + "id": "62904d70", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L = f'(z_j^L)\\frac{\\partial {\\cal C}}{\\partial (a_j^L)}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "bb5b2dde", + "metadata": { + "editable": true + }, + "source": [ + "Then we compute the back propagate error for each $l=L-1,L-2,\\dots,2$ as" + ] + }, + { + "cell_type": "markdown", + "id": "51828c66", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l = \\sum_k \\delta_k^{l+1}w_{kj}^{l+1}f'(z_j^l).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "c4124232", + "metadata": { + "editable": true + }, + "source": [ + "Finally, we update the weights and the biases using gradient descent for each $l=L-1,L-2,\\dots,2$ and update the weights and biases according to the rules" + ] + }, + { + "cell_type": "markdown", + "id": "80791bf2", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "w_{jk}^l\\leftarrow = w_{jk}^l- \\eta \\delta_j^la_k^{l-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "107737c9", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "b_j^l \\leftarrow b_j^l-\\eta \\frac{\\partial {\\cal C}}{\\partial b_j^l}=b_j^l-\\eta \\delta_j^l,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "720ad834", + "metadata": { + "editable": true + }, + "source": [ + "The parameter $\\eta$ is the learning parameter discussed in connection with the gradient descent methods.\n", + "Here it is convenient to use stochastic gradient descent (see the examples below) with mini-batches with an outer loop that steps through multiple epochs of training." + ] + }, + { + "cell_type": "markdown", + "id": "6854da89", + "metadata": { + "editable": true + }, + "source": [ + "## Setting up the Back propagation algorithm\n", + "\n", + "The four equations derived discussed above provide us with a way of computing the gradient of the cost function. Let us write this out in the form of an algorithm.\n", + "\n", + "First, we set up the input data $\\boldsymbol{x}$ and the activations\n", + "$\\boldsymbol{z}_1$ of the input layer and compute the activation function and\n", + "the pertinent outputs $\\boldsymbol{a}^1$.\n", + "\n", + "Secondly, we perform then the feed forward till we reach the output\n", + "layer and compute all $\\boldsymbol{z}_l$ of the input layer and compute the\n", + "activation function and the pertinent outputs $\\boldsymbol{a}^l$ for\n", + "$l=2,3,\\dots,L$.\n", + "\n", + "Thereafter we compute the ouput error $\\boldsymbol{\\delta}^L$ by computing all" + ] + }, + { + "cell_type": "markdown", + "id": "b5c0c6c7", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^L = f'(z_j^L)\\frac{\\partial {\\cal C}}{\\partial (a_j^L)}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "43403932", + "metadata": { + "editable": true + }, + "source": [ + "Then we compute the back propagate error for each $l=L-1,L-2,\\dots,2$ as" + ] + }, + { + "cell_type": "markdown", + "id": "08f3064e", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\delta_j^l = \\sum_k \\delta_k^{l+1}w_{kj}^{l+1}f'(z_j^l).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "f5d698a4", + "metadata": { + "editable": true + }, + "source": [ + "Finally, we update the weights and the biases using gradient descent for each $l=L-1,L-2,\\dots,2$ and update the weights and biases according to the rules" + ] + }, + { + "cell_type": "markdown", + "id": "3ae56fb5", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "w_{jk}^l\\leftarrow = w_{jk}^l- \\eta \\delta_j^la_k^{l-1},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "b822ca59", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "b_j^l \\leftarrow b_j^l-\\eta \\frac{\\partial {\\cal C}}{\\partial b_j^l}=b_j^l-\\eta \\delta_j^l,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e0593696", + "metadata": { + "editable": true + }, + "source": [ + "The parameter $\\eta$ is the learning parameter discussed in connection with the gradient descent methods.\n", + "Here it is convenient to use stochastic gradient descent (see the examples below) with mini-batches with an outer loop that steps through multiple epochs of training." + ] + }, + { + "cell_type": "markdown", + "id": "c77a2a17", + "metadata": { + "editable": true + }, + "source": [ + "## Setting up a Multi-layer perceptron model for classification\n", + "\n", + "We are now gong to develop an example based on the MNIST data\n", + "base. This is a classification problem and we need to use our\n", + "cross-entropy function we discussed in connection with logistic\n", + "regression. The cross-entropy defines our cost function for the\n", + "classificaton problems with neural networks.\n", + "\n", + "In binary classification with two classes $(0, 1)$ we define the\n", + "logistic/sigmoid function as the probability that a particular input\n", + "is in class $0$ or $1$. This is possible because the logistic\n", + "function takes any input from the real numbers and inputs a number\n", + "between 0 and 1, and can therefore be interpreted as a probability. It\n", + "also has other nice properties, such as a derivative that is simple to\n", + "calculate.\n", + "\n", + "For an input $\\boldsymbol{a}$ from the hidden layer, the probability that the input $\\boldsymbol{x}$\n", + "is in class 0 or 1 is just. We let $\\theta$ represent the unknown weights and biases to be adjusted by our equations). The variable $x$\n", + "represents our activation values $z$. We have" + ] + }, + { + "cell_type": "markdown", + "id": "093f5d87", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "P(y = 0 \\mid \\boldsymbol{x}, \\boldsymbol{\\theta}) = \\frac{1}{1 + \\exp{(- \\boldsymbol{x}})} ,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7bd03f69", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "fe5226a0", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "P(y = 1 \\mid \\boldsymbol{x}, \\boldsymbol{\\theta}) = 1 - P(y = 0 \\mid \\boldsymbol{x}, \\boldsymbol{\\theta}) ,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "45f1532a", + "metadata": { + "editable": true + }, + "source": [ + "where $y \\in \\{0, 1\\}$ and $\\boldsymbol{\\theta}$ represents the weights and biases\n", + "of our network." + ] + }, + { + "cell_type": "markdown", + "id": "1b07418e", + "metadata": { + "editable": true + }, + "source": [ + "## Defining the cost function\n", + "\n", + "Our cost function is given as (see the Logistic regression lectures)" + ] + }, + { + "cell_type": "markdown", + "id": "c7f5232f", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathcal{C}(\\boldsymbol{\\theta}) = - \\ln P(\\mathcal{D} \\mid \\boldsymbol{\\theta}) = - \\sum_{i=1}^n\n", + "y_i \\ln[P(y_i = 0)] + (1 - y_i) \\ln [1 - P(y_i = 0)] = \\sum_{i=1}^n \\mathcal{L}_i(\\boldsymbol{\\theta}) .\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "e1af7b47", + "metadata": { + "editable": true + }, + "source": [ + "This last equality means that we can interpret our *cost* function as a sum over the *loss* function\n", + "for each point in the dataset $\\mathcal{L}_i(\\boldsymbol{\\theta})$. \n", + "The negative sign is just so that we can think about our algorithm as minimizing a positive number, rather\n", + "than maximizing a negative number. \n", + "\n", + "In *multiclass* classification it is common to treat each integer label as a so called *one-hot* vector: \n", + "\n", + "$y = 5 \\quad \\rightarrow \\quad \\boldsymbol{y} = (0, 0, 0, 0, 0, 1, 0, 0, 0, 0) ,$ and\n", + "\n", + "$y = 1 \\quad \\rightarrow \\quad \\boldsymbol{y} = (0, 1, 0, 0, 0, 0, 0, 0, 0, 0) ,$ \n", + "\n", + "i.e. a binary bit string of length $C$, where $C = 10$ is the number of classes in the MNIST dataset (numbers from $0$ to $9$).. \n", + "\n", + "If $\\boldsymbol{x}_i$ is the $i$-th input (image), $y_{ic}$ refers to the $c$-th component of the $i$-th\n", + "output vector $\\boldsymbol{y}_i$. \n", + "The probability of $\\boldsymbol{x}_i$ being in class $c$ will be given by the softmax function:" + ] + }, + { + "cell_type": "markdown", + "id": "db469d35", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "P(y_{ic} = 1 \\mid \\boldsymbol{x}_i, \\boldsymbol{\\theta}) = \\frac{\\exp{((\\boldsymbol{a}_i^{hidden})^T \\boldsymbol{w}_c)}}\n", + "{\\sum_{c'=0}^{C-1} \\exp{((\\boldsymbol{a}_i^{hidden})^T \\boldsymbol{w}_{c'})}} ,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "deb48962", + "metadata": { + "editable": true + }, + "source": [ + "which reduces to the logistic function in the binary case. \n", + "The likelihood of this $C$-class classifier\n", + "is now given as:" + ] + }, + { + "cell_type": "markdown", + "id": "36443e39", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "P(\\mathcal{D} \\mid \\boldsymbol{\\theta}) = \\prod_{i=1}^n \\prod_{c=0}^{C-1} [P(y_{ic} = 1)]^{y_{ic}} .\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "8076d9fa", + "metadata": { + "editable": true + }, + "source": [ + "Again we take the negative log-likelihood to define our cost function:" + ] + }, + { + "cell_type": "markdown", + "id": "292dad0a", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathcal{C}(\\boldsymbol{\\theta}) = - \\log{P(\\mathcal{D} \\mid \\boldsymbol{\\theta})}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7803b746", + "metadata": { + "editable": true + }, + "source": [ + "See the logistic regression lectures for a full definition of the cost function.\n", + "\n", + "The back propagation equations need now only a small change, namely the definition of a new cost function. We are thus ready to use the same equations as before!" + ] + }, + { + "cell_type": "markdown", + "id": "a71f1366", + "metadata": { + "editable": true + }, + "source": [ + "## Example: binary classification problem\n", + "\n", + "As an example of the above, relevant for project 2 as well, let us consider a binary class. As discussed in our logistic regression lectures, we defined a cost function in terms of the parameters $\\beta$ as" + ] + }, + { + "cell_type": "markdown", + "id": "25efb288", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathcal{C}(\\boldsymbol{\\beta}) = - \\sum_{i=1}^n \\left(y_i\\log{p(y_i \\vert x_i,\\boldsymbol{\\beta})}+(1-y_i)\\log{1-p(y_i \\vert x_i,\\boldsymbol{\\beta})}\\right),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "6192694f", + "metadata": { + "editable": true + }, + "source": [ + "where we had defined the logistic (sigmoid) function" + ] + }, + { + "cell_type": "markdown", + "id": "f6786106", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "p(y_i =1\\vert x_i,\\boldsymbol{\\beta})=\\frac{\\exp{(\\beta_0+\\beta_1 x_i)}}{1+\\exp{(\\beta_0+\\beta_1 x_i)}},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "be663cac", + "metadata": { + "editable": true + }, + "source": [ + "and" + ] + }, + { + "cell_type": "markdown", + "id": "a6953973", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "p(y_i =0\\vert x_i,\\boldsymbol{\\beta})=1-p(y_i =1\\vert x_i,\\boldsymbol{\\beta}).\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "de08816b", + "metadata": { + "editable": true + }, + "source": [ + "The parameters $\\boldsymbol{\\beta}$ were defined using a minimization method like gradient descent or Newton-Raphson's method. \n", + "\n", + "Now we replace $x_i$ with the activation $z_i^l$ for a given layer $l$ and the outputs as $y_i=a_i^l=f(z_i^l)$, with $z_i^l$ now being a function of the weights $w_{ij}^l$ and biases $b_i^l$. \n", + "We have then" + ] + }, + { + "cell_type": "markdown", + "id": "d9b14b33", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "a_i^l = y_i = \\frac{\\exp{(z_i^l)}}{1+\\exp{(z_i^l)}},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "8072c452", + "metadata": { + "editable": true + }, + "source": [ + "with" + ] + }, + { + "cell_type": "markdown", + "id": "34a5cb25", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "z_i^l = \\sum_{j}w_{ij}^l a_j^{l-1}+b_i^l,\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "833dc972", + "metadata": { + "editable": true + }, + "source": [ + "where the superscript $l-1$ indicates that these are the outputs from layer $l-1$.\n", + "Our cost function at the final layer $l=L$ is now" + ] + }, + { + "cell_type": "markdown", + "id": "3c52b850", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\mathcal{C}(\\boldsymbol{W}) = - \\sum_{i=1}^n \\left(t_i\\log{a_i^L}+(1-t_i)\\log{(1-a_i^L)}\\right),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "01c24d99", + "metadata": { + "editable": true + }, + "source": [ + "where we have defined the targets $t_i$. The derivatives of the cost function with respect to the output $a_i^L$ are then easily calculated and we get" + ] + }, + { + "cell_type": "markdown", + "id": "692fbd5a", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial \\mathcal{C}(\\boldsymbol{W})}{\\partial a_i^L} = \\frac{a_i^L-t_i}{a_i^L(1-a_i^L)}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "cdd8c203", + "metadata": { + "editable": true + }, + "source": [ + "In case we use another activation function than the logistic one, we need to evaluate other derivatives." + ] + }, + { + "cell_type": "markdown", + "id": "1e7eba9c", + "metadata": { + "editable": true + }, + "source": [ + "## The Softmax function\n", + "In case we employ the more general case given by the Softmax equation, we need to evaluate the derivative of the activation function with respect to the activation $z_i^l$, that is we need" + ] + }, + { + "cell_type": "markdown", + "id": "8ca62ded", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial f(z_i^l)}{\\partial w_{jk}^l} =\n", + "\\frac{\\partial f(z_i^l)}{\\partial z_j^l} \\frac{\\partial z_j^l}{\\partial w_{jk}^l}= \\frac{\\partial f(z_i^l)}{\\partial z_j^l}a_k^{l-1}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "479d6d33", + "metadata": { + "editable": true + }, + "source": [ + "For the Softmax function we have" + ] + }, + { + "cell_type": "markdown", + "id": "3a63ba14", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "f(z_i^l) = \\frac{\\exp{(z_i^l)}}{\\sum_{m=1}^K\\exp{(z_m^l)}}.\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "bed10528", + "metadata": { + "editable": true + }, + "source": [ + "Its derivative with respect to $z_j^l$ gives" + ] + }, + { + "cell_type": "markdown", + "id": "6a77ac39", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\frac{\\partial f(z_i^l)}{\\partial z_j^l}= f(z_i^l)\\left(\\delta_{ij}-f(z_j^l)\\right),\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "7fd16de8", + "metadata": { + "editable": true + }, + "source": [ + "which in case of the simply binary model reduces to having $i=j$." + ] + }, + { + "cell_type": "markdown", + "id": "a598757e", + "metadata": { + "editable": true + }, + "source": [ + "## Developing a code for doing neural networks with back propagation\n", + "\n", + "One can identify a set of key steps when using neural networks to solve supervised learning problems: \n", + "\n", + "1. Collect and pre-process data \n", + "\n", + "2. Define model and architecture \n", + "\n", + "3. Choose cost function and optimizer \n", + "\n", + "4. Train the model \n", + "\n", + "5. Evaluate model performance on test data \n", + "\n", + "6. Adjust hyperparameters (if necessary, network architecture)" + ] + }, + { + "cell_type": "markdown", + "id": "0dc69031", + "metadata": { + "editable": true + }, + "source": [ + "## Collect and pre-process data\n", + "\n", + "Here we will be using the MNIST dataset, which is readily available through the **scikit-learn**\n", + "package. You may also find it for example [here](http://yann.lecun.com/exdb/mnist/). \n", + "The *MNIST* (Modified National Institute of Standards and Technology) database is a large database\n", + "of handwritten digits that is commonly used for training various image processing systems. \n", + "The MNIST dataset consists of 70 000 images of size $28\\times 28$ pixels, each labeled from 0 to 9. \n", + "The scikit-learn dataset we will use consists of a selection of 1797 images of size $8\\times 8$ collected and processed from this database. \n", + "\n", + "To feed data into a feed-forward neural network we need to represent\n", + "the inputs as a design/feature matrix $X = (n_{inputs}, n_{features})$. Each\n", + "row represents an *input*, in this case a handwritten digit, and\n", + "each column represents a *feature*, in this case a pixel. The\n", + "correct answers, also known as *labels* or *targets* are\n", + "represented as a 1D array of integers \n", + "$Y = (n_{inputs}) = (5, 3, 1, 8,...)$.\n", + "\n", + "As an example, say we want to build a neural network using supervised learning to predict Body-Mass Index (BMI) from\n", + "measurements of height (in m) \n", + "and weight (in kg). If we have measurements of 5 people the design/feature matrix could be for example: \n", + "\n", + "$$ X = \\begin{bmatrix}\n", + "1.85 & 81\\\\\n", + "1.71 & 65\\\\\n", + "1.95 & 103\\\\\n", + "1.55 & 42\\\\\n", + "1.63 & 56\n", + "\\end{bmatrix} ,$$ \n", + "\n", + "and the targets would be: \n", + "\n", + "$$ Y = (23.7, 22.2, 27.1, 17.5, 21.1) $$ \n", + "\n", + "Since each input image is a 2D matrix, we need to flatten the image\n", + "(i.e. \"unravel\" the 2D matrix into a 1D array) to turn the data into a\n", + "design/feature matrix. This means we lose all spatial information in the\n", + "image, such as locality and translational invariance. More complicated\n", + "architectures such as Convolutional Neural Networks can take advantage\n", + "of such information, and are most commonly applied when analyzing\n", + "images." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d7c49d9c", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# import necessary packages\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import datasets\n", + "\n", + "\n", + "# ensure the same random numbers appear every time\n", + "np.random.seed(0)\n", + "\n", + "# display images in notebook\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (12,12)\n", + "\n", + "\n", + "# download MNIST dataset\n", + "digits = datasets.load_digits()\n", + "\n", + "# define inputs and labels\n", + "inputs = digits.images\n", + "labels = digits.target\n", + "\n", + "print(\"inputs = (n_inputs, pixel_width, pixel_height) = \" + str(inputs.shape))\n", + "print(\"labels = (n_inputs) = \" + str(labels.shape))\n", + "\n", + "\n", + "# flatten the image\n", + "# the value -1 means dimension is inferred from the remaining dimensions: 8x8 = 64\n", + "n_inputs = len(inputs)\n", + "inputs = inputs.reshape(n_inputs, -1)\n", + "print(\"X = (n_inputs, n_features) = \" + str(inputs.shape))\n", + "\n", + "\n", + "# choose some random images to display\n", + "indices = np.arange(n_inputs)\n", + "random_indices = np.random.choice(indices, size=5)\n", + "\n", + "for i, image in enumerate(digits.images[random_indices]):\n", + " plt.subplot(1, 5, i+1)\n", + " plt.axis('off')\n", + " plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest')\n", + " plt.title(\"Label: %d\" % digits.target[random_indices[i]])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "672723bb", + "metadata": { + "editable": true + }, + "source": [ + "## Train and test datasets\n", + "\n", + "Performing analysis before partitioning the dataset is a major error, that can lead to incorrect conclusions. \n", + "\n", + "We will reserve $80 \\%$ of our dataset for training and $20 \\%$ for testing. \n", + "\n", + "It is important that the train and test datasets are drawn randomly from our dataset, to ensure\n", + "no bias in the sampling. \n", + "Say you are taking measurements of weather data to predict the weather in the coming 5 days.\n", + "You don't want to train your model on measurements taken from the hours 00.00 to 12.00, and then test it on data\n", + "collected from 12.00 to 24.00." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3b0db869", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# one-liner from scikit-learn library\n", + "train_size = 0.8\n", + "test_size = 1 - train_size\n", + "X_train, X_test, Y_train, Y_test = train_test_split(inputs, labels, train_size=train_size,\n", + " test_size=test_size)\n", + "\n", + "# equivalently in numpy\n", + "def train_test_split_numpy(inputs, labels, train_size, test_size):\n", + " n_inputs = len(inputs)\n", + " inputs_shuffled = inputs.copy()\n", + " labels_shuffled = labels.copy()\n", + " \n", + " np.random.shuffle(inputs_shuffled)\n", + " np.random.shuffle(labels_shuffled)\n", + " \n", + " train_end = int(n_inputs*train_size)\n", + " X_train, X_test = inputs_shuffled[:train_end], inputs_shuffled[train_end:]\n", + " Y_train, Y_test = labels_shuffled[:train_end], labels_shuffled[train_end:]\n", + " \n", + " return X_train, X_test, Y_train, Y_test\n", + "\n", + "#X_train, X_test, Y_train, Y_test = train_test_split_numpy(inputs, labels, train_size, test_size)\n", + "\n", + "print(\"Number of training images: \" + str(len(X_train)))\n", + "print(\"Number of test images: \" + str(len(X_test)))" + ] + }, + { + "cell_type": "markdown", + "id": "a52c7acf", + "metadata": { + "editable": true + }, + "source": [ + "## Define model and architecture\n", + "\n", + "Our simple feed-forward neural network will consist of an *input* layer, a single *hidden* layer and an *output* layer. The activation $y$ of each neuron is a weighted sum of inputs, passed through an activation function. In case of the simple perceptron model we have \n", + "\n", + "$$ z = \\sum_{i=1}^n w_i a_i ,$$\n", + "\n", + "$$ y = f(z) ,$$\n", + "\n", + "where $f$ is the activation function, $a_i$ represents input from neuron $i$ in the preceding layer\n", + "and $w_i$ is the weight to input $i$. \n", + "The activation of the neurons in the input layer is just the features (e.g. a pixel value). \n", + "\n", + "The simplest activation function for a neuron is the *Heaviside* function:\n", + "\n", + "$$ f(z) = \n", + "\\begin{cases}\n", + "1, & z > 0\\\\\n", + "0, & \\text{otherwise}\n", + "\\end{cases}\n", + "$$\n", + "\n", + "A feed-forward neural network with this activation is known as a *perceptron*. \n", + "For a binary classifier (i.e. two classes, 0 or 1, dog or not-dog) we can also use this in our output layer. \n", + "This activation can be generalized to $k$ classes (using e.g. the *one-against-all* strategy), \n", + "and we call these architectures *multiclass perceptrons*. \n", + "\n", + "However, it is now common to use the terms Single Layer Perceptron (SLP) (1 hidden layer) and \n", + "Multilayer Perceptron (MLP) (2 or more hidden layers) to refer to feed-forward neural networks with any activation function. \n", + "\n", + "Typical choices for activation functions include the sigmoid function, hyperbolic tangent, and Rectified Linear Unit (ReLU). \n", + "We will be using the sigmoid function $\\sigma(x)$: \n", + "\n", + "$$ f(x) = \\sigma(x) = \\frac{1}{1 + e^{-x}} ,$$\n", + "\n", + "which is inspired by probability theory (see logistic regression) and was most commonly used until about 2011. See the discussion below concerning other activation functions." + ] + }, + { + "cell_type": "markdown", + "id": "f1ef08f4", + "metadata": { + "editable": true + }, + "source": [ + "## Layers\n", + "\n", + "* Input \n", + "\n", + "Since each input image has 8x8 = 64 pixels or features, we have an input layer of 64 neurons. \n", + "\n", + "* Hidden layer\n", + "\n", + "We will use 50 neurons in the hidden layer receiving input from the neurons in the input layer. \n", + "Since each neuron in the hidden layer is connected to the 64 inputs we have 64x50 = 3200 weights to the hidden layer. \n", + "\n", + "* Output\n", + "\n", + "If we were building a binary classifier, it would be sufficient with a single neuron in the output layer,\n", + "which could output 0 or 1 according to the Heaviside function. This would be an example of a *hard* classifier, meaning it outputs the class of the input directly. However, if we are dealing with noisy data it is often beneficial to use a *soft* classifier, which outputs the probability of being in class 0 or 1. \n", + "\n", + "For a soft binary classifier, we could use a single neuron and interpret the output as either being the probability of being in class 0 or the probability of being in class 1. Alternatively we could use 2 neurons, and interpret each neuron as the probability of being in each class. \n", + "\n", + "Since we are doing multiclass classification, with 10 categories, it is natural to use 10 neurons in the output layer. We number the neurons $j = 0,1,...,9$. The activation of each output neuron $j$ will be according to the *softmax* function: \n", + "\n", + "$$ P(\\text{class $j$} \\mid \\text{input $\\boldsymbol{a}$}) = \\frac{\\exp{(\\boldsymbol{a}^T \\boldsymbol{w}_j)}}\n", + "{\\sum_{c=0}^{9} \\exp{(\\boldsymbol{a}^T \\boldsymbol{w}_c)}} ,$$ \n", + "\n", + "i.e. each neuron $j$ outputs the probability of being in class $j$ given an input from the hidden layer $\\boldsymbol{a}$, with $\\boldsymbol{w}_j$ the weights of neuron $j$ to the inputs. \n", + "The denominator is a normalization factor to ensure the outputs (probabilities) sum up to 1. \n", + "The exponent is just the weighted sum of inputs as before: \n", + "\n", + "$$ z_j = \\sum_{i=1}^n w_ {ij} a_i+b_j.$$ \n", + "\n", + "Since each neuron in the output layer is connected to the 50 inputs from the hidden layer we have 50x10 = 500\n", + "weights to the output layer." + ] + }, + { + "cell_type": "markdown", + "id": "867b3b89", + "metadata": { + "editable": true + }, + "source": [ + "## Weights and biases\n", + "\n", + "Typically weights are initialized with small values distributed around zero, drawn from a uniform\n", + "or normal distribution. Setting all weights to zero means all neurons give the same output, making the network useless. \n", + "\n", + "Adding a bias value to the weighted sum of inputs allows the neural network to represent a greater range\n", + "of values. Without it, any input with the value 0 will be mapped to zero (before being passed through the activation). The bias unit has an output of 1, and a weight to each neuron $j$, $b_j$: \n", + "\n", + "$$ z_j = \\sum_{i=1}^n w_ {ij} a_i + b_j.$$ \n", + "\n", + "The bias weights $\\boldsymbol{b}$ are often initialized to zero, but a small value like $0.01$ ensures all neurons have some output which can be backpropagated in the first training cycle." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8ec462da", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# building our neural network\n", + "\n", + "n_inputs, n_features = X_train.shape\n", + "n_hidden_neurons = 50\n", + "n_categories = 10\n", + "\n", + "# we make the weights normally distributed using numpy.random.randn\n", + "\n", + "# weights and bias in the hidden layer\n", + "hidden_weights = np.random.randn(n_features, n_hidden_neurons)\n", + "hidden_bias = np.zeros(n_hidden_neurons) + 0.01\n", + "\n", + "# weights and bias in the output layer\n", + "output_weights = np.random.randn(n_hidden_neurons, n_categories)\n", + "output_bias = np.zeros(n_categories) + 0.01" + ] + }, + { + "cell_type": "markdown", + "id": "cf228009", + "metadata": { + "editable": true + }, + "source": [ + "## Feed-forward pass\n", + "\n", + "Denote $F$ the number of features, $H$ the number of hidden neurons and $C$ the number of categories. \n", + "For each input image we calculate a weighted sum of input features (pixel values) to each neuron $j$ in the hidden layer $l$: \n", + "\n", + "$$ z_{j}^{l} = \\sum_{i=1}^{F} w_{ij}^{l} x_i + b_{j}^{l},$$\n", + "\n", + "this is then passed through our activation function \n", + "\n", + "$$ a_{j}^{l} = f(z_{j}^{l}) .$$ \n", + "\n", + "We calculate a weighted sum of inputs (activations in the hidden layer) to each neuron $j$ in the output layer: \n", + "\n", + "$$ z_{j}^{L} = \\sum_{i=1}^{H} w_{ij}^{L} a_{i}^{l} + b_{j}^{L}.$$ \n", + "\n", + "Finally we calculate the output of neuron $j$ in the output layer using the softmax function: \n", + "\n", + "$$ a_{j}^{L} = \\frac{\\exp{(z_j^{L})}}\n", + "{\\sum_{c=0}^{C-1} \\exp{(z_c^{L})}} .$$" + ] + }, + { + "cell_type": "markdown", + "id": "c57ea8b9", + "metadata": { + "editable": true + }, + "source": [ + "## Matrix multiplications\n", + "\n", + "Since our data has the dimensions $X = (n_{inputs}, n_{features})$ and our weights to the hidden\n", + "layer have the dimensions \n", + "$W_{hidden} = (n_{features}, n_{hidden})$,\n", + "we can easily feed the network all our training data in one go by taking the matrix product \n", + "\n", + "$$ X W^{h} = (n_{inputs}, n_{hidden}),$$ \n", + "\n", + "and obtain a matrix that holds the weighted sum of inputs to the hidden layer\n", + "for each input image and each hidden neuron. \n", + "We also add the bias to obtain a matrix of weighted sums to the hidden layer $Z^{h}$: \n", + "\n", + "$$ \\boldsymbol{z}^{l} = \\boldsymbol{X} \\boldsymbol{W}^{l} + \\boldsymbol{b}^{l} ,$$\n", + "\n", + "meaning the same bias (1D array with size equal number of hidden neurons) is added to each input image. \n", + "This is then passed through the activation: \n", + "\n", + "$$ \\boldsymbol{a}^{l} = f(\\boldsymbol{z}^l) .$$ \n", + "\n", + "This is fed to the output layer: \n", + "\n", + "$$ \\boldsymbol{z}^{L} = \\boldsymbol{a}^{L} \\boldsymbol{W}^{L} + \\boldsymbol{b}^{L} .$$\n", + "\n", + "Finally we receive our output values for each image and each category by passing it through the softmax function: \n", + "\n", + "$$ output = softmax (\\boldsymbol{z}^{L}) = (n_{inputs}, n_{categories}) .$$" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9c286c15", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# setup the feed-forward pass, subscript h = hidden layer\n", + "\n", + "def sigmoid(x):\n", + " return 1/(1 + np.exp(-x))\n", + "\n", + "def feed_forward(X):\n", + " # weighted sum of inputs to the hidden layer\n", + " z_h = np.matmul(X, hidden_weights) + hidden_bias\n", + " # activation in the hidden layer\n", + " a_h = sigmoid(z_h)\n", + " \n", + " # weighted sum of inputs to the output layer\n", + " z_o = np.matmul(a_h, output_weights) + output_bias\n", + " # softmax output\n", + " # axis 0 holds each input and axis 1 the probabilities of each category\n", + " exp_term = np.exp(z_o)\n", + " probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n", + " \n", + " return probabilities\n", + "\n", + "probabilities = feed_forward(X_train)\n", + "print(\"probabilities = (n_inputs, n_categories) = \" + str(probabilities.shape))\n", + "print(\"probability that image 0 is in category 0,1,2,...,9 = \\n\" + str(probabilities[0]))\n", + "print(\"probabilities sum up to: \" + str(probabilities[0].sum()))\n", + "print()\n", + "\n", + "# we obtain a prediction by taking the class with the highest likelihood\n", + "def predict(X):\n", + " probabilities = feed_forward(X)\n", + " return np.argmax(probabilities, axis=1)\n", + "\n", + "predictions = predict(X_train)\n", + "print(\"predictions = (n_inputs) = \" + str(predictions.shape))\n", + "print(\"prediction for image 0: \" + str(predictions[0]))\n", + "print(\"correct label for image 0: \" + str(Y_train[0]))" + ] + }, + { + "cell_type": "markdown", + "id": "a6cf75c3", + "metadata": { + "editable": true + }, + "source": [ + "## Choose cost function and optimizer\n", + "\n", + "To measure how well our neural network is doing we need to introduce a cost function. \n", + "We will call the function that gives the error of a single sample output the *loss* function, and the function\n", + "that gives the total error of our network across all samples the *cost* function.\n", + "A typical choice for multiclass classification is the *cross-entropy* loss, also known as the negative log likelihood. \n", + "\n", + "In *multiclass* classification it is common to treat each integer label as a so called *one-hot* vector: \n", + "\n", + "$$ y = 5 \\quad \\rightarrow \\quad \\boldsymbol{y} = (0, 0, 0, 0, 0, 1, 0, 0, 0, 0) ,$$ \n", + "\n", + "$$ y = 1 \\quad \\rightarrow \\quad \\boldsymbol{y} = (0, 1, 0, 0, 0, 0, 0, 0, 0, 0) ,$$ \n", + "\n", + "i.e. a binary bit string of length $C$, where $C = 10$ is the number of classes in the MNIST dataset. \n", + "\n", + "Let $y_{ic}$ denote the $c$-th component of the $i$-th one-hot vector. \n", + "We define the cost function $\\mathcal{C}$ as a sum over the cross-entropy loss for each point $\\boldsymbol{x}_i$ in the dataset.\n", + "\n", + "In the one-hot representation only one of the terms in the loss function is non-zero, namely the\n", + "probability of the correct category $c'$ \n", + "(i.e. the category $c'$ such that $y_{ic'} = 1$). This means that the cross entropy loss only punishes you for how wrong\n", + "you got the correct label. The probability of category $c$ is given by the softmax function. The vector $\\boldsymbol{\\theta}$ represents the parameters of our network, i.e. all the weights and biases." + ] + }, + { + "cell_type": "markdown", + "id": "e69ffdc8", + "metadata": { + "editable": true + }, + "source": [ + "## Optimizing the cost function\n", + "\n", + "The network is trained by finding the weights and biases that minimize the cost function. One of the most widely used classes of methods is *gradient descent* and its generalizations. The idea behind gradient descent\n", + "is simply to adjust the weights in the direction where the gradient of the cost function is large and negative. This ensures we flow toward a *local* minimum of the cost function. \n", + "Each parameter $\\theta$ is iteratively adjusted according to the rule \n", + "\n", + "$$ \\theta_{i+1} = \\theta_i - \\eta \\nabla \\mathcal{C}(\\theta_i) ,$$\n", + "\n", + "where $\\eta$ is known as the *learning rate*, which controls how big a step we take towards the minimum. \n", + "This update can be repeated for any number of iterations, or until we are satisfied with the result. \n", + "\n", + "A simple and effective improvement is a variant called *Batch Gradient Descent*. \n", + "Instead of calculating the gradient on the whole dataset, we calculate an approximation of the gradient\n", + "on a subset of the data called a *minibatch*. \n", + "If there are $N$ data points and we have a minibatch size of $M$, the total number of batches\n", + "is $N/M$. \n", + "We denote each minibatch $B_k$, with $k = 1, 2,...,N/M$. The gradient then becomes: \n", + "\n", + "$$ \\nabla \\mathcal{C}(\\theta) = \\frac{1}{N} \\sum_{i=1}^N \\nabla \\mathcal{L}_i(\\theta) \\quad \\rightarrow \\quad\n", + "\\frac{1}{M} \\sum_{i \\in B_k} \\nabla \\mathcal{L}_i(\\theta) ,$$\n", + "\n", + "i.e. instead of averaging the loss over the entire dataset, we average over a minibatch. \n", + "\n", + "This has two important benefits: \n", + "1. Introducing stochasticity decreases the chance that the algorithm becomes stuck in a local minima. \n", + "\n", + "2. It significantly speeds up the calculation, since we do not have to use the entire dataset to calculate the gradient. \n", + "\n", + "The various optmization methods, with codes and algorithms, are discussed in our lectures on [Gradient descent approaches](https://compphysics.github.io/MachineLearning/doc/pub/Splines/html/Splines-bs.html)." + ] + }, + { + "cell_type": "markdown", + "id": "ef19d1e0", + "metadata": { + "editable": true + }, + "source": [ + "## Regularization\n", + "\n", + "It is common to add an extra term to the cost function, proportional\n", + "to the size of the weights. This is equivalent to constraining the\n", + "size of the weights, so that they do not grow out of control.\n", + "Constraining the size of the weights means that the weights cannot\n", + "grow arbitrarily large to fit the training data, and in this way\n", + "reduces *overfitting*.\n", + "\n", + "We will measure the size of the weights using the so called *L2-norm*, meaning our cost function becomes: \n", + "\n", + "$$ \\mathcal{C}(\\theta) = \\frac{1}{N} \\sum_{i=1}^N \\mathcal{L}_i(\\theta) \\quad \\rightarrow \\quad\n", + "\\frac{1}{N} \\sum_{i=1}^N \\mathcal{L}_i(\\theta) + \\lambda \\lvert \\lvert \\boldsymbol{w} \\rvert \\rvert_2^2 \n", + "= \\frac{1}{N} \\sum_{i=1}^N \\mathcal{L}(\\theta) + \\lambda \\sum_{ij} w_{ij}^2,$$ \n", + "\n", + "i.e. we sum up all the weights squared. The factor $\\lambda$ is known as a regularization parameter.\n", + "\n", + "In order to train the model, we need to calculate the derivative of\n", + "the cost function with respect to every bias and weight in the\n", + "network. In total our network has $(64 + 1)\\times 50=3250$ weights in\n", + "the hidden layer and $(50 + 1)\\times 10=510$ weights to the output\n", + "layer ($+1$ for the bias), and the gradient must be calculated for\n", + "every parameter. We use the *backpropagation* algorithm discussed\n", + "above. This is a clever use of the chain rule that allows us to\n", + "calculate the gradient efficently." + ] + }, + { + "cell_type": "markdown", + "id": "d93c5dfb", + "metadata": { + "editable": true + }, + "source": [ + "## Matrix multiplication\n", + "\n", + "To more efficently train our network these equations are implemented using matrix operations. \n", + "The error in the output layer is calculated simply as, with $\\boldsymbol{t}$ being our targets, \n", + "\n", + "$$ \\delta_L = \\boldsymbol{t} - \\boldsymbol{y} = (n_{inputs}, n_{categories}) .$$ \n", + "\n", + "The gradient for the output weights is calculated as \n", + "\n", + "$$ \\nabla W_{L} = \\boldsymbol{a}^T \\delta_L = (n_{hidden}, n_{categories}) ,$$\n", + "\n", + "where $\\boldsymbol{a} = (n_{inputs}, n_{hidden})$. This simply means that we are summing up the gradients for each input. \n", + "Since we are going backwards we have to transpose the activation matrix. \n", + "\n", + "The gradient with respect to the output bias is then \n", + "\n", + "$$ \\nabla \\boldsymbol{b}_{L} = \\sum_{i=1}^{n_{inputs}} \\delta_L = (n_{categories}) .$$ \n", + "\n", + "The error in the hidden layer is \n", + "\n", + "$$ \\Delta_h = \\delta_L W_{L}^T \\circ f'(z_{h}) = \\delta_L W_{L}^T \\circ a_{h} \\circ (1 - a_{h}) = (n_{inputs}, n_{hidden}) ,$$ \n", + "\n", + "where $f'(a_{h})$ is the derivative of the activation in the hidden layer. The matrix products mean\n", + "that we are summing up the products for each neuron in the output layer. The symbol $\\circ$ denotes\n", + "the *Hadamard product*, meaning element-wise multiplication. \n", + "\n", + "This again gives us the gradients in the hidden layer: \n", + "\n", + "$$ \\nabla W_{h} = X^T \\delta_h = (n_{features}, n_{hidden}) ,$$ \n", + "\n", + "$$ \\nabla b_{h} = \\sum_{i=1}^{n_{inputs}} \\delta_h = (n_{hidden}) .$$" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0a62b82a", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# to categorical turns our integer vector into a onehot representation\n", + "from sklearn.metrics import accuracy_score\n", + "\n", + "# one-hot in numpy\n", + "def to_categorical_numpy(integer_vector):\n", + " n_inputs = len(integer_vector)\n", + " n_categories = np.max(integer_vector) + 1\n", + " onehot_vector = np.zeros((n_inputs, n_categories))\n", + " onehot_vector[range(n_inputs), integer_vector] = 1\n", + " \n", + " return onehot_vector\n", + "\n", + "#Y_train_onehot, Y_test_onehot = to_categorical(Y_train), to_categorical(Y_test)\n", + "Y_train_onehot, Y_test_onehot = to_categorical_numpy(Y_train), to_categorical_numpy(Y_test)\n", + "\n", + "def feed_forward_train(X):\n", + " # weighted sum of inputs to the hidden layer\n", + " z_h = np.matmul(X, hidden_weights) + hidden_bias\n", + " # activation in the hidden layer\n", + " a_h = sigmoid(z_h)\n", + " \n", + " # weighted sum of inputs to the output layer\n", + " z_o = np.matmul(a_h, output_weights) + output_bias\n", + " # softmax output\n", + " # axis 0 holds each input and axis 1 the probabilities of each category\n", + " exp_term = np.exp(z_o)\n", + " probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n", + " \n", + " # for backpropagation need activations in hidden and output layers\n", + " return a_h, probabilities\n", + "\n", + "def backpropagation(X, Y):\n", + " a_h, probabilities = feed_forward_train(X)\n", + " \n", + " # error in the output layer\n", + " error_output = probabilities - Y\n", + " # error in the hidden layer\n", + " error_hidden = np.matmul(error_output, output_weights.T) * a_h * (1 - a_h)\n", + " \n", + " # gradients for the output layer\n", + " output_weights_gradient = np.matmul(a_h.T, error_output)\n", + " output_bias_gradient = np.sum(error_output, axis=0)\n", + " \n", + " # gradient for the hidden layer\n", + " hidden_weights_gradient = np.matmul(X.T, error_hidden)\n", + " hidden_bias_gradient = np.sum(error_hidden, axis=0)\n", + "\n", + " return output_weights_gradient, output_bias_gradient, hidden_weights_gradient, hidden_bias_gradient\n", + "\n", + "print(\"Old accuracy on training data: \" + str(accuracy_score(predict(X_train), Y_train)))\n", + "\n", + "eta = 0.01\n", + "lmbd = 0.01\n", + "for i in range(1000):\n", + " # calculate gradients\n", + " dWo, dBo, dWh, dBh = backpropagation(X_train, Y_train_onehot)\n", + " \n", + " # regularization term gradients\n", + " dWo += lmbd * output_weights\n", + " dWh += lmbd * hidden_weights\n", + " \n", + " # update weights and biases\n", + " output_weights -= eta * dWo\n", + " output_bias -= eta * dBo\n", + " hidden_weights -= eta * dWh\n", + " hidden_bias -= eta * dBh\n", + "\n", + "print(\"New accuracy on training data: \" + str(accuracy_score(predict(X_train), Y_train)))" + ] + }, + { + "cell_type": "markdown", + "id": "b666f091", + "metadata": { + "editable": true + }, + "source": [ + "## Improving performance\n", + "\n", + "As we can see the network does not seem to be learning at all. It seems to be just guessing the label for each image. \n", + "In order to obtain a network that does something useful, we will have to do a bit more work. \n", + "\n", + "The choice of *hyperparameters* such as learning rate and regularization parameter is hugely influential for the performance of the network. Typically a *grid-search* is performed, wherein we test different hyperparameters separated by orders of magnitude. For example we could test the learning rates $\\eta = 10^{-6}, 10^{-5},...,10^{-1}$ with different regularization parameters $\\lambda = 10^{-6},...,10^{-0}$. \n", + "\n", + "Next, we haven't implemented minibatching yet, which introduces stochasticity and is though to act as an important regularizer on the weights. We call a feed-forward + backward pass with a minibatch an *iteration*, and a full training period\n", + "going through the entire dataset ($n/M$ batches) an *epoch*.\n", + "\n", + "If this does not improve network performance, you may want to consider altering the network architecture, adding more neurons or hidden layers. \n", + "Andrew Ng goes through some of these considerations in this [video](https://youtu.be/F1ka6a13S9I). You can find a summary of the video [here](https://kevinzakka.github.io/2016/09/26/applying-deep-learning/)." + ] + }, + { + "cell_type": "markdown", + "id": "79055893", + "metadata": { + "editable": true + }, + "source": [ + "## Full object-oriented implementation\n", + "\n", + "It is very natural to think of the network as an object, with specific instances of the network\n", + "being realizations of this object with different hyperparameters. An implementation using Python classes provides a clean structure and interface, and the full implementation of our neural network is given below." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "85af4a1c", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "class NeuralNetwork:\n", + " def __init__(\n", + " self,\n", + " X_data,\n", + " Y_data,\n", + " n_hidden_neurons=50,\n", + " n_categories=10,\n", + " epochs=10,\n", + " batch_size=100,\n", + " eta=0.1,\n", + " lmbd=0.0):\n", + "\n", + " self.X_data_full = X_data\n", + " self.Y_data_full = Y_data\n", + "\n", + " self.n_inputs = X_data.shape[0]\n", + " self.n_features = X_data.shape[1]\n", + " self.n_hidden_neurons = n_hidden_neurons\n", + " self.n_categories = n_categories\n", + "\n", + " self.epochs = epochs\n", + " self.batch_size = batch_size\n", + " self.iterations = self.n_inputs // self.batch_size\n", + " self.eta = eta\n", + " self.lmbd = lmbd\n", + "\n", + " self.create_biases_and_weights()\n", + "\n", + " def create_biases_and_weights(self):\n", + " self.hidden_weights = np.random.randn(self.n_features, self.n_hidden_neurons)\n", + " self.hidden_bias = np.zeros(self.n_hidden_neurons) + 0.01\n", + "\n", + " self.output_weights = np.random.randn(self.n_hidden_neurons, self.n_categories)\n", + " self.output_bias = np.zeros(self.n_categories) + 0.01\n", + "\n", + " def feed_forward(self):\n", + " # feed-forward for training\n", + " self.z_h = np.matmul(self.X_data, self.hidden_weights) + self.hidden_bias\n", + " self.a_h = sigmoid(self.z_h)\n", + "\n", + " self.z_o = np.matmul(self.a_h, self.output_weights) + self.output_bias\n", + "\n", + " exp_term = np.exp(self.z_o)\n", + " self.probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n", + "\n", + " def feed_forward_out(self, X):\n", + " # feed-forward for output\n", + " z_h = np.matmul(X, self.hidden_weights) + self.hidden_bias\n", + " a_h = sigmoid(z_h)\n", + "\n", + " z_o = np.matmul(a_h, self.output_weights) + self.output_bias\n", + " \n", + " exp_term = np.exp(z_o)\n", + " probabilities = exp_term / np.sum(exp_term, axis=1, keepdims=True)\n", + " return probabilities\n", + "\n", + " def backpropagation(self):\n", + " error_output = self.probabilities - self.Y_data\n", + " error_hidden = np.matmul(error_output, self.output_weights.T) * self.a_h * (1 - self.a_h)\n", + "\n", + " self.output_weights_gradient = np.matmul(self.a_h.T, error_output)\n", + " self.output_bias_gradient = np.sum(error_output, axis=0)\n", + "\n", + " self.hidden_weights_gradient = np.matmul(self.X_data.T, error_hidden)\n", + " self.hidden_bias_gradient = np.sum(error_hidden, axis=0)\n", + "\n", + " if self.lmbd > 0.0:\n", + " self.output_weights_gradient += self.lmbd * self.output_weights\n", + " self.hidden_weights_gradient += self.lmbd * self.hidden_weights\n", + "\n", + " self.output_weights -= self.eta * self.output_weights_gradient\n", + " self.output_bias -= self.eta * self.output_bias_gradient\n", + " self.hidden_weights -= self.eta * self.hidden_weights_gradient\n", + " self.hidden_bias -= self.eta * self.hidden_bias_gradient\n", + "\n", + " def predict(self, X):\n", + " probabilities = self.feed_forward_out(X)\n", + " return np.argmax(probabilities, axis=1)\n", + "\n", + " def predict_probabilities(self, X):\n", + " probabilities = self.feed_forward_out(X)\n", + " return probabilities\n", + "\n", + " def train(self):\n", + " data_indices = np.arange(self.n_inputs)\n", + "\n", + " for i in range(self.epochs):\n", + " for j in range(self.iterations):\n", + " # pick datapoints with replacement\n", + " chosen_datapoints = np.random.choice(\n", + " data_indices, size=self.batch_size, replace=False\n", + " )\n", + "\n", + " # minibatch training data\n", + " self.X_data = self.X_data_full[chosen_datapoints]\n", + " self.Y_data = self.Y_data_full[chosen_datapoints]\n", + "\n", + " self.feed_forward()\n", + " self.backpropagation()" + ] + }, + { + "cell_type": "markdown", + "id": "d0ef37e8", + "metadata": { + "editable": true + }, + "source": [ + "## Evaluate model performance on test data\n", + "\n", + "To measure the performance of our network we evaluate how well it does it data it has never seen before, i.e. the test data. \n", + "We measure the performance of the network using the *accuracy* score. \n", + "The accuracy is as you would expect just the number of images correctly labeled divided by the total number of images. A perfect classifier will have an accuracy score of $1$. \n", + "\n", + "$$ \\text{Accuracy} = \\frac{\\sum_{i=1}^n I(\\tilde{y}_i = y_i)}{n} ,$$ \n", + "\n", + "where $I$ is the indicator function, $1$ if $\\tilde{y}_i = y_i$ and $0$ otherwise." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d2891643", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "epochs = 100\n", + "batch_size = 100\n", + "\n", + "dnn = NeuralNetwork(X_train, Y_train_onehot, eta=eta, lmbd=lmbd, epochs=epochs, batch_size=batch_size,\n", + " n_hidden_neurons=n_hidden_neurons, n_categories=n_categories)\n", + "dnn.train()\n", + "test_predict = dnn.predict(X_test)\n", + "\n", + "# accuracy score from scikit library\n", + "print(\"Accuracy score on test set: \", accuracy_score(Y_test, test_predict))\n", + "\n", + "# equivalent in numpy\n", + "def accuracy_score_numpy(Y_test, Y_pred):\n", + " return np.sum(Y_test == Y_pred) / len(Y_test)\n", + "\n", + "#print(\"Accuracy score on test set: \", accuracy_score_numpy(Y_test, test_predict))" + ] + }, + { + "cell_type": "markdown", + "id": "5c91c8fc", + "metadata": { + "editable": true + }, + "source": [ + "## Adjust hyperparameters\n", + "\n", + "We now perform a grid search to find the optimal hyperparameters for the network. \n", + "Note that we are only using 1 layer with 50 neurons, and human performance is estimated to be around $98\\%$ ($2\\%$ error rate)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c245d23d", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "eta_vals = np.logspace(-5, 1, 7)\n", + "lmbd_vals = np.logspace(-5, 1, 7)\n", + "# store the models for later use\n", + "DNN_numpy = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)\n", + "\n", + "# grid search\n", + "for i, eta in enumerate(eta_vals):\n", + " for j, lmbd in enumerate(lmbd_vals):\n", + " dnn = NeuralNetwork(X_train, Y_train_onehot, eta=eta, lmbd=lmbd, epochs=epochs, batch_size=batch_size,\n", + " n_hidden_neurons=n_hidden_neurons, n_categories=n_categories)\n", + " dnn.train()\n", + " \n", + " DNN_numpy[i][j] = dnn\n", + " \n", + " test_predict = dnn.predict(X_test)\n", + " \n", + " print(\"Learning rate = \", eta)\n", + " print(\"Lambda = \", lmbd)\n", + " print(\"Accuracy score on test set: \", accuracy_score(Y_test, test_predict))\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "id": "ea3be61a", + "metadata": { + "editable": true + }, + "source": [ + "## Visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d26e1748", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# visual representation of grid search\n", + "# uses seaborn heatmap, you can also do this with matplotlib imshow\n", + "import seaborn as sns\n", + "\n", + "sns.set()\n", + "\n", + "train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))\n", + "test_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))\n", + "\n", + "for i in range(len(eta_vals)):\n", + " for j in range(len(lmbd_vals)):\n", + " dnn = DNN_numpy[i][j]\n", + " \n", + " train_pred = dnn.predict(X_train) \n", + " test_pred = dnn.predict(X_test)\n", + "\n", + " train_accuracy[i][j] = accuracy_score(Y_train, train_pred)\n", + " test_accuracy[i][j] = accuracy_score(Y_test, test_pred)\n", + "\n", + " \n", + "fig, ax = plt.subplots(figsize = (10, 10))\n", + "sns.heatmap(train_accuracy, annot=True, ax=ax, cmap=\"viridis\")\n", + "ax.set_title(\"Training Accuracy\")\n", + "ax.set_ylabel(\"$\\eta$\")\n", + "ax.set_xlabel(\"$\\lambda$\")\n", + "plt.show()\n", + "\n", + "fig, ax = plt.subplots(figsize = (10, 10))\n", + "sns.heatmap(test_accuracy, annot=True, ax=ax, cmap=\"viridis\")\n", + "ax.set_title(\"Test Accuracy\")\n", + "ax.set_ylabel(\"$\\eta$\")\n", + "ax.set_xlabel(\"$\\lambda$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "572f3f4b", + "metadata": { + "editable": true + }, + "source": [ + "## scikit-learn implementation\n", + "\n", + "**scikit-learn** focuses more\n", + "on traditional machine learning methods, such as regression,\n", + "clustering, decision trees, etc. As such, it has only two types of\n", + "neural networks: Multi Layer Perceptron outputting continuous values,\n", + "*MPLRegressor*, and Multi Layer Perceptron outputting labels,\n", + "*MLPClassifier*. We will see how simple it is to use these classes.\n", + "\n", + "**scikit-learn** implements a few improvements from our neural network,\n", + "such as early stopping, a varying learning rate, different\n", + "optimization methods, etc. We would therefore expect a better\n", + "performance overall." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "fdb38053", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "from sklearn.neural_network import MLPClassifier\n", + "# store models for later use\n", + "DNN_scikit = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)\n", + "\n", + "for i, eta in enumerate(eta_vals):\n", + " for j, lmbd in enumerate(lmbd_vals):\n", + " dnn = MLPClassifier(hidden_layer_sizes=(n_hidden_neurons), activation='logistic',\n", + " alpha=lmbd, learning_rate_init=eta, max_iter=epochs)\n", + " dnn.fit(X_train, Y_train)\n", + " \n", + " DNN_scikit[i][j] = dnn\n", + " \n", + " print(\"Learning rate = \", eta)\n", + " print(\"Lambda = \", lmbd)\n", + " print(\"Accuracy score on test set: \", dnn.score(X_test, Y_test))\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "id": "5fc3dd13", + "metadata": { + "editable": true + }, + "source": [ + "## Visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "cd9e4505", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# optional\n", + "# visual representation of grid search\n", + "# uses seaborn heatmap, could probably do this in matplotlib\n", + "import seaborn as sns\n", + "\n", + "sns.set()\n", + "\n", + "train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))\n", + "test_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))\n", + "\n", + "for i in range(len(eta_vals)):\n", + " for j in range(len(lmbd_vals)):\n", + " dnn = DNN_scikit[i][j]\n", + " \n", + " train_pred = dnn.predict(X_train) \n", + " test_pred = dnn.predict(X_test)\n", + "\n", + " train_accuracy[i][j] = accuracy_score(Y_train, train_pred)\n", + " test_accuracy[i][j] = accuracy_score(Y_test, test_pred)\n", + "\n", + " \n", + "fig, ax = plt.subplots(figsize = (10, 10))\n", + "sns.heatmap(train_accuracy, annot=True, ax=ax, cmap=\"viridis\")\n", + "ax.set_title(\"Training Accuracy\")\n", + "ax.set_ylabel(\"$\\eta$\")\n", + "ax.set_xlabel(\"$\\lambda$\")\n", + "plt.show()\n", + "\n", + "fig, ax = plt.subplots(figsize = (10, 10))\n", + "sns.heatmap(test_accuracy, annot=True, ax=ax, cmap=\"viridis\")\n", + "ax.set_title(\"Test Accuracy\")\n", + "ax.set_ylabel(\"$\\eta$\")\n", + "ax.set_xlabel(\"$\\lambda$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "30d61094", + "metadata": { + "editable": true + }, + "source": [ + "## Testing our code for the XOR, OR and AND gates\n", + "\n", + "Last week we discussed three different types of gates, the so-called\n", + "XOR, the OR and the AND gates. Their inputs and outputs can be\n", + "summarized using the following tables, first for the OR gate with\n", + "inputs $x_1$ and $x_2$ and outputs $y$:\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
$x_1$ $x_2$ $y$
0 0 0
0 1 1
1 0 1
1 1 1
" + ] + }, + { + "cell_type": "markdown", + "id": "9b4cd63f", + "metadata": { + "editable": true + }, + "source": [ + "## The AND and XOR Gates\n", + "\n", + "The AND gate is defined as\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
$x_1$ $x_2$ $y$
0 0 0
0 1 0
1 0 0
1 1 1
\n", + "\n", + "And finally we have the XOR gate\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
$x_1$ $x_2$ $y$
0 0 0
0 1 1
1 0 1
1 1 0
" + ] + }, + { + "cell_type": "markdown", + "id": "1a2bd6f1", + "metadata": { + "editable": true + }, + "source": [ + "## Representing the Data Sets\n", + "\n", + "Our design matrix is defined by the input values $x_1$ and $x_2$. Since we have four possible outputs, our design matrix reads" + ] + }, + { + "cell_type": "markdown", + "id": "a569e669", + "metadata": { + "editable": true + }, + "source": [ + "$$\n", + "\\boldsymbol{X}=\\begin{bmatrix} 0 & 0 \\\\\n", + " 0 & 1 \\\\\n", + "\t\t 1 & 0 \\\\\n", + "\t\t 1 & 1 \\end{bmatrix},\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "51363b82", + "metadata": { + "editable": true + }, + "source": [ + "while the vector of outputs is $\\boldsymbol{y}^T=[0,1,1,0]$ for the XOR gate, $\\boldsymbol{y}^T=[0,0,0,1]$ for the AND gate and $\\boldsymbol{y}^T=[0,1,1,1]$ for the OR gate." + ] + }, + { + "cell_type": "markdown", + "id": "e4172d21", + "metadata": { + "editable": true + }, + "source": [ + "## Setting up the Neural Network\n", + "\n", + "We define first our design matrix and the various output vectors for the different gates." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "b8640651", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Simple code that tests XOR, OR and AND gates with linear regression\n", + "\"\"\"\n", + "\n", + "# import necessary packages\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import datasets\n", + "\n", + "def sigmoid(x):\n", + " return 1/(1 + np.exp(-x))\n", + "\n", + "def feed_forward(X):\n", + " # weighted sum of inputs to the hidden layer\n", + " z_h = np.matmul(X, hidden_weights) + hidden_bias\n", + " # activation in the hidden layer\n", + " a_h = sigmoid(z_h)\n", + " \n", + " # weighted sum of inputs to the output layer\n", + " z_o = np.matmul(a_h, output_weights) + output_bias\n", + " # softmax output\n", + " # axis 0 holds each input and axis 1 the probabilities of each category\n", + " probabilities = sigmoid(z_o)\n", + " return probabilities\n", + "\n", + "# we obtain a prediction by taking the class with the highest likelihood\n", + "def predict(X):\n", + " probabilities = feed_forward(X)\n", + " return np.argmax(probabilities, axis=1)\n", + "\n", + "# ensure the same random numbers appear every time\n", + "np.random.seed(0)\n", + "\n", + "# Design matrix\n", + "X = np.array([ [0, 0], [0, 1], [1, 0],[1, 1]],dtype=np.float64)\n", + "\n", + "# The XOR gate\n", + "yXOR = np.array( [ 0, 1 ,1, 0])\n", + "# The OR gate\n", + "yOR = np.array( [ 0, 1 ,1, 1])\n", + "# The AND gate\n", + "yAND = np.array( [ 0, 0 ,0, 1])\n", + "\n", + "# Defining the neural network\n", + "n_inputs, n_features = X.shape\n", + "n_hidden_neurons = 2\n", + "n_categories = 2\n", + "n_features = 2\n", + "\n", + "# we make the weights normally distributed using numpy.random.randn\n", + "\n", + "# weights and bias in the hidden layer\n", + "hidden_weights = np.random.randn(n_features, n_hidden_neurons)\n", + "hidden_bias = np.zeros(n_hidden_neurons) + 0.01\n", + "\n", + "# weights and bias in the output layer\n", + "output_weights = np.random.randn(n_hidden_neurons, n_categories)\n", + "output_bias = np.zeros(n_categories) + 0.01\n", + "\n", + "probabilities = feed_forward(X)\n", + "print(probabilities)\n", + "\n", + "\n", + "predictions = predict(X)\n", + "print(predictions)" + ] + }, + { + "cell_type": "markdown", + "id": "f6b2c036", + "metadata": { + "editable": true + }, + "source": [ + "Not an impressive result, but this was our first forward pass with randomly assigned weights. Let us now add the full network with the back-propagation algorithm discussed above." + ] + }, + { + "cell_type": "markdown", + "id": "49fdf701", + "metadata": { + "editable": true + }, + "source": [ + "## The Code using Scikit-Learn" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "45dae979", + "metadata": { + "collapsed": false, + "editable": true + }, + "outputs": [], + "source": [ + "# import necessary packages\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.neural_network import MLPClassifier\n", + "from sklearn.metrics import accuracy_score\n", + "import seaborn as sns\n", + "\n", + "# ensure the same random numbers appear every time\n", + "np.random.seed(0)\n", + "\n", + "# Design matrix\n", + "X = np.array([ [0, 0], [0, 1], [1, 0],[1, 1]],dtype=np.float64)\n", + "\n", + "# The XOR gate\n", + "yXOR = np.array( [ 0, 1 ,1, 0])\n", + "# The OR gate\n", + "yOR = np.array( [ 0, 1 ,1, 1])\n", + "# The AND gate\n", + "yAND = np.array( [ 0, 0 ,0, 1])\n", + "\n", + "# Defining the neural network\n", + "n_inputs, n_features = X.shape\n", + "n_hidden_neurons = 2\n", + "n_categories = 2\n", + "n_features = 2\n", + "\n", + "eta_vals = np.logspace(-5, 1, 7)\n", + "lmbd_vals = np.logspace(-5, 1, 7)\n", + "# store models for later use\n", + "DNN_scikit = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)\n", + "epochs = 100\n", + "\n", + "for i, eta in enumerate(eta_vals):\n", + " for j, lmbd in enumerate(lmbd_vals):\n", + " dnn = MLPClassifier(hidden_layer_sizes=(n_hidden_neurons), activation='logistic',\n", + " alpha=lmbd, learning_rate_init=eta, max_iter=epochs)\n", + " dnn.fit(X, yXOR)\n", + " DNN_scikit[i][j] = dnn\n", + " print(\"Learning rate = \", eta)\n", + " print(\"Lambda = \", lmbd)\n", + " print(\"Accuracy score on data set: \", dnn.score(X, yXOR))\n", + " print()\n", + "\n", + "sns.set()\n", + "test_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))\n", + "for i in range(len(eta_vals)):\n", + " for j in range(len(lmbd_vals)):\n", + " dnn = DNN_scikit[i][j]\n", + " test_pred = dnn.predict(X)\n", + " test_accuracy[i][j] = accuracy_score(yXOR, test_pred)\n", + "\n", + "fig, ax = plt.subplots(figsize = (10, 10))\n", + "sns.heatmap(test_accuracy, annot=True, ax=ax, cmap=\"viridis\")\n", + "ax.set_title(\"Test Accuracy\")\n", + "ax.set_ylabel(\"$\\eta$\")\n", + "ax.set_xlabel(\"$\\lambda$\")\n", + "plt.show()" + ] + } + ], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/doc/src/week41/ipynb-exercisesweek41-src.tar.gz b/doc/src/week41/ipynb-exercisesweek41-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..ee6879fea32885acffbbb2f57827f547ed86d7e9 GIT binary patch literal 492792 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 z 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

d~ODF6Ns$IU1-h!bM#?i=*T2 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ΝIx(Oqakv`j+0up>bY&{&vP& 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 ov1q2mM*$I$>M3Ss$>23(a!Y_J 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 literal 0 HcmV?d00001