{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Notebook 19: Variational Autoencoders with Keras and MNIST" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Learning Goals\n", "The goals of this notebook is to learn how to code a variational autoencoder in Keras. We will discuss hyperparameters, training, and loss-functions. In addition, we will familiarize ourselves with the Keras sequential GUI as well as how to visualize results and make predictions using a VAE with a small number of latent dimensions.\n", "\n", "## Overview\n", "\n", "This notebook teaches the reader how to build a Variational Autoencoder (VAE) with Keras. The code is a minimally modified, stripped-down version of the code from Lous Tiao in his wonderful [blog post](http://tiao.io/posts/implementing-variational-autoencoders-in-keras-beyond-the-quickstart-tutorial/) which the reader is strongly encouraged to also read.\n", "\n", "Our VAE will have Gaussian Latent variables and a Gaussian Posterior distribution $q_\\phi({\\mathbf z}|{\\mathbf x})$ with a diagonal covariance matrix. \n", "\n", "Recall, that a VAE consists of four essential elements:\n", "\n", "* A latent variable ${\\mathbf z}$ drawn from a distribution $p({\\mathbf z})$ which in our case will be a Gaussian with mean zero and standard\n", "deviation $\\epsilon$.\n", "* A decoder $p(\\mathbf{x}|\\mathbf{z})$ that maps latent variables ${\\mathbf z}$ to visible variables ${\\mathbf x}$. In our case, this is just a Multi-Layer Perceptron (MLP) - a neural network with one hidden layer.\n", "* An encoder $q_\\phi(\\mathbf{z}|\\mathbf{x})$ that maps examples to the latent space. In our case, this map is just a Gaussian with means and variances that depend on the input: $q_\\phi({\\bf z}|{\\bf x})= \\mathcal{N}({\\bf z}, \\boldsymbol{\\mu}({\\bf x}), \\mathrm{diag}(\\boldsymbol{\\sigma}^2({\\bf x})))$\n", "* A cost function consisting of two terms: the reconstruction error and an additional regularization term that minimizes the KL-divergence between the variational and true encoders. Mathematically, the reconstruction error is just the cross-entropy between the samples and there reconstructions. The KL-divergence term can be calculated analytically for this term and can be written as\n", "\n", "$$-D_{KL}(q_\\phi({\\bf z}|{\\bf x})|p({\\bf z}))={1 \\over 2} \\sum_{j=1}^J \\left (1+\\log{\\sigma_j^2({\\bf x})}-\\mu_j^2({\\bf x}) -\\sigma_j^2({\\bf x})\\right).\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Importing Data and specifying hyperparameters\n", "\n", "In the next section of code, we import the data and specify hyperparameters. The MNIST data are gray scale ranging in values from 0 to 255 for each pixel. We normalize this range to lie between 0 and 1. \n", "\n", "The hyperparameters we need to specify the architecture and train the VAE are:\n", "\n", "* The dimension of the hidden layers for encoders and decoders (intermediate_dim)\n", "* The dimension of the latent space (latent_dim)\n", "* The standard deviation of latent variables (epsilon_std)\n", "* Optimization hyper-parameters: batch_size, epochs\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "(60000, 28, 28, 1)\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.stats import norm\n", "\n", "from keras import backend as K\n", "\n", "from keras.layers import (Input, InputLayer, Dense, Lambda, Layer, \n", " Add, Multiply)\n", "from keras.models import Model, Sequential\n", "from keras.datasets import mnist\n", "import pandas as pd\n", "\n", "\n", "#Load Data and map gray scale 256 to number between zero and 1\n", "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", "x_train = np.expand_dims(x_train, axis=-1) / 255.\n", "x_test = np.expand_dims(x_test, axis=-1) / 255.\n", "\n", "print(x_train.shape)\n", "\n", "# Find dimensions of input images\n", "img_rows, img_cols, img_chns = x_train.shape[1:]\n", "\n", "# Specify hyperparameters\n", "original_dim = img_rows * img_cols\n", "intermediate_dim = 256\n", "latent_dim = 2\n", "batch_size = 100\n", "epochs = 50\n", "epsilon_std = 1.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying the loss function\n", "\n", "Here we specify the loss function. The first block of code is just the reconstruction error which is given by the cross-entropy. The second block of code calculates the KL-divergence analytically and adds it to the loss function with the line self.add_loss. It represents the KL-divergence as just another layer in the neural network with the inputs equal to the outputs: the means and variances for the variational encoder (i.e. $\\boldsymbol{\\mu}({\\bf x})$ and $\\boldsymbol{\\sigma}^2({\\bf x})$)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def nll(y_true, y_pred):\n", " \"\"\" Negative log likelihood (Bernoulli). \"\"\"\n", "\n", " # keras.losses.binary_crossentropy gives the mean\n", " # over the last axis. we require the sum\n", " return K.sum(K.binary_crossentropy(y_true, y_pred), axis=-1)\n", "\n", "class KLDivergenceLayer(Layer):\n", "\n", " \"\"\" Identity transform layer that adds KL divergence\n", " to the final model loss.\n", " \"\"\"\n", "\n", " def __init__(self, *args, **kwargs):\n", " self.is_placeholder = True\n", " super(KLDivergenceLayer, self).__init__(*args, **kwargs)\n", "\n", " def call(self, inputs):\n", "\n", " mu, log_var = inputs\n", "\n", " kl_batch = - .5 * K.sum(1 + log_var -\n", " K.square(mu) -\n", " K.exp(log_var), axis=-1)\n", "\n", " self.add_loss(K.mean(kl_batch), inputs=inputs)\n", "\n", " return inputs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Encoder and Decoder\n", "\n", "The following specifies both the encoder and decoder. The encoder is a MLP with three layers that maps ${\\bf x}$ to $\\boldsymbol{\\mu}({\\bf x})$ and $\\boldsymbol{\\sigma}^2({\\bf x})$, followed by the generation of a latent variable using the reparameterization trick (see main text). The decoder is specified as a single sequential Keras layer.\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Encoder\n", "\n", "x = Input(shape=(original_dim,))\n", "h = Dense(intermediate_dim, activation='relu')(x)\n", "\n", "z_mu = Dense(latent_dim)(h)\n", "z_log_var = Dense(latent_dim)(h)\n", "\n", "z_mu, z_log_var = KLDivergenceLayer()([z_mu, z_log_var])\n", "\n", "# Reparameterization trick\n", "z_sigma = Lambda(lambda t: K.exp(.5*t))(z_log_var)\n", "\n", "eps = Input(tensor=K.random_normal(shape=(K.shape(x)[0], \n", " latent_dim)))\n", "z_eps = Multiply()([z_sigma, eps])\n", "z = Add()([z_mu, z_eps])\n", "\n", "# This defines the Encoder which takes noise and input and outputs\n", "# the latent variable z\n", "encoder = Model(inputs=[x, eps], outputs=z)\n", "\n", "# Decoder is MLP specified as single Keras Sequential Layer\n", "decoder = Sequential([\n", " Dense(intermediate_dim, input_dim=latent_dim, activation='relu'),\n", " Dense(original_dim, activation='sigmoid')\n", "])\n", "\n", "x_pred = decoder(z)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Training the model\n", "\n", "We now train the model. Even though the loss function is the negative log likelihood (cross-entropy), recall that the KL-layer adds the analytic form of the loss function as well. We also have to reshape the data to make it a vector, and specify an optimizer." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 60000 samples, validate on 10000 samples\n", "Epoch 1/50\n", "60000/60000 [==============================] - 5s 83us/step - loss: 191.8900 - val_loss: 174.7447\n", "Epoch 2/50\n", "60000/60000 [==============================] - 6s 98us/step - loss: 171.4665 - val_loss: 168.0464\n", "Epoch 3/50\n", "60000/60000 [==============================] - 7s 109us/step - loss: 166.6356 - val_loss: 164.9797\n", "Epoch 4/50\n", "60000/60000 [==============================] - 6s 103us/step - loss: 164.2793 - val_loss: 163.2552\n", "Epoch 5/50\n", "60000/60000 [==============================] - 7s 109us/step - loss: 162.7115 - val_loss: 162.0359\n", "Epoch 6/50\n", "60000/60000 [==============================] - 6s 102us/step - loss: 161.5522 - val_loss: 161.1143\n", "Epoch 7/50\n", "60000/60000 [==============================] - 6s 103us/step - loss: 160.5174 - val_loss: 160.3440\n", "Epoch 8/50\n", "60000/60000 [==============================] - 6s 101us/step - loss: 159.6696 - val_loss: 159.4329\n", "Epoch 9/50\n", "60000/60000 [==============================] - 6s 102us/step - loss: 158.9802 - val_loss: 159.5236\n", "Epoch 10/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 158.3578 - val_loss: 158.1668\n", "Epoch 11/50\n", "60000/60000 [==============================] - 7s 118us/step - loss: 157.8349 - val_loss: 157.8940\n", "Epoch 12/50\n", "60000/60000 [==============================] - 7s 118us/step - loss: 157.3343 - val_loss: 157.5868\n", "Epoch 13/50\n", "60000/60000 [==============================] - 7s 119us/step - loss: 156.9327 - val_loss: 157.1306\n", "Epoch 14/50\n", "60000/60000 [==============================] - 7s 122us/step - loss: 156.5097 - val_loss: 156.9366\n", "Epoch 15/50\n", "60000/60000 [==============================] - 7s 118us/step - loss: 156.0705 - val_loss: 157.0794\n", "Epoch 16/50\n", "60000/60000 [==============================] - 7s 122us/step - loss: 155.7120 - val_loss: 155.7909\n", "Epoch 17/50\n", "60000/60000 [==============================] - 7s 124us/step - loss: 155.3363 - val_loss: 156.1486\n", "Epoch 18/50\n", "60000/60000 [==============================] - 7s 123us/step - loss: 154.9737 - val_loss: 155.8201\n", "Epoch 19/50\n", "60000/60000 [==============================] - 7s 119us/step - loss: 154.6547 - val_loss: 155.1505\n", "Epoch 20/50\n", "60000/60000 [==============================] - 7s 120us/step - loss: 154.4255 - val_loss: 155.0437\n", "Epoch 21/50\n", "60000/60000 [==============================] - 7s 122us/step - loss: 154.1085 - val_loss: 154.7793\n", "Epoch 22/50\n", "60000/60000 [==============================] - 7s 119us/step - loss: 153.8555 - val_loss: 154.5954\n", "Epoch 23/50\n", "60000/60000 [==============================] - 7s 119us/step - loss: 153.6233 - val_loss: 154.8994\n", "Epoch 24/50\n", "60000/60000 [==============================] - 7s 124us/step - loss: 153.4358 - val_loss: 154.5095\n", "Epoch 25/50\n", "60000/60000 [==============================] - 7s 117us/step - loss: 153.2297 - val_loss: 153.9285\n", "Epoch 26/50\n", "60000/60000 [==============================] - 7s 121us/step - loss: 153.0069 - val_loss: 154.3078\n", "Epoch 27/50\n", "60000/60000 [==============================] - 7s 115us/step - loss: 152.8491 - val_loss: 154.2172\n", "Epoch 28/50\n", "60000/60000 [==============================] - 7s 120us/step - loss: 152.6876 - val_loss: 153.6757\n", "Epoch 29/50\n", "60000/60000 [==============================] - 7s 114us/step - loss: 152.4985 - val_loss: 153.8535\n", "Epoch 30/50\n", "60000/60000 [==============================] - 7s 115us/step - loss: 152.3688 - val_loss: 153.5280\n", "Epoch 31/50\n", "60000/60000 [==============================] - 7s 115us/step - loss: 152.1810 - val_loss: 153.8405\n", "Epoch 32/50\n", "60000/60000 [==============================] - 7s 115us/step - loss: 152.0539 - val_loss: 153.1623\n", "Epoch 33/50\n", "60000/60000 [==============================] - 7s 116us/step - loss: 151.9277 - val_loss: 154.5332\n", "Epoch 34/50\n", "60000/60000 [==============================] - 7s 111us/step - loss: 151.7601 - val_loss: 153.0553\n", "Epoch 35/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 151.6695 - val_loss: 153.6028\n", "Epoch 36/50\n", "60000/60000 [==============================] - 7s 109us/step - loss: 151.5388 - val_loss: 153.4408\n", "Epoch 37/50\n", "60000/60000 [==============================] - 7s 111us/step - loss: 151.4325 - val_loss: 153.4817\n", "Epoch 38/50\n", "60000/60000 [==============================] - 7s 114us/step - loss: 151.2839 - val_loss: 152.9986\n", "Epoch 39/50\n", "60000/60000 [==============================] - 7s 112us/step - loss: 151.1576 - val_loss: 153.9849\n", "Epoch 40/50\n", "60000/60000 [==============================] - 7s 111us/step - loss: 151.0283 - val_loss: 152.8872\n", "Epoch 41/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 150.9419 - val_loss: 152.9329\n", "Epoch 42/50\n", "60000/60000 [==============================] - 7s 112us/step - loss: 150.8148 - val_loss: 152.9863\n", "Epoch 43/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 150.6838 - val_loss: 152.6240\n", "Epoch 44/50\n", "60000/60000 [==============================] - 7s 113us/step - loss: 150.5828 - val_loss: 152.7581\n", "Epoch 45/50\n", "60000/60000 [==============================] - 7s 114us/step - loss: 150.4656 - val_loss: 152.6164\n", "Epoch 46/50\n", "60000/60000 [==============================] - 7s 114us/step - loss: 150.3246 - val_loss: 153.1228\n", "Epoch 47/50\n", "60000/60000 [==============================] - 7s 115us/step - loss: 150.2480 - val_loss: 152.4634\n", "Epoch 48/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 150.1494 - val_loss: 152.2590\n", "Epoch 49/50\n", "60000/60000 [==============================] - 7s 110us/step - loss: 150.0367 - val_loss: 152.5733\n", "Epoch 50/50\n", "60000/60000 [==============================] - 7s 112us/step - loss: 149.8979 - val_loss: 152.7766\n" ] } ], "source": [ "vae = Model(inputs=[x, eps], outputs=x_pred, name='vae')\n", "vae.compile(optimizer='rmsprop', loss=nll)\n", "\n", "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", "x_train = x_train.reshape(-1, original_dim) / 255.\n", "x_test = x_test.reshape(-1, original_dim) / 255.\n", "\n", "hist = vae.fit(\n", " x_train,\n", " x_train,\n", " shuffle=True,\n", " epochs=epochs,\n", " batch_size=batch_size,\n", " validation_data=(x_test, x_test)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing the loss function\n", "\n", "We can automatically visualize the loss function as a function of the epoch using the standard Keras interface for fitting. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "#for pretty plots\n", "golden_size = lambda width: (width, 2. * width / (1 + np.sqrt(5)))\n", "\n", "fig, ax = plt.subplots(figsize=golden_size(6))\n", "\n", "hist_df = pd.DataFrame(hist.history)\n", "hist_df.plot(ax=ax)\n", "\n", "ax.set_ylabel('NELBO')\n", "ax.set_xlabel('# epochs')\n", "\n", "ax.set_ylim(.99*hist_df[1:].values.min(), \n", " 1.1*hist_df[1:].values.max())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing embedding in latent space\n", "\n", "Since our latent space is two dimensional, we can think of our encoder as defining a dimensional reduction of the original 784 dimensional space to just two dimensions! We can visualize the structure of this mapping by plotting the MNIST dataset in the latent space, with each point colored by which number it is $[0,1,\\ldots,9]$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "x_test_encoded = encoder.predict(x_test, batch_size=batch_size)\n", "plt.figure(figsize=golden_size(6))\n", "plt.scatter(x_test_encoded[:, 0], x_test_encoded[:, 1], c=y_test, cmap='nipy_spectral')\n", "plt.colorbar()\n", "plt.savefig('VAE_MNIST_latent.pdf')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating new examples\n", "\n", "One of the nice things about VAEs is that they are generative models. Thus, we can generate new examples or fantasy particles much like we did for RBMs and DBMs. We will generate the particles in two different ways\n", "\n", "* Sampling uniformally in the latent space \n", "* Sampling accounting for the fact that the latent space is Gaussian so that we expect most of the data points to be centered around (0,0) and fall off exponentially in all directions. This is done by transforming the uniform grid using the inverse Cumulative Distribution Function (CDF) for the Gaussian.\n", "\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\net52EbWtWWaZBYCRI4uKpRtttBEAyyyzDFAEFEAhTUeN5NFHHwXgoYceAuCpp57K+yR5vvfeez3O\n0SppPM651m68poUXXhiAJZdcsuZngKFDh9b8HsDss88OwKeffgrUauRvvvkmAOPGjcvbnnzySQCe\nfvppoFYaf//994H2aCbSIqI2Pc888wCwxhpr5G0rrLACUMzPO++8k/fNMMMMPdo0Hzpemi0U9yKu\nh3vvvReAI444Amj834v2P3HGGGOmavwiMcYYUwmbttpENAV8//vfB2CfffbJ2+Rs0/9RLV9wwQUB\n2GmnnfK2l19+GSic0J1GNPXos0w+ANtuuy0Ahx56KACLLbZY3iczTXSuat+IzHyxT2r7Bx980LgL\nmEyiKWP55ZcHYLvttsvbVl99daAwW8T7K3POAgsskLfJ/Km50zFQmDBicIHO1+w9NVqfc801V962\n7LLLArDhhhvmbautthoA8803H1CYrqBwqH/yySd5mxzGZeYo3deHH364xzhk/pk4cWKPc8XzN4P4\nTM8222xAEVSx6aab5n16bjUXUJj1dH/j2pWJUwEXUJjM9JxEs6Ac6tH8KZOfzGo2bRljjOkorJG0\nGEkcJ554Yt52wAEHALUSTZTg63/W5xgiOHbs2MYPtoHE8Ut62mWXXfK2ww47DKiVwuuR5ApFEIK0\ns3j+du5s1xgXXXTRvG3HHXcEYL311utxnCRoOZChCNWMErSuV9J+1EikjUatrH4HfKMdzZrvwYMH\nA7DSSivlfTvvvDMAq6yySt6me65xxPGrLTrUpV1J8o6Oe637GPK6xBJLAIUUPn78+B7nbxZl4d0j\nRowACu1j8803z/vitYj6McZMDQ888AAAN954Y9621FJLAbDQQgsBtevntttuA2qtEzrHE0880b+L\nmkyskRhjjKmENZIWc9pppwG1/pDJRdJLDO+LoZCdRNlmqi9+8YsAHH300XmbbOzSJqJEJht31MA0\nBwr/lV04nqOVSJtUWPIOO+yQ92lzpbQKKMJTH3zwQQAeeeSRvE+SuezsUITIyvcSw2cVAhrnTNqM\nNJKoATQCaVTSCLfYYou8T/c3alTSFLSJNs6FkB0fCglbvhRpHFDrfxKy/c8///xA7XxqDUattZFa\nis4bLQrSSBTSHzdgxtBkEf2FADfddFP++cwzzwRq/Rr6rPWjZwSKDblRw9O8x+MaiTUSY4wxlfCL\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "# display a 2D manifold of the images\n", "n = 5 # figure with 15x15 images\n", "quantile_min = 0.01\n", "quantile_max = 0.99\n", "\n", "# Linear Sampling\n", "# we will sample n points within [-15, 15] standard deviations\n", "z1_u = np.linspace(5, -5, n)\n", "z2_u = np.linspace(5, -5, n)\n", "z_grid = np.dstack(np.meshgrid(z1_u, z2_u))\n", "\n", "x_pred_grid = decoder.predict(z_grid.reshape(n*n, latent_dim)) \\\n", " .reshape(n, n, img_rows, img_cols)\n", "# Inverse CDF sampling\n", "z1 = norm.ppf(np.linspace(quantile_min, quantile_max, n))\n", "z2 = norm.ppf(np.linspace(quantile_max, quantile_min, n))\n", "z_grid2 = np.dstack(np.meshgrid(z1, z2))\n", "\n", "x_pred_grid2 = decoder.predict(z_grid2.reshape(n*n, latent_dim)) \\\n", " .reshape(n, n, img_rows, img_cols)\n", " \n", "# Plot figure\n", "fig, ax = plt.subplots(figsize=golden_size(10))\n", "\n", "ax.imshow(np.block(list(map(list, x_pred_grid))), cmap='gray')\n", "\n", "ax.set_xticks(np.arange(0, n*img_rows, img_rows) + .5 * img_rows)\n", "ax.set_xticklabels(map('{:.2f}'.format, z1), rotation=90)\n", "\n", "ax.set_yticks(np.arange(0, n*img_cols, img_cols) + .5 * img_cols)\n", "ax.set_yticklabels(map('{:.2f}'.format, z2))\n", "\n", "ax.set_xlabel('$z_1$')\n", "ax.set_ylabel('$z_2$')\n", "ax.set_title('Uniform')\n", "ax.grid(False)\n", "\n", "\n", "plt.savefig('VAE_MNIST_fantasy_uniform.pdf')\n", "plt.show()\n", "\n", "\n", "# Plot figure Inverse CDF sampling\n", "fig, ax = plt.subplots(figsize=golden_size(10))\n", "\n", "ax.imshow(np.block(list(map(list, x_pred_grid2))), cmap='gray')\n", "\n", "ax.set_xticks(np.arange(0, n*img_rows, img_rows) + .5 * img_rows)\n", "ax.set_xticklabels(map('{:.2f}'.format, z1), rotation=90)\n", "\n", "ax.set_yticks(np.arange(0, n*img_cols, img_cols) + .5 * img_cols)\n", "ax.set_yticklabels(map('{:.2f}'.format, z2))\n", "\n", "ax.set_xlabel('$z_1$')\n", "ax.set_ylabel('$z_2$')\n", "ax.set_title('Inverse CDF')\n", "ax.grid(False)\n", "plt.savefig('VAE_MNIST_fantasy_invCDF.pdf')\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "* Play with the standard deviation of the latent variables $\\epsilon$. How does this effect your results?\n", "* Generate samples as you increase the number of latent dimensions. Do your generated samples look better? Visualize the latent variables using a dimensional reduction technique such as PCA or t-SNE. How does it compare to the case with two latent dimensions showed above?\n", "* Repeat this analysis with the supersymmetry dataset? Are the supersymmetric and non-supersymmetric examples separated in the latent dimensions?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "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.6.1" }, "nikola": { "category": "", "date": "2017-07-21 18:38:07 UTC+10:00", "description": "", "link": "", "slug": "variational-inference-with-implicit-approximate-inference-models-wip-pt-8", "tags": "", "title": "Variational Inference with Implicit Approximate Inference Models (WIP Pt. 8)", "type": "text" } }, "nbformat": 4, "nbformat_minor": 2 }