Abstract
Metric Learning is an important task in Machine Learning. The objective of Metric Learning is to learn a distance metric that reduces the distance between similar objects and increases the distance between dissimilar ones. Similarity and dissimilarity can be somehow subjective and thus some kind of supervision is needed in order to define the ground-truth. Learning such a distance metric can be proven to be really useful for many tasks, such as classification, retrieval and clustering. The classification and retrieval tasks can be simply reduced to class-level and instance-level nearest neighbor tasks respectively, while the clustering task can be made easier given the similarity matrix.
Traditionally, before Deep Learning, Metric Learning approaches were based either on linear transformations using the Mahalanobis or/and Euclidean distance, or on non-linear transformations using kernel-based methods. Both of them, however, had drawbacks. Linear transformations had a limited ability to capture nonlinear feature structure and thus could not achieve high performance over the new representation of the data. Non-linear transformations that carried the problem to a non-linear space could achieve optimum performance, but often suffered from overfitting. Apart from that, both methods were limited by their ability to process raw data and thus feature engineering was often needed.
With the remarkable success of Convolutional Neural Networks, Deep Metric Learning was introduced. In this context, Neural Networks are discriminatively trained to learn the non-linear mapping from input raw data to a lower dimensional and semantic embedding. This is usually done in a supervised way, in which the label annotations are given and thus these embeddings are optimized to pull samples with the same class label closer and push samples with different class labels apart. The whole training process is done by minimizing a loss function that should have exactly these properties. The great advantage of Deep Metric Learning is that it jointly extracts the features and learns the embedding.
The contribution of this work is threefold. First, we conduct extensive experiments using the most commonly used architectures (GoogLeNet, BNInception, ResNet50) on the most commonly used datasets (CUB200-2011, CARS196, Stanford Online Products) using 10 different loss functions (Contrastive, Triplet, LiftedStructure, NPair, ProxyNCA, ArcFace, Margin, MultiSimilarity, SoftTriple, ProxyAnchor) and four different embedding sizes (64, 128, 512, 1024). We make an ablation study and draw important conclusions using the results. Second, we introduce and propose a new setup for training using a fixed validation set. We conduct experiments using this and a 10-fold cross validation. Our setup seems to balance perfectly between the computational complexity and retrieval quality trade-off. Finally, we design, implement and experiment with a new loss function that is on a par with the state-of-the-art.
H Μετρική Μάθηση είναι ένα σημαντικό πρόβλημα της Μηχανικής Μάθησης. Ο σκοπός της είναι η εκμάθηση μιας μετρικής, η οποία έχει την ιδιότητα να μειώνει την απόσταση μεταξύ όμοιων αντικειμένων και να αυξάνει την απόσταση μεταξύ ανόμοιων. Το τι είναι όμοιο και τι ανόμοιο μπορεί να είναι κάπως υποκειμενικό και ως εκ τούτου κάποια μορφή επίβλεψης είναι αναγκαία για να οριστούν. Η εκμάθηση μιας τέτοιας μετρικής μπορεί να αποδειχθεί πραγματικά χρήσιμη και σε πολλά άλλα προβλήματα, όπως είναι η ταξινόμηση, η ανάκτηση και η ομαδοποίηση. Τα πρώτα δύο προβλήματα μπορούν να αναχθούν σε προβλήματα κοντινού γείτονα σε επίπεδο κλάσης και οντότητας αντίστοιχα, ενώ το πρόβλημα της ομαδοποίησης μπορεί να γίνει ευκολότερο δοθέντος του πίνακα ομοιότητας.
Παλαιότερα, πριν τη Βαθιά Μάθηση, οι μέθοδοι στη Μετρική Μάθηση βασίζονταν είτε σε γραμμικούς μετασχηματισμούς που χρησιμοποιούσαν την Mahalanobis ή/και την Ευκλίδεια απόσταση, είτε σε μη γραμμικούς μετασχηματισμούς που χρησιμοποιούσαν μεθόδους πυρήνα. Και οι δύο, ωστόσο, είχαν μειονεκτήματα. Οι γραμμικοί μετασχηματισμοί είχαν περιορισμένη ικανότητα σύλληψης μη γραμμικών δομών και έτσι δε μπορούσαν να πετύχουν υψηλή απόδοση όσον αφορά τη νέα αναπαράσταση των δεδομένων, ενώ οι μη γραμμικοί μετασχηματισμοί που μετέφεραν το πρόβλημα σε ένα μη γραμμικό χώρο μπορούσαν να πετύχουν βέλτιση απόδοση, αλλά υπέφεραν από το πρόβλημα της υπερ-προσαρμογής. Επιπρόσθετα, και οι δύο μέθοδοι είχαν περιορισμένη ικανότητα να επεξργαστούν πρωτογενή δεδομένα και ως εκ τούτου συχνά χρειαζόταν ξεχωριστή εξαγωγή χαρακτηριστικών
Με την αξιοσημείωτη επιτυχία των Συνελικτικών Νευρωνικών Δικτύων, εμφανίστηκε η Βαθιά Μετρική Μάθηση. Στο πλαίσιο αυτής, τα Νευρωνικά Δίκτυα εκπαιδεύονται να μάθουν τον μη γραμμικό μετασχηματισμό που συνδέει τα δεδομένα εκπαίδευσης με τις τελικές εμβαπτίσεις, οι οποίες έχουν μικρότερη διαστησιμότητα και περισσότερη σημασιολογία. Αυτό συνήθως συμβαίνει σε μια διαδικασία επιβλοπόμενης μάθησης, στην οποία οι κλάσεις κάθε δείγματος είναι γνωστές, και έτσι οι εμβαπτίσεις βελτιστοποιούνται ώστε δείγματα της ίδιας κλάσης να έρχονται κοντά και δείγματα διαφορετικής κλάσης να απωθούνται. Η όλη διαδικασία γίνεται ελαχιστοποιώντας μια συνάρτηση κόστους που πρέπει να έχει ακριβώς αυτές τις ιδιότητες. Το σημαντικό πλεονέκτημα της Βαθιάς Μετρικής Μάθησης είναι ότι πραγματοποιεί από κοινού την εξαγωγή των χαρακτηριστικών και την εκμάθηση των εμβαπτίσεων.
Περίληψη
Η συνεισφορά αυτής της διπλωματικής εργασίας είναι τριπλή. Πρώτον, πραγματοποιούνται εκτεταμμένα πειράματα χρησιμοποιώντας τις πιο διαδεδόμενες αρχιτεκτονικές (GoogLeNet, BNInception, ResNet50) στα πιο διαδεδομένα σετ δεδομένων (CUB200-2011, CARS196, Stanford Online Products) χρησιμοποιώντας δέκα διαφορετικές συναρτήσεις κόστους (Contrastive, Triplet, LiftedStructure, NPair, ProxyNCA, ArcFace, Margin, MultiSimilarity, SoftTriple, ProxyAnchor) και τέσσερα διαφορετικά μεγέθη για τις εμβαπτίσεις (64, 128, 512, 1024). Πραγματοποιείται εις βάθος μελέτη των αποτελεσμάτων και εξάγονται σημαντικά συμπεράσματα. Δεύτερον, παρουσιάζεται και προτείνεται μια νέα διαδικασία εκπαίδευσης που χρησιμοποιεί σταθερό σετ δεδομένων επικύρωσης. Πραγματοποιούνται πειράματα χρησιμοποιώντας αυτή και μια δεκαπλή διασταυρωμένη επικύρωση. Διαπιστώνεται ότι η πρώτη ισορροπεί εξαιρετικά ανάμεσα στην υπολογιστική πολυπλοκότητα και στην ποιότητα ανάκτησης. Τέλος, σχεδιάζεται, υλοποιείται και δοκιμάζεται μια νέα συνάρτηση κόστους, η οποία είναι ισότιμη με τις σύγχρονες μεθόδους.