Connect with us

Τι είναι ένα Γεννητικό Αντισταθμιστικό Δίκτυο (GAN);

Τεχνητή νοημοσύνη 101

Τι είναι ένα Γεννητικό Αντισταθμιστικό Δίκτυο (GAN);

mm

Γεννητικά Αντισταθμιστικά Δίκτυα (GANs) είναι τύποι αρχιτεκτονικών νευρωνικών δικτύων ικανών να γεννούν νέα δεδομένα που συμμορφώνονται με τις εκμαθημένες προτύπους. Τα GANs μπορούν να χρησιμοποιηθούν για τη γεννήστευση εικόνων ανθρώπινων προσώπων ή άλλων αντικειμένων, για την εκτέλεση μετάφρασης κειμένου-εικόνας, για τη μετατροπή ενός τύπου εικόνας σε άλλον, και για την ενίσχυση της ανάλυσης των εικόνων (υπερ-ανάλυση) μεταξύ άλλων εφαρμογών. Επειδή τα GANs μπορούν να γεννήσουν εντελώς νέα δεδομένα, βρίσκονται στην κορυφή πολλών προηγμένων συστημάτων AI, εφαρμογών και ερευνών. Πώς όμως λειτουργούν ακριβώς τα GANs; Ας εξερευνήσουμε πώς λειτουργούν τα GANs και να δούμε μερικές από τις основικές τους χρήσεις.

Ορισμός των Γεννητικών Μοντέλων και GANs

Ένα GAN είναι ένα παράδειγμα γεννητικού μοντέλου. Τα περισσότερα μοντέλα AI μπορούν να χωριστούν σε μία από τις δύο κατηγορίες: επιβλεπόμενα και ανεπιβλεπόμενα μοντέλα. Τα μοντέλα επιβλεπόμενης μάθησης χρησιμοποιούνται συνήθως για να διακρίνουν μεταξύ διαφορετικών κατηγοριών εισόδων, για να ταξινομήσουν. Αντίθετα, τα ανεπιβλεπόμενα μοντέλα χρησιμοποιούνται συνήθως για να συνοψίσουν την κατανομή των δεδομένων, συχνά μαθαίνοντας μια κανονική κατανομή των δεδομένων. Επειδή μαθαίνουν την κατανομή ενός συνόλου δεδομένων, μπορούν να λάβουν δείγματα από αυτήν την εκμαθημένη κατανομή και να γεννήσουν νέα δεδομένα.

Διάφορα γεννητικά μοντέλα έχουν διαφορετικές μεθόδους για τη γεννήστευση δεδομένων και τον υπολογισμό των πιθανοτικών κατανομών. Για παράδειγμα, το μοντέλο Naive Bayes λειτουργεί υπολογίζοντας μια πιθανοτική κατανομή για τα διάφορα χαρακτηριστικά εισόδου και τη γεννητική τάξη. Όταν το μοντέλο Naive Bayes κάνει μια πρόβλεψη, υπολογίζει την πιθανότερη τάξη λαμβάνοντας την πιθανοότητα των διαφορετικών μεταβλητών και συνδυάζοντάς τες. Άλλα μη-βαθιά μοντέλα μάθησης που δεν βασίζονται σε νευρωνικά δίκτυα περιλαμβάνουν τα Μοντέλα Κανονικής Μίξης και τη Λατινική Διαιρέτευση (LDA). Τα βαθιά μοντέλα μάθησης που βασίζονται σε νευρωνικά δίκτυα περιλαμβάνουν Περιορισμένα Μοντέλα Boltzmann (RBMs), Βαριάντες Αυτο-Κωδικοποιητές (VAEs), και φυσικά, τα GANs.

Τα Γεννητικά Αντισταθμιστικά Δίκτυα προτάθηκαν για πρώτη φορά από τον Ian Goodfellow το 2014, και βελτιώθηκαν από τον Alec Redford και άλλους ερευνητές το 2015, οδηγώντας σε một стандαρδποιημένη αρχιτεκτονική για τα GANs. Τα GANs είναι στην πραγματικότητα δύο διαφορετικά δίκτυα που ενώνονται. Τα GANs αποτελούνται από δύο μέρη: ένα μοντέλο γεννήστευσης και ένα μοντέλο διακρίσεων, επίσης γνωστό ως γεννήτωρ και διακριστικός.

Η Αρχιτεκτονική των GANs

Τα Γεννητικά Αντισταθμιστικά Δίκτυα χτίζονται από ένα μοντέλο γεννήστευσης και ένα μοντέλο διακρίσεων που ενώνονται. Η δουλειά του μοντέλου γεννήστευσης είναι να δημιουργήσει νέα παραδείγματα δεδομένων, βασισμένα στα πρότυπα που το μοντέλο έχει μάθει από τα δεδομένα εκπαίδευσης. Η δουλειά του μοντέλου διακρίσεων είναι να αναλύσει εικόνες (υποθέτοντας ότι έχει εκπαιδευτεί σε εικόνες) και να καθορίσει αν οι εικόνες είναι γεννημένες/ψευδείς ή γνήσιες.

Τα δύο μοντέλα είναι αντιπαλές, εκπαιδευμένα με ένα παιχνίδι θεωρητικό τρόπο. Ο στόχος του μοντέλου γεννήστευσης είναι να παράγει εικόνες που απομακρύνουν τον αντίπαλό του – το μοντέλο διακρίσεων. Εν τω μεταξύ, η δουλειά του μοντέλου διακρίσεων είναι να υπερβεί τον αντίπαλό του, το μοντέλο γεννήστευσης, και να πιάσει τις ψευδείς εικόνες που παράγει ο γεννήτωρ. Το γεγονός ότι τα μοντέλα είναι αντιπαλές οδηγεί σε einen αγώνα όπου και τα δύο μοντέλα βελτιώνονται. Το μοντέλο διακρίσεων λαμβάνει ανατροφοδότηση για ποιες εικόνες ήταν γνήσιες και ποιες παράχθηκαν από τον γεννήτωρα, ενώ ο γεννήτωρ λαμβάνει πληροφορίες για ποιες από τις εικόνες του σημειώθηκαν ως ψευδείς από το μοντέλο διακρίσεων. Και τα δύο μοντέλα βελτιώνονται κατά τη διάρκεια της εκπαίδευσης, με στόχο την εκπαίδευση ενός μοντέλου γεννήστευσης που μπορεί να παράγει ψευδείς δεδομένα που είναι ουσιαστικά αδιακρίτως από τα γνήσια δεδομένα.

Όταν μια κανονική κατανομή των δεδομένων έχει δημιουργηθεί κατά τη διάρκεια της εκπαίδευσης, το μοντέλο γεννήστευσης μπορεί να χρησιμοποιηθεί. Το μοντέλο γεννήστευσης αρχικά λαμβάνει einen τυχαίο διανυσμα, το οποίο μετατρέπει με βάση την κανονική κατανομή. Με άλλα λόγια, το διανυσμα σπέρνει τη γεννήστευση. Όταν το μοντέλο έχει εκπαιδευτεί, ο χώρος του διανύσματος θα είναι μια συμπιεσμένη εκδοχή, ή αναπαράσταση, της κατανομής των δεδομένων. Η συμπιεσμένη εκδοχή της κατανομής των δεδομένων ονομάζεται.latent χώρος, ή.latent μεταβλητές. Αργότερα, το μοντέλο GAN μπορεί να λάβει την αναπαράσταση του.latent χώρου και να τραβήξει σημεία από αυτόν, τα οποία μπορούν να δοθούν στο μοντέλο γεννήστευσης και να χρησιμοποιηθούν για τη γεννήστευση νέων δεδομένων που είναι πολύ παρόμοια με τα δεδομένα εκπαίδευσης.

Το μοντέλο διακρίσεων λαμβάνει παραδείγματα από το整o πεδίο εκπαίδευσης, το οποίο αποτελείται από γνήσια και γεννημένα δεδομένα. Τα γνήσια παραδείγματα περιέχονται μέσα στο σύνολο δεδομένων εκπαίδευσης, ενώ τα ψευδείς δεδομένα παράγονται από το μοντέλο γεννήστευσης. Η διαδικασία εκπαίδευσης του μοντέλου διακρίσεων είναι ακριβώς η ίδια με την εκπαίδευση ενός βασικού, δυαδικού-ταξινόμησης μοντέλου.

Η Διαδικασία Εκπαίδευσης των GANs

Ας δούμε ολόκληρη τη διαδικασία εκπαίδευσης για ένα υποθετικό έργο γεννήστευσης εικόνας.

Για να αρχίσουμε, το GAN εκπαιδεύεται χρησιμοποιώντας γνήσιες, πραγματικές εικόνες ως μέρος του συνόλου δεδομένων εκπαίδευσης. Αυτό ρυθμίζει το μοντέλο διακρίσεων για να διακρίνει μεταξύ γεννημένων εικόνων και γνήσιων εικόνων. Επίσης, παράγει την κατανομή των δεδομένων που ο γεννήτωρ θα χρησιμοποιήσει για να παράγει νέα δεδομένα.

Ο γεννήτωρ λαμβάνει einen τυχαίο διανυσμα αριθμητικών δεδομένων και το μετατρέπει με βάση την κανονική κατανομή, επιστρέφοντας μια εικόνα. Αυτές οι γεννημένες εικόνες, μαζί με κάποιες γνήσιες εικόνες από το σύνολο δεδομένων εκπαίδευσης, δίνονται στο μοντέλο διακρίσεων. Το μοντέλο διακρίσεων θα κάνει μια πιθανοτική πρόβλεψη για τη φύση των εικόνων που λαμβάνει, εξόδοντας μια τιμή μεταξύ 0 και 1, όπου 1 είναι συνήθως γνήσιες εικόνες και 0 είναι μια ψευδής εικόνα.

Υπάρχει ένας διπλός βρόχος ανατροφοδότησης, καθώς το μοντέλο διακρίσεων λαμβάνει την αλήθεια για τις εικόνες, ενώ ο γεννήτωρ λαμβάνει ανατροφοδότηση για την απόδοσή του από το μοντέλο διακρίσεων.

Τα μοντέλα γεννήστευσης και διακρίσεων παίζουν ένα παιχνίδι με μηδενικό άθροισμα. Ένα παιχνίδι με μηδενικό άθροισμα είναι ένα όπου τα κέρδη από την μία πλευρά έρχονται με το κόστος της άλλης πλευράς (το άθροισμα είναι μηδέν ex). Όταν το μοντέλο διακρίσεων μπορεί να διακρίνει με επιτυχία μεταξύ γνήσιων και ψευδών παραδειγμάτων, δεν γίνονται αλλαγές στα παραμετρικά του μοντέλου. Ωστόσο, γίνονται μεγάλες ενημερώσεις στα παραμετρικά του μοντέλου όταν αποτυγχάνει να διακρίνει μεταξύ γνήσιων και ψευδών εικόνων. Το αντίθετο είναι αλήθεια για το μοντέλο γεννήστευσης, το οποίο τιμωρείται (και τα παραμετρικά του μοντέλου ενημερώνονται) όταν αποτυγχάνει να εξαπατήσει το μοντέλο διακρίσεων, αλλά αλλιώς τα παραμετρικά του μοντέλου παραμένουν αμετάβλητα (ή το μοντέλο ανταμείβεται).

Ιδανικά, ο γεννήτωρ είναι σε θέση να βελτιώσει την απόδοσή του σε ένα σημείο όπου το μοντέλο διακρίσεων δεν μπορεί να διακρίνει μεταξύ ψευδών και γνήσιων εικόνων. Αυτό σημαίνει ότι το μοντέλο διακρίσεων θα.render πάντα πιθανοότητες 50% για γνήσιες και ψευδείς εικόνες, που σημαίνει ότι οι γεννημένες εικόνες πρέπει να είναι αδιακρίτως από τις γνήσιες εικόνες. Σε πρακτική, τα GANs συνήθως δεν φτάνουν σε αυτό το σημείο. Ωστόσο, το μοντέλο γεννήστευσης δεν χρειάζεται να δημιουργήσει απόλυτα παρόμοιες εικόνες για να είναι ακόμη χρήσιμο για τις πολλές εργασίες που τα GANs χρησιμοποιούνται.

Εφαρμογές των GANs

Τα GANs έχουν πολλές διαφορετικές εφαρμογές, οι περισσότερες από τις οποίες περιστρέφονται γύρω από τη γεννήστευση εικόνων και στοιχείων εικόνων. Τα GANs χρησιμοποιούνται συνήθως σε εργασίες όπου τα απαιτούμενα δεδομένα εικόνας λείπουν ή είναι περιορισμένα σε κάποιο βαθμό, ως μέθοδος για τη γεννήστευση των απαιτούμενων δεδομένων. Ας εξετάσουμε μερικές από τις κοινές περιπτώσεις χρήσης για τα GANs.

Γεννήστευση Νέων Παραδειγμάτων για Συνολά

Τα GANs μπορούν να χρησιμοποιηθούν για τη γεννήστευση νέων παραδειγμάτων για απλά σύνολα εικόνων. Αν έχετε μόνο quelques παραδείγματα εκπαίδευσης και χρειάζεστε περισσότερα, τα GANs θα μπορούσαν να χρησιμοποιηθούν για τη γεννήστευση νέων δεδομένων εκπαίδευσης για einen ταξινομητή εικόνας, γεννήστευση νέων παραδειγμάτων σε διαφορετικές γωνίες και προσανατολισμούς.

Γεννήστευση Μοναδικών Ανθρώπινων Προσώπων

Η γυναίκα σε αυτήν την φωτογραφία δεν υπάρχει. Η εικόνα δημιουργήθηκε από το StyleGAN. Φωτογραφία: Owlsmcgee μέσω Wikimedia Commons, Δημόσια Δομή (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

Όταν εκπαιδευτούν επαρκώς, τα GANs μπορούν να χρησιμοποιηθούν για τη γεννήστευση εξαιρετικά ρεαλιστικών εικόνων ανθρώπινων προσώπων. Αυτές οι γεννημένες εικόνες μπορούν να χρησιμοποιηθούν για να βοηθήσουν στην εκπαίδευση συστημάτων αναγνώρισης προσώπων.

Μετάφραση Εικόνας-Εικόνας

Τα GANs εξέχουν στη μετάφραση εικόνας. Τα GANs μπορούν να χρησιμοποιηθούν για να χρωματίσουν ασπρόμαυρες εικόνες, να μεταφράσουν σ케τσές ή σχέδια σε φωτογραφικές εικόνες, ή να μετατρέψουν εικόνες από ημέρα σε νύχτα.

Μετάφραση Κειμένου-Εικόνας

Η μετάφραση κειμένου-εικόνας είναι δυνατή μέσω της χρήσης των GANs. Όταν παρέχεται κείμενο που περιγράφει μια εικόνα και την συνοδεύουσα εικόνα, ένα GAN μπορεί να εκπαιδευτεί για να δημιουργήσει μια νέα εικόνα όταν παρέχεται μια περιγραφή της επιθυμητής εικόνας.

Επεξεργασία και Επισκευή Εικόνων

Τα GANs μπορούν να χρησιμοποιηθούν για την επεξεργασία υπάρχουσων φωτογραφιών. Τα GANs αφαιρούν στοιχεία όπως η βροχή ή το χιόνι από μια εικόνα, αλλά μπορούν επίσης να χρησιμοποιηθούν για την επισκευή παλιών, κατεστραμμένων εικόνων ή εικόνων που έχουν διαβρωθεί.

Υπερ-Ανάλυση

Η υπερ-ανάλυση είναι η διαδικασία λήψης μιας εικόνας χαμηλής ανάλυσης και εισαγωγής περισσότερων pixel στην εικόνα, βελτιώνοντας την ανάλυση της εικόνας. Τα GANs μπορούν να εκπαιδευτούν για να λάβουν μια εικόνα και να γεννήσουν μια υψηλότερης ανάλυσης εκδοχή της εικόνας.

Blogger and programmer with specialties in Machine Learning and Deep Learning topics. Daniel hopes to help others use the power of AI for social good.