Xlera8

Εισαγωγή στα μοντέλα διάχυσης για τη μηχανική μάθηση

Αυτό το άρθρο δημοσιεύθηκε αρχικά στις ΣυνέλευσηAI και αναδημοσιεύτηκε στο TOPBOTS με άδεια του συγγραφέα.

Τα μοντέλα διάχυσης είναι μοντέλα παραγωγής που έχουν κερδίσει σημαντική δημοτικότητα τα τελευταία αρκετά χρόνια και για καλό λόγο. Μια χούφτα θεμελιωδών εγγράφων που κυκλοφόρησαν τη δεκαετία του 2020 alone έχουν δείξει στον κόσμο τι είναι ικανά τα μοντέλα Diffusion, όπως να νικήσουν τα GAN[6] στη σύνθεση εικόνας. Πιο πρόσφατα, οι επαγγελματίες θα έχουν δει να χρησιμοποιούνται μοντέλα διάχυσης DALL-E2, το μοντέλο παραγωγής εικόνας του OpenAI κυκλοφόρησε τον περασμένο μήνα.

Διάφορες εικόνες που δημιουργούνται από το DALL-E 2 (πηγή).

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

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

Μοντέλα Διάχυσης – Εισαγωγή

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

Τα μοντέλα διάχυσης μπορούν να χρησιμοποιηθούν για τη δημιουργία εικόνων από θόρυβο (προσαρμοσμένο από πηγή)

Πιο συγκεκριμένα, ένα μοντέλο διάχυσης είναι ένα μοντέλο λανθάνουσας μεταβλητής που χαρτογραφείται στον λανθάνοντα χώρο χρησιμοποιώντας μια σταθερή αλυσίδα Markov. Αυτή η αλυσίδα προσθέτει σταδιακά θόρυβο στα δεδομένα προκειμένου να ληφθεί το κατά προσέγγιση οπίσθιο q(x1: Τ|x0), όπου x1,…,ΧT είναι οι λανθάνουσες μεταβλητές με την ίδια διάσταση με το x0. Στο παρακάτω σχήμα, βλέπουμε μια τέτοια αλυσίδα Markov που εκδηλώνεται για δεδομένα εικόνας.

Τελικά, η εικόνα μετατρέπεται ασυμπτωτικά σε καθαρό Gaussian θόρυβο. ο γκολ της εκπαίδευσης ένα μοντέλο διάχυσης είναι η εκμάθηση του αντιστρέψει διαδικασία – δηλαδή εκπαίδευση σελθ(xt−1|xt). Περνώντας προς τα πίσω κατά μήκος αυτής της αλυσίδας, μπορούμε να δημιουργήσουμε νέα δεδομένα.

Οφέλη των μοντέλων διάχυσης

Όπως αναφέρθηκε παραπάνω, η έρευνα για τα μοντέλα διάχυσης έχει εκραγεί τα τελευταία χρόνια. Εμπνευσμένο από τη θερμοδυναμική μη ισορροπίας[1], Τα μοντέλα διάχυσης παράγουν αυτήν τη στιγμή Ποιότητα εικόνας τελευταίας τεχνολογίας, παραδείγματα των οποίων μπορείτε να δείτε παρακάτω:

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

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

Μοντέλα διάχυσης – Μια βαθιά κατάδυση

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

Οι μεταβάσεις της αλυσίδας δειγματοληψίας στη διαδικασία προς τα εμπρός μπορούν να ρυθμιστούν σε Gaussians υπό όρους όταν το επίπεδο θορύβου είναι αρκετά χαμηλό. Ο συνδυασμός αυτού του γεγονότος με την υπόθεση Markov οδηγεί σε μια απλή παραμετροποίηση της μπροστινής διαδικασίας:

Μαθηματική Σημείωση

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

Αυτές οι δύο δηλώσεις είναι ισοδύναμες. Αυτό είναι

Για να καταλάβουμε γιατί, θα χρησιμοποιήσουμε μια ελαφρά κατάχρηση της σημειογραφίας με τον ισχυρισμό

Όπου η τελική επίπτωση πηγάζει από τη μαθηματική ισοδυναμία μεταξύ ενός αθροίσματος τυχαίων μεταβλητών και της συνέλιξης των κατανομών τους – βλ. αυτή τη σελίδα της Βικιπαίδειας Για περισσότερες πληροφορίες.

Με άλλα λόγια, δείξαμε ότι ο ισχυρισμός της κατανομής ενός χρονικού βήματος που εξαρτάται από το προηγούμενο μέσω του μέσου όρου μιας κατανομής Gauss ισοδυναμεί με τον ισχυρισμό ότι η κατανομή ενός δεδομένου χρονικού βήματος είναι αυτή του προηγούμενου με την προσθήκη του Gaussian θορύβου. Παραλείψαμε τις βαθμίδες που εισήχθησαν από το πρόγραμμα διακύμανσης και το δείξαμε για μια διάσταση για απλότητα, αλλά παρόμοια απόδειξη ισχύει για τα πολυμεταβλητά Gaussians.

Όπου β1,…,βT είναι ένα πρόγραμμα διακύμανσης (είτε μαθημένο είτε σταθερό) το οποίο, εάν συμπεριφέρεται σωστά, εξασφαλίζει αυτό xT είναι σχεδόν ένα ισότροπο Gaussian για αρκετά μεγάλο Τ.

Δεδομένης της υπόθεσης Markov, η κοινή κατανομή των λανθάνοντων μεταβλητών είναι το γινόμενο των μεταβάσεων της αλυσίδας υπό όρους Gauss (τροποποιημένο από πηγή).

Όπως αναφέρθηκε προηγουμένως, η «μαγεία» των μοντέλων διάχυσης έρχεται στο αντίστροφη διαδικασία. Κατά τη διάρκεια της εκπαίδευσης, το μοντέλο μαθαίνει να αντιστρέφει αυτή τη διαδικασία διάχυσης προκειμένου να δημιουργήσει νέα δεδομένα. Ξεκινώντας με τον καθαρό Gaussian θόρυβο p(xT):=N(xT,0,I) το μοντέλο μαθαίνει την κοινή κατανομή pθ(x0: Τ) όπως και

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

Εκπαίδευση

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

Λεπτομέρεια σημειογραφίας

Σημειώστε ότι ο ΛVLB είναι τεχνικά μια ανώτερος δεσμευμένο (το αρνητικό του ELBO) το οποίο προσπαθούμε να ελαχιστοποιήσουμε, αλλά το αναφέρουμε ως LVLB για συνέπεια με τη βιβλιογραφία.

Επιδιώκουμε να ξαναγράψουμε το ΛVLB από άποψη Αποκλίσεις Kullback-Leibler (KL). Η απόκλιση KL είναι ένα ασύμμετρο στατιστικό μέτρο απόστασης για το πόσο μία κατανομή πιθανότητας P διαφέρει από μια κατανομή αναφοράς Q. Μας ενδιαφέρει να διαμορφώσουμε το LVLB όσον αφορά τις αποκλίσεις KL επειδή οι κατανομές μετάβασης στην αλυσίδα Markov μας είναι Gaussians, και η απόκλιση KL μεταξύ των Gaussians έχει κλειστή μορφή.

Τι είναι η απόκλιση KL;

Η μαθηματική μορφή της απόκλισης KL για συνεχείς κατανομές είναι

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

Παρακάτω μπορείτε να δείτε την απόκλιση KL μιας μεταβαλλόμενης κατανομής P (μπλε) από μια κατανομή αναφοράς Q (το κόκκινο). Η πράσινη καμπύλη υποδεικνύει τη συνάρτηση εντός του ολοκληρώματος στον ορισμό για την απόκλιση KL παραπάνω και η συνολική περιοχή κάτω από την καμπύλη αντιπροσωπεύει την τιμή της απόκλισης KL του P από Q σε κάθε δεδομένη στιγμή, μια τιμή που εμφανίζεται και αριθμητικά.

Escorts Casting Lvlb όσον αφορά τις αποκλίσεις KL

Όπως αναφέρθηκε προηγουμένως, είναι δυνατό [1] για να ξαναγράψω το LVLB σχεδόν πλήρως όσον αφορά τις αποκλίσεις KL:

όπου

Στοιχεία Παραγωγής

Το μεταβλητό όριο είναι ίσο με

Αντικαθιστώντας τις κατανομές με τους ορισμούς τους με βάση την υπόθεση Markov μας, παίρνουμε

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

Χρησιμοποιώντας το θεώρημα του Bayes και την υπόθεση Markov, αυτή η έκφραση γίνεται

Στη συνέχεια διαχωρίζουμε τον μεσαίο όρο χρησιμοποιώντας κανόνες καταγραφής

Απομονώνοντας τον δεύτερο όρο, βλέπουμε

Επανασυνδέοντας αυτό στην εξίσωσή μας για το LVLB, έχουμε

Χρησιμοποιώντας κανόνες καταγραφής, αναδιατάσσουμε

d8

Στη συνέχεια, σημειώνουμε την ακόλουθη ισοδυναμία για την απόκλιση KL για οποιεσδήποτε δύο κατανομές:

Τέλος, εφαρμόζοντας αυτήν την ισοδυναμία στην προηγούμενη έκφραση, καταλήγουμε

Προετοιμασία της μπροστινής διαδικασίας πίσω στο x0 στο Λt−1 καταλήγει σε μια λυόμενη μορφή που οδηγεί σε Όλες οι αποκλίσεις KL είναι συγκρίσεις μεταξύ των Gaussians. Αυτό σημαίνει ότι οι αποκλίσεις μπορούν να υπολογιστούν ακριβώς με εκφράσεις κλειστής μορφής και όχι με εκτιμήσεις Monte Carlo[3].

Επιλογές Μοντέλων

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

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

Θα διερευνήσουμε τις λεπτομέρειες αυτών των επιλογών με περισσότερες λεπτομέρειες παρακάτω.

Forward Process και LT

Όπως σημειώθηκε παραπάνω, όσον αφορά τη διαδικασία προώθησης, πρέπει να ορίσουμε το πρόγραμμα διακύμανσης. Συγκεκριμένα, τους ορίσαμε να είναι χρονοεξαρτώμενες σταθερές, αγνοώντας το γεγονός ότι μπορούν να μαθευτούν. Για παράδειγμα[3], γραμμικό χρονοδιάγραμμα από β1= 10-4 προς βTΜπορεί να χρησιμοποιηθεί =0.2 ή ίσως μια γεωμετρική σειρά.

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

Αντίστροφη διαδικασία και Λ1:T−1

Τώρα συζητάμε τις επιλογές που απαιτούνται για τον ορισμό της αντίστροφης διαδικασίας. Θυμηθείτε από πάνω, ορίσαμε τις αντίστροφες μεταβάσεις Markov ως Gaussian:

Πρέπει τώρα να ορίσουμε τις συναρτησιακές μορφές του μθ ή Σθ. Ενώ υπάρχουν πιο περίπλοκοι τρόποι παραμετροποίησης του Σθ[5], απλά ορίσαμε

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

Δεδομένης αυτής της νέας διατύπωσης του Σθ, έχουμε

που μας επιτρέπει να μεταμορφωθούμε

προς την

όπου ο πρώτος όρος στη διαφορά είναι ένας γραμμικός συνδυασμός του xt και x0 που εξαρτάται από το πρόγραμμα διακύμανσης βt. Η ακριβής μορφή αυτής της συνάρτησης δεν είναι σχετική για τους σκοπούς μας, αλλά μπορεί να βρεθεί στο [3].

Η σημασία της παραπάνω αναλογίας είναι ότι η πιο απλή παραμετροποίηση του μθ απλά προβλέπει την οπίσθια μέση διάχυση. Είναι σημαντικό ότι οι συγγραφείς του [3] διαπίστωσε πράγματι ότι η εκπαίδευση μθ να προβλέψει το θόρυβος συστατικό σε οποιοδήποτε δεδομένο χρονικό στάδιο αποδίδει καλύτερα αποτελέσματα. Συγκεκριμένα, ας

όπου

Αυτό οδηγεί στην ακόλουθη εναλλακτική λειτουργία απώλειας, που οι συγγραφείς του [3] βρέθηκε ότι οδηγεί σε πιο σταθερή προπόνηση και καλύτερα αποτελέσματα:

Οι συγγραφείς του [3] σημειώστε επίσης τις συνδέσεις αυτής της διατύπωσης μοντέλων διάχυσης με παραγωγικά μοντέλα αντιστοίχισης βαθμολογίας που βασίζονται στη δυναμική Langevin. Πράγματι, φαίνεται ότι τα μοντέλα διάχυσης και τα μοντέλα που βασίζονται σε βαθμολογία μπορεί να είναι δύο όψεις του ίδιου νομίσματος, παρόμοια με την ανεξάρτητη και ταυτόχρονη ανάπτυξη της κβαντικής μηχανικής με βάση τα κύματα και της κβαντικής μηχανικής που βασίζεται σε μήτρες που αποκαλύπτουν δύο ισοδύναμες διατυπώσεις των ίδιων φαινομένων[2].

Αρχιτεκτονική δικτύου

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

Δεδομένου αυτού του περιορισμού, δεν προκαλεί έκπληξη το γεγονός ότι τα μοντέλα διάχυσης εικόνας εφαρμόζονται συνήθως με αρχιτεκτονικές τύπου U-Net.

Αποκωδικοποιητής αντίστροφης διαδικασίας και L0

Η διαδρομή κατά μήκος της αντίστροφης διεργασίας αποτελείται από πολλούς μετασχηματισμούς υπό συνεχείς υπό όρους Gaussian κατανομές. Στο τέλος της αντίστροφης διαδικασίας, θυμηθείτε ότι προσπαθούμε να δημιουργήσουμε ένα εικόνα, το οποίο αποτελείται από ακέραιες τιμές pixel. Ως εκ τούτου, πρέπει να επινοήσουμε έναν τρόπο να αποκτήσουμε διακριτές (log) πιθανότητες για κάθε πιθανή τιμή pixel σε όλα τα pixel.

Ο τρόπος που γίνεται αυτό είναι ορίζοντας την τελευταία μετάβαση στην αλυσίδα αντίστροφης διάχυσης σε an ανεξάρτητος διακριτός αποκωδικοποιητής. Για να προσδιορίσετε την πιθανότητα μιας δεδομένης εικόνας x0 δίνεται x1, επιβάλλουμε πρώτα την ανεξαρτησία μεταξύ των διαστάσεων δεδομένων:

όπου D είναι η διάσταση των δεδομένων και ο εκθέτης i δείχνει την εξαγωγή μιας συντεταγμένης. Ο στόχος τώρα είναι να προσδιοριστεί πόσο πιθανή είναι κάθε ακέραια τιμή για ένα δεδομένο pixel δεδομένου την κατανομή μεταξύ πιθανών τιμών για το αντίστοιχο pixel στην εικόνα με ελαφρύ θόρυβο τη στιγμή t=1:

όπου οι κατανομές εικονοστοιχείων για t=1 προέρχονται από τον παρακάτω πολυμεταβλητό Gaussian του οποίου ο πίνακας διαγώνιας συνδιακύμανσης μας επιτρέπει να χωρίσουμε την κατανομή σε ένα γινόμενο μονομεταβλητών Gaussian, ένα για κάθε διάσταση των δεδομένων:

Υποθέτουμε ότι οι εικόνες αποτελούνται από ακέραιους αριθμούς σε 0,1,…,255 (όπως κάνουν οι τυπικές εικόνες RGB) οι οποίοι έχουν κλιμακωθεί γραμμικά σε [−1,1]. Στη συνέχεια, αναλύουμε την πραγματική γραμμή σε μικρούς "κουβάδες", όπου, για μια δεδομένη κλιμακούμενη τιμή pixel x, ο κάδος για αυτό το εύρος είναι [x−1/255, x+1/255]. Η πιθανότητα μιας τιμής pixel x, δεδομένης της μονομεταβλητής κατανομής Gauss του αντίστοιχου pixel σε x1, είναι το περιοχή κάτω από αυτή τη μονομεταβλητή κατανομή Gauss εντός του κάδου με κέντρο στο x.

Παρακάτω μπορείτε να δείτε την περιοχή για κάθε έναν από αυτούς τους κάδους με τις πιθανότητές τους για Gaussian μέσου-0 που, σε αυτό το πλαίσιο, αντιστοιχεί σε μια κατανομή με μέση τιμή pixel 255/2 (μισή φωτεινότητα). Η κόκκινη καμπύλη αντιπροσωπεύει την κατανομή ενός συγκεκριμένου pixel στο t = 1 εικόνα, και οι περιοχές δίνουν την πιθανότητα της αντίστοιχης τιμής pixel στο t = 0 εικόνα.

Τεχνική σημείωση

Ο πρώτος και ο τελευταίος κάδος εκτείνονται σε -inf και +inf για να διατηρηθεί η συνολική πιθανότητα.

Δεδομένου α t = 0 τιμή pixel για κάθε pixel, η τιμή pθ(x0|x1) είναι απλώς το προϊόν τους. Αυτή η διαδικασία ενσωματώνεται συνοπτικά από την ακόλουθη εξίσωση:

όπου

και

Δίνεται αυτή η εξίσωση για το pθ(x0|x1), μπορούμε να υπολογίσουμε τον τελικό όρο του LVLB η οποία δεν έχει διατυπωθεί ως απόκλιση KL:

Τελικός στόχος

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

Επομένως, οι αλγόριθμοι εκπαίδευσης και δειγματοληψίας για το Μοντέλο Διάχυσης μπορούν να αποτυπωθούν συνοπτικά στο παρακάτω σχήμα:

Περίληψη Θεωρίας Μοντέλου Διάχυσης

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

  1. Το μοντέλο διάχυσης παραμετροποιείται ως α Αλυσίδα Markov, που σημαίνει ότι οι λανθάνουσες μεταβλητές μας x1,…,ΧT εξαρτώνται μόνο από το προηγούμενο (ή το επόμενο) χρονικό βήμα.
  2. Η μεταβατικές διανομές στην αλυσίδα Markov είναι Gaussian, όπου η διαδικασία προώθησης απαιτεί ένα χρονοδιάγραμμα διακύμανσης και μαθαίνονται οι παράμετροι της αντίστροφης διαδικασίας.
  3. Η διαδικασία διάχυσης διασφαλίζει ότι το xT is ασυμπτωτικά κατανεμημένο ως ισότροπο Gaussian για αρκετά μεγάλο Τ.
  4. Στην περίπτωσή μας, το Το πρόγραμμα διακύμανσης καθορίστηκε, αλλά μπορεί να μαθευτεί επίσης. Για σταθερά χρονοδιαγράμματα, η παρακολούθηση μιας γεωμετρικής προόδου μπορεί να προσφέρει καλύτερα αποτελέσματα από μια γραμμική πρόοδο. Και στις δύο περιπτώσεις, οι διακυμάνσεις γενικά αυξάνονται με το χρόνο στη σειρά (δηλ. βij Για εγώ
  5. Τα μοντέλα διάχυσης είναι πολύ ευέλικτο και επιτρέψτε κάθε αρχιτεκτονική της οποίας οι διαστάσεις εισόδου και εξόδου είναι ίδιες για χρήση. Χρησιμοποιούνται πολλές υλοποιήσεις U-Net-όπως αρχιτεκτονικές.
  6. Η εκπαιδευτικός στόχος είναι η μεγιστοποίηση της πιθανότητας των δεδομένων εκπαίδευσης. Αυτό εκδηλώνεται ως συντονισμός των παραμέτρων του μοντέλου σε ελαχιστοποιήστε το μεταβλητό άνω όριο της αρνητικής πιθανότητας καταγραφής των δεδομένων.
  7. Σχεδόν όλοι οι όροι της αντικειμενικής συνάρτησης μπορούν να εκδοθούν ως Αποκλίσεις KL ως αποτέλεσμα της υπόθεσής μας Markov. Αυτές οι αξίες καταστεί ικανός να υπολογιστεί δεδομένου ότι χρησιμοποιούμε Gaussians, επομένως παραλείπουμε την ανάγκη να κάνουμε προσέγγιση Monte Carlo.
  8. Τελικά, χρησιμοποιώντας α απλοποιημένος στόχος εκπαίδευσης η εκπαίδευση μιας συνάρτησης που προβλέπει τη συνιστώσα του θορύβου μιας δεδομένης λανθάνουσας μεταβλητής αποδίδει τα καλύτερα και πιο σταθερά αποτελέσματα.
  9. διακριτός αποκωδικοποιητής χρησιμοποιείται για τη λήψη πιθανοτήτων καταγραφής μεταξύ των τιμών των pixel ως το τελευταίο βήμα στη διαδικασία αντίστροφης διάχυσης.

Με αυτήν την επισκόπηση υψηλού επιπέδου των μοντέλων διάχυσης στο μυαλό μας, ας προχωρήσουμε για να δούμε πώς να χρησιμοποιήσουμε ένα μοντέλο διάχυσης στο PyTorch.

Μοντέλα διάχυσης στο PyTorch

Ενώ τα μοντέλα διάχυσης δεν έχουν ακόμη εκδημοκρατιστεί στον ίδιο βαθμό με άλλες παλαιότερες αρχιτεκτονικές/προσεγγίσεις στη Μηχανική Εκμάθηση, εξακολουθούν να υπάρχουν διαθέσιμες εφαρμογές για χρήση. Ο ευκολότερος τρόπος να χρησιμοποιήσετε ένα μοντέλο διάχυσης στο PyTorch είναι να χρησιμοποιήσετε το denoising-diffusion-pytorch πακέτο, το οποίο υλοποιεί ένα μοντέλο διάχυσης εικόνας όπως αυτό που συζητείται σε αυτό το άρθρο. Για να εγκαταστήσετε το πακέτο, απλώς πληκτρολογήστε την ακόλουθη εντολή στο τερματικό:

pip install denoising_diffusion_pytorch

Minimal Παράδειγμα

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

import torch
from denoising_diffusion_pytorch import Unet, GaussianDiffusion

Στη συνέχεια, ορίζουμε την αρχιτεκτονική του δικτύου μας, σε αυτήν την περίπτωση ένα U-Net. ο dim Η παράμετρος καθορίζει τον αριθμό των χαρτών χαρακτηριστικών πριν από την πρώτη δειγματοληψία και το dim_mults Η παράμετρος παρέχει πολλαπλασιαστές για αυτήν την τιμή και διαδοχικές προς τα κάτω δειγματοληψίες:

model = Unet(
 dim = 64,
 dim_mults = (1, 2, 4, 8)
)

Τώρα που έχει οριστεί η αρχιτεκτονική του δικτύου μας, πρέπει να ορίσουμε το ίδιο το μοντέλο διάχυσης. Περνάμε στο μοντέλο U-Net που μόλις καθορίσαμε μαζί με αρκετές παραμέτρους – το μέγεθος των εικόνων που θα δημιουργηθούν, τον αριθμό των χρονικών βημάτων στη διαδικασία διάχυσης και την επιλογή μεταξύ των κανόνων L1 και L2.

diffusion = GaussianDiffusion(
 model,
 image_size = 128,
 timesteps = 1000, # number of steps
 loss_type = 'l1' # L1 or L2
)

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

training_images = torch.randn(8, 3, 128, 128)
loss = diffusion(training_images)
loss.backward()

Μόλις το μοντέλο εκπαιδευτεί, μπορούμε τελικά να δημιουργήσουμε εικόνες χρησιμοποιώντας το sample() μέθοδος του diffusion αντικείμενο. Εδώ δημιουργούμε 4 εικόνες, οι οποίες είναι μόνο θόρυβος δεδομένου ότι τα δεδομένα προπόνησής μας ήταν τυχαία:

sampled_images = diffusion.sample(batch_size = 4)

Εκπαίδευση σε Προσαρμοσμένα Δεδομένα

Η denoising-diffusion-pytorch Το πακέτο σας επιτρέπει επίσης να εκπαιδεύσετε ένα μοντέλο διάχυσης σε ένα συγκεκριμένο σύνολο δεδομένων. Απλώς αντικαταστήστε το 'path/to/your/images' συμβολοσειρά με τη διαδρομή καταλόγου δεδομένων στο Trainer() αντικείμενο παρακάτω και αλλάξτε image_size στην κατάλληλη τιμή. Μετά από αυτό, απλώς εκτελέστε τον κώδικα για να εκπαιδεύσετε το μοντέλο και, στη συνέχεια, δοκιμάστε όπως πριν. Σημειώστε ότι το PyTorch πρέπει να μεταγλωττιστεί με ενεργοποιημένο το CUDA για να χρησιμοποιήσετε το Trainer τάξη:

from denoising_diffusion_pytorch import Unet, GaussianDiffusion, Trainer
model = Unet(
 dim = 64,
 dim_mults = (1, 2, 4, 8)
).cuda()
diffusion = GaussianDiffusion(
 model,
 image_size = 128,
 timesteps = 1000, # number of steps
 loss_type = 'l1' # L1 or L2
).cuda()
trainer = Trainer(
 diffusion,
 'path/to/your/images',
 train_batch_size = 32,
 train_lr = 2e-5,
 train_num_steps = 700000, # total training steps
 gradient_accumulate_every = 2, # gradient accumulation steps
 ema_decay = 0.995, # exponential moving average decay
 amp = True # turn on mixed precision
)
trainer.train()

Παρακάτω μπορείτε να δείτε προοδευτική διαγραφή θορύβου από πολυμεταβλητό θόρυβο Gauss σε ψηφία MNIST παρόμοια με την αντίστροφη διάχυση:

Τελικές λέξεις

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

αναφορές

[1] Βαθιά μάθηση χωρίς επίβλεψη με χρήση θερμοδυναμικής μη ισορροπίας

[2] Δημιουργική Μοντελοποίηση με Εκτίμηση Διαβαθμίσεων της Κατανομής Δεδομένων

[3] Πιθανοτικά Μοντέλα Αποθορύφωσης Διάχυσης

[4] Βελτιωμένες Τεχνικές για Εκπαιδευτικά Μοντέλα Βάσει Βαθμολογίας

[5] Βελτιωμένα Πιθανοτικά Μοντέλα Διάχυσης Αφαίρεσης Θορύβου

[6] Τα μοντέλα διάχυσης νικούν τα GAN στη σύνθεση εικόνας

[7] GLIDE: Προς τη δημιουργία και επεξεργασία φωτορεαλιστικής εικόνας με μοντέλα διάχυσης καθοδηγούμενα από κείμενο

[8] Ιεραρχική Δημιουργία εικόνας υπό όρους κειμένου με λανθάνοντα CLIP

Σας αρέσει αυτό το άρθρο; Εγγραφείτε για περισσότερες ενημερώσεις έρευνας για την τεχνητή νοημοσύνη.

Θα σας ενημερώσουμε όταν κυκλοφορούμε περισσότερα συνοπτικά άρθρα όπως αυτό.

Συνομιλία με μας

Γεια σου! Πώς μπορώ να σε βοηθήσω?