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

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

mm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τα GANs μπορούν να χρησιμοποιηθούν για τη γεννήστευση νέων παραδειγμάτων για απλά συνόλα δεδομένων εικόνων. Αν έχετε μόνο μερικά παραδείγματα εκπαίδευσης και χρειάζεστε περισσότερα, τα 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 και προγραμματιστής με ειδικότητες στα Machine Learning και Deep Learning θέματα. Ο Daniel ελπίζει να βοηθήσει τους άλλους να χρησιμοποιήσουν τη δύναμη του AI για κοινωνικό καλό.