Capsule Neural Networks - Σύνολο ένθετων νευρωνικών επιπέδων



Capsule Networks - Αυτό το ιστολόγιο μιλά για τους περιορισμούς των Convolutional Neural Networks και πώς το Capsule Neural Networks λύνει αυτούς τους περιορισμούς.

Δίκτυα καψουλών:

Τι είναι τα Δίκτυα Capsule; Βασικά, είναι ένα δίκτυο από σύνολο ένθετων νευρικών στρωμάτων.

Θα σας συνιστούσα να διαβάσετε και τα παρακάτω ιστολόγια:





Υποθέτω ότι, γνωρίζετε τα Convolutional Neural Networks (CNN). Εδώ, θα σας δώσω μια μικρή εισαγωγή στο ίδιο, έτσι ώστε να μπορώ να συζητήσω τους περιορισμούς των CNN.

Μπορείτε επίσης να ανατρέξετε στο παρακάτω βίντεο στο Convolutional Neural Network.



Συγκροτήματα Νευρωνικά Δίκτυα (CNN)

Τα Convolutional Neural Networks, είναι βασικά στοίβα διαφόρων επιπέδων τεχνητών νευρώνων, τα οποία χρησιμοποιούνται για την όραση του υπολογιστή. Παρακάτω, έχω αναφέρει αυτά τα επίπεδα:

Convolutional Neural Network - Capsule Neural Network - Edureka

Συνθετικό στρώμα: Όταν χρησιμοποιούμε Feedforward Neural Networks (Multi Layer Perceptron) για την ταξινόμηση εικόνας, υπάρχουν πολλές προκλήσεις με αυτό. Η πιο απογοητευτική πρόκληση είναι ότι, εισάγει πολλές παραμέτρους, εξετάστε το σεμινάριο βίντεο στο CNN.



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

Επίπεδο ReLU: Η λειτουργία μετασχηματισμού Rectified Linear Unit (ReLU) ενεργοποιεί έναν κόμβο μόνο εάν η είσοδος είναι πάνω από μια συγκεκριμένη ποσότητα, ενώ η είσοδος είναι κάτω από το μηδέν, η έξοδος είναι μηδέν, αλλά όταν η είσοδος ανεβαίνει πάνω από ένα ορισμένο κατώφλι, έχει γραμμική σχέση με το εξαρτημένη μεταβλητή.

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

Επίπεδο συγκέντρωσης: Αυτό χρησιμοποιείται για την εκτέλεση δειγματοληψίας, η οποία καταναλώνει μικρά και (συνήθως) διαχωριστικά κομμάτια της εικόνας και τα συγκεντρώνει σε μία μόνο τιμή. Υπάρχουν πολλά πιθανά σχήματα για τη συγκέντρωση - το πιο δημοφιλές ον Max-Pooling , όπου λαμβάνεται η μέγιστη τιμή pixel σε κάθε κομμάτι. Κάνει το δίκτυο αμετάβλητο σε μικρούς μετασχηματισμούς, παραμορφώσεις και μεταφράσεις στην εικόνα εισόδου (μια μικρή παραμόρφωση στην είσοδο δεν θα αλλάξει την έξοδο του Pooling - αφού παίρνουμε τη μέγιστη / μέση τιμή σε μια τοπική γειτονιά).

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

Με αυτόν τον τρόπο, το ConvNets μετατρέπει το αρχικό επίπεδο εικόνας ανά επίπεδο από τις αρχικές τιμές pixel στις τελικές βαθμολογίες τάξης.

Αυτή ήταν μια πολύ σύντομη εισαγωγή στα Convolutional Neural Networks, θα σας συνιστούσα να ρίξετε μια ματιά στο βίντεο CNN που έχω ενσωματώσει σε αυτήν την ανάρτηση.

Σε αυτό το ιστολόγιο Capsule Networks, θα συζητήσω τώρα μερικούς περιορισμούς των Convolutional Neural Networks

Περιορισμοί των συμπαγικών νευρωνικών δικτύων:

Λοιπόν, επιτρέψτε μου να το εξηγήσω με μια αναλογία.

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

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

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

Λοιπόν, αυτός ο περιορισμός οφείλεται στο στρώμα Max Pooling.

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

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

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

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

Ας δούμε ποια είναι η λύση που προτείνει Τζέφρι Χίντιν .

Πώς να επιλύσετε αυτό το πρόβλημα;

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

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

Επιτρέψτε μου να βάλω μερικά φώτα σε αυτό που είναι το Capsule Networks.

Τι είναι τα Δίκτυα Capsule;

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

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

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

Μπορούμε να πούμε ότι λειτουργεί σε ισοτιμία και όχι σε αναλλοίωτα.

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

Ισοτιμία: είναι η ανίχνευση αντικειμένων που μπορούν να μεταμορφωθούν μεταξύ τους (για παράδειγμα, ανίχνευση προσώπων με διαφορετικούς προσανατολισμούς). Διαισθητικά, το δίκτυο κάψουλας ανιχνεύει ότι το πρόσωπο περιστρέφεται δεξιά 31 ° (ισοδυναμία) αντί να συνειδητοποιεί ότι το πρόσωπο ταιριάζει με μια παραλλαγή που περιστρέφεται 31 °. Αναγκάζοντας το μοντέλο να μάθει την παραλλαγή χαρακτηριστικών σε μια κάψουλα, μπορούμε να παρέχουμε τις πιθανές παραλλαγές πιο αποτελεσματικά με λιγότερα δεδομένα εκπαίδευσης. Επιπλέον, ενδέχεται να απορρίψουμε τους αντιπάλους πιο αποτελεσματικά.

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

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

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

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

Επιτρέψτε μου να σας πω τώρα, πώς λειτουργούν τα Δίκτυα Capsule.

Πώς λειτουργούν τα Δίκτυα Capsule;

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

πώς να φτιάξετε έναν δυναμικό πίνακα στο java

Τώρα, ας δούμε τι συμβαίνει στα Δίκτυα Capsule.

Νευρικό δίκτυο καψουλών:

Ας σκεφτούμε ένα Νευρικό Δίκτυο Capsule όπου «εσείςΕγώ«Είναι ο φορέας δραστηριότητας για την κάψουλα»Εγώ'στο παρακάτω επίπεδο.

Βήμα - 1: Εφαρμόστε μια μήτρα μετασχηματισμούΣΕijστην έξοδο κάψουλας uΕγώ του προηγούμενου επιπέδου. Για παράδειγμα, με μια μήτρα m × k, μεταμορφώνουμε ένα k-DεσύΕγώ σε ένα m-Du ^ι | θ. ((m × k) × (k × 1) = m × 1).

Είναι η πρόβλεψη ( ψήφος ) από την κάψουλα «i» στην έξοδο της κάψουλας «j» παραπάνω. «Vι«Είναι ο φορέας δραστηριότητας για την κάψουλα»τ ’στο παραπάνω επίπεδο

Βήμα - 2: Υπολογίστε ένα σταθμισμένο άθροισμαιμε βάρηντοij.ντοijείναι οι συντελεστές ζεύξης. Το άθροισμα αυτών των συντελεστών είναι ίσο με ένα. Είναι η πραγματική παράμετρος που λειτουργεί στη σχέση ομάδας καψουλών που μιλήσαμε νωρίτερα.

Βήμα - 3: Στα Convolutional Neural Networks χρησιμοποιήσαμε τη λειτουργία ReLU. Εδώ, θα εφαρμόσουμε μια συνάρτηση σκουός για να κλιμακώσουμε το διάνυσμα μεταξύ 0 και μήκους μονάδας. Συρρικνώνεται μικρά διανύσματα σε μηδέν και μεγάλα διανύσματα σε διανύσματα μονάδας. Επομένως, η πιθανότητα κάθε κάψουλας περιορίζεται μεταξύ μηδέν και ενός.

Είναι η πρόβλεψη ( ψήφος ) από την κάψουλα «i» στην έξοδο της κάψουλας «j» παραπάνω. Εάν ο φορέας δραστηριότητας έχει στενή ομοιότητα με τον φορέα πρόβλεψης, συμπεραίνουμε ότι η κάψουλα 'Εγώ'σχετίζεται ιδιαίτερα με την κάψουλα «τ ’. (Για παράδειγμα, η ρινική κάψουλα σχετίζεται σε μεγάλο βαθμό με την κάψουλα προσώπου.) Αυτή η ομοιότητα μετριέται χρησιμοποιώντας το κλιμακωτό προϊόν της πρόβλεψης και του φορέα δραστηριότητας. Επομένως, η ομοιότητα λαμβάνει υπόψη τόσο την ομοιότητα όσο και τις ιδιότητες χαρακτηριστικών. (αντί για απλή ομοιότητα στους νευρώνες).

Βήμα - 4: Υπολογισμός βαθμολογίας συνάφειας «βij«. Θα είναι το τελικό προϊόν του διανύσματος δραστηριότητας και του διανύσματος πρόβλεψης. Οι συντελεστές ζεύξηςντοΕγώιυπολογίζεται ως το softmax τουσιΕγώι:

Ο συντελεστής ζεύξης γijυπολογίζεται ως το softmax του bij.

Αυτό βijενημερώνεται επαναληπτικά σε πολλές επαναλήψεις.

Αυτό ονομάζεται ως Δρομολόγηση με συμφωνία .

Το παρακάτω διάγραμμα είναι ένα παράδειγμα:

Μετά από αυτό το ιστολόγιο στο Capsule Networks, θα δημιουργήσω ένα blog σχετικά με την εφαρμογή Capsule Neural Network χρησιμοποιώντας το TensorFlow.

Ελπίζω να σας άρεσε να διαβάζετε αυτό το blog σε δίκτυα κάψουλας, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα Εκπαίδευσης Edureka Deep Learning with TensorFlow Certification βοηθά τους μαθητές να γίνουν ειδικοί στην κατάρτιση και τη βελτιστοποίηση βασικών και συνελικτικών νευρωνικών δικτύων χρησιμοποιώντας έργα και εργασίες σε πραγματικό χρόνο, μαζί με έννοιες όπως η λειτουργία SoftMax, η αυτόματη κωδικοποίηση Neural Networks, το Restricted Boltzmann Machine (RBM).

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.