1 Introduction
Distance metric learning approaches [1, 2, 3]
work by learning embedding representations that keep close together for similar data points while maintaining them far for dissimilar data points. Among distance metric learning applications we can find face recognition,
[4], signature verification [5], authorship verification [6], fewshot learning [7, 8]and visual similarity for product design
[9] among others.With the popularization of convolutional neural networks
[10, 11], deep metric learning has been deeply analysed on the last years. Deep metric learning [7, 12, 13, 14, 6, 15] have proven to be effective at learning nonlinear embeddings of the data outperforming existing classical methods. Normally, specific network architectures are trained to minimize an euclidean based loss function where a nonlinear embedding representation is learned to bond together embeddings from similar classes while taking apart embeddings of different classes.The definition of appropriate loss functions is crucial for fast convergence and optimal global minimum search [7] and they have received lot of attention on the last years. In this sense, losses such as contrastive loss function [16] focuses sameclass or differentclass pairs are normally used. Triplet loss function [2, 17] extended contrastive loss by considering a query sample and two additional samples (one positive and one negative). This triplet loss simultaneously enlarges the distances between the embeddings of the query and negative sample while reducing the distance between the positive and query samples. However, these methods suffer from slow convergence and poor local optima [15] as, at each update, embeddings are only optimized against one negative class. This was partially solved by the incorporation of the multiclass Npair loss [15] that generalizes triplet loss by simultaneously optimizing against N1 negative samples from different classes instead of a single negative class yielding to better performance and faster convergence.
However, multiclass Npair loss function is still ignoring the distances among the different negative classes among them and thus, not assuring optimization among the different negative class embeddings. In this work we extend multiclassNpair loss with the proposed constellation loss metric where the distances among all class combinations are simultaneously learned. Figure 1 graphically shows the interaction among the different class samples distances during a single gradient descent step for the analyzed losses.
In experiment, we validate that constellation loss outperforms other metrics for class embedding tasks resulting into higher class classification performance and better cluster separability metrics such as Silhouete [18] and DavisBoulding index[19] . We also propose an methodology that removes the need of using specific supporting architectures such as Siamese Neural Networks [7] for learning the embedding representations that can be learn by the use of smart batch selection dealing to the same functional cost while improving multi class scalability and reducing training memory needs.
2 Discriminative loss functions for distance metric learning
Traditionally, most of the image classification networks such as AlexNet[10], VGGNet[20], GoogleNet[21] or ResNet[17] adopted crossentropy based softmax loss function to solve classical classification problems. However, discriminative metric learning loss functions have better generalization ability [22] and have received more attention for feature learning purposes in the latest years not only for verification problems [4, 2] but also for fewshot learning [7, 8] as they overcome learning capabilities of traditional classification approaches under small number of training images conditions.
This is achieved by learning an image embedding from an image
. This embedding represents a classrepresentative vector, that is, a vector that contains the most important features associated to the corresponding class of the image. To this end, euclideandistancebased loss functions are normally used. These functions conceptually constrains the learned embeddings to have distance 0 among elements of the same class and greater distances among elements from different classes.
To this end, euclideandistancebased loss functions like contrastive loss [16] measure pairs of samples. This was extended by triplet loss [2] by comparing triplets with a positive and a negative samples. MulticlassNpair loss objective function [15] has focused on improving previous distance metric loss functions by generalizing triplet loss. First, it allows joint comparison among more than one negative examples, concretely, N1 negative examples and secondly, an efficient batch construction strategy was introduced to reduce computation. This loss function has demonstrated superiority over triplet loss as well as other metric learning functions. Finally, we propose the constellation loss where distances among all negative classes among them are taken into account simultaneously. The different losses are detailed below.
2.1 Contrastive loss
Contrastive loss (1) only focuses on positive or negative pairs. Positive pairs are composed by sameclass images and negative ones by distinctclass pairs. Formally, the network transforms the pair of input images into embedding vectors. The labels are either for positive pairs or for negative pairs.
(1) 
where is the margin, usually set to and N is the batch size.
Intuitively, this loss penalizes when a positive pair is far away or a negative pair too close. Therefore, in an optimal case, positives are nearby and negatives close to .
2.2 Triplet loss
Triplet loss (2) goes one step further by taking into account positive and negative pairs at the same time. This is done by setting an anchor, from which a distance will be calculated to a sample of the same class (positive) and a sample of a different class (negative). So, the set of input images is a triplet and their correspondent embedding vectors are . No label is needed.
(2) 
where is a parameter to avoid convergence to trivial solutions and N is the batch size.
The aim of this loss is to maximize the distance between the anchor and the negative whilst minimizing the distance between the anchor and positive. Nonetheless, there is no gain when , and for that reason hardtriplet mining is commonly applied. This technique consist on taking into account only hard or semihard triplets, that is, using for computation only the triplets that give a positive loss. This way, it forces the network to try harder and it improves convergence.
2.3 MulticlassNpair loss objective
MulticlassNpair loss objective is a generalization of triplet loss, that incorporates at each optimization update the other negative classes that the triplet loss does not take into account. This allows joint comparison among more than one negative example at each update while reducing the computational burden of evaluating deep embedding vectors. So, when having N classes, the distances to the N1 negative classes are also considered. When only one negative sample is used for calculation (N=), this loss in comparable to triplet loss.
(3) 
2.4 Constellation loss
The constellation loss takes the best of both triplet and multiclassNpair loss. It uses the same batch construction than triplet loss and a similar loss formulation than multiclassNpair loss. The hyperparameter K sets the number of triplets we want to incorporate in the formula, this way, taking into account more negative terms than the usual triplet loss. Even though increasing K parameter means a bigger computational effort, we prove for our dataset that at some point the fact of increasing K does not affect much the result. This is due to the randomness in the choice of each term, that can be composed of several distinct negative values. Therefore, there is no need for a high K value to improve triplet loss or multiclassNpair loss. The main difference is that multiclassNpairloss substracts dot products of same class pairs whereas constellation loss does something similar to triplet loss by substracting a dot product of an anchor and negative embedding; and a dot product of an anchor and positive embedding.
(4) 
3 Deep Neural Network for Embedding Learning
Deep embedding extraction can be performed by the use of a Siamese Neural Network architecture [7, 6] in a similar way as done in [8]. These network employ a twin network architecture where their weights are tied and joined by a loss function that is computed in the top. This network is normally selected from the stateoftheart CNN architectures such as VGGNet [20], that was successfully used by [7, 8], Inception [23], ResNet[24]among others.
In our experiments we have chosen Inception V3 [23] classification architecture, where the last layer is replaced as suggested by [17]
by a global average pooling layer and a 128neuron layer as an embedding layer,
, that acts as a lowdimensional representation of the input images. The embedding layer has a sigmoid activation and it is L2 normalized in the case of triplet and constellation loss. L2 normalization makes the training process more stable for these loss functions. There is no need for L2 normalization when training with multiclassNpair objective loss as it already incorporates in the loss. After loss optimization procedure, the trained base network is able to extract a embedding from an image that is able to keep similar samples together and dissimilar one apart.3.1 Smart batch
However, this siamese neural network approach causes memory and scalability problems in more advanced loss functions where triplets or Kplets are the inputs of the network, specially for large values of . Instead of building a siamese structure we follow an smart batch strategy that leads to an equivalent loss formulation which is more optimal in terms of speed, network memory and scalability.
Online triplet mining loss presented in [17] where the authors take the embeddings array, computes all the dot products and euclidean distances, and then selects the hard and semihard triplets to compute the loss function. Hardtriplets are where the negative is closer to the anchor than the positive and semihard triplets are triplets where the negative is not closer to the anchor than the positive, but which still have positive loss.
Npairmc uses a different batch construction in which two embedding arrays are taken as input. Each array contains one embedding per class and are ordered same way in both arrays. Figure 2 depicts online batch construction of triplet and Npairmc pairs.
In the case of constellation loss, we extend the strategy as in triplet loss but dividing the batch into K groups (see Fig.3). We later show that even though we use same batch, out loss obtains better results. The nature of constellation loss that takes into account the relationship among all samples in the batch simultaneously constellation loss doesn’t need to apply a mask to select hard and semihard triplets and neither to compute euclidean distances. It only needs to compute the dot products as triplet loss function does, and apply a mask to find the dot products between same class embeddings, anchorpositive, and the dot products between distinct class embeddings, anchornegative.
3.2 Validation
The proposed backbone network (Inception v3) is trained by means of any of previous loss functions in order to learn the image embeddings . This embedding vector is a lowdimensional representation of
that minimizes its correspondent loss function and thus, are designed to estimate the distance among classes. In order to validate the suitability of these embeddings we analyze, the quality of the class clusters generated by the embedding vector and also the performance of a classification task that can be achieved by the learned embeddings. This validation procedure is illustrated in figure
43.3 Clustering metrics
We analyse the quality of the class clusters that are generated by the embedding vectors sets to measure the quality of the generated clusters. As the main goal of the network is to create better representations these metrics show how well are the test embeddings grouped in clusters. Two specific metrics were selected:
DavisBoulding index[19] is a metric that evaluates clustering quality. The smaller the value, the better the result. The index uses quantities and features inherent to the dataset and its drawback is that a good value does not imply the best information retrieval.
Silhouette score[18] is a measure of how similar an object is to its own cluster compared to other clusters. The value of this metric ranges from 1 to 1 and the closest to 1 the better the result.
3.4 Classification metrics
We also evaluate the classification accuracy that machine learning models can obtain with the learned embeddings. To this end, We select
nearest neighbours as the simpler shallow classifier to predict the class associated to each embedding. First, images go through the network and it outputs the embeddings of all the images, both training and test sets. Then, a nearest neighbours classifier is used to predict the classes of the test embeddings allowing to measure the obtained accuracy and balanced accuracy metrics.4 Experimental Results
We assess the performance of the proposed constellation loss for visual class embedding extraction. We validate the capability of the tested loss functions to extract appropriate embeddings for the entrusted visual task of histology image classification.
4.1 Dataset
Public dataset [25] from the University Medical Center Mannheim (Germany). Contains tissue samples obtained from lowgrade and highgrade primary tumours of digitalized colorectal cancer tissue slides. The database is divided into eight different types of textures that are present on the tumours samples: 1. tumour epithelium, 2. simple stroma, 3. complex stroma, 4. immune cells, 5. debris and mucus, 6. mucosal glands, 7. adipose tissue and 8. background, as depicted in Fig. 5. There are 625 image samples per class, producing a total dataset of 5000 image tiles of dimension 150 px x 150 px (74 m x 74 m).
4.2 Visual classes embedding extraction
Our main goal is to evaluate the capabilities of the different loss functions to embed image description. To validate this, we train the deep metric learning architecture detailed in section 3 for the different losses to obtain a network capable of extracting the embedding vector, , from an input signal.
4.2.1 Training
All the experiments were run for 10 epochs and optimized with Adam with its default parameters. A very simple generator was used in order to feed the images to the network. It makes simple spatial transformations such as inversion in both axes and rotations of multiples of 90 degrees to slightly augment the data. The size of the image is not modified during this process. No more augmentation was considered as the aim of the loss function we are working with is to train on datasets that have not enough images per class.
As a baseline we trained a classical classification Inception v3 network approach by learning with a softmax loss function that obtained an accuracy of %.
A Inception v3 architecture is trained over the different loss functions following the online smart batch selection as detailed in section refsec::smartbatch.
We ran each network 10 times, each time training and testing in different data splits. We calculated the metrics for each split and gathered them in Table.1
by averaging over the splits. This way, we show the mean value and the standard deviation. We adopted a Kfold crossvalidation strategy to validate the constellation loss against the triplet and multiclassNpair loss. We divided the data in 10 folds and obtained the metrics for each fold. Then we averaged the results and gathered them in Table.
1. The folds are exactly the same for every loss function, with this we mean that they have seen the same train/test split.We observed that triplet loss showed a very unstable evolution during training, whereas the logaritmic loss functions such as multiclass and constellation’s convergence was more optimal. They both showed a clear downward direction in train and validation loss alike. Regarding value, we see that shows signs of overfitting in contrast to . However, gives better results in clustering metrics and classification accuracy.
4.2.2 Results
The proposed constellation loss beats both triplet and multiclassNpair loss in all the metrics. Triplet and 8pairmc give DavisBoulding index values over 0.6, on the other hand, constellation loss gets close to 0.4 for . The same happens when we evaluate the loss functions with Silhouettes score, obtaining very similar results for triplet and 8pairmc and significantly better for constellation loss with ant . This can also be see in Fig.7, which shows a 2 dimensional representation of the embedding vectors of the test set. Each color represents a single class. The embedding vector dimension is reduced by the popular tSNE [26]
technique, a dimensionality reduction technique that is particularly well suited for the visualization of highdimensional data. Even if the plots are just for visualization purposes and real data corresponds to a 128dimensional space, we can notice that the most compact clusters are obtained with constellation loss.
So we can say that the best clusters are obtained with constellation loss for any , based on the clustering metrics. Furthermore, constellation loss shows higher accuracy than triplet and multiclassNpair loss for any . In addition, the result we obtain is better than with a classical softmax approach.
Metric  
Loss  Accuracy  BAC  DavisBouldin  Silhouette 
Triplet  
8pairmc  
Constellation k=2  
Constellation k=3  
Constellation k=4  
Constellation k=5  
Constellation k=6  
Constellation k=7 
4.3 Computing infrastructure
The experiments were ran on a Gigabyte GeForce GTX Titan X 12GB GDDR5 GPU. The GPU is installed in a local server that we access by an SSH client. We used an Anaconda distribution and the main libraries we used are Keras, Tensorflow and ScikitLearn. Keras was used for the main architecture and Tensforflow for the loss functions. ScikitLearn was very helpful for machine learning models like
nearest neighbours, and also for metrics BAC, DavidBouldin index and Silhouette.5 Conclusions
In this work we have compared the performance of different metric learning losses for extracting discriminative embeddings under deep metric learning approach. Our proposed the constellation loss metric takes into account the distances among all class combinations are simultaneously learned. The extracted embeddings have been validated for image classification task over the selected dataset, showing that our loss function overperforms the other methods by obtaining more optimal clusters. This better representation of the classes allows machine learning models such as nearest neighbours achieve better results in classification.
Moreover, we showed that constellation loss its more stable than triplet during training and at the same time, surpasses multiclassNpair loss in classification accuracy by using a similar mathematical formulation.
Source code
Source code is available at: https://git.code.tecnalia.com/comvis_public/piccolo/constellation_loss/
Acknowledgments
This study has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 732111 (PICCOLO project https://www.piccoloproject.eu/)
References
 [1] Eric P Xing, Michael I Jordan, Stuart J Russell, and Andrew Y Ng. Distance metric learning with application to clustering with sideinformation. In Advances in neural information processing systems, pages 521–528, 2003.
 [2] Kilian Q Weinberger, John Blitzer, and Lawrence K Saul. Distance metric learning for large margin nearest neighbor classification. In Advances in neural information processing systems, pages 1473–1480, 2006.
 [3] Jason V Davis, Brian Kulis, Prateek Jain, Suvrit Sra, and Inderjit S Dhillon. Informationtheoretic metric learning. In Proceedings of the 24th international conference on Machine learning, pages 209–216. ACM, 2007.

[4]
Weiyang Liu, Yandong Wen, Zhiding Yu, Ming Li, Bhiksha Raj, and Le Song.
Sphereface: Deep hypersphere embedding for face recognition.
In
The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
, volume 1, page 1, 2017.  [5] Jane Bromley, Isabelle Guyon, Yann LeCun, Eduard Säckinger, and Roopak Shah. Signature verification using a" siamese" time delay neural network. In Advances in neural information processing systems, pages 737–744, 1994.
 [6] William Du, Michael Fang, and Margaret Shen. Siamese convolutional neural networks for authorship verification. Technical report, Tech. Rep., 2017.[Online]. Available: http://cs231n. stanford. edu/reports …, 2017.

[7]
Gregory Koch, Richard Zemel, and Ruslan Salakhutdinov.
Siamese neural networks for oneshot image recognition.
In
ICML Deep Learning Workshop
, volume 2, 2015.  [8] Alfonso Medela, Artzai Picon, Cristina L. Saratxaga, Oihana Belar, Virginia Cabezon, Riccardo Cicchi, Roberto Bilbao, and Glover Ben. Few shot learning in histopathological images: Reducing the need of labeled data on biological datasets. In IEEE International Symposium on Biomedical Imaging, 2019.
 [9] Sean Bell and Kavita Bala. Learning visual similarity for product design with convolutional neural networks. ACM Transactions on Graphics (TOG), 34(4):98, 2015.
 [10] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
 [11] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for largescale image recognition. arXiv preprint arXiv:1409.1556, 2014.
 [12] Elad Hoffer and Nir Ailon. Deep metric learning using triplet network. In International Workshop on SimilarityBased Pattern Recognition, pages 84–92. Springer, 2015.
 [13] Dong Yi, Zhen Lei, Shengcai Liao, and Stan Z Li. Deep metric learning for person reidentification. In 2014 22nd International Conference on Pattern Recognition, pages 34–39. IEEE, 2014.
 [14] Junlin Hu, Jiwen Lu, and YapPeng Tan. Discriminative deep metric learning for face verification in the wild. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1875–1882, 2014.
 [15] Kihyuk Sohn. Improved deep metric learning with multiclass npair loss objective. In Advances in Neural Information Processing Systems, pages 1857–1865, 2016.
 [16] Sumit Chopra, Raia Hadsell, Yann LeCun, et al. Learning a similarity metric discriminatively, with application to face verification. In CVPR (1), pages 539–546, 2005.
 [17] Florian Schroff, Dmitry Kalenichenko, and James Philbin. Facenet: A unified embedding for face recognition and clustering. CoRR, abs/1503.03832, 2015.

[18]
Peter Rousseeuw.
Silhouettes: a graphical aid to the interpretation and validation of cluster analysis.
1987.  [19] David L Davies and Donald W Bouldin. A cluster separation measure. IEEE transactions on pattern analysis and machine intelligence, (2):224–227, 1979.
 [20] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for largescale image recognition. CoRR, abs/1409.1556, 2014.
 [21] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott E. Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. CoRR, abs/1409.4842, 2014.

[22]
Gong Cheng, Ceyuan Yang, Xiwen Yao, Lei Guo, and Junwei Han.
When deep learning meets metric learning: Remote sensing image scene classification via learning discriminative cnns.
IEEE transactions on geoscience and remote sensing, 56(5):2811–2821, 2018.  [23] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, and Zbigniew Wojna. Rethinking the inception architecture for computer vision. CoRR, abs/1512.00567, 2015.
 [24] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016.
 [25] Jakob Nikolas Kather, CleoAron Weis, Francesco Bianconi, Susanne M Melchers, Lothar R Schad, Timo Gaiser, Alexander Marx, and Frank Gerrit Zöllner. Multiclass texture analysis in colorectal cancer histology. Scientific reports, 6:27988, 2016.
 [26] Laurens van der Maaten and Geoffrey Hinton. Visualizing data using tsne. Journal of machine learning research, 9(Nov):2579–2605, 2008.
Comments
There are no comments yet.