AI workshop: Πώς να διδάξετε τη μηχανή να αναγνωρίσει τις εικόνες

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

Φωτογραφία: Frida Aguilar Estrada

Το αυτοκίνητό μας χρειάζεται μια κάμερα για να προχωρήσει. Μια επιλογή θα ήταν ένα ραντάρ Lidar (ανίχνευση και φωτισμός φωτός) το οποίο χρησιμοποιεί ακτίνες λέιζερ για να χαρτογραφήσει το περιβάλλον του. Αλλά αν ο Elon Musk σκέφτεται ότι μια οπτική λύση είναι αρκετή για τον Tesla, αρκεί για εμάς. Σε αυτή τη θέση προσπαθώ να περιγράψω την τεχνολογική βάση της αναγνώρισης εικόνας AI.

Υπάρχουν τρεις κύριες κατηγορίες στην τεχνητή μάθηση: ενισχυμένη μάθηση, εποπτευόμενη μάθηση και μάθηση χωρίς επίβλεψη. Η εποπτευόμενη μάθηση είναι ένας πολύ συνηθισμένος τρόπος για να διδάξετε έναν AI και θα επικεντρωθούμε σε αυτό σήμερα. Η ιδέα είναι να δώσετε δεδομένα μηχανής που έχουν ήδη ταξινομηθεί. Στην περίπτωσή μας θα δείξαμε σε έναν υπολογιστή πολλές εικόνες και θα λέγαμε τι απεικονίζουν. Θα μπορούσαμε να επιδιώξουμε να το εκπαιδεύσουμε ώστε να είναι σε θέση να διαφοροποιήσουμε μεταξύ των λαζάνια, των φαλαφελών και των κουλούριδων κανέλας. Επομένως, δείχνουμε ετικετές εικόνες και των τριών, πολλών εικόνων. Όταν το AI είναι έτοιμο, μπορούμε να του δείξουμε μια νέα εικόνα και θα υπολογίσει τις πιθανότητες να είναι μία από τις τρεις επιλογές.

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

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

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

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

Θέλουμε να κάνουμε έναν ταξινομητή που να αναγνωρίζει εικόνες γραμμάτων. Έχουμε τα παρακάτω μοτίβα, κάθε τετράγωνο αντιπροσωπεύει μία εικόνα. Έχουμε αποφασίσει να χρησιμοποιήσουμε μια συνάρτηση βημάτων ως λειτουργία ενεργοποίησης η οποία θα μας δώσει μόνο αποτελέσματα 0 ή 1. Όταν το εικονοστοιχείο είναι λευκό, θα εξάγει 0. Όταν το εικονοστοιχείο έχει χρώματα εξέρχεται 1. Ποιο χρώμα έχει κάνει καμία διαφορά, αλλά για να επεξηγήσω τις διαφορές που χρησιμοποίησα διαφορετικά χρώματα. Επομένως, όταν το pixel δεν είναι λευκό, ο νευρώνας θα ενεργοποιηθεί. Και για να διατηρήσουμε τις πληροφορίες στη σειρά και συγκρίσιμες, θα εκτυπώσουμε την έξοδο από αριστερά προς τα δεξιά, από πάνω προς τα κάτω. Η έξοδος των νευρώνων για το σχήμα S θα είναι 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, για το σχήμα Ε θα ήταν 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1.

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

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

Επομένως, το άθροισμα όλων των εξόδων του σχήματος S θα είναι 0 x 1+ 0 x 1+ 0 x 1 + 0 x 1+ 0 x 1 + 0 + 0 + 0 + 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 + 0 + 0 + 0 + 1 x 1 + 0 x 1 + 0 x 1 + 0 x 1+ 0 x 1 = 1. Και το άθροισμα όλων των εξόδων του σχήματος Ε θα ήταν 0 χ 1 + 0 χ 1 + 0 χ 1 + 0 χ 1 + 0 χ 1 + 0 + 0 + 0 + 0 χ 1 + 0 χ 1 + 0 χ 1 + 0 x 1 + (-1 χ 1) + 0 + 0 + 0 + 0 χ 1 + 0 χ 1 + 0 χ 1 + 0 χ 1 = -1.

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

Η διαφοροποίηση μεταξύ των γραμμάτων E και F μπορεί να επιτευχθεί χωρίς ταλαιπωρία, για παράδειγμα με αυτά τα βάρη:

Αυτά τα βάρη θα είχαν ως αποτέλεσμα 11 x 0,1 = 1,1 ή 3 x (-1) = -3 με τα θετικά αποτελέσματα για το σχήμα F και αρνητικά για το σχήμα E. Αλλά όταν συμπεριλαμβάνουμε το σχήμα S οι διαφορές είναι λιγότερο έντονες και πιο δύσκολο να διαφοροποιηθούν με τα βάρη. Και προσθέτοντας γράμματα το κάνει χειρότερο.

Θα χρειαζόταν μια πιο περίπλοκη λύση απ 'ό, τι τα αρνητικά έναντι των θετικών αποτελεσμάτων. Θα μπορούσαμε πιθανώς να αντιστοιχίσουμε αποτελέσματα μεταξύ 0 και 2 για το σχήμα S, μεταξύ 2 και 4 για το σχήμα Ε κ.λπ. Όταν προσθέτουμε στρώματα νευρώνων σε ένα νευρικό δίκτυο μπορεί να εκτελέσει πιο περίπλοκες αλλαγές στα βάρη και το pixel να είναι σημαντικό μόνο εάν ένα άλλο pixel ενεργοποιήθηκε. Και αυτό είναι το πώς τα νευρικά δίκτυα είναι σε θέση να εκτελέσουν τα περίπλοκα καθήκοντα που θέλουμε να τα χρησιμοποιήσουμε. Η προσθήκη περισσότερων κρυφών επιπέδων θα εμβαθύνει την ικανότητα της AI να μάθει.

Καθυστερώ! Τι κρυφά στρώματα; Οι νευρώνες σε ένα νευρικό δίκτυο είναι συνήθως δομημένοι με τέτοιο τρόπο ώστε κάθε νευρώνας να συνδέεται με όλους τους άλλους νευρώνες στα στρώματα δίπλα του. Ένα νευρικό δίκτυο συνήθως έχει τρία μέρη: ένα στρώμα εισόδου, ένα ή περισσότερα κρυφά στρώματα και το στρώμα εξόδου.

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

Πώς εξελίσσονται τα βάρη μεταξύ των νευρώνων; Στην αρχή είναι όλα τα ίδια ή δημιουργούνται με μια γεννήτρια τυχαίων αριθμών. Αλλά όταν το νευρικό δίκτυο τροφοδοτείται με ταξινομημένα δεδομένα, αυτό θα επηρεάσει τα βάρη. Το νευρικό δίκτυο υπολογίζει ποιες θέσεις είναι πιο σημαντικές από άλλες και ποιες είναι συνδεδεμένες μεταξύ τους. Μια πολύ χρήσιμη τεχνολογία γι 'αυτό είναι ο αλγόριθμος backpropagation που τροφοδοτεί τα δεδομένα στο δίκτυο προς τα πίσω από το στρώμα αποτελεσμάτων στα κρυφά στρώματα και ούτω καθεξής. Ταιριάζει με το νευρικό δίκτυο στα δεδομένα. Στο τέλος, τα προσαρμοσμένα βάρη επιτρέπουν στο δίκτυο να κάνει καλές προβλέψεις.

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

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

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

Στο παράδειγμα διαλογής μας η συνάρτηση δραστηριότητάς μας παρατηρούσε αν ένα εικονοστοιχείο ήταν λευκό ή όχι. Συνήθως οι πληροφορίες των εικόνων μετατρέπονται στους αριθμούς που χρειάζονται οι υπολογιστές με διαφορετικό τρόπο. Εάν η εικόνα είναι ασπρόμαυρη, κάθε εικονοστοιχείο θα έχει την τιμή φωτεινότητας μεταξύ 0 (μαύρο) έως 255 (λευκό). Τα εικονοστοιχεία έγχρωμης εικόνας θα έχουν τρεις τιμές RGB στην περιοχή 0 έως 255. Όλα τα χρώματα στην οθόνη δημιουργούνται αναμειγνύοντας κόκκινο, πράσινο και μπλε φως. (Ποιο είναι το γεγονός που έχω ξέρει εδώ και χρόνια και εξακολουθεί να αισθάνεται πολύ αντιληπτό.)

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

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

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

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

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

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