Λογότυπο αποθετηρίου
 

Variational autoencoders & applications

Μικρογραφία εικόνας

Ημερομηνία

2018-06-03

Τίτλος Εφημερίδας

Περιοδικό ISSN

Τίτλος τόμου

Εκδότης

Επιβλέπων / ουσα

Διαθέσιμο από

Περίληψη

Ο variational autoencoder είναι μια μέθοδος που μπορεί να παράγει τεχνητά δεδομένα που θα μοιάζουν σε ένα δοσμένο σύνολο πραγματικών δεδομένων. Για παράδειγμα, αν θέλουμε να δημιουργήσουμε καινούργιες τεχνητές φωτογραφίες από γάτες, μπορούμε να χρησιμοποιήσουμε ένα variational autoencoder αλγόριθμο για να τα καταφέρουμε, αφού τον εκπαιδεύσουμε σε ένα μεγάλο σύνολο δεδομένων από γάτες. Τα δεδομένα εισόδου είναι μη κατηγοριοποιημένα διότι δεν ενδιαφερόμαστε να τα κατηγοριοποιήσουμε σε κάποια κλάση, αλλά επιθυμούμε να είμαστε σε θέση να μάθουμε τα πιο σημαντικά χαρακτηριστικά ή τις ομοιότητες μεταξύ τους. Εφόσον τα δεδομένα μας είναι ακατηγοριοποίητα, ο variational autoencoder χαρακτηρίζεται ως αλγόριθμος μη επιβλεπόμενης μάθησης και ανήκει σε μια κατηγορία μάθησης, που είναι γνωστή ως Ενισχυτική Μάθηση (Reinforcement Learning). Όσον αφορά το παράδειγμα των εικόνων από γάτες, ο αλγόριθμος μπορεί να μάθει να αναγνωρίζει ότι μια γάτα πρέπει να έχει δύο αυτιά, μια μύτη, μουστάκια, τέσσερα πόδια, μια ουρά και μια ποικιλία από χρώματα. Ο αλγόριθμος χρησιμοποιεί δύο νευρωνικά δίκτυα, έναν κωδικοποιητή και έναν αποκωδικοποιητή, τα οποία εκπαιδεύονται ταυτόχρονα. Ένας variational autoencoder θα έχει καλές εφαρμογές σε περιπτώσεις όπου θα επιθυμούσαμε να παράγουμε μεγαλύτερο σύνολο δεδομένων, για καλύτερη εκπαίδευση σε διάφορα νευρωνικά δίκτυα. Επίσης, κάνει ελάττωση διάστασης των δεδομένων, συμπιέζοντάς τα σε λανθάνουσες μεταβλητές. Τρέχουμε υλοποιήσεις διαφορετικών variational autoencoder σε διάφορα dataset, όπως MNIST, Binarized MNIST, CIFAR-10, OMNIGLOT, YALE Faces, The Database of Faces, MovieLens, υλοποιημένες σε Python 3, χρησιμοποιώντας τρεις διαφορετικές βιβλιοθήκες κάθε φορά, TensorFlow, PyTorch και Keras και παρουσιάζουμε τα αποτελέσματα. Συστήνουμε έναν απλό αλγόριθμο συμπλήρωσης ελλιπών τιμών που χρησιμοποιεί K-NN συνεργατικό φιλτράρισμα για να κάνει προβλέψεις (πχ. για ελλιπή pixel). Τέλος, χρησιμοποιούμε το variational autoencoder σε αλγόριθμο συμπλήρωσης ελλιπών τιμών για να προβλέψουμε τις ελλιπείς τιμές σε διάφορα dataset. Ο K-NN αλγόριθμος τα πήγε σπουδαία στις προβλέψεις και το variational autoencoder σύστημα συμπλήρωσης επέφερε πολύ ικανοποιητικά αποτελέσματα. Έχει επίσης υλοποιηθεί GUI.
A variational autoencoder is a method that can produce artificial data which will resemble a given dataset of real data. For instance, if we want to produce new artificial images of cats, we can use a variational autoencoder algorithm to do so, after training on a large dataset of images of cats. The input dataset is unlabeled on the grounds that we are not interested in classifying the data to a specific class, but we would rather be able to learn the most important features or similarities among the data. Because of the fact that the data are not labeled, the variational autoencoder is described as an unsupervised learning algorithm. As far as the example of cat images is concerned, the algorithm can learn to detect that a cat should have two ears, a nose, whiskers, four legs, a tail and a diversity of colors. The algorithm uses two neural networks, an encoder and a decoder, which are trained simultaneously. A variational autoencoder should have good applications in cases where we would like to produce a bigger dataset, for better training on various neural networks. Also, it runs dimensionality reduction on the initial data, by compressing them into latent variables. We run implementations of variational autoencoders on various datasets, MNIST, Binarized MNIST, CIFAR-10, OMNIGLOT, YALE Faces, ORL Face Database, MovieLens, written in Python 3 with three different libraries, TensorFlow, PyTorch and Keras and we present the results. We introduce a simple missing values completion algorithm using K-NN collaborative filtering for making predictions (e.g. on missing pixels). Finally, we make use of the variational autoencoders to run missing values completion algorithms and predict missing values on various datasets. The K-NN algorithm did surprisingly well on the predictions, while the variational autoencoder missing values completion system brought very satisfactory results. A graphical user interface has also been implemented as well.

Περιγραφή

Λέξεις-κλειδιά

Variational autoencoder, Unsupervised learning algorithm, Αλγόριθμος μη επιβλεπόμενης μάθησης

Παραπομπή

Άδεια Creative Commons