{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Machine Learning and Statistics for Physicists" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Material for a [UC Irvine](https://uci.edu/) course offered by the [Department of Physics and Astronomy](https://www.physics.uci.edu/).\n", "\n", "Content is maintained on [github](github.com/dkirkby/MachineLearningStatistics) and distributed under a [BSD3 license](https://opensource.org/licenses/BSD-3-Clause).\n", "\n", "[Table of contents](Contents.ipynb)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns; sns.set()\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.collections" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import scipy.signal" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "from sklearn import model_selection" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from mls import locate_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Neural Network Architectures for Deep Learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We previously took a bottom-up look at how a neural network is composed of basic building blocks. Now, we take a top-down look at some of the novel network architectures that are enabling the current [deep-learning revolution](https://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html):\n", " - Convolutional networks\n", " - Unsupervised learning networks\n", " - Recurrent networks\n", " - Reinforcement learning\n", " \n", "We conclude with some reflections on where \"deep learning\" is headed.\n", "\n", "The examples below use higher-level tensorflow APIs than we have seen before, so we start with a brief introduction to them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### High-Level Tensorflow APIs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In our earlier examples, we built our networks using [low-level tensorflow primitives](https://www.tensorflow.org/programmers_guide/low_level_intro). For more complex networks composed of standard building blocks, there are convenient higher-level application programming interfaces (APIs) that abstract aways the low-level graphs and sessions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Reading Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [tf.data API](https://www.tensorflow.org/programmers_guide/datasets) handles data used to train and test a network, replacing the low-level placeholders we used earlier. For a small dataset that fits in memory, use:\n", "```\n", "dataset = tf.data.Dataset.from_tensor_slices((dict(X), y))\n", "```\n", "\n", "Creating a Dataset adds nodes to a graph so you should normally wrap your code to create a Dataset in a function that tensorflow will call in the appropriate context. For example, to split the 300 `circles` samples above into train (200) and test (100) datasets:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "X = pd.read_hdf(locate_data('circles_data.hf5'))\n", "y = pd.read_hdf(locate_data('circles_targets.hf5'))\n", "X_train, X_test, y_train, y_test = model_selection.train_test_split(\n", " X, y, test_size=100, random_state=123)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def get_train_data(batch_size=50):\n", " dataset = tf.data.Dataset.from_tensor_slices((dict(X_train), y_train))\n", " return dataset.shuffle(len(X_train)).repeat().batch(batch_size)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def get_test_data(batch_size=50):\n", " dataset = tf.data.Dataset.from_tensor_slices((dict(X_test), y_test))\n", " return dataset.batch(batch_size)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While `from_tensor_slices` is convenient, it is not very efficient since the whole dataset is added to the graph with constant nodes (and potentially copied multiple times). Alternatively, convert your data to tensorflow's [binary file format](https://www.tensorflow.org/api_guides/python/python_io) so it can be read as a [TFRecordDataset](https://www.tensorflow.org/api_docs/python/tf/data/TFRecordDataset)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Building a Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [tf.estimator API](https://www.tensorflow.org/programmers_guide/estimators) builds and runs a graph for training, evaluation and prediction. This API generates a lot of INFO log messages, which can be suppressed using:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "tf.logging.set_verbosity(tf.logging.WARN)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First specify the names and types (but not values) of the features that feed the network's input layer:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "inputs = [tf.feature_column.numeric_column(key=key) for key in X]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, build the network graph. There are [pre-made estimators](https://www.tensorflow.org/programmers_guide/estimators#pre-made_estimators) for standard architectures that are easy to use. For example, to recreate our earlier architecture of a single 4-node hidden layer with sigmoid activation:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "config = tf.estimator.RunConfig(\n", " model_dir='tfs/circle',\n", " tf_random_seed=123\n", ")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "classifier = tf.estimator.DNNClassifier(\n", " config=config,\n", " feature_columns=inputs,\n", " hidden_units=[4],\n", " activation_fn=tf.sigmoid,\n", " n_classes=2\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are only a limited number of pre-defined models available so you often have to build a [custom estimator](https://www.tensorflow.org/get_started/custom_estimators) using the intermediate-level [layers API](https://www.tensorflow.org/api_docs/python/tf/layers). See convolutional-network example below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Training a Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An estimator remembers any previous training (using files saved to its `model_dir`) so if you really want to start from scratch you will need to clear this history:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "!rm -rf tfs/circle/*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `train` method runs a specified number of steps (each learning from one batch of training data):" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": false }, "outputs": [], "source": [ "classifier.train(input_fn=get_train_data, steps=5000);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After training, you can list the model parameters and access their values:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['dnn/hiddenlayer_0/bias',\n", " 'dnn/hiddenlayer_0/bias/t_0/Adagrad',\n", " 'dnn/hiddenlayer_0/kernel',\n", " 'dnn/hiddenlayer_0/kernel/t_0/Adagrad',\n", " 'dnn/logits/bias',\n", " 'dnn/logits/bias/t_0/Adagrad',\n", " 'dnn/logits/kernel',\n", " 'dnn/logits/kernel/t_0/Adagrad',\n", " 'global_step']" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier.get_variable_names()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 3.63177538, 2.65476751, 2.22977662, -2.82275248],\n", " [-1.96610606, 3.19546986, -3.34953451, -2.45343661]], dtype=float32)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier.get_variable_value('dnn/hiddenlayer_0/kernel')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Testing a Model" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "results = classifier.evaluate(input_fn=get_test_data)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'accuracy': 1.0,\n", " 'accuracy_baseline': 0.52999997,\n", " 'auc': 1.0,\n", " 'auc_precision_recall': 1.0,\n", " 'average_loss': 0.10356656,\n", " 'global_step': 5000,\n", " 'label/mean': 0.52999997,\n", " 'loss': 5.178328,\n", " 'prediction/mean': 0.52209604}" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Convolutional Networks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A **convolutional neural network (CNN)** is a special architecture that:\n", " - Assumes that input features measure some property on a grid. The grid is usually spatial or temporal, but this is not required. For example, a 1D spectrum or time series, a 2D monochrome image, or a 3D stack of 2D images in different filters (RGB, etc).\n", " - Performs translation-invariant learning efficiently. For example, identifying a galaxy wherever it appears in an image, or a transient pulse wherever it appears in a time series. The main efficiency is a much reduced number of parameters compared to the number of input features, relative to the dense fully connected networks we have seen so far." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use the following problem to motivate and demonstration a CNN:\n", " - The input data consists of triplets of digitized waveforms.\n", " - Each waveform has a slowly varying level with some narrow pulses superimposed.\n", " - Each triplet has a single pulse that is synchronized (coincident) in all three waveforms.\n", " - Waveforms also contain a random number of unsynchronized \"background\" pulses.\n", " - Synchronized and unsynchronized pulses can overlap in time and between traces.\n", " \n", "The goal is to identify the location of the synchronized pulses in each triplet. This is a simplified version of a common task in data acquisition trigger systems and transient analysis pipelines." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "def generate(N=10000, ntrace=3, nt=100, nbg=1., A=5., nsmooth=3, T=1., seed=123):\n", " gen = np.random.RandomState(seed=seed)\n", " t_grid = np.linspace(0., T, nt)\n", " # Generate the smooth background shapes as superpositions of random cosines.\n", " wlen = 2 * T * gen.lognormal(mean=0., sigma=0.2, size=(nsmooth, N, ntrace, 1))\n", " phase = gen.uniform(size=wlen.shape)\n", " X = np.cos(2 * np.pi * (t_grid + phase * wlen) / wlen).sum(axis=0)\n", " # Superimpose short pulses.\n", " sigma = 0.02 * T\n", " tsig = T * gen.uniform(0.05, 0.95, size=N)\n", " y = np.empty(N, dtype=int)\n", " nbg = gen.poisson(lam=nbg, size=(N, ntrace))\n", " for i in range(N):\n", " # Add a coincident pulse to all traces.\n", " xsig = A * np.exp(-0.5 * (t_grid - tsig[i]) ** 2 / sigma ** 2)\n", " y[i] = np.argmax(xsig)\n", " X[i] += xsig\n", " # Add non-coincident background pulses to each trace.\n", " for j in range(ntrace):\n", " if nbg[i, j] > 0:\n", " t0 = T * gen.uniform(size=(nbg[i, j], 1))\n", " X[i, j] += (A * np.exp(-0.5 * (t_grid - t0) ** 2 / sigma ** 2)).sum(axis=0)\n", " return X.astype(np.float32), y\n", " \n", "X, y = generate()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_traces(X, y):\n", " Nsample, Ntrace, D = X.shape\n", " _, ax = plt.subplots(Nsample, 1, figsize=(9, 1.5 * Nsample))\n", " t = np.linspace(0., 1., 100)\n", " dt = t[1] - t[0]\n", " for i in range(Nsample):\n", " for j in range(Ntrace):\n", " ax[i].plot(t, X[i, j], lw=1)\n", " ax[i].axvline(t[y[i]], c='k', ls=':')\n", " ax[i].set_yticks([])\n", " ax[i].set_xticks([])\n", " ax[i].set_xlim(-0.5 * dt, 1 + 0.5 * dt)\n", " plt.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0.1)\n", " \n", "plot_traces(X[:5], y[:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The derivative of $f(x)$ can be approximated as\n", "$$\n", "f'(x) \\simeq \\frac{f(x + \\delta) - f(x - \\delta)}{2\\delta}\n", "$$\n", "for small $\\delta$. We can use this approximation to convert an array of $f(n \\Delta x)$ values into an array of estimated $f'(n \\Delta x)$ values using:\n", "```\n", "K = np.array([-1, 0, +1]) / ( 2 * dx)\n", "fp[0] = K.dot(f[[0,1,2]])\n", "fp[1] = K.dot(f[[1,2,3]])\n", "...\n", "fp[N-2] = K.dot(f[[N-3,N-2,N-1]]\n", "```\n", "The numpy [convolve function](https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.convolve.html) automates this process of sliding an arbitrary kernel $K$ along an input array like this. The result only estimates a first (or higher-order) derivative when the kernel contains [special values](https://en.wikipedia.org/wiki/Finite_difference_coefficient) (and you should normally use the numpy [gradient function](https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.gradient.html) for this), but any convolution is a valid and potentially useful transformation.\n", "\n", "The kernel needs to completely overlap the input array it is being convolved with, which means that the output array is smaller and offset. Alternatively, you can pad the input array with zeros to extend the output array. There are three different conventions for handling these edge effects via the `mode` parameter to `np.convolve`:\n", " - **valid**: no zero padding, so output length is $N - K + 1$ and offset is $(K-1)/2$.\n", " - **same**: apply zero padding and trim so output length equals input length $N$, and offset is zero.\n", " - **full**: apply zero padding without trimming, so output length is $N + K - 1$ and offset is $-(K-1)/2$.\n", "\n", "(Here $N$ and $K$ are the input and kernel lengths, respectively).\n", "\n", "We can use a convolution to identify features in our input data:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "def plot_convolved(x, kernel, smax=50):\n", " t = np.arange(len(x))\n", " plt.plot(t, x, lw=1, c='gray')\n", " z = np.convolve(x, kernel, mode='same')\n", " for sel, c in zip(((z > 0), (z < 0)), 'rb'):\n", " plt.scatter(t[sel], x[sel], c=c, s=smax * np.abs(z[sel]), lw=0)\n", " plt.gca()\n", " plt.grid('off')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's pick out regions of large positive (red) or negative slope (notice how the edge padding causes some artifacts):" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_convolved(X[1, 1], [0.5,0,-0.5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also pick out regions of large curvature (using the finite-difference coefficients for a second derivative):" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_convolved(X[1, 1], [1.,-2.,1.])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can apply both of these convolutions to transform our input data to a new representation that highlights regions of large first or second derivative. Use a tanh activation to accentuate the effect:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def apply_convolutions(X, *kernels):\n", " N1, N2, D = X.shape\n", " out = []\n", " for i in range(N1):\n", " sample = []\n", " for j in range(N2):\n", " for K in kernels:\n", " sample.append(np.tanh(np.convolve(X[i, j], K, mode='valid')))\n", " out.append(sample)\n", " return np.asarray(out)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "out = apply_convolutions(X, [0.5,0,-0.5], [1.,-2.,1.])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The resulting array can be viewed as a synthetic image and offers an easy way to visually identify individual narrow peaks and their correlations between traces:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_synthetic(Z):\n", " _, ax = plt.subplots(len(Z), 1, figsize=(9, len(Z)))\n", " for i, z in enumerate(Z):\n", " ax[i].imshow(z, aspect='auto', origin='upper', interpolation='none',\n", " cmap='coolwarm', vmin=-1, vmax=+1);\n", " ax[i].grid('off')\n", " ax[i].axis('off')\n", " plt.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0.1)\n", " \n", "plot_synthetic(out[:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The patterns that identify individual and coincident peaks are all translation invariant so can be identified in this array using a new convolution, but now in the 2D space of these synthetic images.\n", "\n", "Since matrix convolution is a linear operation, it is a special case of our general neural network unit,\n", "$$\n", "\\mathbf{f}(\\mathbf{x}) = W\\mathbf{x} + \\mathbf{b} \\; ,\n", "$$\n", "but with the matrix $W$ now having many repeated elements so its effective number of dimensions is greatly reduced in typical applications.\n", "\n", "A **convolutional layer** takes an arbitrary input array and applies a number of filters with the same shape in parallel. By default, the filter kernels march with single-element steps through the input array, but you can also specify larger **stride vector**.\n", "\n", "In the general case, the input array, kernels and stride vector are all multidimensional, but with the same dimension. Tensorflow provides convenience functions for 1D, 2D and 3D convolutional layers, for example:\n", "```\n", "hidden = tf.layers.Conv2D(\n", " filters=3, kernel_size=[4, 5], strides=[2, 1],\n", " padding='same', activation=tf.nn.relu)\n", "```\n", "Note that `padding` specifies how edges effects are handled, but only `same` and `valid` are supported (and `valid` is the default). You can also implement higher-dimensional convolutional layers using the lower-level APIs.\n", "\n", "A **convolutional neural network (CNN)** is a network containing convolutional layers. A typical architecture starts with convolutional layers, processing the input, then finishes with some fully connected dense layers to calculate the output. Since one of the goals of a CNN is reduce the number of parameters, a CNN often also incorporates [pooling layers](https://en.wikipedia.org/wiki/Convolutional_neural_network#Pooling_layer) to reduce the size of the array fed to to later layers by \"downsampling\" (typically using a maximum or mean value). See [these Stanford CS231n notes](http://cs231n.github.io/convolutional-networks/) for more details in the context of image classification." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "def pulse_model(features, labels, mode, params):\n", " \"\"\"Build a graph to TRAIN/TEST/PREDICT a pulse coincidence detection model.\n", " \"\"\"\n", " D = params['time_steps']\n", " M = params['number_of_traces']\n", " n1 = params['conv1_width']\n", " n2 = params['conv2_width']\n", " eta = params['learning_rate']\n", " assert n1 % 2 == 1 and n2 % 2 == 1\n", "\n", " # Build the input layer.\n", " inputs = tf.reshape(features['X'], [-1, M, D, 1])\n", " # Add the first convolutional layer.\n", " conv1 = tf.layers.conv2d(\n", " inputs=inputs, filters=2, kernel_size=[1, n1],\n", " padding='same', activation=tf.tanh, name='conv1')\n", " # Add the second convolutional (and output) layer.\n", " logits = tf.layers.conv2d(\n", " inputs=conv1, filters=1, kernel_size=[M, n2],\n", " padding='valid', activation=None, name='conv2')\n", " # Flatten the outputs.\n", " logits = tf.reshape(logits, [-1, D - n2 + 1])\n", "\n", " # Calculate the offset between input labels and the output-layer node index\n", " # that is introduced by using padding='valid' for the output layer below.\n", " offset = (n2 - 1) // 2\n", " \n", " # Calculate the network's predicted best label.\n", " predicted_labels = tf.argmax(logits, axis=1) + offset\n", "\n", " # Calculate the network's predicted probability of each label.\n", " probs = tf.nn.softmax(logits)\n", " \n", " # Calculate the network's predicted mean label.\n", " bins = tf.range(0., D - n2 + 1., dtype=np.float32) + offset\n", " mean_labels = tf.reduce_sum(bins * probs, axis=-1)\n", "\n", " # Return predicted labels and probabilities in PREDICT mode.\n", " if mode == tf.estimator.ModeKeys.PREDICT:\n", " return tf.estimator.EstimatorSpec(mode, predictions={\n", " 'label': predicted_labels,\n", " 'probs': tf.nn.softmax(logits)\n", " })\n", " \n", " # Calculate the loss for TRAIN and EVAL modes. We need to offset the labels\n", " # used here so they correspond to output-layer node indices.\n", " loss = tf.losses.sparse_softmax_cross_entropy(labels=labels - offset, logits=logits)\n", " \n", " # Compute evaluation metrics.\n", " if mode == tf.estimator.ModeKeys.EVAL:\n", " accuracy = tf.metrics.accuracy(labels=labels, predictions=predicted_labels)\n", " rmse = tf.metrics.root_mean_squared_error(\n", " labels=tf.cast(labels, np.float32), predictions=mean_labels)\n", " return tf.estimator.EstimatorSpec(\n", " mode, loss=loss, eval_metric_ops={'accuracy': accuracy, 'rmse': rmse})\n", " \n", " # Create optimizer.\n", " assert mode == tf.estimator.ModeKeys.TRAIN\n", " optimizer = tf.train.AdamOptimizer(learning_rate=eta)\n", " step = optimizer.minimize(loss, global_step=tf.train.get_global_step())\n", " return tf.estimator.EstimatorSpec(mode, loss=loss, train_op=step)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "tf.logging.set_verbosity(tf.logging.WARN)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "!rm -rf tfs/pulses" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "config = tf.estimator.RunConfig(\n", " model_dir='tfs/pulses',\n", " tf_random_seed=123\n", ")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "pulse = tf.estimator.Estimator(\n", " config=config,\n", " model_fn=pulse_model,\n", " params = dict(\n", " time_steps=100,\n", " number_of_traces=3,\n", " conv1_width=3,\n", " conv2_width=7,\n", " learning_rate=0.01))" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = model_selection.train_test_split(\n", " X, y, test_size=0.4, random_state=123)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "scrolled": false }, "outputs": [], "source": [ "pulse.train(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': X_train}, y=y_train,\n", " batch_size=500, num_epochs=None, shuffle=True),\n", " steps=500);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compare the kernels learned during training with the derivative kernels we used above. We find that they are qualitatively similar:\n", " - The \"odd\" kernel correlates most strongly with a rising slope, so approximately measures $+f'(t)$.\n", " - The \"even\" kernel correlates most strongly with a local maximum, so approximately measures $-f''(t)$.\n", " - The odd-numbered rows of the image are correlated with the odd kernel, and correlate with a pulse that rises (red) on the left and falls on the right (blue).\n", " - The even-numbered rows of the image are correlated with the even kernel, and correlate with a pulse that peaks (dark red) at the center.\n", " \n", "Note that nothing in the network architecture requires that the three traces be processed the same way in the second convolutional layer (right-hand image), and we do find some variations. A more detailed analysis of these weights would take into account the additional bias parameters and the influence of the activations." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_kernels():\n", " M = pulse.params['number_of_traces']\n", " n1 = pulse.params['conv1_width']\n", " n2 = pulse.params['conv2_width']\n", " K1 = pulse.get_variable_value('conv1/kernel')\n", " K2 = pulse.get_variable_value('conv2/kernel')\n", " assert K1.shape == (1, n1, 1, 2)\n", " assert K2.shape == (M, n2, 2, 1)\n", " _, ax = plt.subplots(1, 2, figsize=(10, 3))\n", " # Plot the two 1D kernels used in the first layer.\n", " dt = np.arange(n1) - 0.5 * (n1 - 1)\n", " ax[0].plot(dt, K1[0, :, 0, 0], 'o:', label='even')\n", " ax[0].plot(dt, K1[0, :, 0, 1], 'o:', label='odd')\n", " ax[0].legend(fontsize='x-large')\n", " # Assemble an image of the second-layer kernel that can be compared with plot_synthetic().\n", " K2img = np.empty((M, 2, n2))\n", " K2img[:, 0] = K2[:, :, 0, 0]\n", " K2img[:, 1] = K2[:, :, 1, 0]\n", " vlim = np.max(np.abs(K2))\n", " ax[1].imshow(K2img.reshape(2 * M, n2), aspect='auto', origin='upper',\n", " interpolation='none', cmap='coolwarm', vmin=-vlim, vmax=+vlim)\n", " ax[1].axis('off')\n", " ax[1].grid('off')\n", " plt.tight_layout()\n", " \n", "plot_kernels()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Evaluate how well the trained network performs on the test data:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "scrolled": false }, "outputs": [], "source": [ "results = pulse.evaluate(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': X_test}, y=y_test,\n", " num_epochs=1, shuffle=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We find that about 95% of test samples are classified \"correctly\", defined as the network predicting the bin containing the the coincidence maximum exactly. However, The RMS error between the predicted and true bins is only 0.4 bins, indicating that the network usually predicts a neighboring bin in the 5% of \"incorrect\" test cases." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'accuracy': 0.94674999,\n", " 'global_step': 500,\n", " 'loss': 0.14994568,\n", " 'rmse': 0.40537277}" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, compare the predicted (gray histogram) and true (dotted line) coincidence locations for a few test samples:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_predictions(X, y):\n", " # Calculate predicted labels and PDFs over labels.\n", " predictions = pulse.predict(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': X}, y=None, num_epochs=1, shuffle=False)) \n", " Nsample, Ntrace, D = X.shape\n", " t = np.linspace(0., 1., 100)\n", " dt = t[1] - t[0]\n", " bins = np.linspace(-0.5 * dt, 1 + 0.5 * dt, len(t) + 1)\n", " probs = np.zeros(D)\n", " # Plot input data, truth, and predictions.\n", " _, ax = plt.subplots(Nsample, 1, figsize=(9, 1.5 * Nsample))\n", " for i, pred in enumerate(predictions):\n", " label = pred['label']\n", " # Plot the input traces.\n", " for x in X[i]:\n", " ax[i].plot(t, x, lw=1)\n", " # Indicate the true coincidence position.\n", " ax[i].axvline(t[y[i]], c='k', ls=':')\n", " # Indicate the predicted probability distribution.\n", " n2 = D - len(pred['probs']) + 1\n", " offset = (n2 - 1) // 2\n", " probs[offset:-offset] = pred['probs']\n", " rhs = ax[i].twinx()\n", " rhs.hist(t, weights=probs, bins=bins, histtype='stepfilled', alpha=0.25, color='k')\n", " rhs.set_ylim(0., 1.)\n", " rhs.set_xlim(bins[0], bins[-1])\n", " rhs.set_yticks([])\n", " ax[i].set_xticks([])\n", " ax[i].set_yticks([])\n", " ax[i].grid('off')\n", " ax[i].set_xlim(bins[0], bins[-1])\n", " plt.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0.1)\n", " \n", "plot_predictions(X_test[:5], y_test[:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that our loss function does not know that consecutive labels are close and being off by one is almost as good as getting the right label. We could change this by treating this as a regression problem, but a nice feature of our multi-category approach is that we can predict a a full probability density over labels (the gray histograms above) which is often useful." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Networks for Unsupervised Learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Neural networks are usually used for supervised learning since their learning is accomplished by optimizing a loss function that compares the network's outputs with some target values. However, it is possible to perform unsupervised learning if we can somehow use the same data for both the input values and the target output values. This requires that the network have the same number of input and output nodes, and effectively means that we are asking it to learn the identify function, which does not sound obviously useful.\n", "\n", "Suppose we have a single hidden layer with the same number of nodes as the input and output layers, then all the network has to do is pass each input value through to the output, which does not require any training at all! However, if the hidden layer has fewer nodes then we are asking the network to solve a more interesting problem: how can the input dataset be encoded and then decoded. This is the same **dimensionality reduction** problem we discussed [earlier](Dimensionality.ipynb), and is known as an **autoencoder network** since it learns to encode itself:\n", "\n", "![AutoEncoder architecture](img/DeepLearning/AutoEncoder.png)\n", "\n", "The network can be thought of as the combination of separate encoder and decoder networks, with the encoder feeding its output latent variables $\\mathbf{z}$ into the decoder. Although the architecture looks symmetric, the encoder and decoder will generally learn different parameters because of the asymmetry introduced by nonlinear activations. These is a high-level design pattern and the internal architectures of the encoder and decoder networks should be customized for the type of data being encoded (and typically combined convolutional and dense layers).\n", "\n", "See this [blog post](http://kvfrans.com/variational-autoencoders-explained/) for an example based on decoding handwritten digits." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Autoencoder Example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Re-use the spectral data for an example. Recall that there are only 200 samples in 500 dimensions:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "X = pd.read_hdf(locate_data('spectra_data.hf5')).values" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in (0, 6, 7):\n", " plt.plot(X[i], '.', ms=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The tensorflow layers API initializes parameters assuming that inputs are roughly normalized:" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "X0 = np.mean(X, axis=0)\n", "Xmax = np.max(np.abs(X - X0))\n", "Xn = (X - X0) / Xmax\n", "original = lambda x: Xmax * x + X0\n", "assert np.allclose(X, original(Xn))" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in (0, 6, 7):\n", " plt.plot(Xn[i], '.', ms=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tensorflow does not provide a premade autoencoder so we build a custom estimator using the intermediate-level layers API:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "def autoencoder_model(features, labels, mode, params):\n", " \"\"\"Build a graph to TRAIN/TEST/PREDICT an autoencoder model.\n", " \"\"\"\n", " D = params['dimension']\n", " C = params['n_components']\n", " eta = params['learning_rate']\n", "\n", " # Build the input layer.\n", " inputs = tf.reshape(features['X'], [-1, D])\n", " # Add encoder hidden layers with softsign activations.\n", " encoded = inputs\n", " for units in params['hidden_units']:\n", " encoded = tf.layers.dense(inputs=encoded, units=units, activation=tf.nn.softsign)\n", " # Add the final encoder layer with linear activation.\n", " latent = tf.layers.dense(inputs=encoded, units=C, activation=None)\n", " # Add decoder hidden layers with softsign activations.\n", " decoded = latent\n", " for units in params['hidden_units'][::-1]:\n", " decoded = tf.layers.dense(inputs=decoded, units=units, activation=tf.nn.softsign)\n", " # The final decoder layer has linear activation.\n", " outputs = tf.layers.dense(inputs=decoded, units=D, activation=None)\n", " \n", " # Return predicted labels and probabilities in PREDICT mode.\n", " if mode == tf.estimator.ModeKeys.PREDICT:\n", " return tf.estimator.EstimatorSpec(mode, predictions={\n", " 'latent': latent, 'output': outputs})\n", " \n", " # Calculate the loss for TRAIN and EVAL modes.\n", " loss = tf.nn.l2_loss(outputs - inputs)\n", " \n", " # Compute evaluation metrics.\n", " if mode == tf.estimator.ModeKeys.EVAL:\n", " return tf.estimator.EstimatorSpec(mode, loss=loss)\n", " \n", " # Create optimizer.\n", " optimizer = tf.train.AdamOptimizer(learning_rate=eta)\n", " step = optimizer.minimize(loss, global_step=tf.train.get_global_step())\n", " return tf.estimator.EstimatorSpec(mode, loss=loss, train_op=step)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The subsequent steps are similar to the previous examples:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "tf.logging.set_verbosity(tf.logging.WARN)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "!rm -rf tfs/autoenc" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "config = tf.estimator.RunConfig(\n", " model_dir='tfs/autoenc',\n", " tf_random_seed=123\n", ")" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "autoenc = tf.estimator.Estimator(\n", " config=config,\n", " model_fn=autoencoder_model,\n", " params = dict(\n", " dimension=500,\n", " hidden_units=[4],\n", " n_components=2,\n", " learning_rate=0.01))" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "scrolled": false }, "outputs": [], "source": [ "autoenc.train(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': Xn}, y=None,\n", " batch_size=200, num_epochs=None, shuffle=True),\n", " steps=1000);" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_reconstructed(Xn, model):\n", " predictions = model.predict(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': Xn}, y=None, num_epochs=1, shuffle=False))\n", " N, D = Xn.shape\n", " fig = plt.figure(figsize=(8.5, 4))\n", " for i, pred in enumerate(predictions):\n", " Xr = original(pred['output'])\n", " plt.plot(original(Xn[i]), '.', ms=5)\n", " plt.plot(Xr, 'k-', lw=1, alpha=0.5)\n", " plt.xlim(-0.5, D+0.5)\n", " plt.xlabel('Feature #')\n", " plt.ylabel('Normalized Feature Value')\n", " \n", "plot_reconstructed(Xn[[0, 6, 7]], model=autoenc)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_latent(Xn, model):\n", " predictions = model.predict(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': Xn}, y=None, num_epochs=1, shuffle=False))\n", " latent = []\n", " for pred in predictions:\n", " latent.append(pred['latent'])\n", " df = pd.DataFrame(latent)\n", " sns.pairplot(df)\n", " return df\n", " \n", "latent = plot_latent(Xn, model=autoenc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Variational Autoencoder" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A further refinement on the autoencoder idea is to learn a posterior probability distribution in the latent variable space, instead of simply mapping each input to its corresponding point in the latent variable space. This is easier than it sounds if we assume that the posterior for each individual sample is described by an (uncorrelated) multi-variate Gaussian.\n", "\n", "In practice, we simply need to learn how to transform each input to a corresponding vector of means $\\mathbf{\\mu}$ and sigmas $\\mathbf{\\sigma}$ in the latent variable space, effectively doubling the the number of output values for the encoder network, now re-interpreted as a posterior inference network. Since this first stage is effectively a variational model of the posterior, learning its parameters is equivalent to performing a variational inference and we call this approach a **variational autoencoder (VAE)**.\n", "\n", "The decoder network is also re-interpreted as a probabilistic generator of realistic (smoothed) data. It is a generator rather than a decoder since it is no longer directly connected to the inputs. After training, it can be useful as a standalone simulator of realistic inputs.\n", "\n", "Finally we need a prior we we take to be a unit (multivariate) Gaussian in the latent-variable space. This is an arbitrary choice, but some choice is necessary in order to setup the balance between the influence of each input against some prior that is a key feature of Bayesian learning. In effect, we are reversing the way we usually build a model, which is to specify the parameters then ask what their prior should be. Instead, we are specifying the prior and then learning a (latent) parameter space that can explain the data with this prior.\n", "\n", "![Variational autoencoder architecture](img/DeepLearning/VariationalAutoEncoder.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a bit more detail, the upper network implements a variational model $Q(z;X,\\Theta)$ for the posterior probability density $P(X\\mid z)$ of a single sample $X$, parameterized by its weights and biases in $\\Theta$. Specifically, $Q$ is a multivariate Gaussian in $z$ with parameters $\\mu_z(X, \\Theta)$ and $\\sigma_z(X, \\Theta)$ output by the upper network.\n", "\n", "The lower network generates $X$ from $z$ and the the part of the loss function that compares its output against the input plays the role of the negative-log likelihood $-\\log P(X\\mid z)$ of a single sample $X$.\n", "\n", "Recall that in variational inference, we minimize the negative ELBO:\n", "$$\n", "-\\int d z\\, Q(z; X,\\Theta) \\log P(X\\mid z) + \\text{KL}(Q\\parallel P)\n", "= \\langle -\\log P(X\\mid z)\\rangle_{z\\sim Q} + \\text{KL}(Q\\parallel P)\n", "\\; ,\n", "$$\n", "where $P$ is the prior on $z$. Since both $Q$ and $P$ are (multivariate) Gaussians, we can evaluate their KL divergence analytically, as\n", "$$\n", "\\text{KL}(Q\\parallel P) = \\frac{1}{2} \\sum_{i=1}^C\\,\n", "\\left[ \\mu_{z,i}^2 + \\sigma_{z,i}^2 - \\log \\sigma_{z,i}^2 - 1 \\right]\n", "$$\n", "where $C$ is the dimension of the latent space. Therefore the total loss function we want to optimize combines the likelihood, which compares the input with the generated output, and a KL divergence term. If we assume that the data samples have Gaussian homoscedastic noise with variance $\\sigma_x^2$, then the first time in the negative ELBO is\n", "$$\n", "-\\log P(X\\mid z) = \\frac{1}{2\\sigma_x^2} \\left| \\mathbf{X}_{out} - \\mathbf{X}_{in}\\right|^2 + \\text{constant} \\; .\n", "$$\n", "Note that is almost the $L_2$ loss, but since we are combining it with the KL term, we must keep track of the $\\sigma_x^{-2}$ scaling. With this choice of noise model, $\\sigma_x$ is a hyperparameter but other noise models (e.g., Poisson errors) would not need any hyperparameter. After normalization, the uncertainties in this dataset correspond to $\\sigma_x \\simeq 0.017$.\n", "\n", "Finally, training the overall network accomplishes two goals in parallel:\n", " - Find a latent space where a unit Gaussian prior can explain the training data.\n", " - Perform variational inference to find the best $Q(z; X, \\Theta)$ that approximates the posteriors $P(z\\mid X)$ for each training sample.\n", "\n", "See this [tutorial](https://arxiv.org/abs/1606.05908) for more details on the probabilistic background of VAE." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our custom estimator to implement a VAE shares most of its code with the earlier autoencoder:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "def variational_autoencoder_model(features, labels, mode, params):\n", " \"\"\"Build a graph to TRAIN/TEST/PREDICT a variational autoencoder model.\n", " \"\"\"\n", " D = params['dimension']\n", " C = params['n_components']\n", " eta = params['learning_rate']\n", " sigx = params['noise_sigma']\n", "\n", " # Build the input layer.\n", " inputs = tf.reshape(features['X'], [-1, D])\n", " # Add encoder hidden layers with softsign activations.\n", " encoded = inputs\n", " for units in params['hidden_units']:\n", " encoded = tf.layers.dense(inputs=encoded, units=units, activation=tf.nn.softsign)\n", "\n", " # Add the final encoder layer with linear activation.\n", " # Estimate the posterior mean and t=log(sigma) in the latent space.\n", " latent_mu = tf.layers.dense(inputs=encoded, units=C, activation=None)\n", " latent_t = tf.layers.dense(inputs=encoded, units=C, activation=None)\n", " \n", " # Draw random samples from the encoded posterior.\n", " sigma = tf.exp(latent_t)\n", " latent = latent_mu + sigma * tf.random_normal(tf.shape(sigma))\n", " \n", " # Add decoder hidden layers with softsign activations.\n", " decoded = latent\n", " for units in params['hidden_units'][::-1]:\n", " decoded = tf.layers.dense(inputs=decoded, units=units, activation=tf.nn.softsign)\n", " # The final decoder layer has linear activation.\n", " outputs = tf.layers.dense(inputs=decoded, units=D, activation=None)\n", " \n", " # Return predicted labels and probabilities in PREDICT mode.\n", " if mode == tf.estimator.ModeKeys.PREDICT:\n", " return tf.estimator.EstimatorSpec(mode, predictions={\n", " 'mean': latent_mu,\n", " 'sigma': sigma,\n", " 'latent': latent,\n", " 'output': outputs})\n", " \n", " # Calculate the loss for TRAIN and EVAL modes.\n", " decoder_loss = tf.reduce_sum((outputs - inputs) ** 2, axis=1) / (2 * sigx)\n", " kl_loss = 0.5 * tf.reduce_sum(latent_mu ** 2 + sigma ** 2 - 2 * latent_t - 1, axis=1)\n", " loss = tf.reduce_mean(decoder_loss + kl_loss)\n", " \n", " # Compute evaluation metrics.\n", " if mode == tf.estimator.ModeKeys.EVAL:\n", " return tf.estimator.EstimatorSpec(mode, loss=loss)\n", " \n", " # Create optimizer.\n", " optimizer = tf.train.AdamOptimizer(learning_rate=eta)\n", " step = optimizer.minimize(loss, global_step=tf.train.get_global_step())\n", " return tf.estimator.EstimatorSpec(mode, loss=loss, train_op=step)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "tf.logging.set_verbosity(tf.logging.WARN)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "!rm -rf tfs/vae" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "config = tf.estimator.RunConfig(\n", " model_dir='tfs/vae',\n", " tf_random_seed=123\n", ")" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "vae = tf.estimator.Estimator(\n", " config=config,\n", " model_fn=variational_autoencoder_model,\n", " params = dict(\n", " dimension=500,\n", " hidden_units=[],\n", " n_components=2,\n", " noise_sigma=0.015,\n", " learning_rate=0.001))" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "scrolled": false }, "outputs": [], "source": [ "vae.train(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': Xn}, y=None,\n", " batch_size=250, num_epochs=None, shuffle=True),\n", " steps=10000);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plots below summarize the trained network's predictions. The left plot shows random samples drawn from the posteriors of individual samples and the right plot shows the distribution of the training data in the latent space. A few samples are highlighted in red in both plots: ellipses in the right-hand plot show each sample's posterior compared with the prior (dotted red circle)." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_predicted(Xn, model=vae, nsamples=5, nsig=2.45):\n", " predictions = model.predict(\n", " input_fn=tf.estimator.inputs.numpy_input_fn(\n", " x={'X': Xn}, y=None, num_epochs=1, shuffle=False))\n", " N, D = Xn.shape\n", " mean, sigma, z = [], [], []\n", " _, ax = plt.subplots(1, 2, figsize=(12, 6)) \n", " for i, pred in enumerate(predictions):\n", " Xr = original(pred['output'])\n", " if i < nsamples:\n", " ax[0].plot(Xr, 'r-', lw=1, alpha=0.5, zorder=10)\n", " else:\n", " ax[0].plot(Xr, 'k-', lw=4, alpha=0.02)\n", " mean.append(pred['mean'])\n", " sigma.append(pred['sigma'])\n", " z.append(pred['latent'])\n", " ax[0].set_xlim(-0.5, D+0.5)\n", " ax[0].set_xlabel('Feature #')\n", " ax[0].set_ylabel('Feature Value')\n", " mean = np.array(mean)\n", " sigma = np.array(sigma)\n", " z = np.array(z)\n", " ax[1].scatter(z[:, 0], z[:, 1], s=10, lw=0)\n", " ax[1].add_artist(plt.Circle([0,0], nsig, ls=':', fc='none', ec='r', lw=1))\n", " mu = mean[:nsamples]\n", " ax[1].scatter(mu[:, 0], mu[:, 1], s=25, marker='+', color='r') \n", " widths = nsig * sigma[:nsamples, 0]\n", " heights = nsig * sigma[:nsamples, 1]\n", " angles = np.zeros_like(widths)\n", " ax[1].add_collection(matplotlib.collections.EllipseCollection(\n", " widths, heights, angles, units='xy', offsets=mu, linewidths=1,\n", " transOffset=ax[1].transData, facecolors='none', edgecolors='r'))\n", " ax[1].set_xlabel('Latent variable $z_1$')\n", " ax[1].set_ylabel('Latent variable $z_2$')\n", " \n", "plot_predicted(Xn)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Generative-Adversarial Network" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Building on the theme of a probabilistic generator, we can set up an \"arms race\" between two networks:\n", " - A generator that learns to synthesize realistic data.\n", " - An adversary that learns to discriminate between real and generated data.\n", " \n", "This is the central idea of a **generative-adversarial network (GAN)**, which is a [recent idea](https://arxiv.org/abs/1406.2661) (2014):\n", "\n", "![Generative adversarial network](img/DeepLearning/GAN.png)\n", "\n", "Each training step now has several parts:\n", " - Generate some random data.\n", " - Test how well the discriminator identifies the generated data as a fake.\n", " - Feed the same discriminator some real data.\n", " - Test how well the discriminator identifies the real data as real.\n", "\n", "Optimizing the loss function then simultaneously improves the generator and the discriminator. The usual goal of training a GAN is to obtain a useful generator of realistic data.\n", "\n", "See this [blog post](http://kvfrans.com/generative-adversial-networks-explained/) for an example based on image generation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Recurrent Networks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All the architectures we have seen so far are **feed-foward** networks, with input data always from left (input layer) to right (output layer). A **recurrent neural network (RNN)** adds links that feed back into a previous layer. This simple modification adds significant complexity but also expressive power (comparable to the electronics revolution associated with the idea of transistor feedback).\n", "\n", "Architectures with feedback are still maturing but some useful building blocks have emerged, such as the [long short-term memory unit](https://en.wikipedia.org/wiki/Long_short-term_memory), which allows a network to remember some internal state but also forget it based on new input.\n", "\n", "Some practical considerations for RNN designs:\n", " - The order of training data is now significant and defines a \"model time\", but the network can be reset whenever needed.\n", " - Input data can be packaged into variable-length messages that generate variable (and different) length output messages. This is exactly what language translation needs.\n", " - Optimization of the weights using gradients is still possible but requires \"unrolling\" the network by cloning it enough times to process the longest allowed messages.\n", " \n", "A feed-foward network implements a universal approximating function. Since the internal state of an RNN acts like local variables, you can think of an RNN as a universal approximating program.\n", "\n", "See this [blog post](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) for an example based on natural language synthesis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reinforcement Learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The architectures we have seen so far all have target output values associated with each input sample, which are necessary to update the network parameters during the learning (loss optimization) phase:\n", "\n", "![Sample learning](img/DeepLearning/SampleLearning.png)\n", "\n", "\n", "However, we can relax this requirement of being able to calculate a loss after each new input as long as we eventually get some feedback on how well our input-to-output mapping is doing. This is the key idea of **reinforcement learning (RL)**:\n", "\n", "![Reinforcement learning](img/DeepLearning/ReinforcementLearning.png)\n", "\n", "A RL network watches some external \"reality\" (which is often simulated) and learns a policy for how to take actions. A sequence of actions eventually leads to some feedback, which is then used to take a single step in optimizing the policy network's parameters:\n", "\n", "![Policy network](img/DeepLearning/PolicyNetwork.png)\n", "\n", "See this [blog post](http://karpathy.github.io/2016/05/31/rl/) for an example based on image generation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Deep Learning Outlook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The depth of \"deep learning\" comes primarily from network architectures that stack many layers. In another sense, deep learning is very shallow since it often performs well using little to no specific knowledge about the problem it is solving, using generic building blocks.\n", "\n", "The field of modern deep learning [started around 2012](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf) when the architectures described above were first used successfully, and the necessary large-scale computing and datasets were available. Massive neural networks are now the state of the art for many benchmark problems, including image classification, speech recognition and language translation.\n", "\n", "However, less than a decade into the field, there are signs that deep learning is reaching its limits. Some of the pioneers are focusing on new directions such as [capsule networks](https://arxiv.org/abs/1710.09829) and [causal inference](https://arxiv.org/abs/1801.04016). Others are taking a [critical look](https://arxiv.org/abs/1801.00631) at the current state of the field:\n", " - Deep learning does not use data efficiently.\n", " - Deep learning does not integrate prior knowledge.\n", " - Deep learning often give correct answers but without associated uncertainties.\n", " - Deep learning applications are hard to interpret and transfer to related problems.\n", " - Deep learning is excellent at learning stable input-output mappings but does cope well with varying conditions.\n", " - Deep learning cannot distinguish between correlation and causation.\n", " \n", "These are mostly concerns for the future of neural networks as a general model for artificial intelligence, but they also limit the potential of scientific applications.\n", "\n", "However, there are many challenges in scientific data analysis and interpretation that could benefit from deep learning approaches, so I encourage you to follow the field and experiment." ] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }