diff --git a/notebooks/02_Single_layer_models.ipynb b/notebooks/02_Single_layer_models.ipynb index e31bb3e..12b475d 100644 --- a/notebooks/02_Single_layer_models.ipynb +++ b/notebooks/02_Single_layer_models.ipynb @@ -21,26 +21,22 @@ "\n", "In this lab we will implement a single-layer network model consisting of solely of an affine transformation of the inputs. The relevant material for this was covered in [the slides of the first lecture](http://www.inf.ed.ac.uk/teaching/courses/mlp/2016/mlp01-intro.pdf). \n", "\n", - "We will first implement the forward propagation of inputs to the network to produce predicted outputs. We will then move on to considering how to use gradients of a cost function evaluated on the outputs to compute the gradients with respect to the model parameters to allow us to perform an iterative gradient-descent training procedure.\n", + "We will first implement the forward propagation of inputs to the network to produce predicted outputs. We will then move on to considering how to use gradients of an error function evaluated on the outputs to compute the gradients with respect to the model parameters to allow us to perform an iterative gradient-descent training procedure. In the final exercise you will use an interactive visualisation to explore the role of some of the different hyperparameters of gradient-descent based training methods.\n", "\n", - "## A general note on random number generators\n", + "#### A note on random number generators\n", "\n", - "It is generally a good practice (for machine learning applications **not** for cryptography!) to seed a pseudo-random number generator once at the beginning of each experiment. This makes it easier to reproduce results as the same random draws will produced each time the experiment is run (e.g. the same random initialisations used for parameters). \n", - "\n", - "Therefore generally when we need to generate random values during this course, we will create a seeded random number generator object as follows:" + "It is generally a good practice (for machine learning applications **not** for cryptography!) to seed a pseudo-random number generator once at the beginning of each experiment. This makes it easier to reproduce results as the same random draws will produced each time the experiment is run (e.g. the same random initialisations used for parameters). Therefore generally when we need to generate random values during this course, we will create a seeded random number generator object as we do in the cell below." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", - "\n", - "# Seed a random number generator to be used later\n", "seed = 27092016 \n", "rng = np.random.RandomState(seed)" ] @@ -51,38 +47,133 @@ "source": [ "## Exercise 1: linear and affine transforms\n", "\n", - "Any *linear transform* (also called a linear map) of a finite-dimensional vector space can be parametrised by a matrix. So for example if we consider $\\vct{x} \\in \\reals^{M}$ as the input space of a model with $M$ dimensional real-valued inputs, then a matrix $\\mtx{W} \\in \\reals^{N\\times M}$ can be used to define a prediction model consisting solely of a linear transform of the inputs\n", + "Any *linear transform* (also called a linear map) of a finite-dimensional vector space can be parametrised by a matrix. So for example if we consider $\\vct{x} \\in \\reals^{D}$ as the input space of a model with $D$ dimensional real-valued inputs, then a matrix $\\mtx{W} \\in \\reals^{K\\times D}$ can be used to define a prediction model consisting solely of a linear transform of the inputs\n", "\n", "\\begin{equation}\n", " \\vct{y} = \\mtx{W} \\vct{x}\n", " \\qquad\n", " \\Leftrightarrow\n", " \\qquad\n", - " y_i = \\sum_{j=1}^M \\lpa W_{ij} x_j \\rpa \\qquad \\forall i \\in \\fset{1 \\dots N}\n", + " y_k = \\sum_{d=1}^D \\lpa W_{kd} x_d \\rpa \\quad \\forall k \\in \\fset{1 \\dots K}\n", "\\end{equation}\n", "\n", - "with here $\\vct{y} \\in \\reals^N$ the $N$-dimensional real-valued output of the model. Geometrically we can think of a linear transform doing some combination of rotation, scaling, reflection and shearing of the input.\n", + "with here $\\vct{y} \\in \\reals^K$ the $K$-dimensional real-valued output of the model. Geometrically we can think of a linear transform doing some combination of rotation, scaling, reflection and shearing of the input.\n", "\n", - "An *affine transform* consists of a linear transform plus an additional translation parameterised by a vector $\\vct{b} \\in \\reals^N$. A model consisting of an affine transformation of the inputs can then be defined as\n", + "An *affine transform* consists of a linear transform plus an additional translation parameterised by a vector $\\vct{b} \\in \\reals^K$. A model consisting of an affine transformation of the inputs can then be defined as\n", "\n", "\\begin{equation}\n", " \\vct{y} = \\mtx{W}\\vct{x} + \\vct{b}\n", " \\qquad\n", " \\Leftrightarrow\n", " \\qquad\n", - " y_i = \\sum_{j=1}^M \\lpa W_{ij} x_j \\rpa + b_i \\qquad \\forall i \\in \\fset{1 \\dots N}\n", + " y_k = \\sum_{d=1}^D \\lpa W_{kd} x_d \\rpa + b_k \\quad \\forall k \\in \\fset{1 \\dots K}\n", "\\end{equation}\n", "\n", - "In machine learning we will usually refer to the matrix $\\mtx{W}$ as a *weight matrix* and the vector $\\vct{b}$ as a *bias vector*. \n", + "In machine learning we will usually refer to the matrix $\\mtx{W}$ as a *weight matrix* and the vector $\\vct{b}$ as a *bias vector*.\n", "\n", - "Implement *forward propagation* for a single-layer model consisting of an affine transformation of the inputs. This should work for a batch of inputs of shape `(batch_size, input_dim)` producing a batch of outputs of shape `(batch_size, output_dim)`. \n", + "Generally rather than working with a single data vector $\\vct{x}$ we will work with batches of datapoints $\\fset{\\vct{x}^{(b)}}_{b=1}^B$. We could calculate the outputs for each input in the batch sequentially\n", "\n", - "You may find the NumPy [`dot`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html) function and [broadcasting features](http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) useful." + "\\begin{align}\n", + " \\vct{y}^{(1)} &= \\mtx{W}\\vct{x}^{(1)} + \\vct{b}\\\\\n", + " \\vct{y}^{(2)} &= \\mtx{W}\\vct{x}^{(2)} + \\vct{b}\\\\\n", + " \\dots &\\\\\n", + " \\vct{y}^{(B)} &= \\mtx{W}\\vct{x}^{(B)} + \\vct{b}\\\\\n", + "\\end{align}\n", + "\n", + "by looping over each input in the batch and calculating the output. However in general loops in Python are slow (particularly compared to compiled and typed languages such as C). This is due at least in part to the large overhead in dynamically inferring variable types. In general therefore wherever possible we want to avoid having loops in which such overhead will become the dominant computational cost.\n", + "\n", + "For array based numerical operations, one way of overcoming this bottleneck is to *vectorise* operations. NumPy `ndarrays` are typed arrays for which operations such as basic elementwise arithmetic and linear algebra operations such as computing matrix-matrix or matrix-vector products are implemented by calls to highly-optimised compiled libraries. Therefore if you can implement code directly using NumPy operations on arrays rather than by looping over array elements it is often possible to make very substantial performance gains.\n", + "\n", + "As a simple example we can consider adding up two arrays `a` and `b` and writing the result to a third array `c`. First lets initialise `a` and `b` with arbitrary values by running the cell below." ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "size = 1000\n", + "a = np.arange(size)\n", + "b = np.ones(size)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's time how long it takes to add up each pair of values in the two array and write the results to a third array using a loop-based implementation. We will use the `%%timeit` magic briefly mentioned in the previous lab notebook specifying the number of times to loop the code as 100 and to give the best of 3 repeats. Run the cell below to get a print out of the average time taken." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%%timeit -n 100 -r 3\n", + "c = np.empty(size)\n", + "for i in range(size):\n", + " c[i] = a[i] + b[i]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And now we will perform the corresponding summation with the overloaded addition operator of NumPy arrays. Again run the cell below to get a print out of the average time taken." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "%%timeit -n 100 -r 3\n", + "c = a + b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first loop-based implementation should have taken on the order of milliseconds ($10^{-3}$s) while the vectorised implementation should have taken on the order of microseconds ($10^{-6}$s), i.e. a $\\sim1000\\times$ speedup. Hopefully this simple example should make it clear why we want to vectorise operations whenever possible!\n", + "\n", + "Getting back to our affine model, ideally rather than individually computing the output corresponding to each input we should compute the outputs for all inputs in a batch using a vectorised implementation. As you saw last week, data providers return batches of inputs as arrays of shape `(batch_size, input_dim)`. In the mathematical notation used earlier we can consider this as a matrix $\\mtx{X}$ of dimensionality $B \\times D$, and in particular\n", + "\n", + "\\begin{equation}\n", + " \\mtx{X} = \\lsb \\vct{x}^{(1)} ~ \\vct{x}^{(2)} ~ \\dots ~ \\vct{x}^{(B)} \\rsb\\tr\n", + "\\end{equation}\n", + "\n", + "i.e. the $b^{\\textrm{th}}$ input vector $\\vct{x}^{(b)}$ corresponds to the $b^{\\textrm{th}}$ row of $\\mtx{X}$. If we define the $B \\times K$ matrix of outputs $\\mtx{Y}$ similarly as\n", + "\n", + "\\begin{equation}\n", + " \\mtx{Y} = \\lsb \\vct{y}^{(1)} ~ \\vct{y}^{(2)} ~ \\dots ~ \\vct{y}^{(B)} \\rsb\\tr\n", + "\\end{equation}\n", + "\n", + "then we can express the relationship between $\\mtx{X}$ and $\\mtx{Y}$ using [matrix multiplication](https://en.wikipedia.org/wiki/Matrix_multiplication) and addition as\n", + "\n", + "\\begin{equation}\n", + " \\mtx{Y} = \\mtx{X} \\mtx{W}\\tr + \\mtx{B}\n", + "\\end{equation}\n", + "\n", + "where $\\mtx{B} = \\lsb \\vct{b} ~ \\vct{b} ~ \\dots ~ \\vct{b} \\rsb\\tr$ i.e. a $B \\times K$ matrix with each row corresponding to the bias vector. The weight matrix needs to be transposed here as the inner dimensions of a matrix multiplication must match i.e. for $\\mtx{C} = \\mtx{A} \\mtx{B}$ then if $\\mtx{A}$ is of dimensionality $K \\times L$ and $\\mtx{B}$ is of dimensionality $M \\times N$ then it must be the case that $L = M$ and $\\mtx{C}$ will be of dimensionality $K \\times N$.\n", + "\n", + "The first exercise for this lab is to implement *forward propagation* for a single-layer model consisting of an affine transformation of the inputs in the `fprop` function given as skeleton code in the cell below. This should work for a batch of inputs of shape `(batch_size, input_dim)` producing a batch of outputs of shape `(batch_size, output_dim)`.\n", + " \n", + "You will probably want to use the NumPy `dot` function and [broadcasting features](http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) to implement this efficiently. If you are not familiar with either / both of these you may wish to read the [hints](#Hints:-Using-the-dot-function-and-broadcasting) section below which gives some details on these before attempting the exercise." + ] + }, + { + "cell_type": "code", + "execution_count": null, "metadata": { "collapsed": true }, @@ -103,31 +194,23 @@ " Returns:\n", " outputs: Array of layer outputs of shape (batch_size, output_dim).\n", " \"\"\"\n", - " return weights.dot(inputs.T).T + biases" + " raise NotImplementedError('Delete this and write your code here instead.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Check your implementation by running the test cell below" + "Once you have implemented `fprop` in the cell above you can test your implementation by running the cell below." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "All outputs correct!\n" - ] - } - ], + "outputs": [], "source": [ "inputs = np.array([[0., -1., 2.], [-6., 3., 1.]])\n", "weights = np.array([[2., -3., -1.], [-5., 7., 2.]])\n", @@ -140,6 +223,65 @@ " print('All outputs correct!')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Hints: Using the `dot` function and broadcasting\n", + "\n", + "For those new to NumPy below are some details on the `dot` function and broadcasting feature of NumPy that you may want to use for implementing the first exercise. If you are already familiar with these and have already completed the first exercise you can move on straight to [second exercise](#Exercise-2:-visualising-random-models).\n", + "\n", + "#### `numpy.dot` function\n", + "\n", + "Matrix-matrix, matrix-vector and vector-vector (dot) products can all be computed in NumPy using the [`dot`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html) function. For example if `A` and `B` are both two dimensional arrays, then `C = np.dot(A, B)` or equivalently `C = A.dot(B)` will both compute the matrix product of `A` and `B` assuming `A` and `B` have compatible dimensions. Similarly if `a` and `b` are one dimensional arrays then `c = np.dot(a, b)` / `c = a.dot(b)` will compute the [scalar / dot product](https://en.wikipedia.org/wiki/Dot_product) of the two arrays. If `A` is a two-dimensional array and `b` a one-dimensional array `np.dot(A, b)` / `A.dot(b)` will compute the matrix-vector product of `A` and `b`. Examples of all three of these product types are shown in the cell below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Initiliase arrays with arbitrary values\n", + "A = np.arange(9).reshape((3, 3))\n", + "B = np.ones((3, 3)) * 2\n", + "a = np.array([-1., 0., 1.])\n", + "b = np.array([0.1, 0.2, 0.3])\n", + "print(A.dot(B)) # Matrix-matrix product\n", + "print(B.dot(A)) # Reversed product of above A.dot(B) != B.dot(A) in general\n", + "print(A.dot(b)) # Matrix-vector product\n", + "print(b.dot(A)) # Again A.dot(b) != b.dot(A) unless A is symmetric i.e. A == A.T\n", + "print(a.dot(b)) # Vector-vector scalar product" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Broadcasting\n", + "\n", + "Another NumPy feature it will be helpful to get familiar with is [broadcasting](http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html). Broadcasting allows you to apply operations to arrays of different shapes, for example to add a one-dimensional array to a two-dimensional array or multiply a multidimensional array by a scalar. The complete set of rules for broadcasting as explained in the official documentation page just linked to can sound a bit complex: you might find the [visual explanation on this page](http://www.scipy-lectures.org/intro/numpy/operations.html#broadcasting) more intuitive. The cell below gives a few examples:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Initiliase arrays with arbitrary values\n", + "A = np.arange(6).reshape((3, 2))\n", + "b = np.array([0.1, 0.2])\n", + "c = np.array([-1., 0., 1.])\n", + "print(A + b) # Add b elementwise to all rows of A\n", + "print((A.T + c).T) # Add b elementwise to all columns of A\n", + "print(A * b) # Multiply each row of A elementise by b " + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -157,12 +299,12 @@ "\n", "The original dataset has four input dimensions and a single target output dimension. We have preprocessed the dataset by [whitening](https://en.wikipedia.org/wiki/Whitening_transformation) it, a common preprocessing step. We will only use the first two dimensions of the whitened inputs (corresponding to the first two principal components of the inputs) so we can easily visualise the joint input-output space.\n", "\n", - "The dataset has been wrapped in the `CCPPDataProvider` class in the `mlp.data_providers` module. Running the cell below will initialise an instance of this class, get a single batch of inputs and outputs and import the necessary `matplotlib` objects." + "The dataset has been wrapped in the `CCPPDataProvider` class in the `mlp.data_providers` module and the data included as a compressed file in the data directory as `ccpp_data.npz`. Running the cell below will initialise an instance of this class, get a single batch of inputs and outputs and import the necessary `matplotlib` objects." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "collapsed": true }, @@ -190,795 +332,23 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "Here we used the `%matplotlib notebook` magic command rather than the `%matplotlib inline` we used in the previous lab as this allows us to produce interactive 3D plots which you can rotate and zoom in/out by dragging with the mouse and scrolling the mouse-wheel respectively. Once you have finished interacting with a plot you can close it to produce a static inline plot using the button in the top-right corner.\n", + "\n", "Now run the cell below to plot the predicted outputs of a randomly initialised model across the two dimensional input space as well as the true target outputs. This sort of visualisation can be a useful method (in low dimensions) to assess how well the model is likely to be able to fit the data and to judge appropriate initialisation scales for the parameters. Each time you re-run the cell a new set of random parameters will be sampled\n", "\n", "Some questions to consider:\n", "\n", " * How do the weights and bias initialisation scale affect the sort of predicted input-output relationships?\n", - " * Does the linear form of the model seem a good fit for the data here?" + " * Does the linear form of the model seem appropriate for the data here?" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "collapsed": false }, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function() {\n", - " if (typeof(WebSocket) !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof(MozWebSocket) !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert('Your browser does not have WebSocket support.' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.');\n", - " };\n", - "}\n", - "\n", - "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = (this.ws.binaryType != undefined);\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById(\"mpl-warnings\");\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent = (\n", - " \"This browser does not support binary websocket messages. \" +\n", - " \"Performance may be slow.\");\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = $('
');\n", - " this._root_extra_style(this.root)\n", - " this.root.attr('style', 'display: inline-block');\n", - "\n", - " $(parent_element).append(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", - " fig.send_message(\"send_image_mode\", {});\n", - " fig.send_message(\"refresh\", {});\n", - " }\n", - "\n", - " this.imageObj.onload = function() {\n", - " if (fig.image_mode == 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function() {\n", - " this.ws.close();\n", - " }\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "}\n", - "\n", - "mpl.figure.prototype._init_header = function() {\n", - " var titlebar = $(\n", - " '
');\n", - " var titletext = $(\n", - " '
');\n", - " titlebar.append(titletext)\n", - " this.root.append(titlebar);\n", - " this.header = titletext[0];\n", - "}\n", - "\n", - "\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._init_canvas = function() {\n", - " var fig = this;\n", - "\n", - " var canvas_div = $('
');\n", - "\n", - " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", - "\n", - " function canvas_keyboard_event(event) {\n", - " return fig.key_event(event, event['data']);\n", - " }\n", - "\n", - " canvas_div.keydown('key_press', canvas_keyboard_event);\n", - " canvas_div.keyup('key_release', canvas_keyboard_event);\n", - " this.canvas_div = canvas_div\n", - " this._canvas_extra_style(canvas_div)\n", - " this.root.append(canvas_div);\n", - "\n", - " var canvas = $('');\n", - " canvas.addClass('mpl-canvas');\n", - " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", - "\n", - " this.canvas = canvas[0];\n", - " this.context = canvas[0].getContext(\"2d\");\n", - "\n", - " var rubberband = $('');\n", - " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", - "\n", - " var pass_mouse_events = true;\n", - "\n", - " canvas_div.resizable({\n", - " start: function(event, ui) {\n", - " pass_mouse_events = false;\n", - " },\n", - " resize: function(event, ui) {\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " stop: function(event, ui) {\n", - " pass_mouse_events = true;\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " });\n", - "\n", - " function mouse_event_fn(event) {\n", - " if (pass_mouse_events)\n", - " return fig.mouse_event(event, event['data']);\n", - " }\n", - "\n", - " rubberband.mousedown('button_press', mouse_event_fn);\n", - " rubberband.mouseup('button_release', mouse_event_fn);\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband.mousemove('motion_notify', mouse_event_fn);\n", - "\n", - " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", - " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", - "\n", - " canvas_div.on(\"wheel\", function (event) {\n", - " event = event.originalEvent;\n", - " event['data'] = 'scroll'\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " mouse_event_fn(event);\n", - " });\n", - "\n", - " canvas_div.append(canvas);\n", - " canvas_div.append(rubberband);\n", - "\n", - " this.rubberband = rubberband;\n", - " this.rubberband_canvas = rubberband[0];\n", - " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", - " this.rubberband_context.strokeStyle = \"#000000\";\n", - "\n", - " this._resize_canvas = function(width, height) {\n", - " // Keep the size of the canvas, canvas container, and rubber band\n", - " // canvas in synch.\n", - " canvas_div.css('width', width)\n", - " canvas_div.css('height', height)\n", - "\n", - " canvas.attr('width', width);\n", - " canvas.attr('height', height);\n", - "\n", - " rubberband.attr('width', width);\n", - " rubberband.attr('height', height);\n", - " }\n", - "\n", - " // Set the figure to an initial 600x600px, this will subsequently be updated\n", - " // upon first draw.\n", - " this._resize_canvas(600, 600);\n", - "\n", - " // Disable right mouse context menu.\n", - " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", - " return false;\n", - " });\n", - "\n", - " function set_focus () {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('
')\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " // put a spacer in here.\n", - " continue;\n", - " }\n", - " var button = $('');\n", - " button.click(method_name, toolbar_event);\n", - " button.mouseover(tooltip, toolbar_mouse_event);\n", - " nav_element.append(button);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = $('');\n", - " nav_element.append(status_bar);\n", - " this.message = status_bar[0];\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = $('
');\n", - " var button = $('');\n", - " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", - " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", - " buttongrp.append(button);\n", - " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", - " titlebar.prepend(buttongrp);\n", - "}\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(el){\n", - " var fig = this\n", - " el.on(\"remove\", function(){\n", - "\tfig.close_ws(fig, {});\n", - " });\n", - "}\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(el){\n", - " // this is important to make the div 'focusable\n", - " el.attr('tabindex', 0)\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " }\n", - " else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager)\n", - " manager = IPython.keyboard_manager;\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which == 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_save = function(fig, msg) {\n", - " fig.ondownload(fig, null);\n", - "}\n", - "\n", - "\n", - "mpl.find_output_cell = function(html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] == html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "}\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel != null) {\n", - " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "data_provider = CCPPDataProvider(\n", " which_set='train',\n", @@ -2088,41 +697,32 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Optional exercise: visualising training trajectories in parameter space" + "## Exercise 6: visualising training trajectories in parameter space" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Running the cell below will display an interactive widget which plots the trajectories of gradient-based training of the single-layer affine model on the CCPP dataset in the three dimensional parameter space (two weights plus bias) from random initialisations. Also shown on the right is a plot of the evolution of the cost function (evaluated on the current batch) over training. By moving the sliders you can alter the training hyperparameters to investigate the effect they have on how training procedes.\n", + "Running the cell below will display an interactive widget which plots the trajectories of gradient-based training of the single-layer affine model on the CCPP dataset in the three dimensional parameter space (two weights plus bias) from random initialisations. Also shown on the right is a plot of the evolution of the error function (evaluated on the current batch) over training. By moving the sliders you can alter the training hyperparameters to investigate the effect they have on how training procedes.\n", "\n", "Some questions to explore:\n", "\n", " * Are there multiple local minima in parameter space here? Why?\n", " * What happens to learning for very small learning rates? And very large learning rates?\n", - " * How does the batch size affect learning?" + " * How does the batch size affect learning?\n", + " \n", + "**Note:** You don't need to understand how the code below works. The idea of this exercise is to help you understand the role of the various hyperparameters involved in gradient-descent based training methods." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": { "collapsed": false, "scrolled": false }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABMwAAAJrCAYAAAAcfQ8PAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xl8VNX9//H3mSQkJOwiWFFBUMHd4m5lkyqIiH6pithf\nFamK8kVrrGtrVXDBqhjFFouKggtUcG9di4JLVWqldcel4AbfqsiSQMg2c35/3Jl4ZzIzmUkmmTPJ\n6/l45AG5c+fOZ+4set58zrnGWisAAAAAAAAAnkC2CwAAAAAAAABcQmAGAAAAAAAA+BCYAQAAAAAA\nAD4EZgAAAAAAAIAPgRkAAAAAAADgQ2AGAAAAAAAA+BCYAQAAAAAAAD4EZgAAAAAAAIBPfhr72har\nAgAAoH0y2S4AAAAADdFhBgAAAAAAAPgQmAEAAAAAAAA+BGYAAAAAAACAD4EZAAAAAAAA4ENgBgAA\nAAAAAPgQmAEAAAAAAAA+BGYAAAAAAACAD4EZAAAAAAAA4ENgBgAAAAAAAPgQmAEAAAAAAAA+BGYA\nAAAAAACAD4EZAAAAAAAA4ENgBgAAAAAAAPgQmAEAAAAAAAA+BGYAAAAAAACAD4EZAAAAAAAA4ENg\nBgAAAAAAAPgQmAEAAAAAAAA+BGYAAAAAAACAD4EZAAAAAAAA4ENgBgAAAAAAAPgQmAEAAAAAAAA+\nBGYAAAAAAACAD4EZAAAAAAAA4ENgBgAAAAAAAPgQmAEAAAAAAAA+BGYAAAAAAACAD4EZgIx6+eWX\nFQgE9Morr2S7lCYZPny4RowYke0y2qVAIKAZM2Y06b79+vXT5MmTM1wRAAAAgPaKwAxZt2DBAgUC\ngfqfjh07auDAgTr//PP17bffZru8Frdo0SLdfvvtrfqYd955pxYsWNBixzfGtNixP/roI02fPl1f\nfvllixzfGKNAgK/GeJ599llNnz69xY5vjGnyeycQCLTo+w4AAABA+2Kstanum/KOQDoWLFigyZMn\n69prr1W/fv1UVVWl1157Tffff7/69eun999/X0VFRdkus8Ucf/zx+uCDD7R69epWe8x9991X22+/\nvV566aUWOX5NTY06dOjQIsd+9NFHdfLJJ2v58uUaOnRoxo9fV1cnScrPz8/4sXPd+eefrzlz5igY\nDLbI8WtqapSfn9+kwLK2tlaBQEB5eXktUBnQokh6AQAAHMSIEM4YPXq0Bg8eLEmaPHmyevToobKy\nMj355JOaMGFCs45dXV2tDh06tJsOFGutampqVFhY2OxjVVZWqri4OK37tFRYJnnPrSVex23btqlj\nx47tPiiLnId40vgHFgWDQYVCIRUUFKR8n+a8b9J5HAAAAABoDPOO4KyjjjpK1lqtWbNGkrRx40Zd\nfPHF2m+//dS5c2d17dpVY8aM0bvvvht1v8gaWg8//LCuvPJK7bTTTiopKVFFRUXax1iyZImmT5+u\nnXbaSV26dNHJJ5+siooK1dTU6MILL1Tv3r3VuXNnTZ48WbW1tQ2ew4MPPqiDDjpIxcXF2m677TRx\n4kR9/fXX9bePGDFCTz/9tL744ov6Kan9+/evv72mpkZXX321dt99dxUVFWmXXXbRZZddppqamqjH\nCQQCuuCCC7Rw4ULts88+Kioq0vPPPx/3vO6666764IMPtHz58vrHPOqooyRJ8+fPr19/bOrUqerd\nu7d23nlnSdKXX36pqVOnatCgQSouLlbPnj11yimn6Isvvoh77mLXMFuxYoVGjx6tbt26qaSkRMOH\nD9frr7/eoL5169bpl7/8pfr06aOioiL1799fU6dOVV1dnRYsWKBTTjlFkrfWWKSjyP9Yc+bMqT8H\nffr00bRp07R58+aoxxg+fLj2228/rVy5UkOHDlVJSYl++9vf1t8WOR/pvg5/+9vfNGTIEHXv3l2d\nO3fWoEGD6o+bTDAY1LXXXqvddttNRUVF2nXXXfXb3/426vjHH3+8BgwYEPf+hx9+uA455JCobY29\n9xo7D7HOPPNMzZkzR5Lq3zeRbq7I+/fWW2/V7bffXv88PvroI9XW1uqqq67SQQcdpG7duqlTp04a\nOnSoli9f3uAxYtcwu+aaaxQIBPSf//xHkyZNUvfu3dWtWzdNnjxZVVVVUfeNXcMsMtX79ddf10UX\nXaRevXqpU6dOGj9+vL7//vuo+1prdc0116hPnz4qKSnRyJEj9dFHH7EuGgAAANCOte9WCjjts88+\nkyRtt912kqTVq1frqaee0sknn6xdd91V33zzjebOnavhw4frww8/1A477BB1/2uvvVaFhYW65JJL\n6jvMPvjgg7SOMXPmTBUXF+uKK67QZ599pjvuuEMFBQUKBALatGmTpk+frjfffFMLFixQ//79deWV\nV9bf9/rrr9dVV12lU089VWeffba+++47zZ49W8OGDdO//vUvdenSRVdeeaU2b96stWvX6rbbbpO1\nVp06dZLkDeKPP/54vf7665oyZYoGDRqk9957T2VlZfr000/12GOPRdX64osvavHixZo2bZp69uyp\nfv36xT2vt99+u6ZNm6bOnTvryiuvlLVWvXv3lvTD2mNTp05Vr169dPXVV2vr1q2SpLfeektvvvmm\nJk6cqJ122kmff/655syZoxEjRujDDz+MmjYb2wH20ksvacyYMTrooIPqQ5D77rtPRx11lF577TUd\ndNBBkqT/+7//08EHH6zy8nJNmTJFAwcO1Nq1a/XII4+osrJSQ4cO1QUXXKA77rhDV155pQYNGiRJ\n2nPPPSV5AcuMGTN0zDHHaOrUqfr44481Z84c/fOf/9Tf//73+oDHGKP169drzJgxOvXUU3X66ac3\nOAcRqb4OH374oY4//ngdcMAB9e+9zz77LG4oGOuXv/yl7r//fp1yyim6+OKLtWLFCs2cOVOrVq3S\no48+KkmaMGGCzjjjDL399ts68MAD6+/75ZdfasWKFZo1a1b9tlTee42dh1jnnnuu1q1bp6VLl+qh\nhx6K22127733qrq6WlOmTFFhYaF69Oih8vJy3XvvvZo4caLOOeccVVRUaN68eRo9erT+8Y9/aL/9\n9kt4XiKvxSmnnKL+/fvrxhtv1MqVK3XPPfeod+/emjlzZoN9Y51//vnq0aOHrrnmGn3++ecqKyvT\ntGnTtGjRovp9Lr/8ct1888064YQTdMwxx+idd97RqFGjVF1dnbA2AAAAAG2ctTbVH6BFzJ8/3wYC\nAfvSSy/Z9evX26+//tr++c9/tj179rQlJSV23bp11lpra2pqGtz3iy++sEVFRfa6666r37Z8+XJr\njLG77babra6ujto/3WPst99+tq6urn77aaedZgOBgD3uuOOijnHEEUfYXXfdNeqY+fn59sYbb4za\n74MPPrAFBQV25syZ9dvGjh0bdd+IBx54wObn59vXX389avvcuXNtIBCwb7zxRv02Y4zNz8+3q1at\nanCcePbZZx87YsSIBtvnz59vjTF22LBhNhQKRd1WVVXVYP8VK1ZYY4x98MEH67ctX77cBgIB+/LL\nL9dv22OPPeyYMWMaHK9///521KhR9dtOP/10m5+fb1euXJmw9kceeaTB8a219rvvvrOFhYX22GOP\njdr+xz/+0QYCATt//vz6bcOHD7eBQMDefffdDY4/fPjwqHOT6utw22232UAgYDds2JCw9njeeecd\na4yxU6ZMidp+ySWX2EAgYJcvX26ttba8vNwWFRXZSy65JGq/m266yebl5dmvvvrKWpveey/ZeYhn\n2rRpNhAINNj++eefW2OM7datm/3++++jbguFQra2tjZq2+bNm+0OO+xgzzrrrKjtxhg7ffr0+t+v\nueYaa4yxZ599dtR+48ePt9tvv33Utn79+tkzzzyz/vfIe9n//rLW2osuusgWFBTY8vJya62133zz\njS0oKLA/+9nPovabPn26NcZEHRNoIen8vxg//PDDDz/88MMPP630w5RMOMFaq5EjR2r77bfXzjvv\nrNNOO01dunTRE088oR/96EeSotcoCoVC2rBhg4qLizVw4ECtXLmywTEnTZrUYE2kdI9xxhlnRC0i\nfuihh0pSg2lahx56qL766iuFQiFJ3sL01lqdfPLJ+v777+t/evXqpd13313Lli1r9Jw88sgj2nPP\nPbXHHntEHWPEiBGy1jY4xvDhwzVw4MBGj9sYY4zOPvvsBh07/vXQ6urqtGHDBvXv31/dunWLe+4i\n/v3vf+vTTz/VxIkTo55HRUWFRo4cWT+d0lqrJ598UuPGjdOPf/zjtOteunSpamtrdeGFF0ZtP/vs\ns9W5c2c9/fTTDZ7PpEmTGj1uqq9Dt27dJEmPP/64rE19ra9nnnlGxhiVlpZGbf/1r38ta2193Z07\nd9axxx6rxYsXR+23ePFiHXbYYdppp50kpf/eS/U8pOKkk05Sjx49orYZY+rXhbPWauPGjaqpqdFB\nBx2U9H3jv/+UKVOitg0ZMkTff/+9tmzZ0uh9zznnnAb3DQaD9VOJX3zxRQWDQZ133nlR+51//vmN\n1gYAAACg7WJKJpxgjNGcOXO0++67Kz8/X717924Q/lhrddttt+nOO+/UmjVr6q/UZ4xRz549Gxwz\n3pTEdI8RWb8romvXrgm3h0Ihbd68Wd27d9dnn32mUCik3XbbLe5zTWVx808//VSrVq3S9ttvH/cY\n3377bdS2RFMwmyLesaqqqnTDDTdo/vz5Wrt2bX0oZIxpsEaY36effipJOv300+PeHggEtHnzZlVX\nV6u8vFx77713k2qOBCB77LFH1PaCggL179+/wVprffr0SWmB/1RfhwkTJmjevHk6++yzdfnll2vk\nyJEaP368TjrppKQXKYis/xX7Xundu7e6desWVfeECRP05JNP6s0339Rhhx2m1atX6+2339bs2bPr\n90n3vZfqeUhFovfgggULdOutt2rVqlVRa/351+tLZpdddon6vXv37pK8dQ0jU5gTif2s+u8r/fC+\niT1f3bt3r98XAAAAQPtDYAZnHHzwwfVXyYwnsi7TWWedpeuuu049evRQIBDQr371q/rOLr94V/pL\n9xj+7rJUtkdCpFAopEAgoOeee06BQMNGzsYG+ZFj7LvvviorK4vbsRQbBCS6smFTxDvWtGnTtGDB\nApWWluqwww5T165dZYzRhAkT4p67iMhts2bN0v777x93n06dOrX6elGpnq9UX4eioiK98sorWrZs\nmZ5++mk999xzevjhhzVy5Ei98MILjV7ZM5Urfx5//PHq2LFjfVfZww8/rLy8PJ100klR9abz3mvp\n982DDz6oM888U+PHj9ell16qXr16KS8vTzfccINWr16d0nEb+7yle99IizUAAAAAJEJghpzx6KOP\n6qijjtJdd90VtX3Tpk1xu39a6hipGDBggKy16tevX9xOH79EQcmAAQP07rvvasSIERmrq7HHTObR\nRx/VpEmTdNNNN9Vvq66u1qZNm5LeL3Jlx86dOze4+qTf9ttvry5duuj9999PerxEtfft21eS9PHH\nH0d1OtXW1mrNmjU6+uijkx43kXRfhxEjRmjEiBG65ZZbNHPmTF155ZVatmxZwufet29fhUIhffrp\np1Fdld9++602bdpU/7wkqbi4WGPHjtWSJUs0a9YsLV68WEOGDIm6WEU67710NfV9M2DAAD3yyCNR\n26+66qpMlZU2//OInN/PPvss6lxv2LChvgsNAAAAQPvDGmbIGXl5eQ26QpYsWaK1a9e26jFSMX78\neAUCAU2fPj3u7Rs2bKj/e0lJSdwpjaeccoq+/vpr3X333Q1uq6qqUmVlZZPrKykpaTToipWXl9eg\nk2z27Nn101oTOfDAAzVgwADdcsst9Vfc9Fu/fr0kL8Q48cQT9Ze//CXp2lYlJSWy1jao/6c//akK\nCgqipidK0j333KPy8nKNHTs2aZ2JpPo6xAtX9t9/f1lrk3bPjRkzpn6qsN+sWbNkjNFxxx0XtX3C\nhAlat26d7rnnHr3zzjs69dRTo25P572XrpKSEklSeXl5yveJ1+G1YsUKvfHGG02uI5NGjhypvLw8\n3XnnnVHb77jjjixVBAAAAMAFdJjBCalMjxo7dqyuvfZaTZ48WUcccYTee+89PfTQQ/UdTKnIxDFS\nqbV///667rrr9Jvf/EZr1qzRiSeeqM6dO2v16tV64oknNGXKFF100UWSvEBp8eLF+vWvf62DDz5Y\nnTp10tixY/WLX/xCixcv1nnnnadly5bpJz/5iYLBoD766CMtWbJEL7zwQtIprMkceOCB+tOf/qTr\nr79eu+22m3r16lXfQZXo+Y0dO1YPPPCAunTpor322ktvvPGGXnzxxbhrv/kZY3TPPfdozJgx2nvv\nvXXmmWeqT58+Wrt2rZYtW6auXbvqySeflCTdcMMN+tvf/qahQ4fqnHPO0Z577ql169bpkUce0d//\n/nd16dJFBxxwgPLy8vT73/9emzZtUmFhoUaOHKmePXvqiiuu0IwZMzR69GiNGzdOq1at0p133qlD\nDjlEP//5z5t0rlJ9HWbMmKFXXnlFxx13nPr27atvvvlGd955p3bZZRcdeeSRCY+/33776YwzztBd\nd92ljRs3atiwYVqxYoXuv/9+jR8/XsOGDYvaf8yYMerUqZMuvvhi5efna/z48VG3p/PeS9eBBx4o\na63OP/98jRo1Snl5eZowYULS+4wdO1aPPfaYTjzxRB133HFavXq15s6dq7333rvRRfubK9F72b+9\nV69e+tWvfqVbb71VJ5xwgkaPHq133nlHzz77rLbffvsmddUBAJDLjDFnSLpP0kHW2sav0IM2yRjT\nV9IaSZOstfc34f4hSddYa2dkvDiglRCYwQmpDEp/85vfqLKyUgsXLtTixYt14IEH6plnntHll1/e\n4P6JjpeJY6Q6gL7ssss0cOBAlZWVacYM778TO++8c32YEzF16lS98847mj9/vm677Tb17dtXY8eO\nlTFGTz75pMrKynT//ffriSeeUHFxsfr376/S0tKoxe2NMWkN7K+66ip9+eWXuvnmm1VRUaFhw4bV\nB2aJjjN79mzl5+dr4cKFqqqq0pFHHqmlS5dq1KhRjT72sGHD9MYbb+jaa6/VH//4R23ZskU77LCD\nDj300KgrIO64445asWKFfve732nhwoUqLy9Xnz59NGbMGBUXF0vyFsOfO3euZs6cqbPOOkvBYFDL\nli3T0KFDdfXVV6tXr176wx/+oIsuukg9evTQueeeq+uvv75Bp1Oymv23pfo6nHDCCfriiy903333\naf369erZs6eGDx+ua665Rp07d056fubNm6cBAwZo/vz5euKJJ7TDDjvot7/9bdxpi4WFhRo3bpwW\nLlyoo48+Om5gmep7r7HzEGv8+PG64IIL9Oc//1kPPfSQrLX1gVmi9+CkSZP0zTffaO7cuXrhhRe0\n11576aGHHtLixYvrr5Dqr6WpAVW8+6b6Gb7ppptUUlKiu+++Wy+++KIOO+wwPf/88xoyZIiKioqa\nVA8AAKnwhVN+30n6QNJN1trnmnjcKyR9aK19soml5cxin8aYYyUdYq2N317fhhljJkrqZa29vYUe\nojnvA9vM+wNZZ9JY+Jg3O4BGvfTSSzr66KP16quv6ogjjsh2OUCTRK54e/311+uKK67Idjlo22hj\nBNqxcGB2r6TfSfpc3ndCb0mTJO0jaay19pkmHLdC0hJr7eRm1HRwLnSYGWPukDTVWhv/KkFtmDHm\nL5L2ttamdunx9I/fQVKtbcLVksL3rbPWJr46GOA4OswAZNS6deskqdGpmoArqqqqGnSSlZWVyRij\n4cOHZ6coAEB785w/nDLG3CvpG0kTJaUdmLUzbfofHowxRdbaqgwcp1BSTTrhl7W2pqmP15z7Aq5g\n0X8AGVFZWam77rpLN954o3beeeeoKaOAyx5++GGNGDFCN998s+68806ddtppmjFjhkaNGqXDDz88\n2+UBANoha+0mSdsk1fm3G2MuNsb83Riz3hhTaYz5pzHmZzH7hCQVS5pkjAmFf+713b6jMWaeMWat\nMabKGLPaGDPHGBPbTFFojLnVGPOtMWaLMeYxY8x2qdRvjBlojFkcvm+lMWaVMea6mH1+bIx51hiz\n2RhTYYxZaow5NGaffGPM1caYT4wx28LP+1VjzMjw7fdJmhp53uGfoO/+p4bPUXn4cd41xlyQQv3F\nxphZxpgvw+dolTHm1zH7vGeMeTHOfU343C6O2XahMeb98PP4rzHmT8aYbjH3/dwY85Qx5hhjzFvG\nmG2SzklQ4zJJx0nq63vuq8O3DQ//PsEYc50x5mtJWyV1NsZ0N8bcEj4XFeHz8owxZr+Y40eOe7pv\n2/zwfXY0xjwR/vu3xpibTcyaF+H7XuX7/ZrwtgHh42w0xmwyxtxrjCmKuW+RMWa2Mea78Gv3RPgx\no44JtDQ6zABkxHfffacLLrhA+++/vxYsWJDtcoCU7bfffiooKNDNN9+s8vJy9e7dW6Wlpbr22muz\nXRoAoP3oGg6jjKReki6QVCLpgZj9LpD0pKQHJXWQdKqkxcaYsdbaZ8P7/D9J8yStkHRXeNt/JMkY\n8yNJb0nqImmupI8l9ZF0kryQLXIpbCPpD5I2SLpGUj9JpeFtE5M9kXDw8qqk6vBjfCFpgKSxkq4M\n77OXpFckbZZ0o7xgcIqk5caYodbat8KHmy7p8vDziNR9kKTBkl6U9CdJO0r6qaSfy9dtZow5WtJC\nSX+TdGl4856SjpAUfVn1hv4iaZikeyS9I2mUpJuNMTtaayPB2cOSrjbG9LLWfuu77xBJP5K0yLft\nLkmny5vqerukXSWdL+kAY8xPrLWRkM9KGhSue274fh8nqPE6SV3lvX4Xhp975IpKkS6y38l7HW6W\nVCipRtLeksZJWiJvUf/e+uHc72Wt/W+S82LlNd08L+lNSb+Wd+4vkvRZuOZk95WkxZJWy3tdB0s6\nS143pX8NjAXy3pP3y3sfD5P0tFgmCq2MNcwAAACyp01PJQKQnIm/6L8kVUmaYq19IGb/Qmttte/3\nPEn/kvSNtfZo3/a4a5gZYxZIOk3eIvn/aqSmF6y1o33bZ8kLebaz1lYkeU4vS9pf3tpaaxPs87ik\n0ZIGWWu/CG/bQV44tNJaOyK87V+SvrLWjot3nPA+cdcwM8aUybvCY/dE901wvBMkPS7pN9baG33b\nF0saL2l3a+0aY8zu4XqnWWvn+Pb7o7zQspe1ttoYc6S8cHCitfZh335HywueTrPW/jm8bY2kXSSN\nstYuTaHWuGuYGWOGSVomLyjd2z890hhTYK2tjdl/l/Bzuc5ae314W4OrZIY7+k6X9Dtr7Q2++78t\nKWitPcS3LeoqmcaYqyVdLekea+05vv0elTTEWtsr/PuPJb0t6VZr7cW+/e6VdIak6Vx5E62FKZkA\nAAAAkD1W0nnyOnUinVLLJM0zxpwYtWN0WNZNUnd53VyDG3uQ8JS5EyQ9lSgsi6nprphtr0rKk9Q3\nyWP0lNdhNS9JWBaQdLSkxyNhmSSFO5sWSjrSGNMpvHmTpL2NMbs1Um88mySVGGNGpXm/Y+V1vN0R\ns32WvPHzseF6P5X0b0kTIjuEn9vP5J3jyGt1UriWF40x20V+5AWdWySNiHmcNamEZSmaH7uWmD8s\nM8YEjDE9JFXKC8wafR+FxXaSvSoplQsP2AT33c73mo8O73dnzH53iH9kQisjMAMAAACA7HrLWvtS\n+GeRvOmLH0r6g/GtLWaMGWuMeSO8ttUGSd/KC9u6pvAY28ub0vhBijV9FfP7xvCfyTq2IqFJssfY\n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\nvfDCC8ydO5ff//73fPLJJwwePJicnJyw9/nqq6+YEs54ZAAAIABJREFUMmUK48ePJy8vj9tuu40b\nb7yRt99+O+T+lmWxatUqpk6dysyZM7nlllsYPXo0Y8aMYevWrS04WhERERGR2KbATFokMEhLTk6O\n2GEWSuA2Uxf9N72DKxbqM7W2WGF6aGtqfbHSYRbqSpmBwCxc7bm5ucyaNYtrr72WrKws/vznP+N0\nOlm8eHHI/Z966ikyMzN5+OGHGThwILfccguXX345ubm5IffPz8/nnnvuISkpidzcXCoqKvjjH//I\n+PHj+dWvfsUXX3wBmHtuRURERETampmJhRgvsDh1qEX+IXKoExgsmhqqmB5IiUSTyVMywfz6oPkd\nZtXV1WzevJnx48cHt1mWxYQJE1i/fn3I+3z44YdMmDChzracnJwG+we+jxctWoTdbuexxx7j0ksv\npX///tjtdh544AE8Hg9r166ts7+IiIiISEenRf+lRYYOHYrT6aSioqLO9sBgNTAgrKmp4dixY3X2\nCdzm8XiMDKUCA8KysjLj6zORz+fD7/c3eN1NYfr7z+v1Ahh7/gKLw5tan9/vp6qqipqammiXElZl\nZSXV1dXA8ffhrl27qKmpYdCgQWzatIm4uLg6+x88eJCamhrS09PrbE9PT+fLL78M+Rz5+fkh9y8t\nLaWyspLExETgxOfhq6++YsCAAfTt2xeAHj16BKdipqen880337TuoEVEREREYowCM2mRsWPH4nK5\nqKioCIYOtcOH2tMu63ehBQKfwJXXTBMI/OoPWk0RqM/kKa2m1+fz+Yx9/9X+fJhI9bWO1+vFsqxg\nfbt372bixInB2996662o1JWRkVFnrTK3241lWfh8PoqKiujduzegzlsRERER6TwUmEmLJSYmhuww\nA4KBid1uJz6+7tussrISr9dr7BXXKioqqKqqwul0RruUkEyvr7y8nJqaGmPr83q9HDt2DLvdbmQo\n6vF48Pl8xp4/j8eD3+83tr5A56Wp9R07dgybzRasb/Dgwaxbtw6AqVOnsnDhQvr161fnPjU1NYwe\nPZqCgoI62wsKCsjIyAj5PBkZGSH3T0lJCXaXwYnv7MGDB7Ny5Uo2bNjAiBEj6NOnD3/4wx944YUX\nGDhwINdffz1gbhApIiIiItLWFJhJiyUmJlJZWRnytsDC7+EuCGByl4LqE4nM5DXCAl1RprLZbHXq\n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\n6dx6661cffXVZQmzTp06AdC2bVs6d+5Mx44da9TGzZs3M3PmTCZOnFjb7hEREREREZE40RpmIhI3\nQ4YMobi4mDVr1rB//34yMjLo2LEjmZmZTJgwgePHj5OXl0f37t254IILAFi/fj1fffXVKTO2jh49\nypYtW075jEOHDlFYWEjfvn3LzkUiEfr06UPFTU+uuOKKcsepqans2bOnzu3btWsX2dnZjBkzhgkT\nJtT5OSIiIiIiItK4lDATkbhJT0+nS5cuLF26lP3795OZmQkEiaquXbvy7rvvlu2QWerw4cOcf/75\nLFu27JSEV6xZY7VRcRdLM6OkpKROz9q9ezdDhw5l0KBBzJ49+7TiEhERERERkcalVzJFJK5K1zHL\ny8tjyJAhZeevueYaFi1axOrVq8utX9a7d28KCgpISkqie/fu5UqsdcLatGlDcnJyuTXHSkpKWLt2\nba1jbd68OSdPnqy23q5du8jKyqJv3768/PLLtf4cERERERERiS8lzEQkrrKyslixYgUfffRR2Qwz\nCBJms2fP5sSJE+USZsOHD2fgwIHceOONLF68mB07dvDee+/x2GOPVZoEu/fee3nqqad4/fXX+eyz\nz5g0aRJFRUWnLPpfnYsuuojc3FwKCwvLbTAQbffu3QwZMoRu3boxbdo09uzZQ2FhIYWFhbX6LBER\nEREREYkfvZIpInGVlZXF0aNHueSSSzjvvPPKzmdmZnL48GF69uxJcnJyuXveeOMNJk+ezIQJE9i7\ndy8pKSlcc801p9Qr9cgjj1BYWMjtt99OUlISd9xxByNGjKBZs3/8FViT5Nlzzz3HAw88wIsvvkiX\nLl3YunXrKXUWL17M1q1b2bp1K127dgXA3TGzGs1OExERERERkfizimsAVaHGFUVEmjJ355JLLmHM\nmDFMmTIl3uGIyNmtdlNdRURERKRRaIaZiJzxdu7cyVtvvUVmZiZHjx5l5syZbN++nVtuuSXeoYmI\niIiIiEgTpDXMROSMF4lEmDNnDv369WPw4MF88skn5ObmcvHFF8c7NBEREREREWmC9EqmiIiISPzo\nlUwRERGRJkgzzERERERERERERKIoYSYiIiIiIiIiIhJFCTMREREREREREZEoSpiJiIiIiIiIiIhE\nUcJMREREREREREQkihJmIiIiIiIiIiIiUZQwExERERERERERiaKEmYiIiIiIiIiISJRmtahrDRaF\niIiIiIiIiIhIE6EZZiIiIiIiIiIiIlGUMBMREREREREREYmihJmIiIiIiIiIiEgUJcxERERERERE\nRESiKGEmIiIiIiIiIiISRQkzERERERERERGRKEqYiYiIiIiIiIiIRFHCTEREREREREREJIoSZiIi\nIiIiIiIiIlH+P5h+3QRkF5tVAAAAAElFTkSuQmCC\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from ipywidgets import interact\n", "%matplotlib inline\n", @@ -2146,12 +746,12 @@ " ax1.set_xlabel('Weight 1')\n", " ax1.set_ylabel('Weight 2')\n", " ax1.set_zlabel('Bias')\n", - " ax2.set_title('Batch costs over training')\n", + " ax2.set_title('Batch errors over training')\n", " ax2.set_xlabel('Batch update number')\n", - " ax2.set_ylabel('Batch cost')\n", + " ax2.set_ylabel('Batch error')\n", " return fig, ax1, ax2\n", "\n", - "def visualise_training(n_epochs=1, batch_size=200, log_lr=-3.5, n_inits=5,\n", + "def visualise_training(n_epochs=1, batch_size=200, log_lr=-1., n_inits=5,\n", " w_scale=1., b_scale=1., elev=30., azim=0.):\n", " fig, ax1, ax2 = setup_figure()\n", " # create seeded random number generator\n", @@ -2166,7 +766,7 @@ " n_batches = data_provider.num_batches\n", " weights_traj = np.empty((n_inits, n_epochs * n_batches + 1, 1, 2))\n", " biases_traj = np.empty((n_inits, n_epochs * n_batches + 1, 1))\n", - " costs_traj = np.empty((n_inits, n_epochs * n_batches))\n", + " errors_traj = np.empty((n_inits, n_epochs * n_batches))\n", " # randomly initialise parameters\n", " weights = rng.uniform(-w_scale, w_scale, (n_inits, 1, 2))\n", " biases = rng.uniform(-b_scale, b_scale, (n_inits, 1))\n", @@ -2180,8 +780,8 @@ " # iterate across batches\n", " for b, (inputs, targets) in enumerate(data_provider):\n", " outputs = fprop(inputs, weights[i], biases[i])\n", - " costs_traj[i, e * n_batches + b] = cost(outputs, targets)\n", - " grad_wrt_outputs = cost_grad(outputs, targets)\n", + " errors_traj[i, e * n_batches + b] = error(outputs, targets)\n", + " grad_wrt_outputs = error_grad(outputs, targets)\n", " weights_grad, biases_grad = grads_wrt_params(inputs, grad_wrt_outputs)\n", " weights[i] -= learning_rate * weights_grad\n", " biases[i] -= learning_rate * biases_grad\n", @@ -2198,7 +798,7 @@ " '-', c=colors[i], lw=2)\n", " lines_2 = ax2.plot(\n", " np.arange(n_batches * n_epochs),\n", - " costs_traj[i],\n", + " errors_traj[i],\n", " c=colors[i]\n", " )\n", " ax1.view_init(elev, azim)\n", @@ -2210,7 +810,7 @@ " azim=(-180, 180, 2), \n", " n_epochs=(1, 5), \n", " batch_size=(100, 1000, 100),\n", - " log_lr=(-5., -2.),\n", + " log_lr=(-3., 1.),\n", " w_scale=(0., 2.),\n", " b_scale=(0., 2.),\n", " n_inits=(1, 10)\n",