├── LICENSE ├── README.md ├── Triplet_loss_KERAS_semi_hard_from_TF.ipynb ├── images ├── base_network.png ├── model.png ├── pca_decomposition_before_after.png ├── train_validation_loss.png ├── triplet_loss_function_2.png └── triplet_loss_viz.png └── trained model └── semiH_trip_MNIST_v13_ep25_BS256.hdf5 /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Adrian-Stefan Ungureanu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Keras-Triplet-loss-MNIST 2 | Train a Keras model using the Tensorflow function of semi-hard triplet loss, on the MNIST dataset. 3 | 4 | ![alt text](images/pca_decomposition_before_after.png "Logo Title Text 1") 5 | 6 | **Disclaimer1**: the major contribution of this script lies in the combination of the tensorflow function with the Keras Model API. For this reason I had to define the function (as well as its support functions) locally. 7 | 8 | ### Please check out the *Tensorflow documentation page for the function* [here](https://www.tensorflow.org/api_docs/python/tf/contrib/losses/metric_learning/triplet_semihard_loss). 9 | Make sure you are using the same tensorflow version! 10 | 11 | ### Python script can be found in the ipython notebook 'Triplet_loss_KERAS_semi_hard_from_TF.ipynb' 12 | 13 | ## Resources 14 | * Keras 2.1.6 15 | * Tensorflow 1.8.0 16 | 17 | ## Triplet Loss explained: 18 | ![alt text](images/triplet_loss_viz.png "Logo Title Text 1") 19 | 20 | Figures taken from paper introducing Facenet(1). **Figure 2** represents the general idea of encoding images into a series of numbers much smaller than the image's size. 21 | 22 | **Figure 3** presents the manner of training the network to differentiate between intra-class and inter-class cases. By pairing the images into triplet pairs of *Anchor-Positive* and *Anchor-Negative*, the network learns the distribution of images from each class with respect to all other classes. 23 | 24 | The **loss function** is defined as: 25 | 26 | ![alt text](images/triplet_loss_function_2.png "Logo Title Text 1") 27 | 28 | Where *d(A,P)* and *d(A,N)* represent the Euclidean distances between the Anchor and the Positive and Negative pairs. *margin* is a parameter helping the network learning a specific distance between positive and negative samples (using the anchor). 29 | 30 | Positive and Negative pairs are important to training the network correctly. Ideally the Anchor-Positive templates should have large(r) distance between them whereas the Anchor-Negative templates should have small(er) distance. These represent **HARD examples** 31 | 32 | ## Preparing the network 33 | First, the network architecture was defined, with an *Input* layer of the same shape as the input image (28x28) and an *Output* layer of size (64), representing the embedding. 34 | ```python 35 | def create_base_network(image_input_shape, embedding_size): 36 | """ 37 | Base network to be shared (eq. to feature extraction). 38 | """ 39 | input_image = Input(shape=image_input_shape) 40 | 41 | x = Flatten()(input_image) 42 | x = Dense(128, activation='relu')(x) 43 | x = Dropout(0.1)(x) 44 | x = Dense(128, activation='relu')(x) 45 | x = Dropout(0.1)(x) 46 | x = Dense(embedding_size)(x) 47 | 48 | base_network = Model(inputs=input_image, outputs=x) 49 | plot_model(base_network, to_file='base_network.png', show_shapes=True, show_layer_names=True) 50 | return base_network 51 | ``` 52 | 53 | ![alt text](images/base_network.png "Logo Title Text 1") 54 | 55 | We then define the Model such that the Triplet Loss function receives all the embeddings from each batch, as well as their corresponding labels (used for determining the best triplet-pairs). This is done by defining an input layer for the labels and then concatenating it to the embeddings. 56 | ```python 57 | base_network = create_base_network(input_image_shape, embedding_size) 58 | 59 | input_images = Input(shape=input_image_shape, name='input_image') # input layer for images 60 | input_labels = Input(shape=(1,), name='input_label') # input layer for labels 61 | embeddings = base_network([input_images]) # output of network -> embeddings 62 | labels_plus_embeddings = concatenate([input_labels, embeddings]) # concatenating the labels + embeddings 63 | 64 | # Defining a model with inputs (images, labels) and outputs (labels_plus_embeddings) 65 | model = Model(inputs=[input_images, input_labels], 66 | outputs=labels_plus_embeddings) 67 | ``` 68 | ![alt text](images/model.png "Logo Title Text 1") 69 | 70 | ## Training 71 | In order to train, we need to define some 'dummy' embeddings to pass as **ground truth (y)** values 72 | ```python 73 | opt = Adam(lr=0.0001) # choose optimiser. RMS is good too! 74 | model.compile(loss=triplet_loss_lol, 75 | optimizer=opt) 76 | 77 | filepath = "semiH_trip_MNIST_v13_test_ep{epoch:02d}_BS%d.hdf5" % batch_size 78 | checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=False, period=25) 79 | callbacks_list = [checkpoint] 80 | 81 | # Uses 'dummy' embeddings + dummy gt labels; removed as soon as they enter the loss function... 82 | dummy_gt_train = np.zeros((len(x_train), embedding_size + 1)) 83 | dummy_gt_val = np.zeros((len(x_val), embedding_size + 1)) 84 | 85 | x_train = np.reshape(x_train, (len(x_train), x_train.shape[1], x_train.shape[1], 1)) 86 | x_val = np.reshape(x_val, (len(x_val), x_train.shape[1], x_train.shape[1], 1)) 87 | H = model.fit(x=[x_train,y_train], 88 | y=dummy_gt_train, 89 | batch_size=batch_size, 90 | epochs=epochs, 91 | validation_data=([x_val, y_val], dummy_gt_val), 92 | callbacks=callbacks_list) 93 | ``` 94 | ## Visualizing separation of classes 95 | We need to: 96 | 1. Make an empty network 97 | ```python 98 | # creating an empty network 99 | testing_embeddings = create_base_network(input_image_shape, 100 | embedding_size=embedding_size) 101 | # embeddings before training... 102 | x_embeddings_before_train = testing_embeddings.predict(np.reshape(x_test, (len(x_test), 28, 28, 1))) 103 | ``` 104 | 105 | 2. Loop over the trained model and copy weights 106 | ```python 107 | # Grabbing the weights from the trained network 108 | for layer_target, layer_source in zip(testing_embeddings.layers, model.layers[2].layers): 109 | weights = layer_source.get_weights() 110 | layer_target.set_weights(weights) 111 | del weights 112 | ``` 113 | 114 | 3. Obtain predictions (embeddings) for test set 115 | ```python 116 | x_embeddings = testing_embeddings.predict(np.reshape(x_test, (len(x_test), 28, 28, 1))) 117 | ``` 118 | 119 | 4. Obtain PCA decomposition 120 | ```python 121 | dict_embeddings = {} 122 | dict_gray = {} 123 | test_class_labels = np.unique(np.array(y_test)) 124 | 125 | pca = PCA(n_components=no_of_components) 126 | decomposed_embeddings = pca.fit_transform(x_embeddings) 127 | decomposed_gray = pca.fit_transform(x_embeddings_before_train) 128 | ``` 129 | 5. Visualize the separation... 130 | ![alt text](images/pca_decomposition_before_after.png "Logo Title Text 1") 131 | 132 | ### I hope this script will be helpful to anyone that wants to use Triplet Loss with Keras 133 | 134 | ## References and Other resources: 135 | 136 | (1) F. Schroff and J. Philbin, “FaceNet: A Unified Embedding for Face Recognition and Clustering,” in Proceedings of the IEEE conference on computer vision and pattern recognition (CVPR), 2015, pp. 815–823. [arxiv link](https://arxiv.org/abs/1503.03832) 137 | 138 | (2) [Blog post](https://omoindrot.github.io/triplet-loss) explaining Triplet loss very well. [Their github page](https://github.com/omoindrot/tensorflow-triplet-loss) 139 | 140 | (3) A. Hermans, L. Beyer, and B. Leibe, “In Defense of the Triplet Loss for Person Re-Identification,” 2017. Loss [arxiv paper](https://arxiv.org/pdf/1703.07737.pdf) 141 | 142 | (4) Semi-hard Triplet Loss function (tensorflow) [doc page](https://www.tensorflow.org/api_docs/python/tf/contrib/losses/metric_learning/triplet_semihard_loss) 143 | -------------------------------------------------------------------------------- /Triplet_loss_KERAS_semi_hard_from_TF.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Keras-Triplet-loss-MNIST\n", 8 | "Train a Keras model using the semi-hard Triplet Loss (tensorflow) function on MNIST dataset\n", 9 | "\n", 10 | "**Disclaimer**: This script is based on the example of Siamese network provided by **Keras-team** found [here](https://github.com/keras-team/keras/blob/master/examples/mnist_siamese.py).\n", 11 | "\n", 12 | "## Resources\n", 13 | "* Keras 2.1.6\n", 14 | "* Tensorflow 1.8.0\n", 15 | "\n", 16 | "## Triplet Loss explained:\n", 17 | "\n", 18 | "![alt text](naive_implementation/triplet_loss_viz.png \"Logo Title Text 1\")\n", 19 | "\n", 20 | "Figures taken from paper introducing Facenet(1). **Figure 2** represents the general idea of encoding images into a series of numbers much smaller than the image's size.\n", 21 | "\n", 22 | "**Figure 3** presents the manner of training the network to differentiate between intra-class and inter-class cases. By pairing the images into triplet pairs of *Anchor-Positive* and *Anchor-Negative*, the network learns the distribution of images from each class with respect to all other classes.\n", 23 | "\n", 24 | "\n", 25 | "Let's import some necessary functions" 26 | ] 27 | }, 28 | { 29 | "cell_type": "code", 30 | "execution_count": 1, 31 | "metadata": {}, 32 | "outputs": [ 33 | { 34 | "name": "stderr", 35 | "output_type": "stream", 36 | "text": [ 37 | "/home/galwaydnn/.local/lib/python2.7/site-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", 38 | " from ._conv import register_converters as _register_converters\n", 39 | "Using TensorFlow backend.\n" 40 | ] 41 | } 42 | ], 43 | "source": [ 44 | "## dataset\n", 45 | "from keras.datasets import mnist\n", 46 | "\n", 47 | "## for Model definition/training\n", 48 | "from keras.models import Model, load_model\n", 49 | "from keras.layers import Input, Flatten, Dense, concatenate, Dropout\n", 50 | "from keras.optimizers import Adam\n", 51 | "\n", 52 | "from keras.utils import plot_model\n", 53 | "from keras.callbacks import ModelCheckpoint\n", 54 | "\n", 55 | "## required for semi-hard triplet loss:\n", 56 | "from tensorflow.python.ops import array_ops\n", 57 | "from tensorflow.python.ops import math_ops\n", 58 | "from tensorflow.python.framework import dtypes\n", 59 | "import tensorflow as tf\n", 60 | "\n", 61 | "## for visualizing \n", 62 | "import matplotlib.pyplot as plt, numpy as np\n", 63 | "from sklearn.decomposition import PCA" 64 | ] 65 | }, 66 | { 67 | "cell_type": "markdown", 68 | "metadata": { 69 | "collapsed": true 70 | }, 71 | "source": [ 72 | "### include the necessary functions for triplet loss:\n", 73 | "** (from TF libraries) **" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": 2, 79 | "metadata": { 80 | "collapsed": true 81 | }, 82 | "outputs": [], 83 | "source": [ 84 | "def pairwise_distance(feature, squared=False):\n", 85 | " \"\"\"Computes the pairwise distance matrix with numerical stability.\n", 86 | "\n", 87 | " output[i, j] = || feature[i, :] - feature[j, :] ||_2\n", 88 | "\n", 89 | " Args:\n", 90 | " feature: 2-D Tensor of size [number of data, feature dimension].\n", 91 | " squared: Boolean, whether or not to square the pairwise distances.\n", 92 | "\n", 93 | " Returns:\n", 94 | " pairwise_distances: 2-D Tensor of size [number of data, number of data].\n", 95 | " \"\"\"\n", 96 | " pairwise_distances_squared = math_ops.add(\n", 97 | " math_ops.reduce_sum(math_ops.square(feature), axis=[1], keepdims=True),\n", 98 | " math_ops.reduce_sum(\n", 99 | " math_ops.square(array_ops.transpose(feature)),\n", 100 | " axis=[0],\n", 101 | " keepdims=True)) - 2.0 * math_ops.matmul(feature,\n", 102 | " array_ops.transpose(feature))\n", 103 | "\n", 104 | " # Deal with numerical inaccuracies. Set small negatives to zero.\n", 105 | " pairwise_distances_squared = math_ops.maximum(pairwise_distances_squared, 0.0)\n", 106 | " # Get the mask where the zero distances are at.\n", 107 | " error_mask = math_ops.less_equal(pairwise_distances_squared, 0.0)\n", 108 | "\n", 109 | " # Optionally take the sqrt.\n", 110 | " if squared:\n", 111 | " pairwise_distances = pairwise_distances_squared\n", 112 | " else:\n", 113 | " pairwise_distances = math_ops.sqrt(\n", 114 | " pairwise_distances_squared + math_ops.to_float(error_mask) * 1e-16)\n", 115 | "\n", 116 | " # Undo conditionally adding 1e-16.\n", 117 | " pairwise_distances = math_ops.multiply(\n", 118 | " pairwise_distances, math_ops.to_float(math_ops.logical_not(error_mask)))\n", 119 | "\n", 120 | " num_data = array_ops.shape(feature)[0]\n", 121 | " # Explicitly set diagonals to zero.\n", 122 | " mask_offdiagonals = array_ops.ones_like(pairwise_distances) - array_ops.diag(\n", 123 | " array_ops.ones([num_data]))\n", 124 | " pairwise_distances = math_ops.multiply(pairwise_distances, mask_offdiagonals)\n", 125 | " return pairwise_distances\n", 126 | "\n", 127 | "def masked_maximum(data, mask, dim=1):\n", 128 | " \"\"\"Computes the axis wise maximum over chosen elements.\n", 129 | "\n", 130 | " Args:\n", 131 | " data: 2-D float `Tensor` of size [n, m].\n", 132 | " mask: 2-D Boolean `Tensor` of size [n, m].\n", 133 | " dim: The dimension over which to compute the maximum.\n", 134 | "\n", 135 | " Returns:\n", 136 | " masked_maximums: N-D `Tensor`.\n", 137 | " The maximized dimension is of size 1 after the operation.\n", 138 | " \"\"\"\n", 139 | " axis_minimums = math_ops.reduce_min(data, dim, keepdims=True)\n", 140 | " masked_maximums = math_ops.reduce_max(\n", 141 | " math_ops.multiply(data - axis_minimums, mask), dim,\n", 142 | " keepdims=True) + axis_minimums\n", 143 | " return masked_maximums\n", 144 | "\n", 145 | "def masked_minimum(data, mask, dim=1):\n", 146 | " \"\"\"Computes the axis wise minimum over chosen elements.\n", 147 | "\n", 148 | " Args:\n", 149 | " data: 2-D float `Tensor` of size [n, m].\n", 150 | " mask: 2-D Boolean `Tensor` of size [n, m].\n", 151 | " dim: The dimension over which to compute the minimum.\n", 152 | "\n", 153 | " Returns:\n", 154 | " masked_minimums: N-D `Tensor`.\n", 155 | " The minimized dimension is of size 1 after the operation.\n", 156 | " \"\"\"\n", 157 | " axis_maximums = math_ops.reduce_max(data, dim, keepdims=True)\n", 158 | " masked_minimums = math_ops.reduce_min(\n", 159 | " math_ops.multiply(data - axis_maximums, mask), dim,\n", 160 | " keepdims=True) + axis_maximums\n", 161 | " return masked_minimums" 162 | ] 163 | }, 164 | { 165 | "cell_type": "markdown", 166 | "metadata": {}, 167 | "source": [ 168 | "## Define our Triplet Loss" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 3, 174 | "metadata": { 175 | "collapsed": true 176 | }, 177 | "outputs": [], 178 | "source": [ 179 | "def triplet_loss_adapted_from_tf(y_true, y_pred):\n", 180 | " del y_true\n", 181 | " margin = 1.\n", 182 | " labels = y_pred[:, :1]\n", 183 | "\n", 184 | " \n", 185 | " labels = tf.cast(labels, dtype='int32')\n", 186 | "\n", 187 | " embeddings = y_pred[:, 1:]\n", 188 | "\n", 189 | " ### Code from Tensorflow function [tf.contrib.losses.metric_learning.triplet_semihard_loss] starts here:\n", 190 | " \n", 191 | " # Reshape [batch_size] label tensor to a [batch_size, 1] label tensor.\n", 192 | " # lshape=array_ops.shape(labels)\n", 193 | " # assert lshape.shape == 1\n", 194 | " # labels = array_ops.reshape(labels, [lshape[0], 1])\n", 195 | "\n", 196 | " # Build pairwise squared distance matrix.\n", 197 | " pdist_matrix = pairwise_distance(embeddings, squared=True)\n", 198 | " # Build pairwise binary adjacency matrix.\n", 199 | " adjacency = math_ops.equal(labels, array_ops.transpose(labels))\n", 200 | " # Invert so we can select negatives only.\n", 201 | " adjacency_not = math_ops.logical_not(adjacency)\n", 202 | "\n", 203 | " # global batch_size \n", 204 | " batch_size = array_ops.size(labels) # was 'array_ops.size(labels)'\n", 205 | "\n", 206 | " # Compute the mask.\n", 207 | " pdist_matrix_tile = array_ops.tile(pdist_matrix, [batch_size, 1])\n", 208 | " mask = math_ops.logical_and(\n", 209 | " array_ops.tile(adjacency_not, [batch_size, 1]),\n", 210 | " math_ops.greater(\n", 211 | " pdist_matrix_tile, array_ops.reshape(\n", 212 | " array_ops.transpose(pdist_matrix), [-1, 1])))\n", 213 | " mask_final = array_ops.reshape(\n", 214 | " math_ops.greater(\n", 215 | " math_ops.reduce_sum(\n", 216 | " math_ops.cast(mask, dtype=dtypes.float32), 1, keepdims=True),\n", 217 | " 0.0), [batch_size, batch_size])\n", 218 | " mask_final = array_ops.transpose(mask_final)\n", 219 | "\n", 220 | " adjacency_not = math_ops.cast(adjacency_not, dtype=dtypes.float32)\n", 221 | " mask = math_ops.cast(mask, dtype=dtypes.float32)\n", 222 | "\n", 223 | " # negatives_outside: smallest D_an where D_an > D_ap.\n", 224 | " negatives_outside = array_ops.reshape(\n", 225 | " masked_minimum(pdist_matrix_tile, mask), [batch_size, batch_size])\n", 226 | " negatives_outside = array_ops.transpose(negatives_outside)\n", 227 | "\n", 228 | " # negatives_inside: largest D_an.\n", 229 | " negatives_inside = array_ops.tile(\n", 230 | " masked_maximum(pdist_matrix, adjacency_not), [1, batch_size])\n", 231 | " semi_hard_negatives = array_ops.where(\n", 232 | " mask_final, negatives_outside, negatives_inside)\n", 233 | "\n", 234 | " loss_mat = math_ops.add(margin, pdist_matrix - semi_hard_negatives)\n", 235 | "\n", 236 | " mask_positives = math_ops.cast(\n", 237 | " adjacency, dtype=dtypes.float32) - array_ops.diag(\n", 238 | " array_ops.ones([batch_size]))\n", 239 | "\n", 240 | " # In lifted-struct, the authors multiply 0.5 for upper triangular\n", 241 | " # in semihard, they take all positive pairs except the diagonal.\n", 242 | " num_positives = math_ops.reduce_sum(mask_positives)\n", 243 | "\n", 244 | " semi_hard_triplet_loss_distance = math_ops.truediv(\n", 245 | " math_ops.reduce_sum(\n", 246 | " math_ops.maximum(\n", 247 | " math_ops.multiply(loss_mat, mask_positives), 0.0)),\n", 248 | " num_positives,\n", 249 | " name='triplet_semihard_loss')\n", 250 | " \n", 251 | " ### Code from Tensorflow function semi-hard triplet loss ENDS here.\n", 252 | " return semi_hard_triplet_loss_distance" 253 | ] 254 | }, 255 | { 256 | "cell_type": "markdown", 257 | "metadata": {}, 258 | "source": [ 259 | "### Define our base_model\n", 260 | "\n", 261 | "having the structure\n", 262 | "![alt text](images/base_network.png \"Logo Title Text 1\")" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": 4, 268 | "metadata": { 269 | "collapsed": true 270 | }, 271 | "outputs": [], 272 | "source": [ 273 | "def create_base_network(image_input_shape, embedding_size):\n", 274 | " \"\"\"\n", 275 | " Base network to be shared (eq. to feature extraction).\n", 276 | " \"\"\"\n", 277 | " input_image = Input(shape=image_input_shape)\n", 278 | "\n", 279 | " x = Flatten()(input_image)\n", 280 | " x = Dense(128, activation='relu')(x)\n", 281 | " x = Dropout(0.1)(x)\n", 282 | " x = Dense(128, activation='relu')(x)\n", 283 | " x = Dropout(0.1)(x)\n", 284 | " x = Dense(embedding_size)(x)\n", 285 | "\n", 286 | " base_network = Model(inputs=input_image, outputs=x)\n", 287 | " plot_model(base_network, to_file='base_network.png', show_shapes=True, show_layer_names=True)\n", 288 | " return base_network" 289 | ] 290 | }, 291 | { 292 | "cell_type": "markdown", 293 | "metadata": {}, 294 | "source": [ 295 | "### Loading the training/validation/testing DATA, as well as some other parameters" 296 | ] 297 | }, 298 | { 299 | "cell_type": "code", 300 | "execution_count": 5, 301 | "metadata": { 302 | "collapsed": true 303 | }, 304 | "outputs": [], 305 | "source": [ 306 | "if __name__ == \"__main__\":\n", 307 | " # in case this scriot is called from another file, let's make sure it doesn't start training the network...\n", 308 | "\n", 309 | " batch_size = 256\n", 310 | " epochs = 25\n", 311 | " train_flag = True # either True or False\n", 312 | "\n", 313 | " embedding_size = 64\n", 314 | "\n", 315 | " no_of_components = 2 # for visualization -> PCA.fit_transform()\n", 316 | "\n", 317 | " step = 10\n", 318 | "\n", 319 | " # The data, split between train and test sets\n", 320 | " (x_train, y_train), (x_test, y_test) = mnist.load_data()\n", 321 | " x_train = x_train.astype('float32')\n", 322 | " x_test = x_test.astype('float32')\n", 323 | " x_train /= 255.\n", 324 | " x_test /= 255.\n", 325 | " input_image_shape = (28, 28, 1)\n", 326 | " x_val = x_test[:2000, :, :]\n", 327 | " y_val = y_test[:2000]" 328 | ] 329 | }, 330 | { 331 | "cell_type": "markdown", 332 | "metadata": {}, 333 | "source": [ 334 | "### Instantiate the base network and define our model\n", 335 | "\n", 336 | "We use the base network to define our final architecture:\n", 337 | "![alt text](images/model.png \"Logo Title Text 1\")\n", 338 | "\n", 339 | "### We use an Input layer to pass the label information (concatenated to the embeddings) to the the semi-hard triplet loss function." 340 | ] 341 | }, 342 | { 343 | "cell_type": "code", 344 | "execution_count": 16, 345 | "metadata": { 346 | "scrolled": true 347 | }, 348 | "outputs": [ 349 | { 350 | "name": "stdout", 351 | "output_type": "stream", 352 | "text": [ 353 | "__________________________________________________________________________________________________\n", 354 | "Layer (type) Output Shape Param # Connected to \n", 355 | "==================================================================================================\n", 356 | "input_image (InputLayer) (None, 28, 28, 1) 0 \n", 357 | "__________________________________________________________________________________________________\n", 358 | "input_label (InputLayer) (None, 1) 0 \n", 359 | "__________________________________________________________________________________________________\n", 360 | "model_11 (Model) (None, 64) 125248 input_image[0][0] \n", 361 | "__________________________________________________________________________________________________\n", 362 | "concatenate_6 (Concatenate) (None, 65) 0 input_label[0][0] \n", 363 | " model_11[1][0] \n", 364 | "==================================================================================================\n", 365 | "Total params: 125,248\n", 366 | "Trainable params: 125,248\n", 367 | "Non-trainable params: 0\n", 368 | "__________________________________________________________________________________________________\n", 369 | "Train on 60000 samples, validate on 2000 samples\n", 370 | "Epoch 1/25\n", 371 | "60000/60000 [==============================] - 3s 52us/step - loss: 0.7405 - val_loss: 0.5495\n", 372 | "Epoch 2/25\n", 373 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.4610 - val_loss: 0.3829\n", 374 | "Epoch 3/25\n", 375 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.3387 - val_loss: 0.3032\n", 376 | "Epoch 4/25\n", 377 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.2684 - val_loss: 0.2493\n", 378 | "Epoch 5/25\n", 379 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.2256 - val_loss: 0.2173\n", 380 | "Epoch 6/25\n", 381 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.1956 - val_loss: 0.1902\n", 382 | "Epoch 7/25\n", 383 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.1730 - val_loss: 0.1701\n", 384 | "Epoch 8/25\n", 385 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.1529 - val_loss: 0.1542\n", 386 | "Epoch 9/25\n", 387 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.1422 - val_loss: 0.1423\n", 388 | "Epoch 10/25\n", 389 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.1309 - val_loss: 0.1316\n", 390 | "Epoch 11/25\n", 391 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.1211 - val_loss: 0.1250\n", 392 | "Epoch 12/25\n", 393 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.1128 - val_loss: 0.1166\n", 394 | "Epoch 13/25\n", 395 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.1057 - val_loss: 0.1096\n", 396 | "Epoch 14/25\n", 397 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0992 - val_loss: 0.1069\n", 398 | "Epoch 15/25\n", 399 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.0938 - val_loss: 0.1030\n", 400 | "Epoch 16/25\n", 401 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0882 - val_loss: 0.0991\n", 402 | "Epoch 17/25\n", 403 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0854 - val_loss: 0.0959\n", 404 | "Epoch 18/25\n", 405 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.0810 - val_loss: 0.0937\n", 406 | "Epoch 19/25\n", 407 | "60000/60000 [==============================] - 3s 44us/step - loss: 0.0778 - val_loss: 0.0896\n", 408 | "Epoch 20/25\n", 409 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0746 - val_loss: 0.0872\n", 410 | "Epoch 21/25\n", 411 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0702 - val_loss: 0.0856\n", 412 | "Epoch 22/25\n", 413 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0690 - val_loss: 0.0819\n", 414 | "Epoch 23/25\n", 415 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0657 - val_loss: 0.0815\n", 416 | "Epoch 24/25\n", 417 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0636 - val_loss: 0.0804\n", 418 | "Epoch 25/25\n", 419 | "60000/60000 [==============================] - 3s 45us/step - loss: 0.0602 - val_loss: 0.0776\n", 420 | "\n", 421 | "Epoch 00025: saving model to semiH_trip_MNIST_v13_ep25_BS256.hdf5\n" 422 | ] 423 | }, 424 | { 425 | "data": { 426 | "image/png": "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\nAAAAAElFTkSuQmCC\n", 427 | "text/plain": [ 428 | "
" 429 | ] 430 | }, 431 | "metadata": {}, 432 | "output_type": "display_data" 433 | } 434 | ], 435 | "source": [ 436 | " # Network training...\n", 437 | " if train_flag == True:\n", 438 | " base_network = create_base_network(input_image_shape, embedding_size)\n", 439 | "\n", 440 | " input_images = Input(shape=input_image_shape, name='input_image') # input layer for images\n", 441 | " input_labels = Input(shape=(1,), name='input_label') # input layer for labels\n", 442 | " embeddings = base_network([input_images]) # output of network -> embeddings\n", 443 | " labels_plus_embeddings = concatenate([input_labels, embeddings]) # concatenating the labels + embeddings\n", 444 | "\n", 445 | " # Defining a model with inputs (images, labels) and outputs (labels_plus_embeddings)\n", 446 | " model = Model(inputs=[input_images, input_labels],\n", 447 | " outputs=labels_plus_embeddings)\n", 448 | "\n", 449 | " model.summary()\n", 450 | " plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)\n", 451 | "\n", 452 | " # train session\n", 453 | " opt = Adam(lr=0.0001) # choose optimiser. RMS is good too!\n", 454 | "\n", 455 | " model.compile(loss=triplet_loss_adapted_from_tf,\n", 456 | " optimizer=opt)\n", 457 | "\n", 458 | " filepath = \"semiH_trip_MNIST_v13_ep{epoch:02d}_BS%d.hdf5\" % batch_size\n", 459 | " checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=False, period=25)\n", 460 | " callbacks_list = [checkpoint]\n", 461 | "\n", 462 | " # Uses 'dummy' embeddings + dummy gt labels. Will be removed as soon as loaded, to free memory\n", 463 | " dummy_gt_train = np.zeros((len(x_train), embedding_size + 1))\n", 464 | " dummy_gt_val = np.zeros((len(x_val), embedding_size + 1))\n", 465 | "\n", 466 | " x_train = np.reshape(x_train, (len(x_train), x_train.shape[1], x_train.shape[1], 1))\n", 467 | " x_val = np.reshape(x_val, (len(x_val), x_train.shape[1], x_train.shape[1], 1))\n", 468 | "\n", 469 | " H = model.fit(\n", 470 | " x=[x_train,y_train],\n", 471 | " y=dummy_gt_train,\n", 472 | " batch_size=batch_size,\n", 473 | " epochs=epochs,\n", 474 | " validation_data=([x_val, y_val], dummy_gt_val),\n", 475 | " callbacks=callbacks_list)\n", 476 | " \n", 477 | " plt.figure(figsize=(8,8))\n", 478 | " plt.plot(H.history['loss'], label='training loss')\n", 479 | " plt.plot(H.history['val_loss'], label='validation loss')\n", 480 | " plt.legend()\n", 481 | " plt.title('Train/validation loss')\n", 482 | " plt.show()\n", 483 | " else:\n", 484 | "\n", 485 | " #####\n", 486 | " model = load_model('semiH_trip_MNIST_v13_ep25_BS256.hdf5',\n", 487 | " custom_objects={'triplet_loss_adapted_from_tf':triplet_loss_adapted_from_tf})" 488 | ] 489 | }, 490 | { 491 | "cell_type": "markdown", 492 | "metadata": {}, 493 | "source": [ 494 | "### Testing if the network learned the right thing...\n", 495 | "\n", 496 | "1. Make an empty network\n", 497 | "2. Loop over the trained model and copy weights\n", 498 | "3. Obtain predictions (embeddings) for test set\n", 499 | "4. Obtain PCA decomposition\n", 500 | "5. Visualize the separation..." 501 | ] 502 | }, 503 | { 504 | "cell_type": "code", 505 | "execution_count": 26, 506 | "metadata": {}, 507 | "outputs": [], 508 | "source": [ 509 | " # Test the network\n", 510 | "\n", 511 | " # creating an empty network\n", 512 | " testing_embeddings = create_base_network(input_image_shape,\n", 513 | " embedding_size=embedding_size)\n", 514 | " x_embeddings_before_train = testing_embeddings.predict(np.reshape(x_test, (len(x_test), 28, 28, 1)))\n", 515 | " # Grabbing the weights from the trained network\n", 516 | " for layer_target, layer_source in zip(testing_embeddings.layers, model.layers[2].layers):\n", 517 | " weights = layer_source.get_weights()\n", 518 | " layer_target.set_weights(weights)\n", 519 | " del weights" 520 | ] 521 | }, 522 | { 523 | "cell_type": "code", 524 | "execution_count": 28, 525 | "metadata": { 526 | "scrolled": true 527 | }, 528 | "outputs": [ 529 | { 530 | "data": { 531 | "image/png": "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\nIiIiIiIix/r/duVwViKsWHsAAAAASUVORK5CYII=\n", 532 | "text/plain": [ 533 | "
" 534 | ] 535 | }, 536 | "metadata": {}, 537 | "output_type": "display_data" 538 | } 539 | ], 540 | "source": [ 541 | " # Visualizing the effect of embeddings -> using PCA!\n", 542 | "\n", 543 | " x_embeddings = testing_embeddings.predict(np.reshape(x_test, (len(x_test), 28, 28, 1)))\n", 544 | " dict_embeddings = {}\n", 545 | " dict_gray = {}\n", 546 | " test_class_labels = np.unique(np.array(y_test))\n", 547 | "\n", 548 | " pca = PCA(n_components=no_of_components)\n", 549 | " decomposed_embeddings = pca.fit_transform(x_embeddings)\n", 550 | "# x_test_reshaped = np.reshape(x_test, (len(x_test), 28 * 28))\n", 551 | " decomposed_gray = pca.fit_transform(x_embeddings_before_train)\n", 552 | " \n", 553 | " fig = plt.figure(figsize=(16, 8))\n", 554 | " for label in test_class_labels:\n", 555 | " decomposed_embeddings_class = decomposed_embeddings[y_test == label]\n", 556 | " decomposed_gray_class = decomposed_gray[y_test == label]\n", 557 | "\n", 558 | " plt.subplot(1,2,1)\n", 559 | " plt.scatter(decomposed_gray_class[::step,1], decomposed_gray_class[::step,0],label=str(label))\n", 560 | " plt.title('before training (embeddings)')\n", 561 | " plt.legend()\n", 562 | "\n", 563 | " plt.subplot(1,2,2)\n", 564 | " plt.scatter(decomposed_embeddings_class[::step, 1], decomposed_embeddings_class[::step, 0], label=str(label))\n", 565 | " plt.title('after @%d epochs' % epochs)\n", 566 | " plt.legend()\n", 567 | "\n", 568 | " plt.show() " 569 | ] 570 | }, 571 | { 572 | "cell_type": "markdown", 573 | "metadata": {}, 574 | "source": [ 575 | "### Network learned how to separate the images based on their class!" 576 | ] 577 | } 578 | ], 579 | "metadata": { 580 | "kernelspec": { 581 | "display_name": "Python 2", 582 | "language": "python", 583 | "name": "python2" 584 | }, 585 | "language_info": { 586 | "codemirror_mode": { 587 | "name": "ipython", 588 | "version": 2 589 | }, 590 | "file_extension": ".py", 591 | "mimetype": "text/x-python", 592 | "name": "python", 593 | "nbconvert_exporter": "python", 594 | "pygments_lexer": "ipython2", 595 | "version": "2.7.12" 596 | } 597 | }, 598 | "nbformat": 4, 599 | "nbformat_minor": 2 600 | } 601 | -------------------------------------------------------------------------------- /images/base_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/base_network.png -------------------------------------------------------------------------------- /images/model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/model.png -------------------------------------------------------------------------------- /images/pca_decomposition_before_after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/pca_decomposition_before_after.png -------------------------------------------------------------------------------- /images/train_validation_loss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/train_validation_loss.png -------------------------------------------------------------------------------- /images/triplet_loss_function_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/triplet_loss_function_2.png -------------------------------------------------------------------------------- /images/triplet_loss_viz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/images/triplet_loss_viz.png -------------------------------------------------------------------------------- /trained model/semiH_trip_MNIST_v13_ep25_BS256.hdf5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AdrianUng/keras-triplet-loss-mnist/3bbe6259f74ae60ed39cc76c6b7eeed8946a1a98/trained model/semiH_trip_MNIST_v13_ep25_BS256.hdf5 --------------------------------------------------------------------------------