στέλεχος Τι είναι ένα Generative Adversarial Network (GAN); - Unite.AI
Συνδεθείτε μαζί μας
Masterclass AI:

AI 101

Τι είναι ένα Generative Adversarial Network (GAN);

mm
Ενημερώθηκε on

Παραγωγικά Δίκτυα Παρακολούθησης (GAN) είναι τύποι αρχιτεκτονικών νευρωνικών δικτύων ικανό να παράγει νέα δεδομένα που συμμορφώνεται με τα μαθημένα πρότυπα. Τα GAN μπορούν να χρησιμοποιηθούν για τη δημιουργία εικόνων ανθρώπινων προσώπων ή άλλων αντικειμένων, για τη μετάφραση κειμένου σε εικόνα, για τη μετατροπή ενός τύπου εικόνας σε άλλο και για τη βελτίωση της ανάλυσης εικόνων (super ανάλυση) μεταξύ άλλων εφαρμογών. Επειδή τα GAN μπορούν να δημιουργήσουν εντελώς νέα δεδομένα, βρίσκονται επικεφαλής πολλών συστημάτων, εφαρμογών και έρευνας τεχνητής νοημοσύνης αιχμής. Ωστόσο, πώς ακριβώς λειτουργούν τα GAN; Ας εξερευνήσουμε πώς λειτουργούν τα GAN και ας ρίξουμε μια ματιά σε μερικές από τις κύριες χρήσεις τους.

Καθορισμός μοντέλων παραγωγής και GAN

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

Διαφορετικά παραγωγικά μοντέλα έχουν διαφορετικές μεθόδους παραγωγής δεδομένων και υπολογισμού των κατανομών πιθανοτήτων. Για παράδειγμα, το Μοντέλο Naive Bayes λειτουργεί με τον υπολογισμό μιας κατανομής πιθανότητας για τα διάφορα χαρακτηριστικά εισόδου και την παραγωγική κλάση. Όταν το μοντέλο Naive Bayes αποδίδει μια πρόβλεψη, υπολογίζει την πιο πιθανή κλάση λαμβάνοντας την πιθανότητα των διαφορετικών μεταβλητών και συνδυάζοντάς τες μαζί. Άλλα μοντέλα παραγωγής μη βαθιάς μάθησης περιλαμβάνουν τα μοντέλα Gaussian Mixture και το Latent Dirichlet Allocation (LDA). Μοντέλα παραγωγής που βασίζονται σε βαθιά κλίση περιλαμβάνουν Περιορισμένες μηχανές Boltzmann (RBM), Αυτοκωδικοποιητές παραλλαγής (VAE), και φυσικά, GAN.

Τα Generative Adversarial Networks ήταν προτάθηκε για πρώτη φορά από τον Ian Goodfellow το 2014, και βελτιώθηκαν από τον Alec Redford και άλλους ερευνητές το 2015, οδηγώντας σε μια τυποποιημένη αρχιτεκτονική για τα GAN. Τα GAN είναι στην πραγματικότητα δύο διαφορετικά δίκτυα ενωμένα μεταξύ τους. Τα GAN είναι αποτελείται από δύο μισά: ένα μοντέλο παραγωγής και ένα μοντέλο διάκρισης, που αναφέρεται επίσης ως γεννήτρια και διακριτικό.

Η Αρχιτεκτονική GAN

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

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

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

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

Εκπαιδευτική Διαδικασία GAN

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

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

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

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

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

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

Εφαρμογές GAN

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

Δημιουργία νέων παραδειγμάτων για σύνολα δεδομένων

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

Δημιουργώντας μοναδικά ανθρώπινα πρόσωπα

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

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

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

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

Μετάφραση από κείμενο σε εικόνα

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

Επεξεργασία και επιδιόρθωση εικόνων

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

Σούπερ ανάλυση

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

Blogger και προγραμματιστής με ειδικότητες στο Μηχανική μάθηση και Βαθιά μάθηση Θέματα. Ο Daniel ελπίζει να βοηθήσει άλλους να χρησιμοποιήσουν τη δύναμη της τεχνητής νοημοσύνης για κοινωνικό καλό.