{"cells":[{"cell_type":"markdown","metadata":{},"source":["# AutoEncoders"]},{"cell_type":"markdown","metadata":{},"source":["### In this notebook you will learn the definition of an autoencoder, how it works, and see an implementation in TensorFlow.\n","---\n","### Table of Contents\n","1. Introduction\n","2. Feature Extraction and Dimensionality Reduction\n","3. Autoencoder Structure\n","4. Performance\n","5. Training: Loss Function\n","6. Code\n","---\n","#### By the end of this notebook, you should be able to create simple autoencoders apply them to problems in the field of unsupervised learning.\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Introduction\n","---\n","An autoencoder, also known as autoassociator or Diabolo networks, is an artificial neural network employed to recreate the given input.\n","It takes a set of unlabeled inputs, encodes them and then tries to extract the most valuable information from them.\n","They are used for feature extraction, learning generative models of data, dimensionality reduction and can be used for compression. \n","\n","A 2006 paper named *[Reducing the Dimensionality of Data with Neural Networks](https://www.cs.toronto.edu/~hinton/science.pdf)*, done by G. E. Hinton and R. R. Salakhutdinov, showed better results than years of refining other types of network, and was a breakthrough in the field of Neural Networks, a field that was \"stagnant\" for 10 years.\n","\n","Now, autoencoders, based on Restricted Boltzmann Machines, are employed in some of the largest deep learning applications. They are the building blocks of Deep Belief Networks (DBN).\n","\n","
\n"," \n","
\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Feature Extraction and Dimensionality Reduction\n","---\n","An example given by Nikhil Buduma in KdNuggets *[(link)](\"http://www.kdnuggets.com/2015/03/deep-learning-curse-dimensionality-autoencoders.html\")* gives an excellent explanation of the utility of this type of Neural Network.\n","\n","Say that you want to extract the emotion that a person in a photograph is feeling. Take the following 256x256 pixel grayscale picture as an example:\n","\n","\n"," \n","
\n","\n","If we just use the raw image, we have too many dimensions to analyze. This image is 256x256 pixels, which corresponds to an input vector of 65536 dimensions! Conventional cell phones can produce images in the 4000 x 3000 pixels range, which gives us 12 million dimensions to analyze.\n","\n","This is particularly problematic, since the difficulty of a machine learning problem is vastly increased as more dimensions are involved. According to a 1982 study by C.J. Stone *[(link)](\"http://www-personal.umich.edu/~jizhu/jizhu/wuke/Stone-AoS82.pdf\")*, the time to fit a model, is optimal if:\n","\n","$ m^{-p/(2p+d)} $\n","\n","Where:\n","* m: Number of data points\n","* d: Dimensionality of the data\n","* p: Number of Parameters in the model\n","\n","As you can see, it increases exponentially!\n","\n","Returning to our example, we don't need to use all of the 65,536 dimensions to classify an emotion.\n","A human identifies emotions according to specific facial expressions, and some **key features**, like the shape of the mouth and eyebrows.\n","\n","\n"," \n","
\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Autoencoder Structure\n","---\n","\n"," \n","
\n","\n","An autoencoder can be divided in two parts, the **encoder** and the **decoder**.\n","\n","The *encoder* needs to compress the representation of an input. In this case, we are going to reduce the dimensions of the image of the example face from 2000 dimensions to only 30 dimensions. We will acomplish this by running the data through the layers of our encoder.\n","\n","The *decoder* works like encoder network in reverse. It works to recreate the input as closely as possible. The training procedure produces at the center of the network a compressed, low dimensional representation that can be decoded to obtain the higher dimensional representation with minimal loss of information between the input and the output.\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Performance\n","---\n","After training has been completed, you can use the encoded data as a reliable low dimensional representation of the data. This can be applied to many problems where dimensionality reduction seems appropriate.\n","\n","\n","\n","This image was extracted from the G. E. Hinton and R. R. Salakhutdinovcomparing's paper, on the two-dimensional reduction for 500 digits of the MNIST, with PCA (Principal Component Analysis) on the left and autoencoder on the right. We can see that the autoencoder provided us with a better separation of data.\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Training: Loss function\n","---\n","An autoencoder uses the Loss function to properly train the network. The Loss function will calculate the differences between our output and the expected results. After that, we can minimize this error with gradient descent. There are many types of Loss functions, and it is important to consider the type of problem (classification, regression, etc.) when choosing this funtion.\n"]},{"cell_type":"markdown","metadata":{},"source":["### Binary Values:\n","$$L(W) = -\\sum_{k} (x_k log(\\hat{x}_k) + (1 - x_k) \\log (1 - \\hat{x}_k)) $$\n"]},{"cell_type":"markdown","metadata":{},"source":["For binary values, we can use an equation based on the sum of Bernoulli's cross-entropy. This loss function is best for binary classification problems.\n","\n","$x_k$ is one of our inputs and $\\hat{x}\\_k $ is the respective output. Note that:\n","\n","$$\\hat{x} = f(x,W) $$\n","\n","Where $W$ is the full parameter set of the neural network.\n","\n","We use this function so that when $x_k=1$, we want the calculated value of $\\hat{x}_k $ to be very close to one, and likewise if $x_k=0$.\n","\n","If the value is one, we just need to calculate the first part of the formula, that is, $-x_klog(\\hat{x}_k)$. Which, turns out to just calculate $-log(\\hat{x}_k)$. \n","\n","We explicitly exclude the second term to avoid numerical difficulties when computing the logarithm of very small numbers.\n","\n","Likewise, if the value is zero, we need to calculate just the second part, $(1 - x_k)log(1 - \\hat{x}_k)$, which turns out to be $log(1 - \\hat{x}_k)$.\n"]},{"cell_type":"markdown","metadata":{},"source":["### Real values:\n","$$L(W) = - \\frac{1}{2}\\sum_{k} (\\hat{x}_k- x_k \\ )^2$$\n"]},{"cell_type":"markdown","metadata":{},"source":["For data where the value (not category) is important to reproduce, we can use the sum of squared errors (SSE) for our *Loss* function. This function is usually used in regressions.\n","\n","As it was with the above example, $x_k$ is one of our inputs and $\\hat{x}_k$ is the respective output, and we want to make our output as similar as possible to our input.\n"]},{"cell_type":"markdown","metadata":{},"source":["### Computing Gradient\n","\n","The gradient of the loss function is an important and complex function. It is defined as:\n"," $$\\nabla_{W} L(W)_j = \\frac{\\partial f(x,W)}{\\partial{W_j}}$$\n","\n","Fortunately for us, TensorFlow computes these complex functions automatically when we define our functions that are used to compute loss! They automatically manage the backpropagation algorithm, which is an efficient way of computing the gradients in complex neural networks.\n"]},{"cell_type":"markdown","metadata":{},"source":["---\n","## Code\n","---\n"," We are going to use the MNIST dataset for our example.\n","The following code was created by Aymeric Damien. You can find some of his code in here. We made some modifications which allow us to import the datasets to Jupyter Notebooks.\n"]},{"cell_type":"markdown","metadata":{},"source":["Let's call our imports and make the MNIST data available to use.\n"]},{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[{"name":"stdout","output_type":"stream","text":["/opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages/secretstorage/dhcrypto.py:16: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead\n"," from cryptography.utils import int_from_bytes\n","/opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages/secretstorage/util.py:25: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead\n"," from cryptography.utils import int_from_bytes\n","Collecting tensorflow==2.2.0rc0\n"," Downloading tensorflow-2.2.0rc0-cp37-cp37m-manylinux2010_x86_64.whl (515.9 MB)\n","\u001b[K |████████████████████████████████| 515.9 MB 37 kB/s s eta 0:00:01\n","\u001b[?25hCollecting astunparse==1.6.3\n"," Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)\n","Requirement already satisfied: six>=1.12.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.15.0)\n","Requirement already satisfied: grpcio>=1.8.6 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.27.2)\n","Collecting gast==0.3.3\n"," Downloading gast-0.3.3-py2.py3-none-any.whl (9.7 kB)\n","Requirement already satisfied: absl-py>=0.7.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (0.9.0)\n","Requirement already satisfied: protobuf>=3.8.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (3.12.3)\n","Requirement already satisfied: opt-einsum>=2.3.2 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (3.1.0)\n","Requirement already satisfied: tensorboard<2.2.0,>=2.1.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (2.1.0)\n","Requirement already satisfied: tensorflow-estimator<2.2.0,>=2.1.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (2.1.0)\n","Requirement already satisfied: google-pasta>=0.1.8 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (0.2.0)\n","Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (2.10.0)\n","Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (0.34.2)\n","Collecting scipy==1.4.1; python_version >= \"3\"\n"," Downloading scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl (26.1 MB)\n","\u001b[K |████████████████████████████████| 26.1 MB 38.3 MB/s eta 0:00:01\n","\u001b[?25hRequirement already satisfied: wrapt>=1.11.1 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.12.1)\n","Requirement already satisfied: termcolor>=1.1.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.1.0)\n","Requirement already satisfied: keras-preprocessing>=1.1.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.1.0)\n","Requirement already satisfied: numpy<2.0,>=1.16.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorflow==2.2.0rc0) (1.18.5)\n","Requirement already satisfied: setuptools in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from protobuf>=3.8.0->tensorflow==2.2.0rc0) (47.3.1.post20200622)\n","Requirement already satisfied: werkzeug>=0.11.15 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (1.0.1)\n","Requirement already satisfied: requests<3,>=2.21.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (2.24.0)\n","Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (0.4.1)\n","Requirement already satisfied: google-auth<2,>=1.6.3 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (1.22.0)\n","Requirement already satisfied: markdown>=2.6.8 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.1.1)\n","Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (1.25.9)\n","Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.0.4)\n","Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (2021.5.30)\n","Requirement already satisfied: idna<3,>=2.5 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (2.9)\n","Requirement already satisfied: requests-oauthlib>=0.7.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (1.3.0)\n","Requirement already satisfied: cachetools<5.0,>=2.0.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (4.1.1)\n","Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (0.2.8)\n","Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3.5\" in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (4.6)\n","Requirement already satisfied: aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\" in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.6.2)\n","Requirement already satisfied: oauthlib>=3.0.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.1.0)\n","Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (0.4.8)\n","Requirement already satisfied: multidict<5.0,>=4.5 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (4.7.6)\n","Requirement already satisfied: attrs>=17.3.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (19.3.0)\n","Requirement already satisfied: async-timeout<4.0,>=3.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.0.1)\n","Requirement already satisfied: yarl<2.0,>=1.0 in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (1.5.1)\n","Requirement already satisfied: typing-extensions>=3.7.4; python_version < \"3.8\" in /opt/conda/envs/Python-3.7-main/lib/python3.7/site-packages (from yarl<2.0,>=1.0->aiohttp<4.0.0dev,>=3.6.2; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow==2.2.0rc0) (3.7.4.2)\n","Installing collected packages: astunparse, gast, scipy, tensorflow\n"," Attempting uninstall: gast\n"," Found existing installation: gast 0.2.2\n"," Uninstalling gast-0.2.2:\n"," Successfully uninstalled gast-0.2.2\n"," Attempting uninstall: scipy\n"," Found existing installation: scipy 1.5.0\n"," Uninstalling scipy-1.5.0:\n"," Successfully uninstalled scipy-1.5.0\n"," Attempting uninstall: tensorflow\n"," Found existing installation: tensorflow 2.1.0\n"]},{"name":"stdout","output_type":"stream","text":[" Uninstalling tensorflow-2.1.0:\n"," Successfully uninstalled tensorflow-2.1.0\n","Successfully installed astunparse-1.6.3 gast-0.3.3 scipy-1.4.1 tensorflow-2.2.0rc0\n"]}],"source":["!pip install tensorflow==2.2.0rc0"]},{"cell_type":"markdown","metadata":{},"source":["Once tensorflow, numpy and matplotlib have been succesfully imported, the data set must be imported to the environment."]},{"cell_type":"code","execution_count":2,"metadata":{},"outputs":[],"source":["#from __future__ import division, print_function, absolute_import\n","\n","import tensorflow as tf\n","import numpy as np\n","import matplotlib.pyplot as plt\n","%matplotlib inline\n","\n","if not tf.__version__ == '2.2.0-rc0':\n"," print(tf.__version__)\n"," raise ValueError('please upgrade to TensorFlow 2.2.0-rc0, or restart your Kernel (Kernel->Restart & Clear Output)')\n","\n"]},{"cell_type":"markdown","metadata":{},"source":["Load the imported data using tensor flow (tf)."]},{"cell_type":"code","execution_count":3,"metadata":{"tags":[]},"outputs":[{"name":"stdout","output_type":"stream","text":["Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n","11493376/11490434 [==============================] - 0s 0us/step\n"]}],"source":["# Import MINST data\n","mnist = tf.keras.datasets.mnist\n","(x_train, y_train), (x_test, y_test) = mnist.load_data()"]},{"cell_type":"markdown","metadata":{},"source":["When training a neural network, it is popular practice to use 32 bit precision. The newly configured type is then divided by 255 because that is the maximum value of a byte. By doing so, we will get an output that is between 0.0 and 1.0, which normalizes the data and allows for it to be scaled."]},{"cell_type":"code","execution_count":4,"metadata":{"tags":[]},"outputs":[],"source":["x_train = x_train.astype('float32') / 255.\n","x_test = x_test.astype('float32') / 255."]},{"cell_type":"code","execution_count":5,"metadata":{},"outputs":[],"source":["y_train = y_train.astype('float32') / 255.\n","y_test = y_test.astype('float32') / 255."]},{"cell_type":"markdown","metadata":{},"source":["Using -1 for the first dimension means that it is inferred using Tensor, based on the number of elements. "]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[],"source":["x_image_train = tf.reshape(x_train, [-1,28,28,1]) \n","x_image_train = tf.cast(x_image_train, 'float32') \n","\n","x_image_test = tf.reshape(x_test, [-1,28,28,1]) \n","x_image_test = tf.cast(x_image_test, 'float32') "]},{"cell_type":"markdown","metadata":{},"source":["Print the newly trained shape."]},{"cell_type":"code","execution_count":7,"metadata":{"tags":[]},"outputs":[{"name":"stdout","output_type":"stream","text":["(60000, 28, 28)\n"]}],"source":["print(x_train.shape)"]},{"cell_type":"markdown","metadata":{},"source":["We use the tf.keras.layers.Flatten() function to prepare the training data to be compatible with the encoding and decoding layer\n"]},{"cell_type":"code","execution_count":8,"metadata":{},"outputs":[],"source":["flatten_layer = tf.keras.layers.Flatten()\n","x_train = flatten_layer(x_train)"]},{"cell_type":"markdown","metadata":{},"source":["Notice how thex_train.shape
changes from (60000,28,28) to (60000, 784)\n"]},{"cell_type":"code","execution_count":9,"metadata":{"tags":[]},"outputs":[{"name":"stdout","output_type":"stream","text":["(60000, 784)\n"]}],"source":["print(x_train.shape)"]},{"cell_type":"markdown","metadata":{},"source":["Now, let's give the parameters that are going to be used by our NN.\n"]},{"cell_type":"code","execution_count":10,"metadata":{},"outputs":[],"source":["learning_rate = 0.01\n","training_epochs = 20\n","batch_size = 256\n","display_step = 1\n","examples_to_show = 10\n","global_step = tf.Variable(0)\n","total_batch = int(len(x_train) / batch_size)\n","\n","# Network Parameters\n","n_hidden_1 = 256 # 1st layer num features\n","n_hidden_2 = 128 # 2nd layer num features\n","encoding_layer = 32 # final encoding bottleneck features\n","n_input = 784 # MNIST data input (img shape: 28*28)\n","\n"]},{"cell_type":"markdown","metadata":{},"source":["### Encoder \n","---\n","Now we need to create our encoder. For this, we are going to use tf.keras.layers.Dense with sigmoidal activation functions. Sigmoidal functions delivers great results with this type of network. This is due to having a good derivative that is well-suited to backpropagation. We can create our encoder using the sigmoidal function like this:\n"]},{"cell_type":"code","execution_count":11,"metadata":{},"outputs":[],"source":["\n","enocoding_1 = tf.keras.layers.Dense(n_hidden_1, activation=tf.nn.sigmoid)\n","encoding_2 = tf.keras.layers.Dense(n_hidden_2, activation=tf.nn.sigmoid)\n","encoding_final = tf.keras.layers.Dense(encoding_layer, activation=tf.nn.relu)\n","\n","# Building the encoder\n","def encoder(x):\n"," x_reshaped = flatten_layer(x)\n"," # Encoder first layer with sigmoid activation #1\n"," layer_1 = enocoding_1(x_reshaped)\n"," # Encoder second layer with sigmoid activation #2\n"," layer_2 = encoding_2(layer_1)\n"," code = encoding_final(layer_2)\n"," return code"]},{"cell_type":"markdown","metadata":{},"source":["### Decoder\n","--- \n","\n","You can see that the layer_1 in the encoder is the layer_2 in the decoder and vice-versa.\n"]},{"cell_type":"code","execution_count":12,"metadata":{},"outputs":[],"source":["decoding_1 = tf.keras.layers.Dense(n_hidden_2, activation=tf.nn.sigmoid)\n","decoding_2 = tf.keras.layers.Dense(n_hidden_1, activation=tf.nn.sigmoid)\n","decoding_final = tf.keras.layers.Dense(n_input)\n","# Building the decoder\n","def decoder(x):\n"," # Decoder first layer with sigmoid activation #1\n"," layer_1 = decoding_1(x)\n"," # Decoder second layer with sigmoid activation #2\n"," layer_2 = decoding_2(layer_1)\n"," decode = self.decoding_final(layer_2)\n"," return decode"]},{"cell_type":"markdown","metadata":{},"source":["### Model Building \n","---"]},{"cell_type":"markdown","metadata":{},"source":["Let's construct our model.\n","We define a cost
function to calculate the loss and a grad
function to calculate gradients that will be used in backpropagation.\n"]},{"cell_type":"code","execution_count":13,"metadata":{},"outputs":[],"source":["class AutoEncoder(tf.keras.Model):\n"," def __init__(self):\n"," super(AutoEncoder, self).__init__()\n","\n"," self.n_hidden_1 = n_hidden_1 # 1st layer num features\n"," self.n_hidden_2 = n_hidden_2 # 2nd layer num features\n"," self.encoding_layer = encoding_layer\n"," self.n_input = n_input # MNIST data input (img shape: 28*28)\n","\n"," self.flatten_layer = tf.keras.layers.Flatten()\n"," self.enocoding_1 = tf.keras.layers.Dense(self.n_hidden_1, activation=tf.nn.sigmoid)\n"," self.encoding_2 = tf.keras.layers.Dense(self.n_hidden_2, activation=tf.nn.sigmoid)\n"," self.encoding_final = tf.keras.layers.Dense(self.encoding_layer, activation=tf.nn.relu)\n"," self.decoding_1 = tf.keras.layers.Dense(self.n_hidden_2, activation=tf.nn.sigmoid)\n"," self.decoding_2 = tf.keras.layers.Dense(self.n_hidden_1, activation=tf.nn.sigmoid)\n"," self.decoding_final = tf.keras.layers.Dense(self.n_input)\n","\n","\n"," # Building the encoder\n"," def encoder(self,x):\n"," #x = self.flatten_layer(x)\n"," layer_1 = self.enocoding_1(x)\n"," layer_2 = self.encoding_2(layer_1)\n"," code = self.encoding_final(layer_2)\n"," return code\n"," \n","\n"," # Building the decoder\n"," def decoder(self, x):\n"," layer_1 = self.decoding_1(x)\n"," layer_2 = self.decoding_2(layer_1)\n"," decode = self.decoding_final(layer_2)\n"," return decode\n","\n"," \n"," def call(self, x):\n"," encoder_op = self.encoder(x)\n"," # Reconstructed Images\n"," y_pred = self.decoder(encoder_op)\n"," return y_pred\n"," \n","def cost(y_true, y_pred):\n"," loss = tf.losses.mean_squared_error(y_true, y_pred)\n"," cost = tf.reduce_mean(loss)\n"," return cost\n","\n","def grad(model, inputs, targets):\n"," #print('shape of inputs : ',inputs.shape)\n"," #targets = flatten_layer(targets)\n"," with tf.GradientTape() as tape: \n"," reconstruction = model(inputs)\n"," loss_value = cost(targets, reconstruction)\n"," return loss_value, tape.gradient(loss_value, model.trainable_variables),reconstruction"]},{"cell_type":"markdown","metadata":{},"source":["### Model Training\n","---"]},{"cell_type":"markdown","metadata":{},"source":["For training we will run for 20 epochs.\n"]},{"cell_type":"code","execution_count":14,"metadata":{"tags":[]},"outputs":[{"name":"stdout","output_type":"stream","text":["Epoch: 0001 cost= 0.047383860\n","Epoch: 0002 cost= 0.034424357\n","Epoch: 0003 cost= 0.026695287\n","Epoch: 0004 cost= 0.021944303\n","Epoch: 0005 cost= 0.018585758\n","Epoch: 0006 cost= 0.017007928\n","Epoch: 0007 cost= 0.014737891\n","Epoch: 0008 cost= 0.013177762\n","Epoch: 0009 cost= 0.012001665\n","Epoch: 0010 cost= 0.010665350\n","Epoch: 0011 cost= 0.010004511\n","Epoch: 0012 cost= 0.009467856\n","Epoch: 0013 cost= 0.008427640\n","Epoch: 0014 cost= 0.008222684\n","Epoch: 0015 cost= 0.007554033\n","Epoch: 0016 cost= 0.007430729\n","Epoch: 0017 cost= 0.006798379\n","Epoch: 0018 cost= 0.006933126\n","Epoch: 0019 cost= 0.006883329\n","Epoch: 0020 cost= 0.007033682\n","Optimization Finished!\n"]}],"source":["model = AutoEncoder()\n","optimizer = tf.keras.optimizers.RMSprop(learning_rate)\n","\n","for epoch in range(training_epochs):\n"," for i in range(total_batch):\n"," x_inp = x_train[i : i + batch_size]\n"," loss_value, grads, reconstruction = grad(model, x_inp, x_inp)\n"," optimizer.apply_gradients(zip(grads, model.trainable_variables))\n"," # Display logs per epoch step\n"," if epoch % display_step == 0:\n"," print(\"Epoch:\", '%04d' % (epoch+1),\n"," \"cost=\", \"{:.9f}\".format(loss_value))\n","\n","print(\"Optimization Finished!\")"]},{"cell_type":"markdown","metadata":{},"source":["### Model Testing\n","---\n","Now, let's apply encoder and decoder for our tests.\n"]},{"cell_type":"code","execution_count":15,"metadata":{},"outputs":[],"source":["# Applying encode and decode over test set\n","encode_decode = model(flatten_layer(x_image_test[:examples_to_show]))"]},{"cell_type":"markdown","metadata":{},"source":["Let's simply visualize our graphs!\n"]},{"cell_type":"code","execution_count":16,"metadata":{},"outputs":[{"data":{"image/png":"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","text/plain":["