Νευρωνικά δίκτυα. Πού πάει όλο αυτό;

Το άρθρο αποτελείται από δύο μέρη:

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

Νευρωνικά δίκτυα. Πού πάει όλο αυτό;

Εικόνα 1 – Η κατανόηση των αρχιτεκτονικών νευρωνικών δικτύων δεν είναι εύκολη

Όλα ξεκίνησαν κάνοντας δύο εφαρμογές επίδειξης για ταξινόμηση και ανίχνευση αντικειμένων σε ένα τηλέφωνο Android:

  • Επίδειξη back-end, όταν τα δεδομένα υποβάλλονται σε επεξεργασία στον διακομιστή και μεταδίδονται στο τηλέφωνο. Ταξινόμηση εικόνας τριών τύπων αρκούδων: καφέ, μαύρο και αρκουδάκι.
  • Επίδειξη στο front-endόταν τα δεδομένα υποβάλλονται σε επεξεργασία στο ίδιο το τηλέφωνο. Ανίχνευση αντικειμένων (ανίχνευση αντικειμένων) τριών ειδών: φουντούκια, σύκα και χουρμάδες.

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

  • Μια σειρά αρχιτεκτονικών που βασίζονται στο R-CNN (Rπεριφέρειες με Cσε εξέλιξη Neural Nχαρακτηριστικά etworks): R-CNN, Fast R-CNN, Ταχύτερο R-CNN, Μάσκα R-CNN. Για την ανίχνευση ενός αντικειμένου σε μια εικόνα, τα πλαίσια οριοθέτησης εκχωρούνται χρησιμοποιώντας τον μηχανισμό δικτύου πρότασης περιοχής (RPN). Αρχικά, χρησιμοποιήθηκε ο πιο αργός μηχανισμός Επιλεκτικής Αναζήτησης αντί του RPN. Στη συνέχεια, οι επιλεγμένες περιορισμένες περιοχές τροφοδοτούνται στην είσοδο ενός συμβατικού νευρωνικού δικτύου για ταξινόμηση. Η αρχιτεκτονική R-CNN έχει σαφείς βρόχους «για» σε περιορισμένες περιοχές, που ανέρχονται συνολικά σε έως και 2000 εκτελέσεις μέσω του εσωτερικού δικτύου AlexNet. Οι σαφείς βρόχοι «για» επιβραδύνουν την ταχύτητα επεξεργασίας εικόνας. Ο αριθμός των ρητών βρόχων που διατρέχουν το εσωτερικό νευρωνικό δίκτυο μειώνεται με κάθε νέα έκδοση της αρχιτεκτονικής και γίνονται δεκάδες άλλες αλλαγές για να αυξηθεί η ταχύτητα και να αντικατασταθεί η εργασία ανίχνευσης αντικειμένων με τμηματοποίηση αντικειμένων στο Mask R-CNN.
  • YOLO (You Only Look Once) είναι το πρώτο νευρωνικό δίκτυο που αναγνώρισε αντικείμενα σε πραγματικό χρόνο σε κινητές συσκευές. Διακριτικό χαρακτηριστικό: διάκριση αντικειμένων σε μία διαδρομή (απλώς κοιτάξτε μια φορά). Δηλαδή, στην αρχιτεκτονική YOLO δεν υπάρχουν σαφείς βρόχοι «για», γι' αυτό το δίκτυο λειτουργεί γρήγορα. Για παράδειγμα, αυτή η αναλογία: στο NumPy, όταν εκτελούνται πράξεις με πίνακες, δεν υπάρχουν επίσης σαφείς βρόχοι «για», οι οποίοι στο NumPy υλοποιούνται σε χαμηλότερα επίπεδα της αρχιτεκτονικής μέσω της γλώσσας προγραμματισμού C. Το YOLO χρησιμοποιεί ένα πλέγμα προκαθορισμένων παραθύρων. Για να μην οριστεί πολλές φορές το ίδιο αντικείμενο, χρησιμοποιείται ο συντελεστής επικάλυψης παραθύρου (IoU). Iσημείο τομής over Uνιόν). Αυτή η αρχιτεκτονική λειτουργεί σε ένα ευρύ φάσμα και έχει υψηλή ευρωστία: Ένα μοντέλο μπορεί να εκπαιδευτεί στις φωτογραφίες, αλλά εξακολουθεί να έχει καλή απόδοση σε πίνακες ζωγραφικής στο χέρι.
  • SSD (Single Sζεστό MultiBox Detector) – χρησιμοποιούνται τα πιο επιτυχημένα «hacks» της αρχιτεκτονικής YOLO (για παράδειγμα, μη μέγιστη καταστολή) και προστίθενται νέα για να κάνουν το νευρωνικό δίκτυο να λειτουργεί πιο γρήγορα και με μεγαλύτερη ακρίβεια. Διακριτικό χαρακτηριστικό: διάκριση αντικειμένων σε μία εκτέλεση χρησιμοποιώντας ένα δεδομένο πλέγμα παραθύρων (προεπιλεγμένο πλαίσιο) στην πυραμίδα της εικόνας. Η πυραμίδα εικόνας κωδικοποιείται σε τανυστές συνέλιξης μέσω διαδοχικών λειτουργιών συνέλιξης και συγκέντρωσης (με τη λειτουργία max-pooling, η χωρική διάσταση μειώνεται). Με αυτόν τον τρόπο, προσδιορίζονται τόσο μεγάλα όσο και μικρά αντικείμενα σε μία εκτέλεση δικτύου.
  • Κινητό SSD (ΚινητόNetV2+ SSD) είναι ένας συνδυασμός δύο αρχιτεκτονικών νευρωνικών δικτύων. Πρώτο δίκτυο MobileNetV2 λειτουργεί γρήγορα και αυξάνει την ακρίβεια αναγνώρισης. Το MobileNetV2 χρησιμοποιείται αντί του VGG-16, το οποίο χρησιμοποιήθηκε αρχικά πρωτότυπο άρθρο. Το δεύτερο δίκτυο SSD καθορίζει τη θέση των αντικειμένων στην εικόνα.
  • SqueezeNet – ένα πολύ μικρό αλλά ακριβές νευρωνικό δίκτυο. Από μόνο του, δεν λύνει το πρόβλημα της ανίχνευσης αντικειμένων. Ωστόσο, μπορεί να χρησιμοποιηθεί σε συνδυασμό διαφορετικών αρχιτεκτονικών. Και χρησιμοποιείται σε κινητές συσκευές. Το χαρακτηριστικό γνώρισμα είναι ότι τα δεδομένα αρχικά συμπιέζονται σε τέσσερα συνελικτικά φίλτρα 1×1 και στη συνέχεια επεκτείνονται σε τέσσερα συνελικτικά φίλτρα 1×1 και τέσσερα 3×3. Μια τέτοια επανάληψη συμπίεσης-επέκτασης δεδομένων ονομάζεται «Μονάδα πυρκαγιάς».
  • DeepLab (Semantic Image Segmentation with Deep Convolutional Nets) – τμηματοποίηση αντικειμένων στην εικόνα. Ένα χαρακτηριστικό γνώρισμα της αρχιτεκτονικής είναι η διευρυμένη συνέλιξη, η οποία διατηρεί τη χωρική ανάλυση. Ακολουθεί ένα στάδιο μετα-επεξεργασίας των αποτελεσμάτων χρησιμοποιώντας ένα γραφικό πιθανό μοντέλο (τυχαίο πεδίο υπό όρους), το οποίο σας επιτρέπει να αφαιρέσετε μικρό θόρυβο στην τμηματοποίηση και να βελτιώσετε την ποιότητα της τμηματοποιημένης εικόνας. Πίσω από το τρομερό όνομα «γραφικό πιθανολογικό μοντέλο» κρύβεται ένα συμβατικό φίλτρο Gauss, το οποίο προσεγγίζεται κατά πέντε σημεία.
  • Προσπάθησε να καταλάβει τη συσκευή RefineDet (Μονή βολή ΕκκαθαρίζωΝευρωνικό Δίκτυο για Αντικείμενο Detection), αλλά δεν κατάλαβα πολλά.
  • Εξέτασα επίσης πώς λειτουργεί η τεχνολογία "προσοχή": βίντεο 1, βίντεο 2, βίντεο 3. Ένα ιδιαίτερο χαρακτηριστικό της αρχιτεκτονικής «προσοχής» είναι η αυτόματη επιλογή περιοχών αυξημένης προσοχής στην εικόνα (RoI, Rπεριφέρειες of Interest) χρησιμοποιώντας ένα νευρωνικό δίκτυο που ονομάζεται Μονάδα Προσοχής. Οι περιοχές αυξημένης προσοχής είναι παρόμοιες με τα πλαίσια οριοθέτησης, αλλά σε αντίθεση με αυτές, δεν είναι σταθερές στην εικόνα και μπορεί να έχουν θολά όρια. Στη συνέχεια, από περιοχές αυξημένης προσοχής, απομονώνονται σημάδια (χαρακτηριστικά), τα οποία «τροφοδοτούνται» σε επαναλαμβανόμενα νευρωνικά δίκτυα με αρχιτεκτονικές LSDM, GRU ή Vanilla RNN. Τα επαναλαμβανόμενα νευρωνικά δίκτυα είναι σε θέση να αναλύουν τη σχέση των χαρακτηριστικών σε μια ακολουθία. Τα επαναλαμβανόμενα νευρωνικά δίκτυα χρησιμοποιήθηκαν αρχικά για τη μετάφραση κειμένου σε άλλες γλώσσες και τώρα για μετάφραση εικόνες σε κείμενο и κείμενο σε εικόνα.

Καθώς εξερευνούμε αυτές τις αρχιτεκτονικές Κατάλαβα ότι δεν καταλαβαίνω τίποτα. Και δεν είναι ότι το νευρωνικό μου δίκτυο έχει προβλήματα με τον μηχανισμό προσοχής. Η δημιουργία όλων αυτών των αρχιτεκτονικών είναι σαν κάποιο είδος τεράστιου hackathon, όπου οι συγγραφείς ανταγωνίζονται σε hacks. Το Hack είναι μια γρήγορη λύση σε ένα δύσκολο πρόβλημα λογισμικού. Δηλαδή, δεν υπάρχει ορατή και κατανοητή λογική σύνδεση μεταξύ όλων αυτών των αρχιτεκτονικών. Το μόνο που τους ενώνει είναι ένα σύνολο από τα πιο επιτυχημένα hacks που δανείζονται ο ένας από τον άλλο, συν ένα κοινό για όλους λειτουργία συνέλιξης κλειστού βρόχου (λάθος backpropagation, backpropagation). Οχι συστημική σκέψη! Δεν είναι σαφές τι πρέπει να αλλάξει και πώς να βελτιστοποιηθούν τα υπάρχοντα επιτεύγματα.

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

Νευρωνικά δίκτυα. Πού πάει όλο αυτό;

Σχήμα 2 - Ζωολογικός Κήπος Νευρωνικών Δικτύων

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

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

Που πάνε όλα αυτά; Κύρια αποτελέσματα:

  • Αριθμός startups μηχανικής εκμάθησης τα τελευταία δύο χρόνια έπεσε απότομα. Πιθανός λόγος: «Τα νευρωνικά δίκτυα δεν είναι πλέον κάτι νέο».
  • Ο καθένας μπορεί να δημιουργήσει ένα λειτουργικό νευρωνικό δίκτυο για να λύσει ένα απλό πρόβλημα. Για να το κάνετε αυτό, πάρτε ένα έτοιμο μοντέλο από το "model zoo" και εκπαιδεύστε το τελευταίο στρώμα του νευρωνικού δικτύου (μεταφορά της μάθησης) σε έτοιμα δεδομένα από Αναζήτηση συνόλου δεδομένων Google ή από 25 χιλιάδες σύνολα δεδομένων Kaggle σε δωρεάν σύννεφο σημειωματάριο Jupyter.
  • Μεγάλοι κατασκευαστές νευρωνικών δικτύων άρχισαν να δημιουργούν "πρότυποι ζωολογικοί κήποι" (μοντέλο ζωολογικού κήπου). Χρησιμοποιώντας τα, μπορείτε να δημιουργήσετε γρήγορα μια εμπορική εφαρμογή: TF Hub για το TensorFlow, Ανίχνευση MMD για PyTorch, Ανιχνευτής για το Caffe2, chainer-modelzoo για Chainer και άλλοι.
  • Νευρωνικά δίκτυα που λειτουργούν σε πραγματικός χρόνος (σε πραγματικό χρόνο) σε κινητές συσκευές. Από 10 έως 50 καρέ ανά δευτερόλεπτο.
  • Η χρήση νευρωνικών δικτύων σε τηλέφωνα (TF Lite), σε προγράμματα περιήγησης (TF.js) και σε είδη οικιακής χρήσης (IoT, Internet of Tμεντεσέδες). Ειδικά σε τηλέφωνα που ήδη υποστηρίζουν νευρωνικά δίκτυα σε επίπεδο υλικού (neural accelerators).
  • «Κάθε συσκευή, ρούχο και ίσως ακόμη και φαγητό θα έχει Διεύθυνση IP-v6 και να επικοινωνούν μεταξύ τους" - Σεμπάστιαν Θρουν.
  • Ο αριθμός των δημοσιεύσεων για τη μηχανική μάθηση έχει αρχίσει να αυξάνεται υπερβαίνει το νόμο του Μουρ (διπλασιάζεται κάθε δύο χρόνια) από το 2015. Προφανώς, χρειαζόμαστε νευρωνικά δίκτυα για την ανάλυση άρθρων.
  • Οι ακόλουθες τεχνολογίες κερδίζουν δημοτικότητα:
    • PyTorch – Η δημοτικότητα αυξάνεται ραγδαία και φαίνεται να ξεπερνά το TensorFlow.
    • Αυτόματη επιλογή υπερπαραμέτρων AutoML – η δημοτικότητα αυξάνεται ομαλά.
    • Σταδιακή μείωση της ακρίβειας και αύξηση της ταχύτητας υπολογισμού: ασαφής λογική, αλγόριθμοι τόνωση, ανακριβείς (κατά προσέγγιση) υπολογισμοί, κβαντισμός (όταν τα βάρη του νευρωνικού δικτύου μετατρέπονται σε ακέραιους και κβαντίζονται), νευρικοί επιταχυντές.
    • Μετάφραση εικόνες σε κείμενο и κείμενο σε εικόνα.
    • δημιουργία XNUMXD αντικείμενα από βίντεο, τώρα σε πραγματικό χρόνο.
    • Το κύριο πράγμα για το DL είναι ότι υπάρχουν πολλά δεδομένα, αλλά η συλλογή και η επισήμανση τους δεν είναι εύκολη. Επομένως, αναπτύσσεται αυτοματοποίηση σήμανσης (αυτοματοποιημένος σχολιασμός) για νευρωνικά δίκτυα που χρησιμοποιούν νευρωνικά δίκτυα.
  • Με τα νευρωνικά δίκτυα, η Επιστήμη των Υπολογιστών έγινε ξαφνικά πειραματική επιστήμη και προέκυψε κρίση αναπαραγωγιμότητας.
  • Τα χρήματα IT και η δημοτικότητα των νευρωνικών δικτύων εμφανίστηκαν ταυτόχρονα όταν οι υπολογιστές έγιναν αγοραία αξία. Η οικονομία αλλάζει από οικονομία χρυσού και νομίσματος σε χρυσός-νόμισμα-υπολογισμός. Δείτε το άρθρο μου για οικονοφυσική και ο λόγος για την εμφάνιση των χρημάτων πληροφορικής.

Σταδιακά εμφανίζεται ένα νέο Μεθοδολογία προγραμματισμού ML/DL (Machine Learning & Deep Learning), το οποίο βασίζεται στην αναπαράσταση του προγράμματος ως ένα σύνολο εκπαιδευμένων μοντέλων νευρωνικών δικτύων.

Νευρωνικά δίκτυα. Πού πάει όλο αυτό;

Εικόνα 3 – ML/DL ως νέα μεθοδολογία προγραμματισμού

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

Σύνδεσμοι προς το δικό μου και άλλους πόρους:

Спасибо за внимание!

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο