Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Αναγνώριση Προτύπων (Pattern Recognition)
Μαθαίνοντας από την εμπειρία…
2
Μέχρι τώρα, είδαμε… περιοχές στις οποίες η δυνατότητα των υπολογιστών ξεπερνάει κατά πολύ την ανθρώπινη ένας υπολογιστής μπορεί να από/κωδικοποιήσει ένα μεγάλο αρχείο σε ένα-δύο δευτερόλεπτα ενώ ένας άνθρωπος θα χρειαζόταν πολλά χρόνια για να κάνει το ίδιο με το «χέρι»… φανταστείτε πόσο χρόνο θα χρειαζόταν ένας άνθρωπος για να υπολογίσει με το «χέρι» το αποτέλεσμα του αλγορίθμου PageRank για δισεκατομμύρια ιστοσελίδες … Η δουλειά αυτή είναι τεράστια και πρακτικά αδύνατη για έναν άνθρωπο… Εντούτοις, οι υπολογιστές των εταιρειών αναζήτησης συνεχώς εκτελούν τέτοιους υπολογισμούς…
3
Τώρα, θα δούμε… μια περιοχή στην οποία οι άνθρωποι από τη φύση τους υπερτερούν των υπολογιστών: την αναγνώριση προτύπων Η αναγνώριση προτύπων είναι υποσύνολο της τεχνητής νοημοσύνης και περιλαμβάνει εργασίες όπως αναγνώριση προσώπων, αντικειμένων, λόγου, γραφής… Αναγνώρισε αν μια δεδομένη φωτογραφία δείχνει την αδερφή σου Αναγνώρισε την πόλη και το νομό που είναι γραμμένα με το χέρι σε ένα ταχυδρομικό φάκελο Αναγνώριση προτύπων (γενικά): η εργασία του να κάνουμε τους υπολογιστές να λειτουργούν «έξυπνα» σε δεδομένα εισόδου που περιέχουν μεγάλες διακυμάνσεις/ποικιλομορφία «έξυπνα»: οι υπολογιστές μπορούν να επιδείξουν αληθινή ευφυΐα; Υπάρχουν εξαιρετικά αμφιλεγόμενες απαντήσεις…
4
Αναγνώριση προτύπων: (ενδεικτικές) οικείες εφαρμογές…
Αυτόματα τηλεφωνικά συστήματα Εξυπηρέτηση πελατείας μέσω αναγνώρισης λόγου Σε video games, αντίπαλοι που ελέγχονται από υπολογιστή επιδεικνύουν συμπεριφορά που μοιάζει με ανθρώπινη και περιλαμβάνει προσωπικότητες με χαρακτηριστικά γνωρίσματα και αδυναμίες… Online υπηρεσίες όπως η Amazon και η Netflix προτείνουν αντικείμενα με βάση ατομικές προτιμήσεις που έχουν συσταθεί αυτόματα συχνά με εκπληκτικά θετικά αποτελέσματα Αυτόματα συστήματα υπολογισμού αεροπορικών πτήσεων με πολλούς ενδιάμεσους σταθμούς, με χαμηλού κόστους και με βάση προσωπικές μας προτιμήσεις – εργασία που παλιά γινόταν μόνο από ανθρώπους και τώρα γίνεται σχεδόν αποκλειστικά από υπολογιστές… Αυτόματη διόρθωση κειμένου σε ιδεατά πληκτρολόγια κινητών τηλεφώνων Διάγνωση ασθενειών από πολύπλοκη συνεκτίμηση αποτελεσμάτων ιατρικών εξετάσεων Αναγνώριση πινακίδων αυτοκινήτου σε αυτόματους σταθμούς διοδίων Καθορισμός διαφημίσεων που εμφανίζονται σε κάθε χρήστη σε ιστοτόπους …
5
“Η Αναλυτική Μηχανή δεν έχει αξίωση για το από πού πηγάζει κάτι… Μπορεί να εκτελέσει οτιδήποτε εμείς γνωρίζουμε να τη διατάξουμε πώς να το εκτελέσει…” Η παραπάνω άποψη διατυπώθηκε από την Ada Lovelace το 1843 σχετικά με το σχεδιασμό ενός αρχικού, μηχανικού υπολογιστή που καλούταν Αναλυτική Μηχανή (Analytical Engine) Η Lovelace συνήθως περιγράφεται σαν η πρώτη προγραμματίστρια υπολογιστή εξαιτίας της σημαντικής της διορατικότητας σχετικά με την Αναλυτική Μηχανή Αλλά στην παραπάνω δήλωσή της ουσιαστικά τονίζει ότι οι υπολογιστές στερούνται πρωτοτυπίας: πρέπει να ακολουθούν τυφλά τις οδηγίες των ανθρώπων-προγραμματιστών τους Εκείνον τον καιρό, οι επιστήμονες των υπολογιστών διαφωνούσαν σχετικά με το αν οι υπολογιστές μπορούν στην πράξη να επιδείξουν ευφυΐα και φυσικά η διένεξη γινόταν πιο πολύπλοκη όταν έμπαιναν στην κουβέντα και φιλόσοφοι, νευρολόγοι και θεολόγοι…
6
“ευφυής” “χρήσιμος”…
Βασικός σκοπός της αναγνώρισης προτύπων είναι να λάβει ο υπολογιστής δεδομένα με πολύ υψηλές διακυμάνσεις – όπως φωτογραφίες διαφορετικών προσώπων σε διαφορετικές συνθήκες φωτισμού ή δείγματα πολλών διαφορετικών χειρόγραφων λέξεων γραμμένων από διαφορετικούς ανθρώπους – και να κάνει κάτι χρήσιμο με αυτά… Οι άνθρωποι μπορούν αναμφισβήτητα να επεξεργαστούν τέτοια δεδομένα με έξυπνο τρόπο: μπορούμε να αναγνωρίσουμε πρόσωπα με εξαιρετική ακρίβεια και να διαβάσουμε χειρόγραφα σχεδόν κάθε ατόμου χωρίς να έχουμε δει ξανά σχετικά δείγματα Αποδεικνύεται ότι οι υπολογιστές υστερούν σημαντικά σε σύγκριση με τους ανθρώπους σε τέτοιες εργασίες… Αλλά χάρη σε δαιμόνιους αλγόριθμους που αναπτύχθηκαν οι υπολογιστές πετυχαίνουν καλή απόδοση κατά τη διεκπεραίωση συγκεκριμένων εργασιών αναγνώρισης προτύπων… Στη συνέχεια, θα δούμε 3 τέτοιους αλγόριθμους: Αλγορίθμους που κατηγοριοποιούν με βάση τον πλησιέστερο γείτονα (nearest-neighbor classifiers) Δέντρα αποφάσεων (decision trees) Τεχνητά νευρωνικά δίκτυα (artificial neural networks)
7
Το πρόβλημα Μπορούν οι υπολογιστές να χρησιμοποιούν ένα σύνολο από τεχνικές αναγνώρισης προτύπων για να αναγνωρίζουν γραφή, πρόσωπα, λόγο, κτλ; Ο ανθρώπινος εγκέφαλος επιτυγχάνει τρομερή ταχύτητα και ακρίβεια σε ένα μεγάλο εύρος εργασιών αναγνώρισης… Μπορούμε να φτιάξουμε ένα πρόγραμμα για υπολογιστή που να επιτυγχάνει το ίδιο αποτέλεσμα;
8
Αναγνώριση προτύπων πρόβλημα ταξινόμησης
Η συνήθης προσέγγιση είναι να θεωρήσουμε την αναγνώριση προτύπων σαν ένα πρόβλημα ταξινόμησης (classification problem): υποθέτουμε ότι τα δεδομένα προς επεξεργασία χωρίζονται σε λογικές ομάδες που καλούνται δείγματα και καθένα από αυτά ανήκει σε μία από ένα καθορισμένο σύνολο πιθανών κλάσεων Π.χ., σε ένα πρόβλημα αναγνώρισης προσώπου, κάθε δείγμα είναι η φωτογραφία κάποιου ατόμου και οι κατηγορίες είναι οι ταυτότητες των ατόμων που μπορεί να αναγνωρίσει το σύστημα Σε κάποια προβλήματα υπάρχουν μόνο 2 κλάσεις… Κοινότυπο παράδειγμα είναι η ιατρική διάγνωση κάποιας ασθένειας όπου οι 2 κλάσεις μπορεί να είναι “υγιής” και “ασθενής” και το δείγμα δεδομένων μπορεί να περιέχει όλα τα αποτελέσματα εργαστηριακών εξετάσεων για έναν ασθενή (π.χ., αρτηριακή πίεση, βάρος, ακτινογραφίες, κτλ… Στόχος του υπολογιστή είναι να επεξεργαστεί νέα δείγματα δεδομένων που δεν έχει ξαναδεί και να ταξινομήσει κάθε δείγμα σε μία (από πολλές πιθανές κλάσεις)
9
Παράδειγμα: Αναγνώριση χειρόγραφων ψηφίων…
10
Παράδειγμα: Αναγνώριση χειρόγραφων ψηφίων…
Υπάρχουν ακριβώς 10 κλάσεις στο πρόβλημα αυτό: τα ψηφία 0, 1, 2, 3, 4, 5, 6, 7, 8, και 9 Η αναγνώριση των χειρόγραφων ψηφίων συνίσταται στην ταξινόμηση δειγμάτων χειρόγραφων ψηφίων σε μία από αυτές τις 10 κλάσεις
11
Παράδειγμα: Αναγνώριση χειρόγραφων ψηφίων…
Πρόβλημα με μεγάλη πρακτική σημασία αφού η ταχυδρομική αλληλογραφία αποστέλλεται με βάση αριθμητικούς ταχυδρομικούς κωδικούς…: αν ένας υπολογιστής μπορεί πολύ γρήγορα και με ακρίβεια να αναγνωρίσει τους ταχυδρομικούς κωδικούς, η αλληλογραφία μπορεί να ταξινομηθεί από μηχανές πολύ αποδοτικότερα από ό,τι από ανθρώπους…
12
Μάθηση… Οι υπολογιστές δεν μπορούν να γνωρίζουν πώς μοιάζει κάθε χειρόγραφο ψηφίο… Εμείς μαθαίνουμε πώς να αναγνωρίζουμε ψηφία και άλλα χειρόγραφα, μέσω συνδυασμού ρητής διδασκαλίας από άλλους ανθρώπους και επισκόπησης παραδειγμάτων που κάνουμε από μόνοι μας…
13
Διδασκαλία: όχι καλή για υπολογιστή…
Οι δύο αυτές στρατηγικές (ρητή διδασκαλία και μάθηση από παραδείγματα) χρησιμοποιούνται και στην αναγνώριση προτύπων από υπολογιστές, ΑΛΛΑ, αποδεικνύεται ότι και η απλούστερη μορφή διδασκαλίας είναι μη αποδοτική για υπολογιστές: Μπορούμε να αντιληφθούμε τις κλιματικές συνθήκες στο σπίτι μας σαν ένα απλό σύστημα ταξινόμησης: ένα δείγμα δεδομένων περιλαμβάνει την τρέχουσα θερμοκρασία και ώρα και υπάρχουν 3 πιθανές κλάσεις: “θέρμανση ανοιχτή” “κλιματιστικό ανοιχτό” “και τα δύο σβηστά” …κι επειδή δεν είμαστε στο σπίτι κατά τη διάρκεια της ημέρας, προγραμματίζουμε το σύστημα να είναι “και τα δύο σβηστά” κατά τη διάρκεια της ημέρας, “θέρμανση ανοιχτή” αν η θερμοκρασία είναι πολύ χαμηλή και “ανοιχτός κλιματισμός” αν η θερμοκρασία είναι πολύ υψηλή… προγραμματίζοντας το θερμοστάτη, “διδάσκουμε” κατά μία έννοια το σύστημα πώς να ταξινομεί σε αυτές τις 3 κλάσεις… Δυστυχώς, κανένας δεν έχει καταφέρει να “διδάξει ρητά” έναν υπολογιστή πώς να εκτελέσει πιο ενδιαφέροντες εργασίες ταξινόμησης όπως ταξινόμηση χειρόγραφων ψηφίων…
14
Εκπαίδευση με παραδείγματα: καλή…
Επομένως χρησιμοποιείται η άλλη διαθέσιμη στρατηγική: να κάνουμε έναν υπολογιστή να “μάθει” αυτόματα πώς να ταξινομεί δείγματα… Δίνουμε στον υπολογιστή μεγάλο πλήθος δεδομένων με ετικέτες, δηλ., δείγματα που έχουν ήδη κατηγοριοποιηθεί Επειδή κάθε δείγμα έχει ετικέτα (δηλ., την κλάση του), ο υπολογιστής μπορεί να χρησιμοποιήσει διάφορες τεχνικές ανάλυσης για να εξάγει χαρακτηριστικά από κάθε κλάση Όταν λάβει μη ταξινομημένα δεδομένα, ο υπολογιστής μπορεί να μαντέψει την κλάση τους επιλέγοντας αυτήν της οποίας τα χαρακτηριστικά μοιάζουν περισσότερο με αυτά των μη ταξινομημένων δεδομένων … Η διαδικασία μάθησης των χαρακτηριστικών κάθε κλάσης καλείται “εκπαίδευση (training)” και τα ταξινομημένα δεδομένα καλούνται “δεδομένα εκπαίδευσης (training data)”
15
Φάσεις αναγνώρισης προτύπων
Με λίγα λόγια, οι εργασίες αναγνώρισης προτύπων χωρίζονται σε δύο φάσεις: Φάση εκπαίδευσης κατά την οποία ο υπολογιστής μαθαίνει για τις κλάσεις από δεδομένα εκπαίδευσης που φέρουν ετικέτες (δηλ., που έχουν κατηγοριοποιηθεί) Φάση ταξινόμησης κατά την οποία ο υπολογιστής ταξινομεί νέα δείγματα δεδομένων χωρίς ετικέτες
16
Ταξινόμηση με βάση τον πλησιέστερο γείτονα (the nearest-neighbor trick)
ΕΡΩΤΗΣΗ: Μπορούμε να προβλέψουμε, με βάση μόνο τη διεύθυνσης της οικίας ενός ατόμου, σε ποιο πολιτικό κόμμα το άτομο θα δώσει χρηματική υποστήριξη/δωρεά; Η συγκεκριμένη εργασία ταξινόμησης δεν μπορεί να γίνει με απόλυτη ακρίβεια ούτε από άνθρωπο: η διεύθυνση κατοικίας ενός ατόμου δεν είναι αρκετή για να προβλέψουμε τις πολιτικές του πεποιθήσεις… ΖΗΤΟΥΜΕΝΟ: να εκπαιδεύσουμε ένα σύστημα ταξινόμησης ώστε να προβλέπει σε ποιο κόμμα είναι πιθανότερο να κάνει δωρεά ένα άτομο με βάση τη διεύθυνση της κατοικίας του
17
Δεδομένα εκπαίδευσης για πρόβλεψη δωρεάς σε πολιτικό κόμμα
“D”: οικία που έκανε δωρεά σε Δημοκρατικούς “R”: οικία που έκανε δωρεά σε Ρεπουμπλικανούς Πραγματικά δεδομένα από περιοχή στο Kansas, US για τις προεδρικές εκλογές του 2008. Πηγή: Fundrace project, Huffington Post.
18
Πώς θα ταξινομηθούν νέα δείγματα;
19
Πώς θα ταξινομηθούν νέα δείγματα;
20
Πώς θα ταξινομηθούν νέα δείγματα;
21
Πώς θα ταξινομηθούν νέα δείγματα;
22
Πώς θα ταξινομηθούν νέα δείγματα;
23
Πώς θα ταξινομηθούν νέα δείγματα;
24
Πώς θα ταξινομηθούν νέα δείγματα;
Σε ποια κλάση/κατηγορία πρέπει να ενταχθούν τα δύο νέα δείγματα στην προηγούμενη διαφάνεια: D ή R; Δείγμα πάνω δεξιά: Με απλή επισκόπηση, θα μαντεύαμε ότι η πιθανότερη κλάση για το δείγμα θα είναι η “D” αφού το δείγμα περιβάλλεται από άλλους Δημοκρατικούς Δείγμα κάτω αριστερά: Δεν περιβάλλεται ακριβώς από Ρεπουμπλικανούς, αλλά η περιοχή φαίνεται να είναι περισσότερο Ρεπουμπλικανική παρά Δημοκρατική, οπότε η πιθανότερη κλάση για το δείγμα θα είναι η “R”
25
Αλγόριθμος ταξινόμησης με βάση τον πλησιέστερο γείτονα
Πρόκειται για μια από τις ισχυρότερες και χρησιμότερες τεχνικές αναγνώρισης προτύπων και στην απλούστερή της μορφή κάνει ό,τι λέει το όνομά της Απλή εκδοχή: Όταν μάς δίνεται ένα μη ταξινομημένο δείγμα δεδομένων, βρίσκουμε πρώτα τον πλησιέστερο σε αυτό το δείγμα γείτονα στα δεδομένα εκπαίδευσης και χρησιμοποιούμε την κλάση αυτού του γείτονα σαν πρόβλεψη Βελτιωμένη εκδοχή: έλεγξε τους “K-πλησιέστερους γείτονες”, όπου K είναι ένας μικρός αριθμός όπως 3 ή 5, του νέου στοιχείου και διάλεξε για κλάση του αυτή που είναι πιο δημοφιλής ανάμεσα σε αυτούς τους γείτονες
26
Αλγόριθμος ταξινόμησης με βάση τον πλησιέστερο γείτονα
Ερώτηση: Πόσους γείτονες πρέπει να χρησιμοποιούμε προκειμένου να κάνουμε καλή εκτίμηση; Απάντηση: Εξαρτάται από το εκάστοτε πρόβλημα… Στην πράξη, χρησιμοποιούνται μερικές διαφορετικές τιμές για να διαπιστωθεί ποια δουλεύει καλύτερα Αυτό μπορεί να ακούγεται αντι-επιστημονικό, αλλά αντανακλά πλήρως την πραγματικότητα σε αποδοτικά συστήματα αναγνώρισης προτύπων τα οποία υλοποιούνται με συνδυασμό μαθηματικής διαίσθησης, καλής κρίσης και πρακτικής εμπειρίας…
27
Διαφορετικά είδη “πλησιέστερων” γειτόνων…
Στο προηγούμενο παράδειγμα, “πλησιέστερος γείτονας” ήταν ο γεωγραφικά εγγύτερος αφού κάθε σημείο (οικία) ήταν σημειωμένο στο χάρτη και ήταν απλό να υπολογιστεί η γεωγραφική απόσταση δύο σημείων… Τι κάνουμε όταν τα δείγματα δεδομένων είναι χειρόγραφα ψηφία; Χρειαζόμαστε κάποιον τρόπο για να υπολογίσουμε την “απόσταση” μεταξύ δύο διαφορετικών παραδειγμάτων χειρόγραφων ψηφίων Η 2η εικόνα αφαιρείται από την 1η … Το αποτέλεσμα που δείχνει τις διαφορές θεωρείται η απόσταση των δειγμάτων… Πηγή: MNIST data of LeCun et al., 1998.
28
Διαφορετικά είδη “πλησιέστερων” γειτόνων…
Η διαφορά μετριέται σαν ποσοστό: εικόνες που διαφέρουν μόνο κατά 1% είναι πολύ κοντινοί γείτονες ενώ εικόνες που διαφέρουν κατά 99% είναι πολύ μακρυά η μία από την άλλη Πάνω: δύο διαφορετικές εικόνες από χειρόγραφα 2: “αφαιρώντας” τις εικόνες παράγουμε την εικόνα στα αριστερά που είναι λευκή παντού εκτός από τα σημεία που οι δύο εικόνες ήταν διαφορετικές – μόνο 6% της τελικής εικόνας είναι μαύρο αυτές οι δύο χειρόγραφες εκδοχές του 2 είναι σχετικά κοντινοί γείτονες Κάτω: βλέπουμε το αποτέλεσμα της “αφαίρεσης” δύο διαφορετικών εικόνων (ενός 2 και ενός 9) – το αποτέλεσμα στα δεξιά έχει πολύ περισσότερα μαύρα pixels αφού οι δύο εικόνες διαφωνούν στα περισσότερα μέρη τους: περίπου 21% της τελικής εικόνας είναι μαύρο οι δύο εικόνες δεν είναι ιδιαίτερα κοντινοί γείτονες
29
Διαφορετικά είδη “πλησιέστερων” γειτόνων…
30
Πώς γίνεται η αναγνώριση των χειρόγραφων ψηφίων με χρήση της τεχνικής ταξινόμησης με βάση τον πλησιέστερο γείτονα; Δίνεται ένα μεγάλο σύνολο δεδομένων εκπαίδευσης Συνηθισμένα συστήματα αναγνώρισης προτύπων χρησιμοποιούν περίπου 100,000 ταξινομημένα παραδείγματα Όταν δίνεται στο σύστημα ένα νέο, μη ταξινομημένο χειρόγραφο ψηφίο, το σύστημα ψάχνει στα 100,000 παραδείγματα για να βρει ένα παράδειγμα που να είναι πλησιέστερος γείτονας (δηλ., να έχει το μικρότερο ποσοστό διαφοράς) του ζητούμενου Το νέο ψηφίο κατατάσσεται στην ίδια κατηγορία με τον πλησιέστερο γείτονά του
31
Αξιολόγηση της τεχνικής ταξινόμησης με βάση τον πλησιέστερο γείτονα
Συστήματα αναγνώρισης προτύπων με βάση τον πλησιέστερο γείτονα λειτουργούν πολύ καλά στην πράξη πετυχαίνοντας ακρίβεια 97% Γίνεται μεγάλη ερευνητική προσπάθεια για εύρεση βελτιωμένων ορισμών “πλησιέστερων γειτόνων” Με βάση τους προς το παρόν καλύτερους ορισμούς πλησιέστερων γειτόνων η ταξινόμηση με βάση τον πλησιέστερο γείτονα γίνεται με ακρίβεια 99.5% για χειρόγραφα ψηφία η οποία είναι συγκρίσιμη με αυτή που επιτυγχάνεται από πιο πολύπλοκα συστήματα αναγνώρισης προτύπων με φανταχτερά ονόματα όπως “υποστηρικτικές διανυσματικές μηχανές” (“support vector machines”) και “συνελικτικά νευρωνικά δίκτυα” (“convolutional neural networks”) Η τεχνική ταξινόμησης με βάση τον πλησιέστερο γείτονα είναι μια πραγματικά καταπληκτική ιδέα στην επιστήμη των υπολογιστών που συνδυάζει απλότητα και εξαιρετική αποδοτικότητα
32
Μάθηση και ταξινόμηση σε συστήματα αναγνώρισης προτύπων
Τα συστήματα αναγνώρισης προτύπων λειτουργούν σε δύο φάσεις: Τη φάση της μάθησης (ή εκπαίδευσης) κατά την οποία τα δεδομένα εκπαίδευσης υφίστανται επεξεργασία για να εξαχθούν κάποια χαρακτηριστικά των κλάσεων Τη φάση της ταξινόμησης κατά την οποία ταξινομούνται νέα, μη ταξινομημένα δεδομένα Τι γίνεται με τη φάση της μάθησης στην τεχνική της ταξινόμησης με βάση τον πλησιέστερο γείτονα; Λαμβάνουμε τα δεδομένα εκπαίδευσης, δεν μαθαίνουμε κάτι από αυτά και μεταβαίνουμε κατευθείαν στη φάση της ταξινόμησης χρησιμοποιώντας την ιδέα του πλησιέστερου γείτονα Αυτό αποτελεί ιδιαιτερότητα της συγκεκριμένης τεχνικής: δεν απαιτείται σαφής φάση μάθησης
33
Το παιχνίδι των 20 ερωτήσεων: δέντρα αποφάσεων
Ένας παίκτης σκέφτεται κάποιο αντικείμενο και οι υπόλοιποι παίκτες πρέπει να μαντέψουν ποιο είναι το αντικείμενο με βάση απαντήσεις ΝΑΙ/ΌΧΙ σε το πολύ 20 ερωτήσεις ( υπάρχουν και μικρά ηλεκτρονικά τέτοια παιχνίδια ) Το παιχνίδι αποδεικνύεται να είναι εξαιρετικά ενδιαφέρον: μετά από μερικά λεπτά αρχίζουμε να συνειδητοποιούμε ότι υπάρχουν “καλές ερωτήσεις” και “κακές ερωτήσεις” - οι καλές ερωτήσεις δίνουν σίγουρα πολλή “πληροφορία”, ενώ οι κακές όχι… Π.χ., είναι κακή ερώτηση η “είναι φτιαγμένο από χαλκό;” σαν πρώτη ερώτηση, γιατί αν η απάντηση είναι “ΟΧΙ,” το πλήθος των πιθανών αντικειμένων έχει γίνει πολύ μικρό… Η διαίσθηση για καλές και κακές ερωτήσεις βρίσκεται στην καρδιά του επιστημονικού πεδίου που καλείται Θεωρία της Πληροφορίας (Information Theory) και είναι καθοριστική για μια απλή και ισχυρή τεχνική αναγνώρισης προτύπων γνωστή ως δέντρα αποφάσεων (decision trees)
34
Δέντρα αποφάσεων (decision trees)
Ένα δένδρο αποφάσεων είναι στην ουσία ένα προσχεδιασμένο παιχνίδι 20 ερωτήσεων: δείτε ένα πολύ απλό παράδειγμα δένδρου αποφάσεων για το ερώτημα «να πάρουμε ή όχι μαζί μας ομπρέλα» Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; ΟΧΙ ΝΑΙ
35
Δέντρα αποφάσεων (decision trees)
Ξεκινάμε από την κορυφή (ρίζα) του δένδρου και ακολουθούμε τις απαντήσεις στις ερωτήσεις Όταν φτάσουμε σε κάποιο από τα κόκκινα κουτιά στο κάτω μέρος του δένδρου (φύλλα) έχουμε την τελική απάντηση Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; ΟΧΙ ΝΑΙ
36
Δέντρα αποφάσεων (decision trees)
Τι σχέση έχει αυτή η διαδικασία με αναγνώριση προτύπων και ταξινόμηση; Αποδεικνύεται ότι αν δίνεται επαρκής ποσότητα δεδομένων εκπαίδευσης, είναι δυνατόν να κατασκευαστεί ένα δένδρο αποφάσεων που θα παράγει ακριβείς ταξινομήσεις
37
Παράδειγμα: δένδρο αποφάσεων για web spam
Συνήθης τακτική είναι η δημιουργία ιστοσελίδων χωρίς χρησιμότητα σε άτομα που όμως περιέχουν ειδικά κατασκευασμένο περιεχόμενο Δείτε ένα τμήμα από το περιεχόμενο μιας πραγματικής σελίδας web spam Το κείμενο δεν βγάζει νόημα, αλλά επανειλημμένα αναφέρει δημοφιλείς όρους αναζήτησης σχετικούς με online μάθηση (learning) Αυτό το τμήμα web spam προσπαθεί να αυξήσει την κατάταξη συγκεκριμένων ιστοτόπων (sites) για online μάθηση (learning) προς τα οποία περιέχει συνδέσμους (links)
38
Παράδειγμα: δένδρο αποφάσεων για web spam
Οι μηχανές αναζήτησης καταβάλλουν τεράστια προσπάθεια για να εντοπίσουν και να εξουδετερώσουν το web spam το οποίο αποτελεί τέλεια εφαρμογή για αναγνώριση προτύπων: αποκτούμε μεγάλη ποσότητα δεδομένων εκπαίδευσης (δηλ., πολλές σελίδες web), τις ταξινομούμε με το χέρι σα “spam” ή “όχι spam” και εκπαιδεύουμε κάποιον ταξινομητή Αυτό ακριβώς έκανα ερευνητές της Microsoft Research το 2006: Ανακάλυψαν ότι ο ταξινομητής με την καλύτερη απόδοση για αυτό το συγκεκριμένο πρόβλημα ήταν τα δέντρα αποφάσεων Δείτε ένα μικρό μέρος του δένδρου αποφάσεων στο οποίο κατέληξαν στην επόμενη διαφάνεια Αν και το πλήρες δένδρο βασίζεται σε πολλές διαφορετικές ιδιότητες, το τμήμα εδώ εστιάζει στη συχνότητα εμφάνισης δημοφιλών λέξεων αναζήτησης στην ιστοσελίδα
39
Παράδειγμα: δένδρο αποφάσεων για web spam
Οι web spammers συνήθως συμπεριλαμβάνουν μεγάλο αριθμό δημοφιλών λέξεων αναζήτησης για να βελτιώσουν την κατάταξή τους μικρό ποσοστό δημοφιλών λέξεων αναζήτησης υποδεικνύει μικρή πιθανότητα για spam Το δένδρο επιτυγχάνει ποσοστό ακρίβειας περίπου 90% που αν και όχι τέλειο είναι ένα πολύ καλό μέσο αντιμετώπισης των web spammers… Σημαντικό: όχι τόσο το ίδιο το δένδρο αποφάσεων όσο το γεγονός ότι το συγκεκριμένο δένδρο παρήχθη αυτόματα από ένα πρόγραμμα (υπολογιστή) με βάση δεδομένα εκπαίδευσης που περιλάμβαναν περίπου 17,000 web σελίδες Αυτές οι ιστοσελίδες ταξινομήθηκαν σα “spam” ή “όχι spam” από κάποιον άνθρωπο Καλά συστήματα αναγνώρισης προτύπων ενδέχεται να απαιτούν σημαντική προεπεξεργασία που όμως είναι μια “επένδυση” που γίνεται μια φορά στην αρχή και οδηγεί σε πολλαπλάσιο όφελος
40
Η φάση μάθησης στα δέντρα αποφάσεων
Σε αντίθεση με την τεχνική ταξινόμησης με βάση τον πλησιέστερο γείτονα, η φάση μάθησης ενός δένδρου αποφάσεων είναι ουσιώδης Πώς δουλεύει η φάση μάθησης; Παραπλήσια με τη διαίσθηση για τη δημιουργία καλών ερωτήσεων στο παιχνίδι που περιγράψαμε πριν… Ο υπολογιστής δοκιμάζει μεγάλο αριθμό πιθανών αρχικών ερωτήσεων για να βρει μία που δίνει την καλύτερη δυνατή πληροφορία Μετά, χωρίζει τα παραδείγματα μάθησης σε δύο ομάδες με βάση την απάντησή τους στην αρχική ερώτηση και βρίσκει μια δεύτερη καλή ερώτηση για κάθε μία από αυτές τις ομάδες Συνεχίζει με τον ίδιο τρόπο να “κατεβαίνει” το δένδρο καθορίζοντας πάντα την καλύτερη ερώτηση με βάση το σύνολο των παραδειγμάτων μάθησης που φτάνουν κάποιο συγκεκριμένο σημείο στο δένδρο Αν το σύνολο των παραδειγμάτων γίνει “καθαρό” σε κάποιο σημείο – δηλ., το σύνολο περιέχει μόνο spam σελίδες ή μόνο σελίδες non-spam pages – ο υπολογιστής παύει να παράγει νέες ερωτήσεις και επιστρέφει την απάντηση που αντιστοιχεί στις σελίδες που απομένουν
41
Φάση μάθησης: δέντρα αποφάσεων vs «πλησιέστερος γείτονας»…
Η φάση μάθησης κατά την ταξινόμηση με χρήση δέντρου απόφασης μπορεί να είναι πολύπλοκη αλλά είναι πλήρως αυτοματοποιημένη και πρέπει να γίνει μόνο μία φορά Μετά, έχουμε το δένδρο αποφάσεων που χρειαζόμαστε και η φάση ταξινόμησης είναι εξαιρετικά απλή: όπως και στο παιχνίδι με τις 20 ερωτήσεις, κατεβαίνουμε το δένδρο ακολουθώντας τις απαντήσεις μέχρι να φτάσουμε σε οριστική απάντηση Αντίθετα, στην τεχνική ταξινόμησης με βάση τον πλησιέστερο γείτονα, όπου δεν απαιτείται καμία προσπάθεια για τη φάση της μάθησης, η φάση της ταξινόμησης απαιτεί σύγκριση με όλα τα παραδείγματα μάθησης …
42
Νευρωνικά δίκτυα (Neural networks)
Τα νευρωνικά δίκτυα είναι τεχνική αναγνώρισης προτύπων στην οποία η φάση της μάθησης είναι πολύ σημαντική και άμεσα εμπνευσμένη από τον τρόπο που οι άνθρωποι – και τα ζώα - μαθαίνουν από το περιβάλλον τους Οι εξαιρετικές ικανότητες του ανθρώπινου εγκεφάλου έχουν αποτελέσει εξάλλου πηγή εντυπωσιασμού και έμπνευσης από τότε που εμφανίστηκαν οι πρώτοι υπολογιστές…
43
Νευρωνικά δίκτυα (Neural networks)
Μία από τις πρώτες συζητήσεις για το αν μπορεί να προσομοιωθεί ο ανθρώπινος εγκέφαλος από υπολογιστή πραγματοποιήθηκε από τον Alan Turing, ένα Βρετανό επιστήμονα – μαθηματικό και μηχανικό στην κλασσική εργασία του από το 1950 με τίτλο “Υπολογιστικές Μηχανές και Ευφυΐα” (“Computing Machinery and Intelligence”) Η εργασία παρουσίασε – μεταξύ άλλων - έναν επιστημονικό τρόπο αξιολόγησης των ομοιοτήτων μεταξύ ανθρώπων και υπολογιστών που έγινε γνωστός ως “Turing test” Στην εργασία αυτή, ο Turing ανέλυσε τη δυνατότητα μοντελοποίησης του ανθρώπινου εγκεφάλου μέσω υπολογιστή εκτιμώντας ότι αρκούσαν μερικά gigabytes μνήμης Σήμερα είναι κοινώς αποδεκτό ότι ο Turing υποεκτίμησε σημαντικά τη δουλειά που απαιτούταν για την εξομοίωση του ανθρώπινου εγκεφάλου αν και οι επιστήμονες έχουν καταβάλλει σημαντική προσπάθεια προς αυτόν το σκοπό καταλήγοντας – μεταξύ άλλων – και στο πεδίο των (τεχνητών) νευρωνικών δικτύων
44
Βιολογικά Νευρωνικά Δίκτυα (Biological Neural Networks)
Για να καταλάβουμε τα “τεχνητά”, ας δούμε εν συντομία πώς λειτουργούν τα βιολογικά νευρωνικά δίκτυα… Ο εγκέφαλος των ζώων αποτελείται από κύτταρα που καλούνται νευρώνες Κάθε νευρώνας συνδέεται με πολλούς άλλους νευρώνες Οι νευρώνες μπορούν να στέλνουν ηλεκτρικά και χημικά σήματα μέσω αυτών των συνδέσμων Κάποιοι σύνδεσμοι είναι φτιαγμένοι για να δέχονται σήματα από άλλους νευρώνες ενώ οι υπόλοιποι σύνδεσμοι μεταδίδουν σήματα σε άλλους νευρώνες
45
Βιολογικά Νευρωνικά Δίκτυα (Biological Neural Networks)
Σε κάθε χρονική στιγμή, κάθε νευρώνας είναι είτε “αδρανής” οπότε δεν μεταδίδει κάποιο σήμα είτε “διεγερμένος” οπότε στέλνει - περιοδικά και συχνά - ομάδες σημάτων μέσω όλων των εξερχόμενων συνδέσμων του Πώς αποφασίζει ένας νευρώνας πότε να διεγερθεί; Εξαρτάται από την ισχύ των εισερχόμενων σημάτων που λαμβάνει: συνήθως, αν το σύνολο των εισερχόμενων σημάτων είναι αρκετά ισχυρό, ο νευρώνας διεγείρεται, αλλιώς παραμένει αδρανής Υπάρχουν δύο τύποι σημάτων εισόδου: τα διεγερτικά και τα ανασταλτικά: η ισχύς των διεγερτικών σημάτων προστίθεται ενώ η ισχύς των αποτρεπτικών σημάτων αφαιρείται Ένα ισχυρό ανασταλτικό σήμα αποτρέπει έναν νευρώνα από το να διεγερθεί
46
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Ένα νευρωνικό δίκτυο είναι ένα υπολογιστικό μοντέλο που αναπαριστάνει ένα μικρό κλάσμα του εγκεφάλου με πολύ απλοποιημένες λειτουργίες Στα παραδείγματα που θα παρουσιάσουμε, σε κάθε νευρώνα ανατίθεται ένας αριθμός που καλείται κατώφλι Όταν το μοντέλο εκτελείται, κάθε νευρώνας προσθέτει τα σήματα που λαμβάνει Αν το άθροισμα είναι τουλάχιστον όσο το κατώφλι, ο νευρώνας διεγείρεται αλλιώς παραμένει αδρανής
47
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; Είσοδοι: ΝΑΙ=1, ΟΧΙ=0 Κατώφλι=1 Κατώφλι=2 Να πάρω ομπρέλα; Έξοδος: ΝΑΙ=1, ΟΧΙ=0
48
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; Είσοδοι: ΝΑΙ=1, ΟΧΙ=0 Κατώφλι=1 Κατώφλι=2 Να πάρω ομπρέλα; Έξοδος: ΝΑΙ=1, ΟΧΙ=0
49
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Το δίκτυο έχει 3 εισόδους που λειτουργούν κατ΄ αναλογία με τα μάτια ή τα αυτιά που στέλνουν ηλεκτρικά ή χημικά σήματα το δικό μας εγκέφαλο Κάθε είσοδος μεταδίδει ένα σήμα ισχύος +1 αν η αντίστοιχη συνθήκη είναι αληθής Αν έχει συννεφιά: τότε η αντίστοιχη είσοδος στέλνει ένα διεγερτικό σήμα με ισχύ +1 αλλιώς δεν στέλνει τίποτα (δηλ., στέλνει ένα σήμα με μηδενική ισχύ) Αγνοώντας τις εισόδους και εξόδους, το νευρωνικό δίκτυο έχει μόνο 2 νευρώνες και ο καθένας έχει ένα διαφορετικό κατώφλι Ο νευρώνας με εισόδους για υγρασία και συννεφιά διεγείρεται μόνον όταν και οι δύο είσοδοι είναι ενεργές (δηλ., το κατώφλι του είναι 2) Ο άλλος νευρώνας διεγείρεται αν κάποια από τις εισόδους είναι ενεργή (δηλ., το κατώφλι του είναι 1) Δείτε στη συνέχεια πώς η έξοδος μεταβάλλεται ανάλογα με τις τιμές των εισόδων
50
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; Κατώφλι=1 Κατώφλι=2 Να πάρω ομπρέλα; 1
51
Ένα νευρωνικό δίκτυο για το αν θα πάρουμε μαζί ομπρέλα
Βρέχει ήδη; Έχει υγρασία; Έχει συννεφιά; Κατώφλι=2 Να πάρω ομπρέλα; 1 Κατώφλι=1
52
Δένδρο αποφάσεων ή νευρωνικό δίκτυο για το πρόβλημα της ομπρέλας;
Και τα δύο δίνουν τα ίδια αποτελέσματα όταν δέχονται ίδιες εισόδους Για αυτό το πολύ απλό, τεχνητό πρόβλημα, μάλλον πιο κατάλληλη αναπαράσταση είναι το δένδρο αποφάσεων Δείτε στη συνέχεια ένα πιο πολύπλοκο παράδειγμα που δείχνει τη δύναμη των νευρωνικών δικτύων…
53
Ένα νευρωνικό δίκτυο για το πρόβλημα των γυαλιών ηλίου
ΔΕΔΟΜΕΝΑ: βάση δεδομένων με χαμηλής ανάλυσης φωτογραφίες προσώπων Τα πρόσωπα στις φωτογραφίες της βάσης δεδομένων εμφανίζονται σε διάφορες μορφές: μερικά κοιτούν την κάμερα, μερικά κοιτούν ψηλά, μερικά κοιτούν δεξιά ή αριστερά και κάποια φοράνε γυαλιά ηλίου Σκόπιμα χρησιμοποιούνται φωτογραφίες χαμηλής ανάλυσης (30x30) για ευκολία περιγραφής του νευρωνικού δικτύου Νευρωνικά δίκτυα μπορούν να χρησιμοποιηθούν για τη συνήθη εκδοχή αναγνώρισης προσώπων σε αυτή τη βάση δεδομένων, δηλ. για να καθορίσουν την ταυτότητα ενός προσώπου σε μια φωτογραφία, ανεξάρτητα από το αν το πρόσωπο κοιτάζει την κάμερα ή φοράει γυαλιά ηλίου Εμείς θα ασχοληθούμε με ένα απλούστερο πρόβλημα για να αναδείξουμε τις ιδιότητες των νευρωνικών δικτύων ΖΗΤΟΥΜΕΝΟ: να αποφασιστεί αν ένα δεδομένο πρόσωπο φοράει ή όχι γυαλιά ηλίου Πηγή: Tom Mitchell, Machine Learning, McGraw-Hill (1998). Used with permission.
54
Ένα νευρωνικό δίκτυο για το πρόβλημα των γυαλιών ηλίου
30x30=900pixels 900x3=2700 σύνδεσμοι
55
Ένα νευρωνικό δίκτυο για το πρόβλημα των γυαλιών ηλίου
Στην προηγούμενη διαφάνεια φαίνεται η βασική δομή του νευρωνικού δικτύου – δεν φαίνονται όλοι οι νευρώνες ούτε όλοι οι σύνδεσμοι που χρησιμοποιούνται στο κανονικό δίκτυο Το πιο βασικό χαρακτηριστικό είναι ο μοναδικός νευρώνας εξόδου στα δεξιά που παράγει ένα 1 αν η φωτογραφία περιέχει γυαλιά ηλίου και ένα 0 διαφορετικά Στο κέντρο του δικτύου υπάρχουν 3 νευρώνες που λαμβάνουν σήματα κατευθείαν από την εικόνα εισόδου και στέλνουν σήματα στο νευρώνα εξόδου Το πιο πολύπλοκο τμήμα του δικτύου είναι αυτό στα αριστερά όπου υπάρχουν οι σύνδεσμοι από την εικόνα εισόδου στους κεντρικούς νευρώνες – αν και δεν φαίνονται όλοι οι σύνδεσμοι, στο πραγματικό δίκτυο υπάρχει σύνδεσμος από κάθε pixel της εικόνας σε κάθε κεντρικό νευρώνα Αυτό οδηγεί σε μεγάλο αριθμό συνδέσμων: χρησιμοποιούμε εικόνες χαμηλής ανάλυσης που έχουν 30 pixels μήκος και 30 pixels πλάτος, περιέχουν δηλ., 30 × 30 = 900 pixels Υπάρχουν 3 κεντρικοί νευρώνες υπάρχουν συνολικά 3 × 900 = 2700 σύνδεσμοι στο αριστερό επίπεδο αυτού του δικτύου
56
Ένα νευρωνικό δίκτυο για το πρόβλημα των γυαλιών ηλίου
Πώς καθορίστηκε η δομή αυτού του δικτύου; Μπορούσαν οι νευρώνες να έχουν συνδεθεί διαφορετικά; ΝΑΙ: υπάρχουν πολλές διαφορετικές δομές δικτύου που θα έδιναν καλά αποτελέσματα για το πρόβλημα με τα γυαλιά ηλίου Η επιλογή της δομής του δικτύου βασίζεται συχνά σε πρότερη εμπειρία για το τι δουλεύει καλά - ο σχεδιασμός και η χρήση συστημάτων αναγνώρισης προτύπων απαιτεί καλή διαίσθηση Οι 2700 σύνδεσμοι στο δίκτυο που επιλέξαμε πρέπει να “ρυθμιστούν” με συγκεκριμένο τρόπο ώστε το δίκτυο να λειτουργήσει σωστά Πώς μπορούμε να ρυθμίσουμε σωστά χιλιάδες διαφορετικούς συνδέσμους; Απάντηση: η ρύθμιση γίνεται αυτόματα μέσω μάθησης από παραδείγματα
57
Πρόσθεση ζυγισμένων σημάτων
Το νευρωνικό δίκτυο για το αν πρέπει να πάρουμε μαζί μας ομπρέλα χρησιμοποιούσε μια βασική εκδοχή νευρωνικών δικτύων Για το πρόβλημα με τα γυαλιά ηλίου θα πραγματοποιηθούν 3 σημαντικές βελτιώσεις Τα σήματα θα μπορούν να λαμβάνουν οποιαδήποτε τιμή μεταξύ 0 και 1 Η συνολική είσοδος θα υπολογίζεται από ζυγισμένο άθροισμα Η επίδραση του κατωφλίου θα γίνει πιο αμυδρή
58
Βελτίωση 1: Τα σήματα λαμβάνουν οποιαδήποτε τιμή μεταξύ 0 και 1
Στο νευρωνικό δίκτυο για το αν πρέπει να πάρουμε μαζί μας ομπρέλα, τα σήματα εισόδου και εξόδου περιορίζονταν να έχουν τις τιμές 0 ή 1 και δεν μπορούσαν να πάρουν κάποια ενδιάμεση τιμή Οι τιμές των σημάτων στο νευρωνικό δίκτυο για το πρόβλημα με τα γυαλιά ηλίου μπορούν να είναι, π.χ., ή 0.755 Η φωτεινότητα ενός pixel σε μια εικόνα εισόδου αντιστοιχεί το σήμα εισόδου που στέλνεται μέσω των συνδέσμων αυτού του pixel: ένα pixel που είναι εντελώς άσπρο στέλνει την τιμή 1, ένα εντελώς μαύρο pixel στέλνει την τιμή 0, ενώ οι διάφορες αποχρώσεις του γκρι καταλήγουν σε αντίστοιχες τιμές μεταξύ 0 και 1 1 0,7 0=όχι 0,5 Βρέχει ήδη; 1=ναι 0,3
59
Βελτίωση 2: Η συνολική είσοδος υπολογίζεται από ζυγισμένο άθροισμα
Στο νευρωνικό δίκτυο για το αν πρέπει να πάρουμε μαζί μας ομπρέλα, οι νευρώνες άθροιζαν τις εισόδους τους χωρίς να τις τροποποιούν Στην πράξη, τα νευρωνικά δίκτυα λαμβάνουν υπόψη το ότι κάθε σύνδεσμος μπορεί να έχει διαφορετική ισχύ: η ισχύς ενός συνδέσμου αναπαρίσταται από έναν αριθμό που καλείται βάρος του συνδέσμου και μπορεί να είναι οποιοσδήποτε θετικός ή αρνητικός αριθμός Μεγάλοι θετικοί αριθμοί (π.χ., 51.2) αναπαριστούν ισχυρούς διεγερτικούς συνδέσμους: όταν ένα σήμα περνάει μέσα από έναν τέτοιο σύνδεσμο ο νευρώνας στον οποίο φτάνει είναι πιθανό να διεγερθεί Μεγάλοι αρνητικοί αριθμοί (π.χ., ) αναπαριστούν ισχυρούς ανασταλτικούς συνδέσμους: ένα σήμα σε τέτοιου είδους σύνδεσμο πιθανότατα θα οδηγήσει το νευρώνα στον οποίο φτάνει να παραμείνει αδρανής Σύνδεσμοι με μικρά βάρη (π.χ., 0.03 ή ) έχουν μικρή επίδραση στο αν οι νευρώνες στους οποίους φτάνουν θα διεγερθούν Στην πραγματικότητα, ένας βάρος ορίζεται σα “μεγάλο” ή “μικρό” μόνο σε σύγκριση με άλλα βάρη, επομένως τα προηγούμενα αριθμητικά παραδείγματα έχουν νόημα μόνον αν υποθέσουμε ότι αφορούν σε συνδέσμους που φτάνουν στον ίδιο νευρώνα Όταν ένας νευρώνας υπολογίζει το σύνολο των εισόδων του, κάθε σήμα εισόδου πολλαπλασιάζεται με το βάρος του συνδέσμου του πριν να προστεθεί στο συνολικό σήμα μεγάλα βάρη έχουν μεγαλύτερη επίδραση από μικρότερα και είναι δυνατόν διεγερτικά και ανασταλτικά σήματα να αλληλοεξουδετερωθούν -5 νευρώνας νευρώνας -35 1 1 140
60
Βελτίωση 3: Η επίδραση του κατωφλίου γίνεται πιο αμυδρή
Το κατώφλι δεν επιβάλλει πλέον η έξοδος ενός νευρώνα να είναι είτε πλήρως ενεργή (δηλ., 1) είτε πλήρως ανενεργή (δηλ., 0): η έξοδος μπορεί να είναι και οποιαδήποτε τιμή μεταξύ 0 και 1 Όταν η συνολική έξοδος είναι αρκετά μικρότερη από το κατώφλι, είναι κοντά στο 0, ενώ όταν είναι αρκετά μεγαλύτερη του κατωφλίου είναι κοντά στο 1 – συνολική έξοδος κοντά στο κατώφλι μπορεί να παράγει μια ενδιάμεση τιμή εξόδου κοντά στο 0.5 Φανταστείτε ένα νευρώνα με κατώφλι 6.2 Μια είσοδος με τιμή 122 μπορεί να παράγει έξοδο με τιμή αφού η είσοδος έχει τιμή πολύ μεγαλύτερη από το κατώφλι Μια είσοδος με τιμή 6.1 είναι κοντά στο κατώφλι και μπορεί να παράγει έξοδο με τιμή 0.45 Αυτό επηρεάζει όλους τους νευρώνες συμπεριλαμβανομένου του τελικού νευρώνα εξόδου Στην εφαρμογή για το πρόβλημα με τα γυαλιά ηλίου, αυτό σημαίνει ότι τιμές εξόδου κοντά στο 1 υποδεικνύουν ισχυρά την παρουσία γυαλιών ηλίου και τιμές εξόδου κοντά στο 0 υποδεικνύουν ισχυρά την απουσία τους… Νευρώνας 6,2 122 Νευρώνας 6,2 6,1 Νευρώνας 6,2
61
Βελτιωμένος τεχνητός νευρώνας
Δείτε ένα νευρώνα με τις 3 προηγούμενες βελτιώσεις Ο νευρώνας λαμβάνει είσοδο από 3 pixels: ένα φωτεινό (σήμα 0.9), ένα μεσαίας φωτεινότητας (σήμα 0.6) και ένα σκούρο pixel (σήμα 0.4) Τα βάρη των συνδέσμων αυτών των pixels με το νευρώνα τυχαίνει να είναι 10, 0.5 και - 3, αντίστοιχα Τα σήματα πολλαπλασιάζονται με τα βάρη και αθροίζονται δίνοντας ένα συνολικό σήμα εισόδου για το νευρώνα με τιμή 8.1 Το 8.1 είναι πολύ μεγαλύτερο από την τιμή κατωφλίου του νευρώνα που είναι 2.5, οπότε η έξοδος είναι πολύ κοντά στο 1 + κατώφλι 2.5 σήμα 0.9 x βάρος 10 σήμα 0.4 x βάρος -3 σήμα 0.6 x βάρος 0.5 8.1 0.99
62
Ρύθμιση νευρωνικού δικτύου μέσω μάθησης
Κάθε σύνδεσμος στο δίκτυο πρέπει να έχει βάρος που να μπορεί να είναι θετικό (διεγερτικό) ή αρνητικό (ανασταλτικό) Κάθε νευρώνας πρέπει να έχει κατάλληλη τιμή κατωφλίου Φανταστείτε τα βάρη και τα κατώφλια σαν ενδείξεις στο δίκτυο, κάθε μία από τις οποίες να μπορεί να ρυθμιστεί προς τα πάνω ή προς τα κάτω σα μηχανισμός ρύθμισης φωτιστικής έντασης Η ρύθμιση γίνεται μέσω υπολογιστή κατά τη φάση της μάθησης Αρχικά, οι ενδείξεις έχουν αυθαίρετες τιμές (αυτό συμβαίνει και σε πραγματικές εφαρμογές) Μετά, δίνεται στον υπολογιστή το πρώτο δείγμα εκπαίδευσης Αυτό θα ήταν η φωτογραφία ενός ατόμου που μπορεί να φοράει ή να μη φοράει γυαλιά Το δείγμα διοχετεύεται στο δίκτυο που παράγει μια μοναδική τιμή εξόδου μεταξύ 0 και 1 Επειδή το δείγμα είναι δείγμα εκπαίδευσης, γνωρίζουμε την επιθυμητή τιμή που το δίκτυο θα πρέπει ιδεατά να παράγει Το κόλπο είναι με κάθε δείγμα εκπαίδευσης να τροποποιούμε ελάχιστα το δίκτυο ώστε η έξοδός του να είναι πολύ κοντά στην επιθυμητή τελική τιμή: υποθέστε π.χ., ότι το πρώτο δείγμα εκπαίδευσης είναι εικόνα που περιέχει γυαλιά ηλίου: τότε η τιμή εξόδου πρέπει να είναι 1 Οι παραπάνω ρυθμίσεις πραγματοποιούνται με μαθηματικά (δεν θα μπούμε σε τεχνικές λεπτομέρειες) αυτόματα από υπολογιστή
63
Ρύθμιση νευρωνικού δικτύου μέσω μάθησης για το πρόβλημα των γυαλιών ηλίου
Μετά την ολοκλήρωση της φάσης μάθησης, σε κάθε σύνδεσμο από την εικόνα εισόδου προς τον κεντρικό νευρώνα έχει ανατεθεί κάποιο βάρος Εστιάζοντας στους συνδέσμους από όλα τα pixels προς έναν από τους νευρώνες, μπορούμε να οπτικοποιήσουμε τα βάρη μετατρέποντάς τα σε εικόνα
64
Ρύθμιση νευρωνικού δικτύου μέσω μάθησης για το πρόβλημα των γυαλιών ηλίου
Ισχυροί διεγερτικοί σύνδεσμοι (δηλ., με μεγάλα θετικά βάρη) είναι άσπροι και ισχυροί ανασταλτικοί σύνδεσμοι (δηλ., με μεγάλα αρνητικά βάρη) είναι μαύροι Διάφορες αποχρώσεις του γκρι χρησιμοποιούνται για συνδέσμους ενδιάμεσης ισχύος Κάθε βάρος φαίνεται στη θέση του pixel που του αντιστοιχεί Υπάρχουν πολλά ισχυρά ανασταλτικά βάρη στην περιοχή που θα εμφανίζονταν κανονικά γυαλιά ηλίου – θα μπορούσαμε και να πειστούμε ότι αυτή η εικόνα περιέχει αλήθεια γυαλιά ηλίου: έχουμε δηλ., ένα φάντασμα γυαλιών ηλίου που στην πραγματικότητα δεν υπάρχουν στην εικόνα
65
Ρύθμιση νευρωνικού δικτύου μέσω μάθησης
Η εμφάνιση του φαντάσματος είναι αξιοπρόσεχτη ειδικά αν σκεφτούμε ότι τα βάρη δεν καθορίστηκαν με χρήση γνώσης παρεχόμενης από άνθρωπο για το συνηθισμένο χρώμα και τη θέση των γυαλιών ηλίου Η μόνη πληροφορία που δόθηκε από άνθρωπο ήταν ένα σύνολο εικόνων μάθησης σημειωμένες με ένα “ΝΑΙ” ή “ΟΧΙ” για να υποδεικνύεται αν υπάρχουν γυαλιά ηλίου Το φάντασμα γυαλιών προέκυψε αυτόματα από την επαναλαμβανόμενη προσαρμογή των βαρών στη φάση της μάθησης Είναι προφανές ότι υπάρχουν πολλά ισχυρά βάρη και σε άλλα τμήματα της εικόνας που – με βάση τη θεωρία - δεν επηρεάζουν την απόφαση για την ύπαρξη γυαλιών ηλίου Πώς προέκυψαν αυτοί οι χωρίς νόημα, προφανώς τυχαίοι σύνδεσμοι; Ενδέχεται φαινομενικά ευφυής συμπεριφορά να προκύψει από φαινομενικά τυχαία συστήματα!!! Πράγματι, αν μπορούσαμε να μπούμε στον ανθρώπινο εγκέφαλο και να αναλύσουμε την ισχύ των συνδέσμων μεταξύ των νευρώνων, η συντριπτική πλειοψηφία θα φαινόταν τυχαία… Εντούτοις, όταν αυτές οι αξιοπρόσεχτες συλλογές ισχυρών συνδέσμων λειτουργούν σα σύνολο παράγουν τη δική μας ευφυή συμπεριφορά!
66
Χρήση του νευρωνικού δικτύου για τα γυαλιά ηλίου
Αφού οι τιμές εξόδου μπορεί να κυμαίνονται μεταξύ 0 και 1, πώς λαμβάνουμε την τελική απάντηση για το αν το άτομο στη φωτογραφία φοράει ή όχι γυαλιά; Ακολουθώντας την εξής απλή τεχνική: τελική έξοδος πάνω από 0.5 δηλώνει ύπαρξη γυαλιών ηλίου ενώ τελική έξοδος με τιμή κάτω από 0.5 δηλώνει μη ύπαρξη γυαλιών ηλίου Πείραμα: Χρησιμοποιούμε το παραπάνω νευρωνικό δίκτυο και μια βάση δεδομένων με περίπου 600 εικόνες Δεδομένα εκπαίδευσης: 400 από τις εικόνες της βάσης δεδομένων Εξετάζουμε την απόδοση του δικτύου για τις υπόλοιπες 200 εικόνες της βάσης δεδομένων Αποτέλεσμα: η τελική ακρίβεια ταξινόμησης είναι περίπου 85%, δηλ., το δίκτυο δίνει σωστή απάντηση στην ερώτηση “φοράει το πρόσωπο της φωτογραφίας γυαλιά;” για περίπου 85% των φωτογραφιών που δεν έχει ξαναδεί (δείτε τα αποτελέσματα στην επόμενη διαφάνεια) Πραγματικά σύγχρονα νευρωνικά δίκτυα πετυχαίνουν απόδοση πολύ καλύτερη από 85% για το συγκεκριμένο πρόβλημα…
67
Αποτελέσματα του νευρωνικού δικτύου για το πρόβλημα με τα γυαλιά ηλίου
Μία-δύο από τις λάθος ταξινομημένες εικόνες είναι δύσκολο ακόμα και για άνθρωπο να τις ξεχωρίσει… Όμως, η πάνω αριστερά εικόνα είναι απόλυτα προφανές σε εμάς ότι δείχνει άνθρωπο που φοράει γυαλιά ηλίου Πάντως, τέτοιες περίεργες λάθος απαντήσεις δεν είναι καθόλου ασυνήθιστες σε εργασίες αναγνώρισης προτύπων Πηγή: Tom Mitchell, Machine Learning, McGraw-Hill (1998). Used with permission.
68
Επομένως, ένα νευρωνικό δίκτυο…
Είναι ένα κύκλωμα διασυνδεδεμένων νευρώνων βιολογικοί νευρώνες: δίκτυο = τμήμα νευρικού ιστού τεχνητοί νευρώνες: δίκτυο = αφηρημένο αλγοριθμικό κατασκεύασμα που εμπίπτει στον τομέα της υπολογιστικής νοημοσύνης, όταν στόχος του είναι: η επίλυση κάποιου υπολογιστικού προβλήματος η προσομοίωση με υπολογιστές της λειτουργίας των βιολογικών νευρωνικών δικτύων με βάση κάποιο μαθηματικό μοντέλο τους
69
Επομένως, ένα νευρωνικό δίκτυο…
= δίκτυο από απλούς υπολογιστικούς κόμβους (νευρώνες) διασυνδεδεμένους μεταξύ τους Είναι εμπνευσμένο από το κεντρικό νευρικό σύστημα, το οποίο προσπαθεί να προσομοιώσει Κάθε νευρώνας δέχεται ένα σύνολο αριθμητικών εισόδων από διαφορετικές πηγές (είτε από άλλους νευρώνες, είτε από το περιβάλλον), πραγματοποιεί έναν υπολογισμό με βάση αυτές τις εισόδους παράγει μία έξοδο που είτε κατευθύνεται στο περιβάλλον, είτε τροφοδοτείται ως είσοδος σε άλλους νευρώνες του δικτύου 3 τύποι νευρώνων: νευρώνες εισόδου: δεν επιτελούν κανέναν υπολογισμό, μεσολαβούν απλώς ανάμεσα στις περιβαλλοντικές εισόδους του δικτύου και στους υπολογιστικούς νευρώνες νευρώνες εξόδου: διοχετεύουν στο περιβάλλον τις τελικές αριθμητικές εξόδους του δικτύου υπολογιστικοί (ή κρυμμένοι) νευρώνες: πολλαπλασιάζουν κάθε είσοδό τους με το αντίστοιχο συναπτικό βάρος και υπολογίζουν το ολικό άθροισμα των γινομένων. Το άθροισμα αυτό τροφοδοτείται ως όρισμα στη συνάρτηση ενεργοποίησης, την οποία υλοποιεί εσωτερικά κάθε κόμβος για να προσδιορίσει την έξοδό του
70
Αναγνώριση προτύπων: Παρελθόν, παρόν και μέλλον…
Η αναγνώριση προτύπων είναι υποσύνολο της ευρύτερης περιοχής της Τεχνητής Νοημοσύνης (Αrtificial Ιntelligence-AI) Η αναγνώριση προτύπων ασχολείται με πολύ μεταβλητά δεδομένα εισόδου όπως ήχο, εικόνες και video Η Τεχνητή Νοημοσύνη ασχολείται με ποικίλες εργασίες που περιλαμβάνουν σκάκι με υπολογιστή, αυτόματα εργαλεία online συζήτησης (chat-bots) και ανθρωποειδή ρομποτική (humanoid robotics) Η Τεχνητή Νοημοσύνη θεμελιώθηκε ως επιστημονικό πεδίο το 1956 σε ένα Συνέδριο στο Πανεπιστήμιο του Dartmouth όπου μια ομάδα 10 επιστημόνων πρωτοχρησιμοποίησε τον όρο “τεχνητή νοημοσύνη” που μετέπειτα καθιερώθηκε… Στην ιδρυτική τους πρόταση προς το Ίδρυμα Rockefeller, οι 10 επιστήμονες-θεμελιωτές ανέφεραν ότι η δουλειά του “θα προχωρούσε με βάση την εικασία ότι κάθε μορφή μάθησης ή κάθε άλλο χαρακτηριστικό της ευφυΐας είναι εφικτό να περιγραφεί με τόσο ακρίβεια ώστε μια μηχανή να μπορεί να το εξομοιώσει”…
71
Αναγνώριση προτύπων: Παρελθόν, παρόν και μέλλον…
Τα χρόνια που ακολούθησαν έδειξαν ότι οι φιλοδοξία των 10 επιστημόνων ήταν μάλλον υπερβολική: τα μοντέλα που αναπτύχθηκαν συνέχισαν να παράγουν μηχανιστική συμπεριφορά Πάντως μειώνονται σιγά-σιγά οι συλλογιστικές διαδικασίες που είχαν χαρακτηριστεί στα πλαίσια της Τεχνητής Νοημοσύνης ως αποκλειστικά ανθρώπινου τύπου… Χαρακτηριστικό παράδειγμα είναι το σκάκι: πιστευόταν για χρόνια ότι η ανθρώπινη διαίσθηση και ενόραση θα μπορούσε να νικήσει κάθε πρόγραμμα υπολογιστή που πρέπει απαραίτητα να στηρίζεται σε κάποιο ντετερμινιστικό σύνολο κανόνων αντί για τη διαίσθηση… Εντούτοις, ο μύθος αυτός καταρρίφθηκε όταν το 1997 ο υπολογιστής Deep Blue της IBM νίκησε τον παγκόσμιο πρωταθλητή σκακιού Garry Kasparov... Η σταδιακή μετατροπή εργασιών από προφανώς διαισθητικές σε προφανώς μηχανιστικές συνεχίζεται…
72
Σύνοψη Αναγνώριση προτύπων: το να μπορεί ο υπολογιστής να ξεχωρίσει και να κατατάξει στο σωστό σύνολο αντικείμενα/δεδομένα Η μέχρι τώρα ερευνητική προσπάθεια δείχνει ότι η αναγνώριση προτύπων είναι μια εργασία που οι υπολογιστές δεν μπορούν να διεκπεραιώσουν τόσο καλά όσο οι άνθρωποι γιατί απαιτείται ευφυΐα – που οι υπολογιστές από μόνοι τους φαίνεται να μη διαθέτουν απαιτείται πολύ ακριβής περιγραφή του πώς πραγματοποιεί την αντίστοιχη εργασία ο ανθρώπινος εγκέφαλος προκειμένου να την εξομοιώσει ένας υπολογιστής - που μέχρι τώρα δεν έχει καταστεί δυνατόν να αναλυθεί σε βάθος και λεπτομερώς
73
Σύνοψη Έχουν παρουσιαστεί διάφορες προσεγγίσεις/τεχνικές/αλγόριθμοι μέσω των οποίων οι υπολογιστές μπορούν να κάνουν αναγνώριση προτύπων σύμφωνα με τις οποίες η αναγνώριση νοείται σαν ταξινόμηση αντικειμένων/δεδομένων σε κάποια ομάδα Οι προσεγγίσεις αυτές συνίστανται στο ότι οι υπολογιστές μπορούν – κατά μία έννοια – να «μάθουν» πώς να αναγνωρίζουν μέσω παραδειγμάτων που τους «διδάσκει» ο άνθρωπος και στη συνέχεια να αναγνωρίσουν (σχεδόν επιτυχώς) αντικείμενα/δεδομένα Δηλ., οι άνθρωποι «διδάσκουν» στους υπολογιστές μέσω παραδειγμάτων ποιες είναι οι διαθέσιμες κατηγορίες και στη συνέχεια οι υπολογιστές ταξινομούν αντικείμενα/δεδομένα στις ομάδες αυτές
74
Σύνοψη Μελετήσαμε 3 προσεγγίσεις/τεχνικές/αλγόριθμους μέσω των οποίων οι υπολογιστές μπορούν να πραγματοποιούν αναγνώριση προτύπων: Ταξινόμηση μέσω του πλησιέστερου γείτονα Π.χ., αναγνώριση χειρόγραφων ψηφίων Δέντρα αποφάσεων Π.χ., web spam Νευρωνικά δίκτυα Π.χ., αναγνώριση προσώπων με γυαλιά ηλίου Η αναγνώριση προτύπων είναι υποπεριοχή της Τεχνητής Νοημοσύνης
75
Σύνοψη Εφαρμογές αναγνώρισης προτύπων: Αυτόματα τηλεφωνικά συστήματα
Εξυπηρέτηση πελατείας μέσω αναγνώρισης λόγου Σε video games, αντίπαλοι που ελέγχονται από υπολογιστή επιδεικνύουν συμπεριφορά που μοιάζει με ανθρώπινη και περιλαμβάνει προσωπικότητες με χαρακτηριστικά γνωρίσματα και αδυναμίες… Online υπηρεσίες όπως η Amazon και η Netflix προτείνουν αντικείμενα με βάση ατομικές προτιμήσεις που έχουν συσταθεί αυτόματα συχνά με εκπληκτικά θετικά αποτελέσματα Αυτόματη ξενάγηση σε ηλεκτρονικές πινακοθήκες, αυτόματη ξενάγηση σε μουσεία/αρχαιολογικούς χώρους Αυτόματα συστήματα υπολογισμού αεροπορικών πτήσεων με πολλούς ενδιάμεσους σταθμούς, με χαμηλού κόστους και με βάση προσωπικές μας προτιμήσεις – εργασία που παλιά γινόταν μόνο από ανθρώπους και τώρα γίνεται σχεδόν αποκλειστικά από υπολογιστές… Π.χ. Expedia Αυτόματη διόρθωση κειμένου σε ιδεατά πληκτρολόγια κινητών τηλεφώνων Π.χ., χρήση Τ9 σε κινητά τηλέφωνα κατά τη σύνταξη sms Διάγνωση ασθενειών από πολύπλοκη συνεκτίμηση αποτελεσμάτων ιατρικών εξετάσεων Αναγνώριση πινακίδων αυτοκινήτου σε αυτόματους σταθμούς διοδίων Καθορισμός διαφημίσεων που εμφανίζονται σε κάθε χρήστη σε ιστοτόπους, κοινωνικά δίκτυα (π.χ., Facebook) …
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.