Τι είναι τα GAN; Πώς και γιατί πρέπει να τα χρησιμοποιήσετε!



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

Τα Generative Adversarial Networks ή GANs είναι μια γενετική προσέγγιση μοντελοποίησης που χρησιμοποιεί Βαθιά μάθηση να εκπαιδεύσει το μοντέλο με έναν έξυπνο τρόπο για τη δημιουργία δεδομένων χρησιμοποιώντας την προσέγγιση υπο-μοντέλου. Σε αυτό το άρθρο, θα προσπαθήσουμε να κατανοήσουμε λεπτομερώς το 'What are GANs'. Τα ακόλουθα θέματα καλύπτονται σε αυτό το άρθρο:

Τι είναι τα Generative Models;

Τα γενετικά μοντέλα δεν είναι τίποτα άλλο από εκείνα τα μοντέλα που χρησιμοποιούν πλησιάζω. Σε ένα γενετικό μοντέλο, υπάρχουν δείγματα στα δεδομένα, δηλαδή οι μεταβλητές εισόδου X, αλλά δεν έχει τη μεταβλητή εξόδου Υ. Χρησιμοποιούμε μόνο τις μεταβλητές εισόδου για να εκπαιδεύσουμε το δημιουργικό μοντέλο και αναγνωρίζει μοτίβα από τις μεταβλητές εισόδου για να δημιουργήσει μια άγνωστη έξοδο. και βασίζεται μόνο στα δεδομένα εκπαίδευσης.





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

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



Το πιο κοινό παράδειγμα ενός γενετικού μοντέλου είναι ένα το οποίο χρησιμοποιείται πιο συχνά ως διακριτικό μοντέλο. Άλλα παραδείγματα γενετικών μοντέλων περιλαμβάνουν το Gaussian Mixture Model και ένα μάλλον μοντέρνο παράδειγμα που είναι τα General Adversarial Networks. Ας προσπαθήσουμε να καταλάβουμε Τι είναι τα GAN;

Τι είναι το Generative Adversarial Network;

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

Περιγράφηκε για πρώτη φορά σε μια εργασία το 2014 από τον Ian Goodfellow και μια τυποποιημένη και πολύ σταθερή θεωρία μοντέλων προτάθηκε από τον Alec Radford το 2016, το οποίο είναι γνωστό ως DCGAN (Deep Convolutional General Adversarial Networks). Τα περισσότερα από τα GAN που υπάρχουν σήμερα χρησιμοποιούν αρχιτεκτονική DCGAN.



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

Πώς λειτουργεί?

Για να καταλάβουμε πώς λειτουργούν τα GAN, ας το αναλύσουμε.

δυαδικό σε δεκαδικό μετατροπέα java
  • Γενετικά - Αυτό σημαίνει ότι το μοντέλο ακολουθεί το προσέγγιση και είναι ένα γενετικό μοντέλο.
  • Αντίθετη - Το μοντέλο εκπαιδεύεται σε ένα αντίπαλο περιβάλλον
  • Δίκτυο - Για την εκπαίδευση του μοντέλου, χρησιμοποιεί τα νευρικά δίκτυα ως αλγόριθμους τεχνητής νοημοσύνης.

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

διάγραμμα ροής - τι είναι gnas - edureka

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

Η όλη διαδικασία μπορεί να επισημοποιηθεί με μαθηματικό τύπο που δίνεται παρακάτω.

Στον παραπάνω τύπο:

G = Γεννήτρια

Δ = Διακριτικός

Pdata (x) = Κατανομή πραγματικών δεδομένων

Pdata (z) = Διανομέας γεννήτριας

x = δείγμα από πραγματικά δεδομένα

z = δείγμα από τη γεννήτρια

D (x) = Δίκτυο διακρίσεων

G (z) = Δίκτυο γεννητριών

παράγοντας ενός αριθμού java

Τώρα έρχεται το εκπαιδευτικό μέρος για ένα GAN, το οποίο μπορεί να χωριστεί περαιτέρω σε 2 μέρη που γίνονται διαδοχικά.

Πώς να εκπαιδεύσετε ένα GAN;

Μέρος 1:

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

Βασικά, ο διαχωριστής εκπαιδεύεται με τα πραγματικά δεδομένα και ελέγχει αν μπορεί να τα προβλέψει σωστά και το ίδιο με τα ψεύτικα δεδομένα για να τα αναγνωρίσει ως ψεύτικα.

Μέρος 2ο:

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

Βήματα για προπόνηση

  1. Ορίστε το πρόβλημα - ορίστε το πρόβλημα και συλλέξτε δεδομένα.
  2. Επιλέξτε Αρχιτεκτονική του GAN - Ανάλογα με το πρόβλημά σας, επιλέξτε πώς θα εμφανίζεται το GAN σας.
  3. Εκπαιδεύστε διακριτές σε πραγματικά δεδομένα - Εκπαιδεύστε το διακριτικό με πραγματικά δεδομένα για να τα προβλέψετε ως πραγματικά για n πολλές φορές.
  4. Δημιουργήστε ψεύτικες εισόδους για γεννήτρια - Δημιουργήστε πλαστά δείγματα από τη γεννήτρια
  5. Εκπαιδεύστε διακριτές σε πλαστά δεδομένα - Εκπαιδεύστε το διακριτικό για να προβλέψει τα παραγόμενα δεδομένα ως πλαστά.
  6. Γεννήτρια αμαξοστοιχίας με έξοδο διακριτικού - Αφού λάβετε τις προβλέψεις για το διακριτικό, εκπαιδεύστε τη γεννήτρια για να ξεγελάσετε το διακριτικό

Προκλήσεις γενετικού Adversarial Network

Η έννοια των GAN ​​είναι αρκετά συναρπαστική, αλλά υπάρχουν πολλές αποτυχίες που μπορούν να προκαλέσουν πολλά εμπόδια στο δρόμο της. Μερικές από τις μεγάλες προκλήσεις που αντιμετωπίζουν τα GAN είναι:

  1. Σταθερότητα απαιτείται μεταξύ του διαχωριστή και της γεννήτριας αλλιώς ολόκληρο το δίκτυο θα πέσει. Σε περίπτωση που, εάν το Discriminator είναι πολύ ισχυρό, η γεννήτρια δεν θα εκπαιδεύσει εντελώς. Και αν το δίκτυο είναι πολύ επιεικό, θα δημιουργηθεί οποιαδήποτε εικόνα καθιστώντας το δίκτυο άχρηστο.
  2. Τα GAN αποτυγχάνουν άσχημα στον προσδιορισμό του τοποθέτηση των αντικειμένων όσον αφορά πόσες φορές το αντικείμενο πρέπει να εμφανιστεί σε αυτήν τη θέση.
  3. Η τρισδιάστατη προοπτική προβληματίζει τα GAN καθώς δεν είναι σε θέση να κατανοήσει προοπτική , συχνά δίνει μια επίπεδη εικόνα για ένα τρισδιάστατο αντικείμενο.
  4. Τα GAN έχουν πρόβλημα να κατανοήσουν το παγκόσμια αντικείμενα . Δεν μπορεί να διαφοροποιήσει ή να κατανοήσει μια ολιστική δομή.
  5. Οι νεότεροι τύποι GAN είναι πιο προηγμένοι και αναμένεται να ξεπεράσουν εντελώς αυτές τις αδυναμίες.

Γενικές Εφαρμογές Δικτύου Adversarial

Ακολουθούν μερικές εφαρμογές GAN.

Πρόβλεψη του επόμενου καρέ σε ένα βίντεο

Η πρόβλεψη μελλοντικών γεγονότων σε ένα πλαίσιο βίντεο καθίσταται δυνατή με τη βοήθεια των GAN. Το DVD-GAN ή το Dual Video Discriminator GAN μπορεί να δημιουργήσει 256 × 256 βίντεο αξιοσημείωτης πιστότητας έως και 48 καρέ σε μήκος. Αυτό μπορεί να χρησιμοποιηθεί για διάφορους σκοπούς, συμπεριλαμβανομένης της παρακολούθησης, στην οποία μπορούμε να προσδιορίσουμε τις δραστηριότητες σε ένα πλαίσιο που παραμορφώνεται λόγω άλλων παραγόντων όπως βροχή, σκόνη, καπνός κ.λπ.

Δημιουργία κειμένου σε εικόνα

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

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

Βελτίωση της ανάλυσης μιας εικόνας

πώς να δημιουργήσετε έναν δυναμικό πίνακα στο java

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

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

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

Το Pix2Pix GAN είναι ένα μοντέλο σχεδιασμένο για μετάφραση εικόνας-εικόνας γενικού σκοπού.

Διαδραστική δημιουργία εικόνων

Τα GAN μπορούν επίσης να χρησιμοποιηθούν για τη δημιουργία διαδραστικών εικόνων. Το εργαστήριο Επιστήμης Υπολογιστών και Τεχνητής Νοημοσύνης (CSAIL) έχει αναπτύξει ένα GAN που μπορεί να δημιουργήσει μοντέλα 3-D με ρεαλιστικό φωτισμό και αντανακλάσεις που ενεργοποιούνται από την επεξεργασία σχήματος και υφής.

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

Αυτό μας φέρνει στο τέλος αυτού του άρθρου όπου μάθαμε «Τι είναι GANs». Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο.

Εάν βρήκατε αυτό το άρθρο σχετικά με το 'What are GANs', δείτε το μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με ένα δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

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

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να κάνετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'What Are GANs' και η ομάδα μας θα χαρεί να απαντήσει.