Μία από τις πιο σημαντικές πρόσφατες εξελίξεις στην τεχνητή νοημοσύνη είναι η μηχανική μάθηση. Η ιδέα είναι να δούμε τη νοημοσύνη, όχι ως κάτι που διδάσκεται σε μια μηχανή (με την έννοια ενός παραδοσιακού προγράμματος υπολογιστή), αλλά κάτι που μια μηχανή μαθαίνει από μόνη της, έτσι ώστε να μάθει πώς να κάνει σύνθετες εργασίες απευθείας από την εμπειρία ( ή δεδομένα) της πραγματοποίησής τους.
Με τις τεράστιες προόδους στην ταχύτητα των υπολογιστών και τις εξελίξεις στους αλγόριθμους που χρησιμοποιούνται για τον προγραμματισμό τους, η μηχανική μάθηση αυξάνεται πολύ γρήγορα. Οι αλγόριθμοι που προκύπτουν από αυτό αρχίζουν να έχουν σημαντικό αντίκτυπο στις ζωές μας και συχνά είναι έξω από τους ανθρώπους. Πώς λειτουργεί λοιπόν η μηχανική μάθηση;
Μαθαίνοντας από την εμπειρία
Σε ένα σύστημα μηχανικής μάθησης, ο υπολογιστής γράφει τον δικό του κώδικα για να εκτελέσει μια εργασία, συνήθως με την εκπαίδευση σε μια μεγάλη βάση δεδομένων τέτοιων εργασιών. Ένα μεγάλο μέρος αυτού περιλαμβάνει την αναγνώριση προτύπων σε αυτές τις εργασίες και στη συνέχεια τη λήψη αποφάσεων με βάση αυτά τα πρότυπα. Για να δώσουμε ένα (κάπως τρομακτικό) παράδειγμα, ας υποθέσουμε ότι είστε μια εταιρεία που επιδιώκει να προσλάβει ένα νέο μέλος του προσωπικού. Διαφημίζετε τη θέση εργασίας και κάνουν αίτηση 1000 άτομα, στέλνοντας ο καθένας ένα βιογραφικό. Είναι πάρα πολλά για να τα κοσκινίσετε με το χέρι, οπότε θέλετε να εκπαιδεύσετε μια μηχανή να το κάνει.
Για να γίνει αυτό δυνατό, έχετε καταχωρημένα όλα τα βιογραφικά των πολλών αιτούντων στην εταιρεία στο παρελθόν. Για κάθε τέτοιο βιογραφικό έχετε στη συνέχεια ένα αρχείο σχετικά με το εάν όντως απασχολήσατε αυτό το άτομο ή όχι. Για να εκπαιδεύσετε το μηχάνημα παίρνετε τα μισά βιογραφικά και του ζητάτε να ανακαλύψει τα μοτίβα σε αυτά που αντιστοιχούν στο εάν αυτό το βιογραφικό οδήγησε σε μια επιτυχημένη αίτηση απασχόλησης. Έτσι, εάν το μηχάνημα παρουσιάζεται με βιογραφικό σημείωμα, μπορεί να αποφασίσει εάν το άτομο είναι απασχολήσιμο. Αφού εκπαιδεύσετε το μηχάνημα, το δοκιμάζετε στο άλλο μισό των βιογραφικών. Εφόσον το ποσοστό επιτυχίας είναι αρκετά υψηλό, τότε έχετε εμπιστοσύνη ότι θα μπορέσετε να κρίνετε την απασχολησιμότητα ενός ατόμου μόνο από το βιογραφικό του. Δεν χρειάζεται να εμπλέκεται ανθρώπινη κρίση σε κανένα στάδιο. Μια τέτοια διαδικασία είναι απολύτως εφικτή με τη σύγχρονη ισχύ του υπολογιστή,επόμενο άρθρο .
Τα παξιμάδια και τα μπουλόνια
Για να κάνουμε τη διαδικασία της μηχανικής μάθησης πιο διαφανή, θα εξετάσουμε το ζήτημα της αναγνώρισης προτύπων χρησιμοποιώντας το πολύ συγκεκριμένο παράδειγμα ανάπτυξης μιας μηχανής που μπορεί να αναγνωρίζει χειρόγραφα ψηφία. Ένα τέτοιο μηχάνημα θα πρέπει να μπορεί να αναγνωρίζει με ακρίβεια ποιον αριθμό αντιπροσωπεύει ένα ψηφίο ανεξάρτητα από το πώς είναι γραμμένο.
Η διαδικασία αναγνώρισης ψηφίων έχει δύο στάδια. Πρώτον, πρέπει να είμαστε σε θέση να σαρώσουμε μια εικόνα χειρόγραφων ψηφίων στο μηχάνημα και να εξαγάγουμε σημαντικά δεδομένα από αυτήν την (ψηφιακή) εικόνα. Αυτό γίνεται συνήθως με τη στατιστική μέθοδο ανάλυσης βασικών συνιστωσών (PCA), η οποία εξάγει αυτόματα τα κύρια χαρακτηριστικά μιας εικόνας, για παράδειγμα το ύψος, το μήκος, τα σημεία διέλευσης των γραμμών στην εικόνα και ούτω καθεξής (μπορείτε να μάθετε περισσότερα για PCA στο πλαίσιο της αναγνώρισης προσώπου εδώ ). Η διαδικασία σχετίζεται στενά με αυτή της εύρεσης των ιδιοτιμών και των ιδιοδιανυσμάτων ενός πίνακα και είναι επίσης πολύ παρόμοια με τη διαδικασία που χρησιμοποιεί η Google για την αναζήτηση πληροφοριών στον παγκόσμιο ιστό.
Δεύτερον, από αυτά τα εξαγόμενα χαρακτηριστικά θέλουμε να εκπαιδεύσουμε το μηχάνημα ώστε στη συνέχεια να αναγνωρίζει το ψηφίο. Μια πολύ δημοφιλής μέθοδος για να κάνετε αυτή την εκπαίδευση είναι ένα νευρωνικό δίχτυ . Αυτή η τεχνική για τη μηχανική μάθηση βασίζεται πολύ χαλαρά στο πώς πιστεύουμε ότι λειτουργεί ο ανθρώπινος εγκέφαλος. Πρώτον, δημιουργείται μια συλλογή από “νευρώνες” λογισμικού και συνδέονται μεταξύ τους. Αυτά επιτρέπεται να στέλνουν μηνύματα ο ένας στον άλλο. Στη συνέχεια, ζητείται από το δίκτυο να λύσει ένα μεγάλο σύνολο προβλημάτων για τα οποία το αποτέλεσμα είναι ήδη γνωστό. Κάνοντας αυτό «μαθαίνει» πώς πρέπει να προσδιορίζονται οι συνδέσεις μεταξύ των νευρώνων, ώστε να μπορεί να προσδιορίσει με επιτυχία ποια μοτίβα στα δεδομένα οδηγούν στο σωστό αποτέλεσμα.
Ένα πρώιμο παράδειγμα ενός τέτοιου νευρικού δικτύου είναι ένα σύστημα μονής στρώσης που ονομάζεται perceptron, το οποίο προορίζεται να μοντελοποιήσει έναν μεμονωμένο νευρώνα. Η έννοια του perceptron εισήχθη από τον Frank Rosenblatt το 1962. Η τυπική αρχιτεκτονική ενός perceptron απεικονίζεται παρακάτω.
Το perceptron παίρνει ως είσοδο αριθμούς , , κτλ, μέχρι και στη συνέχεια πολλαπλασιάζει τον καθένα με ένα βάρος και προσθέτει όλα αυτά τα γινόμενα μαζί, για να πάρει το άθροισμα
Εάν αυτό το άθροισμα είναι μεγαλύτερο από κάποιο όριο , επιστρέφει μια (απόφαση) 1, και διαφορετικά μια (απόφαση) 0. Με άλλα λόγια, το perceptron επιστρέφει ένα 1 εάν
και ένα 0 αν
Για το πρόβλημά μας, οι είσοδοι είναι τα εξαγόμενα χαρακτηριστικά των εικόνων των ψηφίων και η απόφαση είναι αν το ψηφίο είναι 3 ή 4. Η διαδικασία εκπαίδευσης του perceptron περιλαμβάνει την εύρεση κατάλληλων βαρών και ενός κατωφλίου έτσι ώστε το perceptron να αναγνωρίζει με συνέπεια το σωστό ψηφίο. Για να γίνει αυτό απαιτείται η προσεκτική χρήση μαθηματικών αλγορίθμων βελτιστοποίησης που βασίζονται σε στατιστικά στοιχεία.
Ενα παράδειγμα
Για παράδειγμα, φανταστείτε ότι εξάγουμε μόνο δύο χαρακτηριστικά και από την εικόνα — μπορεί να μετρήσουμε τον αριθμό των κομματιών της ευθείας γραμμής στην εικόνα και τον αριθμό των φορών που διασταυρώνονται οι γραμμές στην εικόνα. Κάθε εικόνα ενός χειρογράφου γραμμένου 3 ή 4 έρχεται τώρα με δύο αριθμούς και έτσι μπορεί να εντοπιστεί σε ένα σύστημα συντεταγμένων. Δεδομένου ότι ένα 3 γενικά δεν έχει ευθύγραμμα τμήματα και γραμμές διέλευσης, μια εικόνα του 3 είναι πιθανό να αντιστοιχεί σε ένα σημείο που είναι κοντά στο σημείο . Με τρία ευθύγραμμα τμήματα και ένα σημείο διέλευσης, οι εικόνες ενός 4 είναι πιθανό να βρίσκονται κοντά στο σημείο .
Τότε το άθροισμα στο perceptron δίνεται από το
Για δεδομένο , και , η ρύθμιση αυτής της εξίσωσης στο 0 ορίζει μια ευθεία γραμμή. Εάν, χρησιμοποιώντας τις εικόνες εκπαίδευσης, το perceptron καταφέρει να βρει τιμές για και και έτσι ώστε η ευθεία γραμμή να διαχωρίζει όλα τα σημεία που αντιστοιχούν στο ψηφίο 3 και όλα τα σημεία που αντιστοιχούν στο ψηφίο 4, τότε έχει πολύ καλή πιθανότητα να εντοπίσει νέα εικόνες ψηφίων σωστά επίσης. Εάν υπάρχει μια τέτοια ευθεία γραμμή, τότε τα δεδομένα ονομάζονται γραμμικά διαχωρίσιμα .
Εάν τα σημεία δεδομένων δεν μπορούν να διαχωριστούν με ευθεία γραμμή — εάν τα δεδομένα δεν διαχωρίζονται γραμμικά — τότε μπορείτε να απλώσετε τα σημεία σε μια υψηλότερη διάσταση και να ελπίζετε ότι θα γίνουν γραμμικά διαχωριστά εκεί. Ως ένα πολύ απλό παράδειγμα, μπορείτε να σχεδιάσετε σημεία στο παραπάνω σχήμα “έξω από την οθόνη σας” στην τρίτη διάσταση κατά μια απόσταση που αντιστοιχεί στην αρχική τους απόσταση από το σημείο . Γενικά, όμως, χρησιμοποιούνται πιο περίπλοκες προσεγγίσεις. Και φυσικά, εάν εξάγετε περισσότερα από δύο χαρακτηριστικά από τα αρχικά δεδομένα, τότε μπορείτε να χρησιμοποιήσετε μια παρόμοια προσέγγιση σε υψηλότερες διαστάσεις.
Η προσέγγιση perceptron λειτουργεί επίσης με λογική επιτυχία για γάτες και σκύλους:
Νευρωνικά δίκτυα και βαθιά μάθηση
Το απλό perceptron μπορούσε να εκπαιδευτεί για να κάνει πολλές απλές εργασίες, αλλά γρήγορα έφτασε στους περιορισμούς του. Ήταν προφανές ότι θα μπορούσαν να επιτευχθούν περισσότερα με τη σύζευξη πολλών perceptrons μαζί, αλλά αυτή η εξέλιξη έπρεπε να περιμένει την έλευση πιο ισχυρών υπολογιστών. Η μεγάλη ανακάλυψη ήρθε όταν στρώματα περσεπτονίων συζεύχθηκαν για να δημιουργήσουν ένα νευρωνικό δίκτυο. Η τυπική αρχιτεκτονική ενός τέτοιου νευρωνικού δικτύου απεικονίζεται παρακάτω. Σε αυτή την περίπτωση οι είσοδοι συνδυάζονται για να ενεργοποιήσουν το πρώτο στρώμα perceptrons. Οι έξοδοι από αυτά συνδυάζονται για να ενεργοποιήσουν το επόμενο στρώμα και τελικά συνδυάζονται για να δώσουν την έξοδο.
Όσο περισσότερα επίπεδα έχετε τόσο πιο «βαθύ» δίκτυο. Ένα τέτοιο δίκτυο στη συνέχεια εκπαιδεύεται με την ανάθεση βαρών σε κάθε μία από τις παραπάνω συνδέσεις. Αυτή η διαδικασία έχει σκοπό να μοιάζει με τον τρόπο με τον οποίο ο εγκέφαλος ενισχύει ή αποδυναμώνει τα νευρικά μονοπάτια. Η βαθιά μάθηση περιγράφει τη διαδικασία εκπαίδευσης ενός τέτοιου νευρωνικού δικτύου.
Το γεγονός ότι αυτό είναι δυνατό οφείλεται στην ανάπτυξη νέων μαθηματικών αλγορίθμων βελτιστοποίησης, σε συνδυασμό με την εκτεταμένη (στην περίπτωση της τεράστιας δύναμης DeepMind της Google ) υπολογιστών. Στο τέλος αυτής της διαδικασίας εύρεσης κατάλληλων βαρών για το δίκτυο, τότε έχετε ένα μαύρο κουτί που μπορεί να τρέξει πολύ γρήγορα και το οποίο μπορεί να πάρει «αποφάσεις». Μπορείτε να παίξετε με τη δημιουργία ενός νευρικού δικτύου σε αυτόν τον ιστότοπο .
Διαφορετικές προσεγγίσεις
Συνοπτικά, αξίζει να δούμε τη διαδικασία της μάθησης λίγο πιο αναλυτικά. Υπάρχουν διάφορες μορφές μαθησιακής διαδικασίας για ένα νευρωνικό δίκτυο.
Στην εποπτευόμενη μάθηση παρέχεται εκ των προτέρων από τον χρήστη του δικτύου ένα σύνολο παραδειγμάτων ζευγών εισόδων και εξόδων. Η μαθησιακή προσέγγιση στοχεύει στη συνέχεια να βρει ένα νευρωνικό δίκτυο που δίνει μια έξοδο που ταιριάζει με τα παραδείγματα. Η συνήθης μέθοδος σύγκρισης της εξόδου από το νευρωνικό δίκτυο με αυτή των παραδειγμάτων είναι να βρεθεί το μέσο τετραγωνικό σφάλμα μεταξύ της σωστής και της πραγματικής εξόδου. Στη συνέχεια, το δίκτυο εκπαιδεύεται ώστε να ελαχιστοποιεί αυτό το σφάλμα σε όλο το σετ εκπαίδευσης. Μια πολύ τυπική εφαρμογή αυτού είναι η χρήση της προσαρμογής καμπύλης στα στατιστικά, αλλά λειτουργεί καλά για χειρόγραφα και άλλα προβλήματα αναγνώρισης προτύπων.
Στην ενισχυτική μάθηση τα δεδομένα δεν δίνονται εκ των προτέρων από τον χρήστη, αλλά παράγονται εγκαίρως από τις αλληλεπιδράσεις της μηχανής που ελέγχεται από το νευρωνικό δίκτυο με το περιβάλλον. Σε κάθε χρονική στιγμή το μηχάνημα εκτελεί μια ενέργεια στο περιβάλλον που δημιουργεί μια παρατήρηση μαζί με ένα κόστος αυτής της ενέργειας. Το δίκτυο είναι εκπαιδευμένο να επιλέγει ενέργειες που ελαχιστοποιούν το συνολικό κόστος. Από πολλές απόψεις αυτή η διαδικασία μοιάζει με τον τρόπο που μαθαίνει ένας άνθρωπος (ειδικά ένα μικρό παιδί).
Οι μαθηματικοί αλγόριθμοι για τη μηχανική μάθηση έχουν προχωρήσει πολύ τα τελευταία χρόνια. Τα συνελικτικά νευρωνικά δίκτυα (CNN) είναι μια συναρπαστική, νέα και σημαντική επέκταση αυτών των μεθόδων που συνδυάζουν τεχνικές επεξεργασίας εικόνας με ένα βαθύ νευρωνικό δίκτυο. Μπορούν να χρησιμοποιηθούν για την αναγνώριση προσώπου και ακόμη και για την ανίχνευση συναισθημάτων. Τώρα χρησιμοποιούνται σε πολλές άλλες εφαρμογές, συμπεριλαμβανομένων των ιατρικών διαγνώσεων.
Για να μάθετε πώς να παίζετε σκάκι τόσο καλά, το AlphaZero χρησιμοποίησε ένα βαθύ συνελικτικό νευρωνικό δίκτυο. Αυτό εκπαιδεύτηκε χρησιμοποιώντας μια μέθοδο ενίσχυσης με το μηχάνημα να παίζει 700.000 παιχνίδια εναντίον του μέσα σε 24 ώρες. Για την κατανομή των βαρών χρησιμοποιήθηκε ένας αλγόριθμος αναζήτησης δέντρων Monte-Carlo (MCTS) γενικής χρήσης. Μια παρόμοια προσέγγιση χρησιμοποιήθηκε για να μάθουμε πώς να παίζουμε Shogi and Go και σε κάθε περίπτωση επιτεύχθηκε παρόμοιο επίπεδο απόδοσης. ΕΝΤΥΠΩΣΙΑΚΟ!
Η πρόοδος στη μηχανική μάθηση εξελίσσεται με γοργούς ρυθμούς, με μια διαρκώς αυξανόμενη τάση για πιο εξελιγμένα και βαθύτερα δίκτυα, με γνώμονα ταχύτερους αλγόριθμους εκπαίδευσης και όλο και περισσότερα δεδομένα. Είναι όμως ασφαλές και ηθικό να αφήνουμε τις αποφάσεις που μπορούν να αλλάξουν τη ζωή, όπως οι ιατρικές διαγνώσεις, στα μηχανήματα; Αυτό θα δούμε στο επόμενο άρθρο .
Σχετικά με αυτό το άρθρο
Αυτό το άρθρο βασίζεται σε μια ομιλία στη σειρά διαλέξεων του Budd’s Gresham College (δείτε παραπάνω βίντεο). Μπορείτε να δείτε άλλα άρθρα που βασίζονται στην ομιλία εδώ .
Ο Chris Budd OBE είναι καθηγητής Εφαρμοσμένων Μαθηματικών στο Πανεπιστήμιο του Μπαθ, Αντιπρόεδρος του Ινστιτούτου Μαθηματικών και των Εφαρμογών του , Πρόεδρος Μαθηματικών για το Βασιλικό Ίδρυμα και επίτιμος συνεργάτης της Βρετανικής Εταιρείας Επιστημών . Ενδιαφέρεται ιδιαίτερα για την εφαρμογή των μαθηματικών στον πραγματικό κόσμο και την προώθηση της κοινής κατανόησης των μαθηματικών.
Έχει συν-γράψει το δημοφιλές βιβλίο μαθηματικών Mathematics Galore! , που εκδόθηκε από τις Oxford University Press, με τον C. Sangwin, και περιλαμβάνει στο βιβλίο 50 Visions of Mathematics ed. Σαμ Παρκ.
Αυτό το άρθρο αποτελεί πλέον μέρος της κάλυψης ενός σημαντικού ερευνητικού προγράμματος για τη βαθιά μάθηση που πραγματοποιήθηκε στο Ινστιτούτο Μαθηματικών Επιστημών Isaac Newton (INI) στο Κέμπριτζ. Το INI είναι ένα διεθνές ερευνητικό κέντρο και ο γείτονάς μας εδώ στην πανεπιστημιούπολη μαθηματικών του Πανεπιστημίου του Cambridge. Προσελκύει κορυφαίους μαθηματικούς επιστήμονες από όλο τον κόσμο και είναι ανοιχτό σε όλους. Επισκεφθείτε τη διεύθυνση www.newton.ac.uk για να μάθετε περισσότερα.