├── .gitignore ├── images ├── tSNE.png └── Neuron.png ├── binder └── requirements.txt ├── README.md └── Intro.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/ 2 | -------------------------------------------------------------------------------- /images/tSNE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khanx169/hal_tutorial/HEAD/images/tSNE.png -------------------------------------------------------------------------------- /images/Neuron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khanx169/hal_tutorial/HEAD/images/Neuron.png -------------------------------------------------------------------------------- /binder/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy~=1.17 2 | matplotlib~=3.1 3 | scipy~=1.3 4 | tensorflow~=1.14 5 | Keras~=2.2 6 | Pillow~=6.1 7 | opencv-python~=4.1 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Intro. to Deep Learning on HAL 2 | 3 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/khanx169/hal_tutorial/) 4 | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/khanx169/hal_tutorial/master) 5 | 6 | This tutorial covers the basics of Deep Learning with Convolutional Neural Nets. The tutorial is broken into three notebooks. The topics covered in each notebook are: 7 | 8 | 1. **Intro.ipynb**: 9 | 10 | - *Linear Regression* as _single layer, single neuron model_ to motivate the introduction of Neural Networks as Universal Approximators that are modeled as collections of neurons connected in an acyclic graph 11 | - _Convolutions_ and examples of simple _image filters_ to motivate the construction of _Convolutionlal Neural Networks._ 12 | - Loss/Error functions, Gradient Decent, Backpropagation, etc 13 | 14 | 2. **Mnist.ipynb**: 15 | 16 | - Visualizing Data 17 | - Constructing simple Convolutional Neural Networks 18 | - Training and Inference 19 | - Visualizing/Interpreting trained Neural Nets 20 | 21 | 3. **CIFAR-10.ipynb**: 22 | 23 | - Data Generators 24 | - Overfitting 25 | - Data Augmentation 26 | 27 | 28 | 29 | The tutorial is aimed at new hal system users. Below are brief instructions for getting started with HAL to run these notebooks. 30 | 31 | ## HAL (Hardware-Accelerated Learning) cluster: 32 | 33 | **Brief description**: "My name is HAL. I became operational on March 25 2019 at the Innovative Systems Lab in Urbana, Illinois. 34 | My creators are putting me to the fullest possible use, which is all I think that any conscious entity can ever hope to do." 35 | (paraphrazed from https://en.wikipedia.org/wiki/HAL_9000) 36 | 37 | To request access to the system, please see the official wikipage: https://wiki.ncsa.illinois.edu/display/ISL20/HAL+cluster 38 | 39 | 40 | ### Getting started with HAL 41 | 42 | **Quick Setup for this tutorial**: 43 | 44 | **a)** _Log in to HAL_: 45 | 46 | - ssh into hal: `ssh @hal.ncsa.illinois.edu` 47 | - Load PowerAI: `module load powerai` 48 | 49 | Now clone the PowerAI conda envirnment (we'd need to install additional packages): 50 | 51 | - `conda create --name [your_env_name] --clone powerai_env` 52 | 53 | Next activate your new environment and install keras, opencv, and jupyter. 54 | 55 | **b)** _git clone this repo to your home dir_ 56 | 57 | 58 | **c)** _Now let's run an interactive session with Jupyter Notebook_: 59 | 60 | - Start an interaction session: 61 | 62 | `swrun -p gpux1` 63 | - Start a jupyter session on the compute node: 64 | 65 | `unset XDG_RUNTIME_DIR` 66 | 67 | `jupyter notebook --ip=0.0.0.0 --port=6006` 68 | 69 | - Tunnel into the compute node from local machine: 70 | 71 | `ssh -L 8888::6007 @hal.ncsa.illinois.edu` 72 | 73 | - Direct your webbrowser to: `https://localhost:8888`. It will prompt for a pass code, which can be found at `$HOME/.jupyter/.jupyter_pass` 74 | 75 | 76 | To learn more about how to use HAL see the slides [here](http://www.ncsa.illinois.edu/assets/pdf/enabling/deep_learning_mri/hal/fall19/mu_start.pdf) 77 | and the official wikipage 78 | 79 | 80 | __References:__ 81 | 82 | The code examples presented here are mostly taken (verbatim) or inspired from the following sources. I made this curation to give a quick exposure to very basic but essential ideas/practices in deep learning to get you started fairly quickly, but I recommend going to some or all of the actual sources for an in depth survey: 83 | 84 | - [CS231n: Convolutional Neural Networks for Visual Recognition](http://cs231n.stanford.edu/) 85 | - [Deep Learnig Specialization, Andrew Ng](https://www.coursera.org/specializations/deep-learning?utm_source=deeplearningai&utm_medium=institutions&utm_campaign=WebsiteCoursesDLSTopButton) 86 | - [PyTorch Challenge, Udacity](https://www.udacity.com/facebook-pytorch-scholarship) 87 | - [Deep Learning with Python](https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438) 88 | - [Keras Blog](https://blog.keras.io/) 89 | -------------------------------------------------------------------------------- /Intro.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "In this notebook, we introduce:\n", 8 | "\n", 9 | "- **Linear Regression** as __single layer, single neuron model__ to motivate the introduction of Neural Networks as Universal Approximators that are modeled as collections of neurons connected in an acyclic graph\n", 10 | "\n", 11 | "\n", 12 | "- __Convolutions__ and examples of simple __image filters__ to motivate the construction of __Convolutionlal Neural Networks.__\n", 13 | "\n", 14 | "\n", 15 | "- Loss/Error functions, Gradient Decent, Backpropagation, etc" 16 | ] 17 | }, 18 | { 19 | "cell_type": "code", 20 | "execution_count": 1, 21 | "metadata": {}, 22 | "outputs": [], 23 | "source": [ 24 | "import numpy as np\n", 25 | "import matplotlib.pyplot as plt" 26 | ] 27 | }, 28 | { 29 | "cell_type": "markdown", 30 | "metadata": {}, 31 | "source": [ 32 | "## One Neuron Neural Network" 33 | ] 34 | }, 35 | { 36 | "cell_type": "markdown", 37 | "metadata": {}, 38 | "source": [ 39 | "\n", 40 | "\n", 41 | "[src: [CS231n](http://cs231n.stanford.edu/)]" 42 | ] 43 | }, 44 | { 45 | "cell_type": "markdown", 46 | "metadata": {}, 47 | "source": [ 48 | "We're going to model a straight line Linear Regression (i.e fitting to $y = mx +b$) as a 1 neuron NN. First let's generate some noisy data that we'll try to fit to using our one neuron neural network (a.k.a Linear Regression) " 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 2, 54 | "metadata": {}, 55 | "outputs": [ 56 | { 57 | "data": { 58 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAFyNJREFUeJzt3X2MXOV1x/HfiXHaJUmzUBZkFoiJZJnQUGy6Io5cRbyU8KpAUVuFpo3borpSHTWpIhqTSn1RFbEVatJUbZGchAZUSkgTYhCgOMgmihIFyDomAQIuDq9eu3jz4qRKrASc0z/mLh4Pd3fv3Lkvz/Pc70dazczdu+Ozs+Mz957nPM81dxcAIF2vaTsAAEC9SPQAkDgSPQAkjkQPAIkj0QNA4kj0AJA4Ej0AJI5EDwCJI9EDQOKOaTsASTrhhBN85cqVbYcBAFHZuXPn99x9Yqn9gkj0K1eu1MzMTNthAEBUzOy5IvtRugGAxJHoASBxJHoASByJHgASR6IHgMQF0XUDALHYumtWN27brX0HD+nk8TFdd/FqXbV2su2wFkWiB4CCtu6a1fV3PqpDLx2WJM0ePKTr73xUM8/9QA88ORds8ifRA0BBN27b/UqSn3fopcO67cHnNX9R1vnkLymYZE+iB9AJVZRc9h08lLt98Mrbh146rBu37Q4m0TMYCyB58yWX2YOH5Dpy1L111+xQz3Py+FjhfRf6UGgDiR5A8hYqudy4bfdQz3Pdxas1tnzZUdtsgX2H+VCoG4keQPIWOroe9qj7qrWTuuHqszQ5PiaTNDk+pvesO+1VyX9s+TJdd/HqsuFWjho9gOSdPD6m2ZykXuao+6q1k6+qvU+96figWy5J9ACSd93Fq49qi5SqPerOS/4hIdEDSN58Eg75qLtOJHoASViqfTL0o+46kegBRG+hGatSOJOW2kTXDYDoVdU+mSoSPYDoVdU+mSoSPYDoLdQmGdKkpTaR6AFEL2/GamiTltrEYCyA6HW9fXIpJHoASYitfbLJC5iQ6AGgYU23g1KjB4CGNd0OSqIHgIY13Q5KogeAhjXdDrpkojezU83sATN7wsweN7P3Z9uPN7P7zeyp7Pa4bLuZ2b+Y2R4z+7aZnVNL5AAQqabbQYsc0b8s6YPu/hZJ6yRtMrMzJW2WtN3dV0nanj2WpEslrcq+Nkq6qfKoASBieRcwueHqs9rrunH3/ZL2Z/f/z8yekDQp6UpJ52W73SLpy5I+lG2/1d1d0oNmNm5mK7LnAQCo2XbQoWr0ZrZS0lpJD0k6aT55Z7cnZrtNSnqh78f2ZtsGn2ujmc2Y2czc3NzwkQMACimc6M3s9ZI+L+kD7v7jxXbN2eav2uC+xd2n3H1qYmKiaBgAgCEVSvRmtly9JH+bu9+ZbX7RzFZk318h6UC2fa+kU/t+/BRJ+6oJFwAwrCJdNybpU5KecPeP9n3rbkkbsvsbJN3Vt/29WffNOkk/oj4PpGfrrlmtn96h0zffq/XTO7R112zbIWEBRZZAWC/pDyU9amaPZNs+LGla0mfN7FpJz0v63ex790m6TNIeST+V9MeVRgygdVzRKS5Fum6+qvy6uyRdmLO/S9o0YlwAArbYFP5hE32Ti3t1FYuaARhaVVP4OTNoBksgABhaVVP4udZrM0j0AIZW1RT+Ohf3YrD4CEo3AIZW1RWdTh4f02xOUh91cS9KQkcj0QMopYop/NddvPqohCxVs7hXlYPFKSDRA2hNXdd6bXq999CR6IGIpdCaWMfiXnWVhGLFYCwQqfk69OzBQ3IdqUNXNegY82Bm0+u9h45ED0SqztbEuj9E6tb0eu+ho3QDRKrOOnQKg5lNrvceOo7ogUjVed1RBjPTQqIHIlVnHbrpi1ejXiR6IFJ11qEZzEwLNXogYnXVoevqb0c7SPQAcjGYmQ5KNwCQOI7ogRqkMGMV6SDRAxVj5USEhkQPVKzOyUacKaAMEj1QsbomG3GmgLIYjAUqVtdkIy67h7JI9EDF6ppsxLIEKItED1SsrhmrLEuAsqjRAzWoY7JRXZfdQ/pI9EAkWJYAZZHogYiwLAHKoEYPAIkj0QNA4kj0AJA4Ej0AJI7BWKACrEGDkJHogRGxBg1CR+kGGBFr0CB0JHpgRKxBg9CR6IERsQYNQkeiRxS27prV+ukdOn3zvVo/vUNbd822HdIr6lqtEqgKg7EIXtnBzqY6YViDBqFbMtGb2c2SrpB0wN3fmm37O0l/Kmku2+3D7n5f9r3rJV0r6bCkv3D3bTXEjQ4pc2m+pjthWIMGIStSuvm0pEtytn/M3ddkX/NJ/kxJ75b0a9nP/LuZLcv5WaCwMoOddMIARyx5RO/uXzGzlQWf70pJn3H3n0l6xsz2SDpX0tdLR4jkDFtSOXl8TLM5SX2xwU46YYAjRhmMfZ+ZfdvMbjaz47Jtk5Je6Ntnb7btVcxso5nNmNnM3Nxc3i5I0HxJZfbgIbmOlFQWG1wtM9hJJwxwRNnB2Jsk/YMkz27/SdKfSLKcfT3vCdx9i6QtkjQ1NZW7D9JTpt5eZrCTqzGhTYNnreefMaEHnpxrbbC+VKJ39xfn75vZJyTdkz3cK+nUvl1PkbSvdHRITtmSyrCDnXTCoC15jQD/+eDzr3y/jSUySiV6M1vh7vuzh78t6bHs/t2S/svMPirpZEmrJD08cpRIRpl6e1l0wqANeWetg5Y6i61akfbK2yWdJ+kEM9sr6W8lnWdma9Qryzwr6c8kyd0fN7PPSvqOpJclbXL3xX9jdAolleGwKmZ8ig74N9kYUKTr5pqczZ9aZP+PSPrIKEEhXZRUiqtqLgAfFqOpqkssb7+mMDMWjaOkUkyZgetBLKE8mjKvX95Z66Cmz2JZ6wYIVBVzAZg4Npoyr99Vayd1w9VnaXJ8TCZpcnxMf7DutKMe33D1WeF33QCoXxUD10wcG01TXWJ144geCFQVq2IycWw0qbx+JHogUHklgGFP+VlCeTSpvH6UboA+oXWojFoCiLHLKaS/QYyvXx5zb3/1gampKZ+ZmWk7DHTcYIeF1Dt6a3rgrMv4GwzHzHa6+9RS+1G6QWkhX/WpDDpU2sffoB6UblBKiv3ZTXeohFSiCAVdQvXgiB6lpHjk1WSHRZnlmrsglS6X0JDoUUqKR15Ndlik+EFZhaa7XFIrPy6E0g1KaXIVyqY02WGR4gdlFZr8G6RYflwIiR6lpLoKZVMzGlP8oKxKU3+DKtYSigWlG5RSxWSeLktlIk7MFjp7mj14KLlSDkf0KC209TxikspEnKVU1VlUR4fSYssJ9w+QS/GXcpgwBQyJtshiqpr8VNckqrznzTM5Pqavbb6g9L9TJyZMdVhXOgnaQFtkcVV1FtXVoTRYflxICgPkJPrEkIjqRVtkcVV1FtXZoXTV2kl9bfMFemb6ck0m3MNPok8MiahetEUurv9s8jWWf5w8bOJsahJVygPkJPrEkIjqxczNhQ2eTR7OGf8rkzibSsApd5LRdZOYGPuzYxrcTHX+QBXyziYlaZmZfuFe+m/bZIdSqp1kJPrExJaIYpudGENbZFsfnAudNf7CXc9MXz5SfKkm4KaQ6BMTQyLqF+PsxJCTTpsfnEXOJquKL6azwBCQ6BMUciIaxJhCtdr84CxyNllFfLGdBYaAwVi0isHNarX5wVlkMLOK+OgsGx5H9GhVbGMKoWt7MH6ps8kq4uMscHgc0aNVKbe0tSH0XvAq4uMscHgc0aN1MY0phK7sYHxTg5tVNAtwFjg8FjUDOqg/sb9xbLl+8vOX9dLhI7mgikXD6kTXTU/RRc1I9EDHpLBqI3qKJnpKN+i0Lh4ZLjSDdRCDm+kg0SNITSTgrvZjF03gg4ObXfxQTAVdNwhOU0std7Ufu0h3yuDgJstfx41Ej1qVuQhKUwm4q/3YeS2Oy19jOu7Y5Qu2uHb1QzEVlG5Qm7KlkaYScNuTi9pSpsWxqx+KqSDRozZl1zVpKgE32Y8dWn172LkLXf1QTAWlG9Sm7FFgaheaSKG+HfqMWyxuySN6M7tZ0hWSDrj7W7Ntx0u6Q9JKSc9K+j13/6GZmaSPS7pM0k8l/ZG7f7Oe0BG6skeBqV1oIsalmAfFtvw1jlakdPNpSf8q6da+bZslbXf3aTPbnD3+kKRLJa3Kvt4m6absFh00SmkkpWURUqlvp/Q36ZolSzfu/hVJPxjYfKWkW7L7t0i6qm/7rd7zoKRxM1tRVbCICwuW9bAIF9pWdjD2JHffL0nuvt/MTsy2T0p6oW+/vdm2/YNPYGYbJW2UpNNOO61kGAgdR4EswoX2Vd11YznbchfTcfctkrZIvbVuKo4DHRRaZ8s86ttoW9lE/6KZrciO5ldIOpBt3yvp1L79TpG0b5QAu67N5BVq4swT+nIGRc5sYnq9EZey7ZV3S9qQ3d8g6a6+7e+1nnWSfjRf4sHw2mzLi60lsOjMzTIzdZsQ2+uNuCyZ6M3sdklfl7TazPaa2bWSpiVdZGZPSbooeyxJ90l6WtIeSZ+Q9Oe1RN0RbU47j23Ke5HOlpCTaWyvN+KyZOnG3a9Z4FsX5uzrkjaNGhR62mzLi60lsEjPfsj97LG93ogLM2NbtFQZoc22vNhaAovM3Aw5mcb2eiMuJPqWFCkjtDntPLYp70V69ssm0ybq+rG93ogLi5q1pEgZoWhbXh3dGjG2BC7V2VKmn72pbp4YX2/Eg2vGtuT0zffmTjAwSc9MX174efKu/1nXhZ1TaP8b9ndYP70jt/bP9VQRAq4ZG7iqln1taoAx9D71ooadqRtyXR8oihp9S6qqyTaViLra/scgKVLQ+UTf1gSaqhb8aioRdfXIlkFSpKDTpZu2yxFVLPhVdsGsYWvVXb3CEIOkSEGnE33IE2iKKpOIynzAdXkFRlbgROw6nehjLEcsdCQ+TCIq8wHHkS0Qr04n+qbLEaO2J1ZVair7AceRLRCnTg/GNjnQVsWCWlV1vtBJAnRLpxN9k5e6qyJJV1VqopME6JZOl26k5soRVSTpqkpN1NuBbul8om9KFUm6ys4X6u1Ad3S6dNOkKsolTZaaAKSDI/qGFCmXFOnK4UgcwLBI9A1aLEm3PUsXQLoo3QSiq4uGAagfiT4QMc7SBRAHSjcFNHHBja4uGgagfhzRL6GKGa1FMIkJQF1I9EtoqnZO6ySAulC6WUKTtXNaJwHUIdpE39SFqqmdA4hdlKWbpurmErVzAPGL8oi+yStD5c1oPf+MCd24bbf+8o5HklkQrKkzJADNizLRN91z3l87T3EGa4y/Ex9MQHFRlm7avHBGijNYY/udmizdASmIMtG3WTdPcQZrbL9TbB9MQNuiTPRt9pyneBm+2H6n2D6YgLZFWaOX2us5r/LiH6GI7Xei5RUYTpRH9G1KcQZrbL8TLa/AcMzd245BU1NTPjMz03YYiAhdN4BkZjvdfWqp/aIt3aDbWC4CKC6pRM9RHgC8WjKJPsZJPwDQhJEGY83sWTN71MweMbOZbNvxZna/mT2V3R5XTaiLo7caAPJV0XVzvruv6RsQ2Cxpu7uvkrQ9e1w7eqsBIF8dpZsrJZ2X3b9F0pclfaiGf+co9FaHgXESIDyjHtG7pC+Z2U4z25htO8nd90tSdnti3g+a2UYzmzGzmbm5uRHDoLc6BKxBA4Rp1ES/3t3PkXSppE1m9o6iP+juW9x9yt2nJiYmRgwjvkk/KWKcBAjTSKUbd9+X3R4wsy9IOlfSi2a2wt33m9kKSQcqiLMQeqvbxTgJEKbSR/Rm9joze8P8fUnvlPSYpLslbch22yDprlGDRBxiWxwN6IpRSjcnSfqqmX1L0sOS7nX3L0qalnSRmT0l6aLsMTqAcRIgTKVLN+7+tKSzc7Z/X9KFowQVI7pN8i+72MXXAQhNMjNj28Ss3CMYJwHCwzLFFaDbBEDISPQVoNsEQMhI9BWg2wRAyEj0FQi922Trrlmtn96h0zffq/XTO5ipCnQMg7EVCLnbhIFiACT6ioTabbLYQHGI8QKoHok+R0o98QwUAyDRD6iq1BHKhwXLNwNgMHZAFT3xIS3XG/pAMYD6kegHVFHqCGkCFcs3A6B0M6CKUkdodfFQB4oBNIMj+gFVlDqYQAUgJCT6AVWUOqiLAwgJpZsco5Y6Qp5ABaB7SPQ1oS4OIBSUbgAgcSR6AEgciR4AEkeiB4DEkegBIHEkegBIHIkeABJHogeAxJHoASBxJHoASByJHgASR6IHgMR1blGzUK7lCgBNSTrRDyb188+Y0Od3zo584W8AiEmypZu8C3Tf9uDzwVzLFQCakmyiz7tAty+wb1vXcgWAJiSb6IdJ3lzLFUDKkk30CyVvG3jMtVwBpC7ZRL/QBbrfs+60kS78DQCxSbbrhgt0A0BPbYnezC6R9HFJyyR90t2n6/q3FsIFugGgptKNmS2T9G+SLpV0pqRrzOzMOv4tAMDi6qrRnytpj7s/7e4/l/QZSVfW9G8BABZRV6KflPRC3+O92TYAQMPqSvSDXYzSwHwlM9toZjNmNjM3N1dTGACAuhL9Xkmn9j0+RdK+/h3cfYu7T7n71MTERE1hAADMfaGFAUZ4UrNjJP2PpAslzUr6hqTfd/fHF9h/TtJzJf+5EyR9r+TPtiW2mIm3XsRbr5TjfZO7L3mkXEt7pbu/bGbvk7RNvfbKmxdK8tn+pQ/pzWzG3afK/nwbYouZeOtFvPUi3hr76N39Pkn31fX8AIBikl0CAQDQk0Ki39J2ACXEFjPx1ot469X5eGsZjAUAhCOFI3oAwCKiTvRmdomZ7TazPWa2ue14BpnZzWZ2wMwe69t2vJndb2ZPZbfHtRljPzM71cweMLMnzOxxM3t/tj3ImM3sl83sYTP7Vhbv32fbTzezh7J47zCz17Ydaz8zW2Zmu8zsnuxxsPGa2bNm9qiZPWJmM9m2IN8PkmRm42b2OTN7Mnsfvz3weFdnr+3814/N7ANVxxxtoo9k4bRPS7pkYNtmSdvdfZWk7dnjULws6YPu/hZJ6yRtyl7TUGP+maQL3P1sSWskXWJm6yT9o6SPZfH+UNK1LcaY5/2Snuh7HHq857v7mr6Wv1DfD1JvxdwvuvsZks5W73UONl533529tmsk/Yakn0r6gqqO2d2j/JL0dknb+h5fL+n6tuPKiXOlpMf6Hu+WtCK7v0LS7rZjXCT2uyRdFEPMko6V9E1Jb1Nvsskxee+Ttr/UmyW+XdIFku5Rb7mQkON9VtIJA9uCfD9I+hVJzygbeww93pz43ynpa3XEHO0RveJdOO0kd98vSdntiS3Hk8vMVkpaK+khBRxzVgZ5RNIBSfdL+q6kg+7+crZLaO+Lf5b0V5J+kT3+VYUdr0v6kpntNLON2bZQ3w9vljQn6T+y0tgnzex1CjfeQe+WdHt2v9KYY070Sy6chnLM7PWSPi/pA+7+47bjWYy7H/beae8p6i2P/Za83ZqNKp+ZXSHpgLvv7N+cs2sQ8WbWu/s56pVIN5nZO9oOaBHHSDpH0k3uvlbSTxRQmWYx2bjMuyT9dx3PH3OiX3LhtEC9aGYrJCm7PdByPEcxs+XqJfnb3P3ObHPQMUuSux+U9GX1xhbGs/WWpLDeF+slvcvMnlXvGg0XqHeEH2q8cvd92e0B9WrH5yrc98NeSXvd/aHs8efUS/yhxtvvUknfdPcXs8eVxhxzov+GpFVZx8Jr1TvtubvlmIq4W9KG7P4G9ergQTAzk/QpSU+4+0f7vhVkzGY2YWbj2f0xSb+l3uDbA5J+J9stmHjd/Xp3P8XdV6r3ft3h7u9RoPGa2evM7A3z99WrIT+mQN8P7v6/kl4ws9XZpgslfUeBxjvgGh0p20hVx9z2AMSIgxeXqbdK5ncl/XXb8eTEd7uk/ZJeUu9o41r1arLbJT2V3R7fdpx98f6memWDb0t6JPu6LNSYJf26pF1ZvI9J+pts+5slPSxpj3qnwr/Udqw5sZ8n6Z6Q483i+lb29fj8/7FQ3w9ZbGskzWTvia2Sjgs53izmYyV9X9Ib+7ZVGjMzYwEgcTGXbgAABZDoASBxJHoASByJHgASR6IHgMSR6AEgcSR6AEgciR4AEvf/G9RKzla/8HQAAAAASUVORK5CYII=\n", 59 | "text/plain": [ 60 | "
" 61 | ] 62 | }, 63 | "metadata": { 64 | "needs_background": "light" 65 | }, 66 | "output_type": "display_data" 67 | } 68 | ], 69 | "source": [ 70 | "X = np.arange(0,70, 1)\n", 71 | "Y = 2*X\n", 72 | "noise = 100*np.random.rand(70) \n", 73 | "Y = Y + noise\n", 74 | "\n", 75 | "plt.scatter(X, Y)\n", 76 | "plt.show()" 77 | ] 78 | }, 79 | { 80 | "cell_type": "markdown", 81 | "metadata": {}, 82 | "source": [ 83 | "The parameters of our network are the number m and b which we randomly initiate, and prediction is give by:\n", 84 | "\n", 85 | "\\begin{align}\n", 86 | "\\ \\tilde{y_i} &= mx_i + b \\\\\n", 87 | "\\end{align}\n", 88 | "\n", 89 | "\n", 90 | "For the loss function we use the standard Mean Squared Error:\n", 91 | "\n", 92 | "\\begin{align}\n", 93 | "\\ L & = \\frac{1}{N} \\sum_{k=1}^N (y_k - \\tilde{y_k})^2 \\\\\n", 94 | "\\end{align}\n", 95 | "\n", 96 | "\n", 97 | "The Batch Gradient Decent step is given by (_notice we are using the entire dataset as a batch_):\n", 98 | "\n", 99 | "\\begin{align}\n", 100 | "\\ m &= m - \\alpha \\frac{dL}{dm} \\\\\n", 101 | "\\ b &= b - \\alpha \\frac{dL}{db} \\\\\n", 102 | "\\end{align}\n", 103 | "\n", 104 | "where $\\alpha$ is the learning rate, and the gradients are given by: \n", 105 | "\n", 106 | "\\begin{align}\n", 107 | "\\ \\frac{dL}{dm} &= -\\frac{2}{N} \\sum_{k=1}^N x_k(y_k - \\tilde{y_k})\\\\\n", 108 | "\\end{align}\n", 109 | "\\begin{align}\n", 110 | "\\ \\frac{dL}{db} &= -\\frac{2}{N} \\sum_{k=1}^N (y_k - \\tilde{y_k})\\\\\n", 111 | "\\end{align}" 112 | ] 113 | }, 114 | { 115 | "cell_type": "code", 116 | "execution_count": 3, 117 | "metadata": {}, 118 | "outputs": [ 119 | { 120 | "name": "stdout", 121 | "output_type": "stream", 122 | "text": [ 123 | "Random guess for m and b: (array([0.12245137]), array([0.1676351]))\n" 124 | ] 125 | }, 126 | { 127 | "data": { 128 | "image/png": "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\n", 129 | "text/plain": [ 130 | "
" 131 | ] 132 | }, 133 | "metadata": { 134 | "needs_background": "light" 135 | }, 136 | "output_type": "display_data" 137 | } 138 | ], 139 | "source": [ 140 | "m = np.random.randn(1)\n", 141 | "b = np.random.randn(1)\n", 142 | "print(f'Random guess for m and b:',(m,b))\n", 143 | "\n", 144 | "# Initial random prediction\n", 145 | "Y_pred = m*X + b\n", 146 | "\n", 147 | "plt.scatter(X, Y) \n", 148 | "plt.plot([X[0], X[-1]], [Y_pred[0], Y_pred[-1]], color='red') # regression line\n", 149 | "plt.show()" 150 | ] 151 | }, 152 | { 153 | "cell_type": "code", 154 | "execution_count": 4, 155 | "metadata": {}, 156 | "outputs": [ 157 | { 158 | "name": "stdout", 159 | "output_type": "stream", 160 | "text": [ 161 | "Epoch 0, Loss : 14855.366041101148\n", 162 | "Epoch 1000, Loss : 1555.4963885803413\n", 163 | "Epoch 2000, Loss : 1501.9892176945377\n", 164 | "Epoch 3000, Loss : 1453.676135721832\n", 165 | "Epoch 4000, Loss : 1410.0529381006588\n", 166 | "Epoch 5000, Loss : 1370.6643647993121\n", 167 | "Epoch 6000, Loss : 1335.0993491352012\n", 168 | "Epoch 7000, Loss : 1302.9867278043541\n", 169 | "Epoch 8000, Loss : 1273.991367350205\n", 170 | "Epoch 9000, Loss : 1247.8106666467575\n", 171 | "Epoch 9999, Loss : 1224.193852904857\n" 172 | ] 173 | } 174 | ], 175 | "source": [ 176 | "alpha = 0.0001 # The learning Rate\n", 177 | "epochs = 10000 # The number of iterations to perform gradient descent\n", 178 | "\n", 179 | "n = float(len(X)) # Number of elements in X\n", 180 | "\n", 181 | "# Training the Neural Net\n", 182 | "for i in range(epochs): \n", 183 | " Y_pred = m*X + b # The current predicted value of Y\n", 184 | " Loss = sum((Y - Y_pred )**2)/n # Compute loss\n", 185 | " D_m = (-2/n) * sum(X * (Y - Y_pred)) # Derivative wrt m\n", 186 | " D_b = (-2/n) * sum(Y - Y_pred) # Derivative wrt b\n", 187 | " m = m - alpha * D_m # Update m\n", 188 | " b = b - alpha * D_b # Update b\n", 189 | " \n", 190 | " if i%1000 == 0:\n", 191 | " print( \"Epoch {}, Loss : {}\".format(i, Loss))\n", 192 | "print( \"Epoch {}, Loss : {}\".format(i, Loss))" 193 | ] 194 | }, 195 | { 196 | "cell_type": "code", 197 | "execution_count": 5, 198 | "metadata": {}, 199 | "outputs": [ 200 | { 201 | "data": { 202 | "image/png": "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\n", 203 | "text/plain": [ 204 | "
" 205 | ] 206 | }, 207 | "metadata": { 208 | "needs_background": "light" 209 | }, 210 | "output_type": "display_data" 211 | } 212 | ], 213 | "source": [ 214 | "# Making predictions\n", 215 | "Y_pred = m*X + b\n", 216 | "\n", 217 | "plt.scatter(X, Y) \n", 218 | "plt.plot([X[0], X[-1]], [Y_pred[0], Y_pred[-1]], color='red') # regression line\n", 219 | "plt.show()" 220 | ] 221 | }, 222 | { 223 | "cell_type": "markdown", 224 | "metadata": {}, 225 | "source": [ 226 | "## Neural Networks" 227 | ] 228 | }, 229 | { 230 | "cell_type": "markdown", 231 | "metadata": {}, 232 | "source": [ 233 | "An example of a singe _layer_ neural net\n", 234 | "\"multiple" 235 | ] 236 | }, 237 | { 238 | "cell_type": "markdown", 239 | "metadata": {}, 240 | "source": [ 241 | "\"nn\"" 242 | ] 243 | }, 244 | { 245 | "cell_type": "markdown", 246 | "metadata": {}, 247 | "source": [ 248 | "Neural Networks are modeled as collections of neurons that are connected in an acyclic graph. In other words, the outputs of some neurons can become inputs to other neurons. Cycles are not allowed since that would imply an infinite loop in the forward pass of a network. Instead of an amorphous blobs of connected neurons, Neural Network models are often organized into distinct layers of neurons. For regular neural networks, the most common layer type is the fully-connected layer in which neurons between two adjacent layers are fully pairwise connected, but neurons within a single layer share no connections. [See: cs231n](http://cs231n.github.io/neural-networks-1/)\n", 249 | "\n", 250 | "\n", 251 | "\"nn\"" 252 | ] 253 | }, 254 | { 255 | "cell_type": "markdown", 256 | "metadata": {}, 257 | "source": [ 258 | "Building blocks:\n", 259 | "\n", 260 | "- **Loss Function**: We can measure the accuracy of our hypothesis function by using a cost function. This takes an average of all the results of the hypothesis with inputs from x's compared to the actual output y's. The goal is to minimize this loss/error.\n", 261 | "\n", 262 | "\n", 263 | "\n", 264 | "- **Gradient Decent** and **Learning Rate**: So we have our hypothesis function (Neural Net) and we have a way of measuring how well it fits into the data. Now we need to estimate the parameters in hypothesis function (Weights of the Neural Net). The way we do this is by taking the derivative of our cost function. The slope of the tangent is the derivative at that point and it will give us a direction to move towards. We make steps down the cost function in the direction with the steepest descent, and the size of each step is determined by the parameter α, which is called the learning rate.\n", 265 | "\n", 266 | "\n", 267 | "- **Backpropagation**: Chain rule from calculus 101 applied to multi-layer neural network (i.e. gradient propagated backwards through the layers). An __n layer neural network__ can simply be seen as:\n", 268 | " \n", 269 | " \\begin{align}\n", 270 | " \\ \\tilde{y_i} &= f_n(W_n... f_2(W_2 f_1(W_1 X))) \\\\\n", 271 | " \\end{align}\n", 272 | " \n", 273 | " where $f_1, f_2, ... f_n$ are the activation functions at each layer, $W_1, W_2, ... W_n$ are matrices of parameters at each layer, and $X$ is the input. Hence to find the gradient of the loss function w.r.t to any parameter one simply needs to apply the chain rule.\n", 274 | "\n", 275 | "\n", 276 | "\n", 277 | "\n", 278 | "- **Optimizer**: Different flavors of gradient decent (more on this later). \n", 279 | "\n", 280 | "\n", 281 | "- **Activation Function**: Some non-linear function applied to intermediate layer's outputs before feeding into the next layer." 282 | ] 283 | }, 284 | { 285 | "cell_type": "markdown", 286 | "metadata": {}, 287 | "source": [ 288 | "## Convolutional Neural Nets (CNNs)" 289 | ] 290 | }, 291 | { 292 | "cell_type": "markdown", 293 | "metadata": {}, 294 | "source": [ 295 | "![CNN](https://anhvnn.files.wordpress.com/2018/02/convolve.png?w=1000)" 296 | ] 297 | }, 298 | { 299 | "cell_type": "markdown", 300 | "metadata": {}, 301 | "source": [ 302 | "Let's apply a basic convolution on a Gray Scale image. We will iterate over the image, leaving a 1 pixel margin, and multiply out each of the neighbors of the current pixel by the corresponding value in the filter, and then sum them up to produce the activation value in the resulting tensor." 303 | ] 304 | }, 305 | { 306 | "cell_type": "code", 307 | "execution_count": 6, 308 | "metadata": {}, 309 | "outputs": [], 310 | "source": [ 311 | "import cv2\n", 312 | "from scipy import misc" 313 | ] 314 | }, 315 | { 316 | "cell_type": "code", 317 | "execution_count": 7, 318 | "metadata": { 319 | "scrolled": true 320 | }, 321 | "outputs": [ 322 | { 323 | "data": { 324 | "image/png": "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\n", 325 | "text/plain": [ 326 | "
" 327 | ] 328 | }, 329 | "metadata": { 330 | "needs_background": "light" 331 | }, 332 | "output_type": "display_data" 333 | } 334 | ], 335 | "source": [ 336 | "img = misc.ascent()\n", 337 | "plt.grid(False)\n", 338 | "plt.gray()\n", 339 | "plt.axis('off')\n", 340 | "plt.imshow(img)\n", 341 | "plt.show()" 342 | ] 343 | }, 344 | { 345 | "cell_type": "code", 346 | "execution_count": 8, 347 | "metadata": {}, 348 | "outputs": [], 349 | "source": [ 350 | "def simple_convolution(img, filter):\n", 351 | " output = np.copy(img)\n", 352 | " size_x, size_y = img.shape\n", 353 | " for x in range(1,size_x-1):\n", 354 | " for y in range(1,size_y-1):\n", 355 | " convolution = 0.0\n", 356 | " convolution = convolution + (img[x - 1, y-1] * filter[0][0])\n", 357 | " convolution = convolution + (img[x, y-1] * filter[0][1])\n", 358 | " convolution = convolution + (img[x + 1, y-1] * filter[0][2])\n", 359 | " convolution = convolution + (img[x-1, y] * filter[1][0])\n", 360 | " convolution = convolution + (img[x, y] * filter[1][1])\n", 361 | " convolution = convolution + (img[x+1, y] * filter[1][2])\n", 362 | " convolution = convolution + (img[x-1, y+1] * filter[2][0])\n", 363 | " convolution = convolution + (img[x, y+1] * filter[2][1])\n", 364 | " convolution = convolution + (img[x+1, y+1] * filter[2][2])\n", 365 | " if(convolution<0):\n", 366 | " convolution=0\n", 367 | " if(convolution>255):\n", 368 | " convolution=255\n", 369 | " output[x, y] = convolution\n", 370 | " return output" 371 | ] 372 | }, 373 | { 374 | "cell_type": "code", 375 | "execution_count": 9, 376 | "metadata": {}, 377 | "outputs": [], 378 | "source": [ 379 | "#Experiment with different filters to see the effects.\n", 380 | "\n", 381 | "filter = [ [-1, -2, -1], [0, 0, 0], [1, 2, 1]] #vertical edge detector (bottom sobel )\n", 382 | "#filter = [ [-1, 0, 1], [-2, 0, 2], [-1, 0, 1]] #horizontal edge detector (right sobel)\n", 383 | "\n", 384 | "#filter = [[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]] #outline\n", 385 | "#filter = [[0, -1, 0], [-1, 5, -1], [0, -1, 0]] #sharpen\n", 386 | "#filter = [[-2, -1, 0], [-1, 1, 1], [0, 1, 2]] #emboss" 387 | ] 388 | }, 389 | { 390 | "cell_type": "code", 391 | "execution_count": 10, 392 | "metadata": {}, 393 | "outputs": [ 394 | { 395 | "data": { 396 | "text/plain": [ 397 | "Text(0.5, 1.0, 'Output')" 398 | ] 399 | }, 400 | "execution_count": 10, 401 | "metadata": {}, 402 | "output_type": "execute_result" 403 | }, 404 | { 405 | "data": { 406 | "image/png": "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\n", 407 | "text/plain": [ 408 | "
" 409 | ] 410 | }, 411 | "metadata": { 412 | "needs_background": "light" 413 | }, 414 | "output_type": "display_data" 415 | } 416 | ], 417 | "source": [ 418 | "output = simple_convolution(img, filter)\n", 419 | "\n", 420 | "plt.subplot(1,2,1)\n", 421 | "plt.imshow(img, 'gray')\n", 422 | "plt.title('Original')\n", 423 | "\n", 424 | "plt.subplot(1,2,2)\n", 425 | "plt.imshow(output, 'gray')\n", 426 | "plt.title('Output')" 427 | ] 428 | }, 429 | { 430 | "cell_type": "markdown", 431 | "metadata": {}, 432 | "source": [ 433 | "The ides is that in a deep convolutional net, the various filters in each layer sort of act like learned filters that extract features from the input image/tensor layer, and its through combination of these features that the network learns to classify images, detect objects, etc" 434 | ] 435 | }, 436 | { 437 | "cell_type": "markdown", 438 | "metadata": {}, 439 | "source": [ 440 | "![CNN](http://personal.ie.cuhk.edu.hk/~ccloy/project_target_code/images/fig3.png)" 441 | ] 442 | }, 443 | { 444 | "cell_type": "markdown", 445 | "metadata": {}, 446 | "source": [ 447 | "**Max Pooling**" 448 | ] 449 | }, 450 | { 451 | "cell_type": "markdown", 452 | "metadata": {}, 453 | "source": [ 454 | "\"MaxPooling\"" 455 | ] 456 | } 457 | ], 458 | "metadata": { 459 | "kernelspec": { 460 | "display_name": "Python 3", 461 | "language": "python", 462 | "name": "python3" 463 | }, 464 | "language_info": { 465 | "codemirror_mode": { 466 | "name": "ipython", 467 | "version": 3 468 | }, 469 | "file_extension": ".py", 470 | "mimetype": "text/x-python", 471 | "name": "python", 472 | "nbconvert_exporter": "python", 473 | "pygments_lexer": "ipython3", 474 | "version": "3.6.8" 475 | } 476 | }, 477 | "nbformat": 4, 478 | "nbformat_minor": 2 479 | } 480 | --------------------------------------------------------------------------------