{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Regularization\n", "\n", "Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that **overfitting can be a serious problem**, if the training dataset is not big enough. Sure it does well on the training set, but the learned network **doesn't generalize to new examples** that it has never seen!\n", "\n", "**You will learn to:** Use regularization in your deep learning models.\n", "\n", "Let's first import the packages you are going to use." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Updates to Assignment \n", "\n", "#### If you were working on a previous version\n", "* The current notebook filename is version \"2a\". \n", "* You can find your work in the file directory as version \"2\".\n", "* To see the file directory, click on the Coursera logo at the top left of the notebook.\n", "\n", "#### List of Updates\n", "* Clarified explanation of 'keep_prob' in the text description.\n", "* Fixed a comment so that keep_prob and 1-keep_prob add up to 100%\n", "* Updated print statements and 'expected output' for easier visual comparisons." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# import packages\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from reg_utils import sigmoid, relu, plot_decision_boundary, initialize_parameters, load_2D_dataset, predict_dec\n", "from reg_utils import compute_cost, predict, forward_propagation, backward_propagation, update_parameters\n", "import sklearn\n", "import sklearn.datasets\n", "import scipy.io\n", "from testCases import *\n", "\n", "%matplotlib inline\n", "plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n", "plt.rcParams['image.interpolation'] = 'nearest'\n", "plt.rcParams['image.cmap'] = 'gray'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Problem Statement**: You have just been hired as an AI expert by the French Football Corporation. They would like you to recommend positions where France's goal keeper should kick the ball so that the French team's players can then hit it with their head. \n", "\n", "\n", "
**Figure 1** : **Football field**
The goal keeper kicks the ball in the air, the players of each team are fighting to hit the ball with their head
\n", "\n", "\n", "They give you the following 2D dataset from France's past 10 games." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "train_X, train_Y, test_X, test_Y = load_2D_dataset()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each dot corresponds to a position on the football field where a football player has hit the ball with his/her head after the French goal keeper has shot the ball from the left side of the football field.\n", "- If the dot is blue, it means the French player managed to hit the ball with his/her head\n", "- If the dot is red, it means the other team's player hit the ball with their head\n", "\n", "**Your goal**: Use a deep learning model to find the positions on the field where the goalkeeper should kick the ball." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Analysis of the dataset**: This dataset is a little noisy, but it looks like a diagonal line separating the upper left half (blue) from the lower right half (red) would work well. \n", "\n", "You will first try a non-regularized model. Then you'll learn how to regularize it and decide which model you will choose to solve the French Football Corporation's problem. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1 - Non-regularized model\n", "\n", "You will use the following neural network (already implemented for you below). This model can be used:\n", "- in *regularization mode* -- by setting the `lambd` input to a non-zero value. We use \"`lambd`\" instead of \"`lambda`\" because \"`lambda`\" is a reserved keyword in Python. \n", "- in *dropout mode* -- by setting the `keep_prob` to a value less than one\n", "\n", "You will first try the model without any regularization. Then, you will implement:\n", "- *L2 regularization* -- functions: \"`compute_cost_with_regularization()`\" and \"`backward_propagation_with_regularization()`\"\n", "- *Dropout* -- functions: \"`forward_propagation_with_dropout()`\" and \"`backward_propagation_with_dropout()`\"\n", "\n", "In each part, you will run this model with the correct inputs so that it calls the functions you've implemented. Take a look at the code below to familiarize yourself with the model." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def model(X, Y, learning_rate = 0.3, num_iterations = 30000, print_cost = True, lambd = 0, keep_prob = 1):\n", " \"\"\"\n", " Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n", " \n", " Arguments:\n", " X -- input data, of shape (input size, number of examples)\n", " Y -- true \"label\" vector (1 for blue dot / 0 for red dot), of shape (output size, number of examples)\n", " learning_rate -- learning rate of the optimization\n", " num_iterations -- number of iterations of the optimization loop\n", " print_cost -- If True, print the cost every 10000 iterations\n", " lambd -- regularization hyperparameter, scalar\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar.\n", " \n", " Returns:\n", " parameters -- parameters learned by the model. They can then be used to predict.\n", " \"\"\"\n", " \n", " grads = {}\n", " costs = [] # to keep track of the cost\n", " m = X.shape[1] # number of examples\n", " layers_dims = [X.shape[0], 20, 3, 1]\n", " \n", " # Initialize parameters dictionary.\n", " parameters = initialize_parameters(layers_dims)\n", "\n", " # Loop (gradient descent)\n", "\n", " for i in range(0, num_iterations):\n", "\n", " # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n", " if keep_prob == 1:\n", " a3, cache = forward_propagation(X, parameters)\n", " elif keep_prob < 1:\n", " a3, cache = forward_propagation_with_dropout(X, parameters, keep_prob)\n", " \n", " # Cost function\n", " if lambd == 0:\n", " cost = compute_cost(a3, Y)\n", " else:\n", " cost = compute_cost_with_regularization(a3, Y, parameters, lambd)\n", " \n", " # Backward propagation.\n", " assert(lambd==0 or keep_prob==1) # it is possible to use both L2 regularization and dropout, \n", " # but this assignment will only explore one at a time\n", " if lambd == 0 and keep_prob == 1:\n", " grads = backward_propagation(X, Y, cache)\n", " elif lambd != 0:\n", " grads = backward_propagation_with_regularization(X, Y, cache, lambd)\n", " elif keep_prob < 1:\n", " grads = backward_propagation_with_dropout(X, Y, cache, keep_prob)\n", " \n", " # Update parameters.\n", " parameters = update_parameters(parameters, grads, learning_rate)\n", " \n", " # Print the loss every 10000 iterations\n", " if print_cost and i % 10000 == 0:\n", " print(\"Cost after iteration {}: {}\".format(i, cost))\n", " if print_cost and i % 1000 == 0:\n", " costs.append(cost)\n", " \n", " # plot the cost\n", " plt.plot(costs)\n", " plt.ylabel('cost')\n", " plt.xlabel('iterations (x1,000)')\n", " plt.title(\"Learning rate =\" + str(learning_rate))\n", " plt.show()\n", " \n", " return parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's train the model without any regularization, and observe the accuracy on the train/test sets." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6557412523481002\n", "Cost after iteration 10000: 0.16329987525724213\n", "Cost after iteration 20000: 0.13851642423245572\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the training set:\n", "Accuracy: 0.9478672985781991\n", "On the test set:\n", "Accuracy: 0.915\n" ] } ], "source": [ "parameters = model(train_X, train_Y)\n", "print (\"On the training set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The train accuracy is 94.8% while the test accuracy is 91.5%. This is the **baseline model** (you will observe the impact of regularization on this model). Run the following code to plot the decision boundary of your model." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"Model without regularization\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The non-regularized model is obviously overfitting the training set. It is fitting the noisy points! Lets now look at two techniques to reduce overfitting." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2 - L2 Regularization\n", "\n", "The standard way to avoid overfitting is called **L2 regularization**. It consists of appropriately modifying your cost function, from:\n", "$$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n", "To:\n", "$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n", "\n", "Let's modify your cost and observe the consequences.\n", "\n", "**Exercise**: Implement `compute_cost_with_regularization()` which computes the cost given by formula (2). To calculate $\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2}$ , use :\n", "```python\n", "np.sum(np.square(Wl))\n", "```\n", "Note that you have to do this for $W^{[1]}$, $W^{[2]}$ and $W^{[3]}$, then sum the three terms and multiply by $ \\frac{1}{m} \\frac{\\lambda}{2} $." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# GRADED FUNCTION: compute_cost_with_regularization\n", "\n", "def compute_cost_with_regularization(A3, Y, parameters, lambd):\n", " \"\"\"\n", " Implement the cost function with L2 regularization. See formula (2) above.\n", " \n", " Arguments:\n", " A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " parameters -- python dictionary containing parameters of the model\n", " \n", " Returns:\n", " cost - value of the regularized loss function (formula (2))\n", " \"\"\"\n", " m = Y.shape[1]\n", " W1 = parameters[\"W1\"]\n", " W2 = parameters[\"W2\"]\n", " W3 = parameters[\"W3\"]\n", " \n", " cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost\n", " \n", " ### START CODE HERE ### (approx. 1 line)\n", " L2_regularization_cost = lambd/(2*m)*(np.sum(np.square(W1))+np.sum(np.square(W2))+np.sum(np.square(W3)))\n", " ### END CODER HERE ###\n", " \n", " cost = cross_entropy_cost + L2_regularization_cost\n", " \n", " return cost" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cost = 1.7864859451590758\n" ] } ], "source": [ "A3, Y_assess, parameters = compute_cost_with_regularization_test_case()\n", "\n", "print(\"cost = \" + str(compute_cost_with_regularization(A3, Y_assess, parameters, lambd = 0.1)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**: \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " **cost**\n", " \n", " 1.78648594516\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, because you changed the cost, you have to change backward propagation as well! All the gradients have to be computed with respect to this new cost. \n", "\n", "**Exercise**: Implement the changes needed in backward propagation to take into account regularization. The changes only concern dW1, dW2 and dW3. For each, you have to add the regularization term's gradient ($\\frac{d}{dW} ( \\frac{1}{2}\\frac{\\lambda}{m} W^2) = \\frac{\\lambda}{m} W$)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# GRADED FUNCTION: backward_propagation_with_regularization\n", "\n", "def backward_propagation_with_regularization(X, Y, cache, lambd):\n", " \"\"\"\n", " Implements the backward propagation of our baseline model to which we added an L2 regularization.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (input size, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " cache -- cache output from forward_propagation()\n", " lambd -- regularization hyperparameter, scalar\n", " \n", " Returns:\n", " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", " \"\"\"\n", " \n", " m = X.shape[1]\n", " (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", " \n", " dZ3 = A3 - Y\n", " \n", " ### START CODE HERE ### (approx. 1 line)\n", " dW3 = 1./m * np.dot(dZ3, A2.T) + (lambd/m)*W3\n", " ### END CODE HERE ###\n", " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", " \n", " dA2 = np.dot(W3.T, dZ3)\n", " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", " ### START CODE HERE ### (approx. 1 line)\n", " dW2 = 1./m * np.dot(dZ2, A1.T) + (lambd/m)*W2\n", " ### END CODE HERE ###\n", " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", " \n", " dA1 = np.dot(W2.T, dZ2)\n", " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", " ### START CODE HERE ### (approx. 1 line)\n", " dW1 = 1./m * np.dot(dZ1, X.T) + (lambd/m)*W1\n", " ### END CODE HERE ###\n", " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", " \n", " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", " \n", " return gradients" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dW1 = \n", "[[-0.25604646 0.12298827 -0.28297129]\n", " [-0.17706303 0.34536094 -0.4410571 ]]\n", "dW2 = \n", "[[ 0.79276486 0.85133918]\n", " [-0.0957219 -0.01720463]\n", " [-0.13100772 -0.03750433]]\n", "dW3 = \n", "[[-1.77691347 -0.11832879 -0.09397446]]\n" ] } ], "source": [ "X_assess, Y_assess, cache = backward_propagation_with_regularization_test_case()\n", "\n", "grads = backward_propagation_with_regularization(X_assess, Y_assess, cache, lambd = 0.7)\n", "print (\"dW1 = \\n\"+ str(grads[\"dW1\"]))\n", "print (\"dW2 = \\n\"+ str(grads[\"dW2\"]))\n", "print (\"dW3 = \\n\"+ str(grads[\"dW3\"]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "```\n", "dW1 = \n", "[[-0.25604646 0.12298827 -0.28297129]\n", " [-0.17706303 0.34536094 -0.4410571 ]]\n", "dW2 = \n", "[[ 0.79276486 0.85133918]\n", " [-0.0957219 -0.01720463]\n", " [-0.13100772 -0.03750433]]\n", "dW3 = \n", "[[-1.77691347 -0.11832879 -0.09397446]]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now run the model with L2 regularization $(\\lambda = 0.7)$. The `model()` function will call: \n", "- `compute_cost_with_regularization` instead of `compute_cost`\n", "- `backward_propagation_with_regularization` instead of `backward_propagation`" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6974484493131264\n", "Cost after iteration 10000: 0.26849188732822393\n", "Cost after iteration 20000: 0.2680916337127301\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the train set:\n", "Accuracy: 0.9383886255924171\n", "On the test set:\n", "Accuracy: 0.93\n" ] } ], "source": [ "parameters = model(train_X, train_Y, lambd = 0.7)\n", "print (\"On the train set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congrats, the test set accuracy increased to 93%. You have saved the French football team!\n", "\n", "You are not overfitting the training data anymore. Let's plot the decision boundary." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"Model with L2-regularization\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Observations**:\n", "- The value of $\\lambda$ is a hyperparameter that you can tune using a dev set.\n", "- L2 regularization makes your decision boundary smoother. If $\\lambda$ is too large, it is also possible to \"oversmooth\", resulting in a model with high bias.\n", "\n", "**What is L2-regularization actually doing?**:\n", "\n", "L2-regularization relies on the assumption that a model with small weights is simpler than a model with large weights. Thus, by penalizing the square values of the weights in the cost function you drive all the weights to smaller values. It becomes too costly for the cost to have large weights! This leads to a smoother model in which the output changes more slowly as the input changes. \n", "\n", "\n", "**What you should remember** -- the implications of L2-regularization on:\n", "- The cost computation:\n", " - A regularization term is added to the cost\n", "- The backpropagation function:\n", " - There are extra terms in the gradients with respect to weight matrices\n", "- Weights end up smaller (\"weight decay\"): \n", " - Weights are pushed to smaller values." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3 - Dropout\n", "\n", "Finally, **dropout** is a widely used regularization technique that is specific to deep learning. \n", "**It randomly shuts down some neurons in each iteration.** Watch these two videos to see what this means!\n", "\n", " \n", "\n", "\n", "
\n", "\n", "
\n", "
\n", "
Figure 2 : Drop-out on the second hidden layer.
At each iteration, you shut down (= set to zero) each neuron of a layer with probability $1 - keep\\_prob$ or keep it with probability $keep\\_prob$ (50% here). The dropped neurons don't contribute to the training in both the forward and backward propagations of the iteration.
\n", "\n", "
\n", "\n", "
\n", "\n", "
Figure 3 : Drop-out on the first and third hidden layers.
$1^{st}$ layer: we shut down on average 40% of the neurons. $3^{rd}$ layer: we shut down on average 20% of the neurons.
\n", "\n", "\n", "When you shut some neurons down, you actually modify your model. The idea behind drop-out is that at each iteration, you train a different model that uses only a subset of your neurons. With dropout, your neurons thus become less sensitive to the activation of one other specific neuron, because that other neuron might be shut down at any time. \n", "\n", "### 3.1 - Forward propagation with dropout\n", "\n", "**Exercise**: Implement the forward propagation with dropout. You are using a 3 layer neural network, and will add dropout to the first and second hidden layers. We will not apply dropout to the input layer or output layer. \n", "\n", "**Instructions**:\n", "You would like to shut down some neurons in the first and second layers. To do that, you are going to carry out 4 Steps:\n", "1. In lecture, we dicussed creating a variable $d^{[1]}$ with the same shape as $a^{[1]}$ using `np.random.rand()` to randomly get numbers between 0 and 1. Here, you will use a vectorized implementation, so create a random matrix $D^{[1]} = [d^{[1](1)} d^{[1](2)} ... d^{[1](m)}] $ of the same dimension as $A^{[1]}$.\n", "2. Set each entry of $D^{[1]}$ to be 1 with probability (`keep_prob`), and 0 otherwise.\n", "\n", "**Hint:** Let's say that keep_prob = 0.8, which means that we want to keep about 80% of the neurons and drop out about 20% of them. We want to generate a vector that has 1's and 0's, where about 80% of them are 1 and about 20% are 0.\n", "This python statement: \n", "`X = (X < keep_prob).astype(int)` \n", "\n", "is conceptually the same as this if-else statement (for the simple case of a one-dimensional array) :\n", "\n", "```\n", "for i,v in enumerate(x):\n", " if v < keep_prob:\n", " x[i] = 1\n", " else: # v >= keep_prob\n", " x[i] = 0\n", "```\n", "Note that the `X = (X < keep_prob).astype(int)` works with multi-dimensional arrays, and the resulting output preserves the dimensions of the input array.\n", "\n", "Also note that without using `.astype(int)`, the result is an array of booleans `True` and `False`, which Python automatically converts to 1 and 0 if we multiply it with numbers. (However, it's better practice to convert data into the data type that we intend, so try using `.astype(int)`.)\n", "\n", "3. Set $A^{[1]}$ to $A^{[1]} * D^{[1]}$. (You are shutting down some neurons). You can think of $D^{[1]}$ as a mask, so that when it is multiplied with another matrix, it shuts down some of the values.\n", "4. Divide $A^{[1]}$ by `keep_prob`. By doing this you are assuring that the result of the cost will still have the same expected value as without drop-out. (This technique is also called inverted dropout.)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# GRADED FUNCTION: forward_propagation_with_dropout\n", "\n", "def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):\n", " \"\"\"\n", " Implements the forward propagation: LINEAR -> RELU + DROPOUT -> LINEAR -> RELU + DROPOUT -> LINEAR -> SIGMOID.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (2, number of examples)\n", " parameters -- python dictionary containing your parameters \"W1\", \"b1\", \"W2\", \"b2\", \"W3\", \"b3\":\n", " W1 -- weight matrix of shape (20, 2)\n", " b1 -- bias vector of shape (20, 1)\n", " W2 -- weight matrix of shape (3, 20)\n", " b2 -- bias vector of shape (3, 1)\n", " W3 -- weight matrix of shape (1, 3)\n", " b3 -- bias vector of shape (1, 1)\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", " \n", " Returns:\n", " A3 -- last activation value, output of the forward propagation, of shape (1,1)\n", " cache -- tuple, information stored for computing the backward propagation\n", " \"\"\"\n", " \n", " np.random.seed(1)\n", " \n", " # retrieve parameters\n", " W1 = parameters[\"W1\"]\n", " b1 = parameters[\"b1\"]\n", " W2 = parameters[\"W2\"]\n", " b2 = parameters[\"b2\"]\n", " W3 = parameters[\"W3\"]\n", " b3 = parameters[\"b3\"]\n", " \n", " # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID\n", " Z1 = np.dot(W1, X) + b1\n", " A1 = relu(Z1)\n", " ### START CODE HERE ### (approx. 4 lines) # Steps 1-4 below correspond to the Steps 1-4 described above. \n", " D1 = np.random.rand(A1.shape[0], A1.shape[1]) # Step 1: initialize matrix D1 = np.random.rand(..., ...)\n", " D1 = (D1 < keep_prob).astype(int) # Step 2: convert entries of D1 to 0 or 1 (using keep_prob as the threshold)\n", " A1 = A1*D1 # Step 3: shut down some neurons of A1\n", " A1 = A1/keep_prob # Step 4: scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " Z2 = np.dot(W2, A1) + b2\n", " A2 = relu(Z2)\n", " ### START CODE HERE ### (approx. 4 lines)\n", " D2 = np.random.rand(A2.shape[0], A2.shape[1]) # Step 1: initialize matrix D2 = np.random.rand(..., ...)\n", " D2 = (D2 < keep_prob) # Step 2: convert entries of D2 to 0 or 1 (using keep_prob as the threshold)\n", " A2 = A2*D2 # Step 3: shut down some neurons of A2\n", " A2 = A2/keep_prob # Step 4: scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " Z3 = np.dot(W3, A2) + b3\n", " A3 = sigmoid(Z3)\n", " \n", " cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3)\n", " \n", " return A3, cache" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A3 = [[0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n" ] } ], "source": [ "X_assess, parameters = forward_propagation_with_dropout_test_case()\n", "\n", "A3, cache = forward_propagation_with_dropout(X_assess, parameters, keep_prob = 0.7)\n", "print (\"A3 = \" + str(A3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**: \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\n", " **A3**\n", " \n", " [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 - Backward propagation with dropout\n", "\n", "**Exercise**: Implement the backward propagation with dropout. As before, you are training a 3 layer network. Add dropout to the first and second hidden layers, using the masks $D^{[1]}$ and $D^{[2]}$ stored in the cache. \n", "\n", "**Instruction**:\n", "Backpropagation with dropout is actually quite easy. You will have to carry out 2 Steps:\n", "1. You had previously shut down some neurons during forward propagation, by applying a mask $D^{[1]}$ to `A1`. In backpropagation, you will have to shut down the same neurons, by reapplying the same mask $D^{[1]}$ to `dA1`. \n", "2. During forward propagation, you had divided `A1` by `keep_prob`. In backpropagation, you'll therefore have to divide `dA1` by `keep_prob` again (the calculus interpretation is that if $A^{[1]}$ is scaled by `keep_prob`, then its derivative $dA^{[1]}$ is also scaled by the same `keep_prob`).\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# GRADED FUNCTION: backward_propagation_with_dropout\n", "\n", "def backward_propagation_with_dropout(X, Y, cache, keep_prob):\n", " \"\"\"\n", " Implements the backward propagation of our baseline model to which we added dropout.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (2, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " cache -- cache output from forward_propagation_with_dropout()\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", " \n", " Returns:\n", " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", " \"\"\"\n", " \n", " m = X.shape[1]\n", " (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", " \n", " dZ3 = A3 - Y\n", " dW3 = 1./m * np.dot(dZ3, A2.T)\n", " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", " dA2 = np.dot(W3.T, dZ3)\n", " ### START CODE HERE ### (≈ 2 lines of code)\n", " dA2 = dA2*D2 # Step 1: Apply mask D2 to shut down the same neurons as during the forward propagation\n", " dA2 = dA2/keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", " dW2 = 1./m * np.dot(dZ2, A1.T)\n", " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", " \n", " dA1 = np.dot(W2.T, dZ2)\n", " ### START CODE HERE ### (≈ 2 lines of code)\n", " dA1 = dA1*D1 # Step 1: Apply mask D1 to shut down the same neurons as during the forward propagation\n", " dA1 = dA1/keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", " dW1 = 1./m * np.dot(dZ1, X.T)\n", " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", " \n", " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", " \n", " return gradients" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dA1 = \n", "[[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", "dA2 = \n", "[[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", " [ 0. 0. -0.00292733 0. -0. ]]\n" ] } ], "source": [ "X_assess, Y_assess, cache = backward_propagation_with_dropout_test_case()\n", "\n", "gradients = backward_propagation_with_dropout(X_assess, Y_assess, cache, keep_prob = 0.8)\n", "\n", "print (\"dA1 = \\n\" + str(gradients[\"dA1\"]))\n", "print (\"dA2 = \\n\" + str(gradients[\"dA2\"]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**: \n", "\n", "```\n", "dA1 = \n", "[[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", "dA2 = \n", "[[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", " [ 0. 0. -0.00292733 0. -0. ]]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now run the model with dropout (`keep_prob = 0.86`). It means at every iteration you shut down each neurons of layer 1 and 2 with 14% probability. The function `model()` will now call:\n", "- `forward_propagation_with_dropout` instead of `forward_propagation`.\n", "- `backward_propagation_with_dropout` instead of `backward_propagation`." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6543912405149825\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\abdur\\Desktop\\DL\\DL_Course2\\week5\\Regularization\\reg_utils.py:236: RuntimeWarning: divide by zero encountered in log\n", " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n", "C:\\Users\\abdur\\Desktop\\DL\\DL_Course2\\week5\\Regularization\\reg_utils.py:236: RuntimeWarning: invalid value encountered in multiply\n", " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 10000: 0.0610169865749056\n", "Cost after iteration 20000: 0.060582435798513114\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the train set:\n", "Accuracy: 0.9289099526066351\n", "On the test set:\n", "Accuracy: 0.95\n" ] } ], "source": [ "parameters = model(train_X, train_Y, keep_prob = 0.86, learning_rate = 0.3)\n", "\n", "print (\"On the train set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dropout works great! The test accuracy has increased again (to 95%)! Your model is not overfitting the training set and does a great job on the test set. The French football team will be forever grateful to you! \n", "\n", "Run the code below to plot the decision boundary." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"Model with dropout\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**:\n", "- A **common mistake** when using dropout is to use it both in training and testing. You should use dropout (randomly eliminate nodes) only in training. \n", "- Deep learning frameworks like [tensorflow](https://www.tensorflow.org/api_docs/python/tf/nn/dropout), [PaddlePaddle](http://doc.paddlepaddle.org/release_doc/0.9.0/doc/ui/api/trainer_config_helpers/attrs.html), [keras](https://keras.io/layers/core/#dropout) or [caffe](http://caffe.berkeleyvision.org/tutorial/layers/dropout.html) come with a dropout layer implementation. Don't stress - you will soon learn some of these frameworks.\n", "\n", "\n", "**What you should remember about dropout:**\n", "- Dropout is a regularization technique.\n", "- You only use dropout during training. Don't use dropout (randomly eliminate nodes) during test time.\n", "- Apply dropout both during forward and backward propagation.\n", "- During training time, divide each dropout layer by keep_prob to keep the same expected value for the activations. For example, if keep_prob is 0.5, then we will on average shut down half the nodes, so the output will be scaled by 0.5 since only the remaining half are contributing to the solution. Dividing by 0.5 is equivalent to multiplying by 2. Hence, the output now has the same expected value. You can check that this works even when keep_prob is other values than 0.5. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4 - Conclusions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Here are the results of our three models**: \n", "\n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " **model**\n", " \n", " **train accuracy**\n", " \n", " **test accuracy**\n", "
\n", " 3-layer NN without regularization\n", " \n", " 95%\n", " \n", " 91.5%\n", "
\n", " 3-layer NN with L2-regularization\n", " \n", " 94%\n", " \n", " 93%\n", "
\n", " 3-layer NN with dropout\n", " \n", " 93%\n", " \n", " 95%\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that regularization hurts training set performance! This is because it limits the ability of the network to overfit to the training set. But since it ultimately gives better test accuracy, it is helping your system. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congratulations for finishing this assignment! And also for revolutionizing French football. :-) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "**What we want you to remember from this notebook**:\n", "- Regularization will help you reduce overfitting.\n", "- Regularization will drive your weights to lower values.\n", "- L2 regularization and Dropout are two very effective regularization techniques." ] } ], "metadata": { "coursera": { "course_slug": "deep-neural-network", "graded_item_id": "SXQaI", "launcher_item_id": "UAwhh" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }