Λένετ5 Το LeNet5 γεννήθηκε το 1994 και είναι ένα από τα πρώτα συνελικτικά νευρωνικά δίκτυα και έχει προχωρήσει στον τομέα της βαθιάς μάθησης. Από το 1988, μετά από πολλές επιτυχημένες επαναλήψεις, αυτό το πρωτοποριακό έργο του Yann LeCun ονομάστηκε LeNet5 (βλ.: Gradient-Based Learning Applied to Document Recognition).
Η αρχιτεκτονική του LeNet5 βασίζεται στην ιδέα ότι (ειδικά) τα χαρακτηριστικά μιας εικόνας κατανέμονται σε ολόκληρη την εικόνα και ότι η συνέλιξη με παραμέτρους που μπορούν να μάθουν είναι ένας αποτελεσματικός τρόπος εξαγωγής παρόμοιων χαρακτηριστικών σε πολλές τοποθεσίες με μικρό αριθμό παραμέτρων. Εκείνη την εποχή, δεν υπήρχε GPU για να βοηθήσει στην εκπαίδευση, και ακόμη και η CPU ήταν αργή. Επομένως, η δυνατότητα αποθήκευσης παραμέτρων καθώς και η διαδικασία υπολογισμού είναι μια βασική εξέλιξη. Αυτό είναι το αντίθετο από τη χρήση κάθε pixel ως ξεχωριστής εισόδου για ένα μεγάλο, πολυεπίπεδο νευρωνικό δίκτυο. Ο LeNet5 εξηγεί ότι αυτά τα εικονοστοιχεία δεν πρέπει να χρησιμοποιούνται στο πρώτο επίπεδο, επειδή η εικόνα έχει ισχυρούς χωρικούς συσχετισμούς που δεν μπορούν να αξιοποιηθούν χρησιμοποιώντας ανεξάρτητα εικονοστοιχεία στην εικόνα ως διαφορετικά χαρακτηριστικά εισόδου.
Τα χαρακτηριστικά του LeNet5 μπορούν να συνοψιστούν ως εξής:
Τα συνελικτικά νευρωνικά δίκτυα χρησιμοποιούν 3 επίπεδα ως ακολουθία: συνελικτικό, συγκεντρωτικό, μη γραμμικό → Αυτό είναι πιθανώς ένα βασικό χαρακτηριστικό της βαθιάς μάθησης εικόνας από αυτό το άρθρο! Χρησιμοποιήστε συνελίξεις για να εξαγάγετε χωρικά χαρακτηριστικά Υποδείγμα που χρησιμοποιεί χαρτογράφηση σε χωρικό μέσο όρο Μη γραμμικότητα με τη μορφή υπερβολικής εφαπτομένης (tanh) ή σχήματος S (σιγμοειδές). Τα πολυστρωματικά νευρωνικά δίκτυα (MLP) χρησιμεύουν ως οι τελικοί ταξινομητές Οι αραιοί πίνακες σύνδεσης μεταξύ των επιπέδων αποφεύγουν το μεγάλο υπολογιστικό κόστος
Συνολικά, αυτό το δίκτυο αποτελεί την αφετηρία για μεγάλο αριθμό πρόσφατων αρχιτεκτονικών και έχει εμπνεύσει πολλούς σε αυτόν τον χώρο.
Διάστημα Από το 1998 έως το 2010, το νευρωνικό δίκτυο βρισκόταν στο στάδιο της επώασης. Οι περισσότεροι άνθρωποι δεν γνωρίζουν την αυξανόμενη δύναμή τους, ενώ άλλοι ερευνητές αργούν να το κάνουν. Χάρη στην έλευση των καμερών κινητών τηλεφώνων και των φθηνών ψηφιακών φωτογραφικών μηχανών, όλο και περισσότερα δεδομένα αξιοποιούνται. Και η υπολογιστική ισχύς αυξάνεται επίσης, οι CPU γίνονται πιο γρήγορες και οι GPU γίνονται υπολογιστικά εργαλεία για πολλαπλούς σκοπούς. Αυτές οι τάσεις επέτρεψαν στα νευρωνικά δίκτυα να προχωρήσουν, αν και αργά. Τα δεδομένα και η υπολογιστική ισχύς κάνουν τις εργασίες που μπορούν να ολοκληρώσουν τα νευρωνικά δίκτυα όλο και πιο ενδιαφέρουσες. Μετά από αυτό όλα ξεκαθάρισαν......
Νταν Σιρεσάν Νετ Το 2010, οι Dan Claudiu Ciresan και Jurgen Schmidhuber δημοσίευσαν μια υλοποίηση του παλαιότερου νευρωνικού δικτύου GPU. Αυτή η υλοποίηση είναι ένα νευρωνικό δίκτυο 9 επιπέδων που εκτελείται σε επεξεργαστή γραφικών NVIDIA GTX 280, συμπεριλαμβανομένης της διάδοσης προς τα εμπρός και προς τα πίσω.
ΑλεξNet Το 2012, ο Alex Krizhevsky δημοσίευσε το Alexet (βλέπε: ImageNet Classification with Deep Convolutional Neural Networks), μια βαθύτερη και ευρύτερη έκδοση του LeNet που κέρδισε τον δύσκολο διαγωνισμό ImageNet με σημαντική διαφορά.
Το AlexNet επεκτείνει τις ιδέες του LeNet σε μεγαλύτερα νευρωνικά δίκτυα που μπορούν να μάθουν πολύ πιο σύνθετα αντικείμενα και επίπεδα αντικειμένων. Οι συνεισφορές αυτής της εργασίας είναι:
Χρησιμοποιήστε μια τροποποιημένη γραμμική μονάδα (ReLU) ως μη γραμμικότητα Χρησιμοποιήστε την τεχνική Dropout για να αγνοήσετε επιλεκτικά μεμονωμένους νευρώνες κατά τη διάρκεια της προπόνησης για να αποφύγετε την υπερπροσαρμογή του μοντέλου Παρακάμψτε μια μεγάλη ομάδα για να αποφύγετε τη μέση επίδραση της μέσης συγκέντρωσης Μειώστε τον χρόνο προπόνησης με την GPU NVIDIA GTX 580
Σε εκείνο το σημείο, οι GPU μπορούν να παρέχουν μεγαλύτερο αριθμό πυρήνων από τις CPU και ο χρόνος εκπαίδευσης μπορεί να αυξηθεί κατά 10 φορές, γεγονός που με τη σειρά του επιτρέπει μεγαλύτερα σύνολα δεδομένων και μεγαλύτερες εικόνες.
Η επιτυχία του AlexNet οδήγησε σε μια μικρή επανάσταση. Τα συνελικτικά νευρωνικά δίκτυα αποτελούν πλέον τη ραχοκοκαλιά της βαθιάς μάθησης και έχουν γίνει συνώνυμα με τα «μεγάλα νευρωνικά δίκτυα που μπορούν πλέον να λύσουν χρήσιμες εργασίες».
Υπερβολή Τον Δεκέμβριο του 2013, το εργαστήριο Yann LeCun στο Πανεπιστήμιο της Νέας Υόρκης πρότεινε ένα παράγωγο του AlexNet, το Overfeat (βλέπε: OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks). Αυτό το άρθρο πρότεινε επίσης ένα πλαίσιο οριοθέτησης μάθησης, το οποίο οδήγησε σε πολλές εργασίες για το ίδιο θέμα. Πιστεύω ότι είναι καλύτερο να μάθεις να χωρίζεις αντικείμενα παρά να μαθαίνεις τεχνητά πλαίσια οριοθέτησης.
Το VGG Το δίκτυο VGG από το Πανεπιστήμιο της Οξφόρδης (βλέπε: Very Deep Convolutional Networks for Large-Scale Image Recognition) είναι το πρώτο δίκτυο που χρησιμοποιεί μικρότερα φίλτρα 3×3 σε κάθε συνελικτικό επίπεδο και τα συνδυάζει για να τα επεξεργαστεί ως συνελικτική ακολουθία.
Αυτό φαίνεται να είναι το αντίθετο από την αρχή του LeNet, όπου χρησιμοποιούνται μεγάλες συνελίξεις για την απόκτηση παρόμοιων χαρακτηριστικών σε μια εικόνα. Σε αντίθεση με τα φίλτρα 9×9 ή 11×11 του AlexNet, τα φίλτρα αρχίζουν να γίνονται μικρότερα, πλησιάζοντας τη διαβόητη ανωμαλία συνέλιξης 1×1 που προσπαθεί να αποφύγει η LeNet - τουλάχιστον στο πρώτο επίπεδο του δικτύου. Ωστόσο, το VGG έχει σημειώσει μεγάλη πρόοδο χρησιμοποιώντας πολλαπλές συνελίξεις 3×3 διαδοχικά για να μιμηθεί τα αποτελέσματα μεγαλύτερων δεκτικών πεδίων, όπως το 5×5 και το 7×7. Αυτές οι ιδέες έχουν επίσης χρησιμοποιηθεί σε πιο πρόσφατες αρχιτεκτονικές δικτύων, όπως το Inception και το ResNet.
Τα δίκτυα VGG χρησιμοποιούν πολλαπλά συνελικτικά επίπεδα 3×3 για να χαρακτηρίσουν πολύπλοκα χαρακτηριστικά. Σημειώστε ότι τα φίλτρα 3ου, 4ου, 5ου VGG-E: 256×256 και 512×512 3×3 χρησιμοποιούνται πολλές φορές με τη σειρά τους για την εξαγωγή πιο περίπλοκων χαρακτηριστικών και συνδυασμών αυτών των χαρακτηριστικών. Το αποτέλεσμα είναι ισοδύναμο με έναν μεγάλο ταξινομητή 512×512 με 3 συνελικτικά στρώματα. Αυτό προφανώς σημαίνει ότι υπάρχουν πολλές παράμετροι και δυνατότητες μάθησης. Αλλά αυτά τα δίκτυα είναι δύσκολο να εκπαιδευτούν και πρέπει να χωριστούν σε μικρότερα δίκτυα και να συσσωρευτούν στρώμα προς στρώμα. Αυτό οφείλεται στην έλλειψη ενός ισχυρού τρόπου τακτοποίησης του μοντέλου ή στον περισσότερο ή λιγότερο περιορισμό μεγάλου χώρου αναζήτησης λόγω του μεγάλου αριθμού παραμέτρων.
Το VGG χρησιμοποιεί μεγάλα μεγέθη χαρακτηριστικών σε πολλά επίπεδα, επειδή η εξαγωγή συμπερασμάτων είναι χρονοβόρα κατά το χρόνο εκτέλεσης. Όπως και με το σημείο συμφόρησης του Inception, η μείωση του αριθμού των χαρακτηριστικών θα εξοικονομήσει κάποιο υπολογιστικό κόστος.
Δίκτυο σε δίκτυο Η ιδέα του Network in Network (NiN, βλ. έγγραφο: Network In Network) είναι απλή και σπουδαία: η χρήση της συνέλιξης 1×1 για την παροχή πιο συνθετικών δυνατοτήτων για τα χαρακτηριστικά του συνελικτικού επιπέδου.
Η αρχιτεκτονική NiN χρησιμοποιεί χωρικά επίπεδα MLP μετά από μεμονωμένες συνελίξεις για να συνδυάσει καλύτερα τα χαρακτηριστικά πριν από άλλα επίπεδα. Και πάλι, μπορείτε να σκεφτείτε ότι οι συνελίξεις 1×1 είναι αντίθετες με την αρχική αρχή του LeNet, αλλά στην πραγματικότητα μπορούν να συνδυάσουν συνελικτικά χαρακτηριστικά με καλύτερο τρόπο από ό,τι δεν είναι δυνατό απλώς στοιβάζοντας περισσότερα συνελικτικά χαρακτηριστικά. Αυτό είναι διαφορετικό από τη χρήση του αρχικού εικονοστοιχείου ως εισόδου επόμενου επιπέδου. Οι συνελίξεις 1×1 χρησιμοποιούνται συχνά για να συνδυάσουν χαρακτηριστικά σε χάρτες χαρακτηριστικών μετά τη συνέλιξη, ώστε να μπορούν πραγματικά να χρησιμοποιούν πολύ λίγες παραμέτρους και να τις μοιράζονται σε όλα τα pixel αυτών των χαρακτηριστικών!
Η ικανότητα του MLP να αυξάνει σημαντικά την αποτελεσματικότητα μεμονωμένων συνελικτικών χαρακτηριστικών συνδυάζοντάς τα σε πιο σύνθετες ομάδες. Αυτή η ιδέα έχει χρησιμοποιηθεί έκτοτε σε ορισμένες πρόσφατες αρχιτεκτονικές, όπως το ResNet, το Inception και τα παράγωγά του.
Το NiN χρησιμοποιεί επίσης ένα μέσο επίπεδο συγκέντρωσης ως μέρος του τελικού ταξινομητή, μια άλλη πρακτική που θα γίνει κοινή. Αυτό γίνεται με τον μέσο όρο των αποκρίσεων του δικτύου σε πολλαπλές εικόνες εισόδου πριν από την ταξινόμηση.
GoogLeNet και Inception Ο Christian Szegedy από την Google ξεκίνησε την προσπάθειά του να μειώσει την υπολογιστική επιβάρυνση των βαθιών νευρωνικών δικτύων και σχεδίασε το GoogLeNet, την πρώτη αρχιτεκτονική Inception (βλέπε: Going Deeper with Convolutions).
Ήταν το φθινόπωρο του 2014 και τα μοντέλα βαθιάς μάθησης γίνονταν χρήσιμα για την ταξινόμηση των καρέ εικόνας έναντι των καρέ βίντεο. Οι περισσότεροι σκεπτικιστές δεν αμφιβάλλουν πλέον ότι η βαθιά μάθηση και τα νευρωνικά δίκτυα επέστρεψαν πραγματικά αυτή τη φορά και θα συνεχίσουν να εξελίσσονται. Δεδομένης της χρησιμότητας αυτών των τεχνολογιών, οι γίγαντες του Διαδικτύου όπως η Google ενδιαφέρονται πολύ να αναπτύξουν αυτές τις αρχιτεκτονικές αποτελεσματικά και σε κλίμακα στους διακομιστές τους.
Ο Christian σκέφτηκε πολύ για το πώς τα βαθιά νευρωνικά δίκτυα μπορούν να επιτύχουν υψηλά επίπεδα απόδοσης, όπως στο ImageNet, μειώνοντας παράλληλα την υπολογιστική τους επιβάρυνση. Ή μπορούν να γίνουν βελτιώσεις στην απόδοση, διασφαλίζοντας παράλληλα την ίδια υπολογιστική επιβάρυνση.
Αυτός και η ομάδα του κατέληξαν στην ενότητα Inception:
Με την πρώτη ματιά, πρόκειται βασικά για έναν παράλληλο συνδυασμό συνελικτικών φίλτρων 1×1, 3×3, 5×5. Αλλά η μεγάλη ιδέα του Inception είναι να μειώσει τον αριθμό των χαρακτηριστικών πριν από ακριβές παράλληλες μονάδες με 1×1 συνελικτικά μπλοκ (NiN). Αυτό αναφέρεται συνήθως ως «σημείο συμφόρησης». Αυτή η ενότητα θα εξηγηθεί στην ενότητα "επίπεδο συμφόρησης" παρακάτω.
Το GoogLeNet χρησιμοποιεί μια ραχοκοκαλιά χωρίς μονάδα έναρξης ως αρχικό επίπεδο, ακολουθούμενη από ένα μέσο επίπεδο συγκέντρωσης συν έναν ταξινομητή softmax παρόμοιο με το NiN. Αυτός ο ταξινομητής έχει πολύ μικρότερο αριθμό λειτουργιών από τους ταξινομητές του AlexNet και του VGG. Αυτό οδήγησε επίσης σε έναν πολύ αποτελεσματικό σχεδιασμό δικτύου, δείτε το έγγραφο: An Analysis of Deep Neural Network Models for Practical Applications.
Στρώμα συμφόρησης Εμπνευσμένο από το NiN, το επίπεδο συμφόρησης του Inception μειώνει τον αριθμό των χαρακτηριστικών σε κάθε επίπεδο και, συνεπώς, τον αριθμό των λειτουργιών. Έτσι, ο χρόνος εξαγωγής συμπερασμάτων μπορεί να διατηρηθεί χαμηλός. Ο αριθμός των χαρακτηριστικών μειώνεται κατά 4 φορές πριν τα δεδομένα περάσουν από ακριβές συνελικτικές μονάδες. Πρόκειται για σημαντική εξοικονόμηση όσον αφορά το υπολογιστικό κόστος και την επιτυχία της αρχιτεκτονικής.
Ας το επαληθεύσουμε συγκεκριμένα. Τώρα που έχετε 256 εισόδους χαρακτηριστικών και 256 εξόδους χαρακτηριστικών, ας υποθέσουμε ότι το επίπεδο Inception μπορεί να εκτελέσει μόνο 3×3 συνελίξεις, που σημαίνει συνολικά 256×256×3×3 συνελίξεις (σχεδόν 589.000 λειτουργίες πολλαπλασιασμού και συσσώρευσης (MAC)). Αυτό μπορεί να είναι πέρα από τον υπολογιστικό προϋπολογισμό μας, ας πούμε, για την εκτέλεση του επιπέδου σε 0.5 χιλιοστά του δευτερολέπτου σε διακομιστές Google. Αντ' αυτού, αποφασίσαμε να μειώσουμε τον αριθμό των χαρακτηριστικών που έπρεπε να περιπλέκονται, ο οποίος ήταν 64 (δηλαδή 256/4). Σε αυτήν την περίπτωση, ξεκινάμε με μια συνέλιξη 256 -> 64 1×1, στη συνέχεια 64 συνελίξεις σε όλους τους κλάδους της Έναρξης, ακολουθούμενη από μια συνέλιξη 1×1 από ένα χαρακτηριστικό 64 -> 256 και τώρα η λειτουργία έχει ως εξής:
256×64 × 1×1 = 16.000 δευτ. 64×64 × 3×3 = 36.000 δευτ. 64×256 × 1×1 = 16.000 δευτ.
Σε σύγκριση με τους προηγούμενους 600.000, υπάρχουν τώρα συνολικά 70.000 υπολογιστικοί όγκοι, που είναι σχεδόν 10 φορές λιγότεροι.
Και παρόλο που κάναμε καλύτερες επιχειρήσεις, δεν χάσαμε τη γενικότητά του σε αυτό το επίπεδο. Το επίπεδο συμφόρησης έχει αποδειχθεί κορυφαίο σε σύνολα δεδομένων όπως το ImageNet και χρησιμοποιείται επίσης σε αρχιτεκτονικές όπως το ResNet, το οποίο θα παρουσιάσουμε στη συνέχεια.
Είναι επιτυχής επειδή τα χαρακτηριστικά εισόδου σχετίζονται, επομένως ο πλεονασμός μπορεί να μειωθεί συνδυάζοντάς τα σωστά με τη συνέλιξη 1×1. Στη συνέχεια, αφού περιπλεχθεί ένας μικρός αριθμός χαρακτηριστικών, μπορούν να επεκταθούν ξανά σε ουσιαστικούς συνδυασμούς στο επόμενο επίπεδο.
Έναρξη V3 (και V2) Ο Christian και η ομάδα του είναι πολύ παραγωγικοί ερευνητές. Τον Φεβρουάριο του 2015, το Startion κανονικοποιημένο κατά παρτίδες εισήχθη ως Inception V2 (βλ. έγγραφο: Κανονικοποίηση παρτίδας: Επιτάχυνση της εκπαίδευσης σε βάθος δικτύου με τη μείωση της εσωτερικής μετατόπισης συμμεταβλητών). Η κανονικοποίηση κατά παρτίδες υπολογίζει τη μέση και την τυπική απόκλιση όλων των χαρτών χαρακτηριστικών στην έξοδο ενός επιπέδου και χρησιμοποιεί αυτές τις τιμές για να κανονικοποιήσει τις αποκρίσεις τους. Αυτό ισοδυναμεί με «λεύκανση» των δεδομένων, έτσι ώστε όλοι οι νευρωνικοί χάρτες να ανταποκρίνονται στο ίδιο εύρος και να είναι μηδενικοί μέσοι. Αυτό βοηθά στην εκπαίδευση όταν το επόμενο επίπεδο δεν χρειάζεται να μάθει μετατόπιση από τα δεδομένα εισόδου και εστιάζει επίσης στον καλύτερο συνδυασμό αυτών των χαρακτηριστικών.
Τον Δεκέμβριο του 2015, η ομάδα κυκλοφόρησε μια νέα έκδοση της ενότητας Inception και παρόμοιας αρχιτεκτονικής (βλ. έγγραφο: Rethinking the Inception Architecture for Computer Vision). Το έγγραφο εξηγεί καλύτερα την αρχική αρχιτεκτονική GoogLeNet, δίνοντας περισσότερες λεπτομέρειες σχετικά με τις σχεδιαστικές επιλογές. Η αρχική ιδέα έχει ως εξής:
Με την προσεκτική κατασκευή του δικτύου, το βάθος και το πλάτος εξισορροπούνται, έτσι ώστε να μεγιστοποιηθεί η ροή πληροφοριών στο δίκτυο. Πριν από κάθε ομαδοποίηση, προσθέστε αντιστοίχιση χαρακτηριστικών. Καθώς αυξάνεται το βάθος, το βάθος ή ο αριθμός των χαρακτηριστικών του επιπέδου δικτύου αυξάνεται επίσης συστηματικά. Χρησιμοποιήστε κάθε αύξηση βάθους στρώσης για να αυξήσετε τη σύνδεση των στοιχείων πριν από την επόμενη στρώση. Χρησιμοποιώντας μόνο 3×3 συνελίξεις, ένα δεδομένο φίλτρο 5×5 και 7×7 μπορεί να χωριστεί σε πολλαπλά 3×3 όταν είναι δυνατόν. Δείτε την παρακάτω εικόνα
Ως αποτέλεσμα, το νέο Inception έγινε:
Μπορείτε επίσης να διαιρέσετε το φίλτρο ισοπεδώνοντας τη συνέλιξη σε πιο σύνθετες λειτουργικές μονάδες:
Κατά την εκτέλεση υπολογισμών έναρξης, η μονάδα Inception μπορεί επίσης να μειώσει το μέγεθος των δεδομένων παρέχοντας συγκέντρωση. Αυτό είναι βασικά παρόμοιο με την παράλληλη εκτέλεση ενός απλού επιπέδου ομαδοποίησης κατά την εκτέλεση μιας συνέλιξης:
Το Inception χρησιμοποιεί επίσης ένα επίπεδο συγκέντρωσης και softmax ως τελικό ταξινομητή.
Το ResNet Τον Δεκέμβριο του 2015 σημειώθηκε μια νέα αλλαγή, η οποία συνέπεσε με το Inception V3. Το ResNet έχει μια απλή ιδέα: τροφοδοτήστε την έξοδο δύο διαδοχικών συνελικτικών επιπέδων και παρακάμψτε την είσοδο στο επόμενο επίπεδο (δείτε το έγγραφο: Deep Residual Learning for Image Recognition).
Αυτό είναι παρόμοιο με μερικές από τις παλιές ιδέες πριν. Αλλά στο ResNet, χωρίζουν τα δύο επίπεδα και εφαρμόζονται σε μεγαλύτερη κλίμακα. Το περπάτημα μετά από 2 στρώσεις είναι μια βασική διαίσθηση, επειδή ο διαχωρισμός ενός στρώματος δεν δίνει μεγαλύτερη βελτίωση. Η διέλευση από το επίπεδο 2 μπορεί να θεωρηθεί ως ένας μικρός ταξινομητής ή ένα δίκτυο σε δίκτυο.
Αυτή είναι η πρώτη φορά που ο αριθμός των επιπέδων δικτύου υπερβαίνει τα 100 και ακόμη και 1000 επίπεδα μπορούν να εκπαιδευτούν.
Το ResNet, το οποίο έχει μεγάλο αριθμό επιπέδων δικτύου, αρχίζει να χρησιμοποιεί ένα επίπεδο δικτύου παρόμοιο με το επίπεδο συμφόρησης Inception:
Αυτό το επίπεδο επεξεργάζεται μικρότερο αριθμό χαρακτηριστικών περιπλέκοντας πρώτα έναν μικρότερο αριθμό χαρακτηριστικών κατά 1×1 με μικρότερη έξοδο (συνήθως το 1/4 της εισόδου), στη συνέχεια χρησιμοποιώντας ένα επίπεδο 3×3 και στη συνέχεια ένα επίπεδο 1×1. Παρόμοια με τη μονάδα Inception, αυτό εξασφαλίζει χαμηλή υπολογιστική ένταση ενώ παρέχει πλούσιους συνδυασμούς χαρακτηριστικών.
Το ResNet χρησιμοποιεί ένα σχετικά απλό αρχικό επίπεδο στις εισόδους: ένα βασικό στρώμα 7×7 τόμων με δύο πισίνες. Συγκρίνετε αυτό με τα πιο περίπλοκα και λιγότερο διαισθητικά Inception V3 και V4.
Το ResNet χρησιμοποιεί επίσης ένα επίπεδο συγκέντρωσης συν softmax ως τελικό ταξινομητή.
Άλλες πληροφορίες σχετικά με το ResNet συμβαίνουν καθημερινά:
Το ResNet μπορεί να θεωρηθεί τόσο παράλληλο όσο και συνεχόμενο, αντιμετωπίζοντας τις εισόδους και τις εξόδους (εισόδους) ως παράλληλες σε πολλές μονάδες, ενώ οι έξοδοι κάθε μονάδας συνδέονται συνεχώς. Το ResNet μπορεί επίσης να θεωρηθεί ως ένας συνδυασμός παράλληλων ή συνεχών μονάδων (βλ. το έγγραφο: Τα υπολειμματικά δίκτυα είναι εκθετικά σύνολα σχετικά ρηχών δικτύων). Έχει βρεθεί ότι το ResNet συνήθως λειτουργεί παράλληλα σε μπλοκ δικτύου στα επίπεδα 20-30. Αντί να ρέει συνεχώς σε όλο το μήκος του δικτύου. Όταν το ResNet ανατροφοδοτεί την έξοδο στην είσοδο όπως ένα RNN, το δίκτυο μπορεί να θεωρηθεί ένα καλύτερο βιολογικά αξιόπιστο φλοιώδες μοντέλο (βλ. έγγραφο: Γεφύρωση των κενών μεταξύ υπολειπόμενης μάθησης, επαναλαμβανόμενων νευρωνικών δικτύων και οπτικού φλοιού).
Έναρξη V4 Ακολουθεί μια άλλη έκδοση του Inception από τον Christian και την ομάδα του, η οποία είναι παρόμοια με το Inception V3:
Το Inception V4 συνδυάζει επίσης τη μονάδα Inception και τη μονάδα ResNet:
Νομίζω ότι η αρχιτεκτονική δεν είναι πολύ συνοπτική, αλλά είναι επίσης γεμάτη από λιγότερο διαφανείς ευρετικές. Είναι δύσκολο να κατανοήσουμε τις επιλογές σε αυτό και είναι δύσκολο για τους συγγραφείς να το εξηγήσουν.
Δεδομένης της απλότητας του δικτύου, η οποία μπορεί εύκολα να γίνει κατανοητή και να διορθωθεί, το ResNet μπορεί να είναι καλύτερο.
Το SqueezeNet Το SqueezeNet (βλ. έγγραφο: SqueezeNet: Ακρίβεια επιπέδου AlexNet με 50 φορές λιγότερες παραμέτρους και μέγεθος μοντέλου <0,5 MB) είναι μια πρόσφατα δημοσιευμένη αρχιτεκτονική που επεξεργάζεται εκ νέου τις έννοιες στο ResNet και το Inception. Ένα μοντέλο δικτύου καλύτερου σχεδιασμού αρχιτεκτονικής είναι μικρότερο και οι παράμετροι δεν απαιτούν ακόμη πολύπλοκους αλγόριθμους συμπίεσης.
ENet Η ομάδα μας σχεδιάζει να συνδυάσει όλα τα χαρακτηριστικά της αρχιτεκτονικής που αποκαλύφθηκε πρόσφατα για να δημιουργήσει ένα πολύ αποδοτικό δίκτυο χαμηλού βάρους που χρησιμοποιεί λιγότερες παραμέτρους και υπολογισμούς για να επιτύχει κορυφαία αποτελέσματα. Αυτή η αρχιτεκτονική δικτύου ονομάζεται ENet και σχεδιάστηκε από τον Adam Paszke. Το έχουμε ήδη χρησιμοποιήσει για σήμανση ενός pixel και ανάλυση σκηνής.
Για περισσότερες πληροφορίες σχετικά με το ENet, ανατρέξτε στο έγγραφο ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation. Το ENet είναι ένα δίκτυο κωδικοποίησης, προσθήκης και αποκωδικοποίησης. Ο κωδικοποιητής είναι ένα κανονικό σχέδιο CNN για ταξινόμηση. Ο αποκωδικοποιητής είναι ένα δίκτυο upsampling που διαδίδει την ταξινόμηση προς τα πίσω στην αρχική εικόνα για τμηματοποίηση. Αυτό χρησιμοποιεί μόνο νευρωνικά δίκτυα και κανέναν άλλο αλγόριθμο για τμηματοποίηση εικόνας.
Το ENet έχει σχεδιαστεί για να χρησιμοποιεί την ελάχιστη δυνατή ποσότητα πόρων στην αρχή. Γι' αυτό έχει ένα τόσο μικρό σενάριο, με ένα συνδυασμένο δίκτυο κωδικοποιητών και αποκωδικοποιητών που καταλαμβάνουν 0,7 MB με ακρίβεια 16 fp. Ακόμη και με ένα τόσο μικρό μοντέλο, το ENet είναι παρόμοιο ή υψηλότερο από άλλες λύσεις νευρωνικών δικτύων στην ακρίβεια τμηματοποίησης.
Ανάλυση ενότητας Η ανάλυση της ενότητας του CNN, η οποία έχει γίνει στην εργασία (Συστηματική αξιολόγηση των προόδων του CNN στο ImageNet), είναι πολύ χρήσιμη:
Χρησιμοποιήστε μη γραμμικότητα ELU χωρίς batchnorm ή ReLU με batchnorm. Χρησιμοποιήστε έναν εκμαθημένο μετασχηματισμό χρωματικού χώρου RGB. Χρησιμοποιήστε μια γραμμική στρατηγική μείωσης του ρυθμού μάθησης. Χρησιμοποιήστε το άθροισμα των μέσων και μεγαλύτερων συγκεντρωτικών επιπέδων. Χρησιμοποιήστε ένα μέγεθος μίνι παρτίδας από περίπου 128 έως 256. Εάν αυτό είναι πολύ μεγάλο για τη GPU σας, απλώς μειώστε τον ρυθμό εκμάθησης σε αυτό το μέγεθος. Χρησιμοποιήστε το πλήρως συνδεδεμένο επίπεδο ως συνέλιξη και υπολογίστε τον μέσο όρο όλων των προβλέψεων για να κάνετε την τελική πρόβλεψη. Όταν η μελέτη αυξάνει το μέγεθος του σετ εκπαίδευσης, ανιχνεύει εάν υπάρχει ένα οροπέδιο που δεν έχει επιτευχθεί Η καθαρότητα των δεδομένων είναι πιο σημαντική από το μέγεθος των δεδομένων. Εάν δεν μπορείτε να αυξήσετε το μέγεθος της εικόνας εισόδου, μειώστε τον βηματισμό στα επόμενα επίπεδα, κάτι που έχει το ίδιο αποτέλεσμα. Εάν το δίκτυό σας έχει μια πολύπλοκη και εξαιρετικά βελτιστοποιημένη αρχιτεκτονική, όπως το GoogLeNet, πρέπει να είστε προσεκτικοί σχετικά με την τροποποίησή της.
Άλλες αρχιτεκτονικές που αξίζει να προσέξετε Το FractalNet (βλ. έγγραφο: FractalNet: Ultra-Deep Neural Networks without Residuals) χρησιμοποιεί μια αναδρομική αρχιτεκτονική, η οποία δεν έχει δοκιμαστεί στο ImageNet. Αυτή η αρχιτεκτονική είναι παράγωγο του ResNet ή γενικότερα, του ResNet.
μέλλον Πιστεύουμε ότι η δημιουργία μιας αρχιτεκτονικής νευρωνικών δικτύων αποτελεί κορυφαία προτεραιότητα για την ανάπτυξη της βαθιάς μάθησης. Η ομάδα μας συνιστά ανεπιφύλακτα την προσεκτική ανάγνωση και κατανόηση των εγγράφων που αναφέρονται στο άρθρο.
Αλλά θα μπορούσε κανείς να αναρωτηθεί γιατί ξοδεύουμε τόσο πολύ χρόνο φτιάχνοντας αρχιτεκτονικές; Γιατί να μην μας πείτε τι να χρησιμοποιήσουμε με τα δεδομένα; Πώς συνδυάζετε τις ενότητες; Αυτές οι ερωτήσεις είναι καλές, αλλά βρίσκονται ακόμη υπό έρευνα, και υπάρχει ένα έγγραφο στο οποίο πρέπει να αναφερθείτε: Νευρωνικά δίκτυα με διαφοροποιήσιμη δομή.
Σημειώστε ότι οι περισσότερες από τις αρχιτεκτονικές για τις οποίες μιλήσαμε σε αυτό το άρθρο αφορούν την όραση υπολογιστή. Παρόμοιες αρχιτεκτονικές νευρωνικών δικτύων έχουν αναπτυχθεί και σε άλλους τομείς και είναι πολύ ενδιαφέρον να μάθουμε για τις αρχιτεκτονικές αλλαγές σε όλες τις άλλες εργασίες.
Εάν ενδιαφέρεστε να συγκρίνετε την αρχιτεκτονική νευρωνικών δικτύων και την υπολογιστική απόδοση, δείτε την εργασία: An Analysis of Deep Neural Network Models for Practical Applications.
|