Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 19 ης διάλεξης 19.1. Δείξτε ότι το Perceptron με (α) συνάρτηση ενεργοποίησης προσήμου και (β) σιγμοειδή συνάρτηση ενεργοποίησης είναι γραμμικός διαχωριστής. (γ) Δείξτε ότι ένα δίκτυο δύο επιπέδων με Perceptrons (παρόμοιο εκείνου που χρησιμοποιήσαμε για να υλοποιήσουμε την πύλη XOR) μπορεί να μάθει οποιαδήποτε λογική συνάρτηση. Υπόδειξη: χρησιμοποιήστε στο πρώτο επίπεδο μια πύλη για κάθε γραμμή του πίνακα αληθείας της λογικής συνάρτησης και στο δεύτερο επίπεδο μια πύλη OR. (δ) Θεωρήστε ένα σύνολο δεδομένων εκπαίδευσης στο οποίο κάθε αντικείμενο προς κατάταξη περιγράφεται από Boolean ιδιότητες και κατατάσσεται σε μία από δύο τάξεις (αληθές, ψευδές). Εξηγήστε γιατί ένα δίκτυο Perceptrons δύο επιπέδων (σαν εκείνο του προηγούμενου σκέλους) με τόσες πύλες στο πρώτο σκέλος όσα τα παραδείγματα εκπαίδευσης μπορεί να μάθει τέλεια τα παραδείγματα εκπαίδευσης, αλλά ενδέχεται να μην έχει καλές επιδόσεις σε δεδομένα αξιολόγησης. 19.2. (α) Θέλουμε να εκπαιδεύσουμε ένα μεμονωμένο Perceptron, ώστε να διαχωρίζει τις περιπτώσεις των δύο κατηγοριών (μαύρες και άσπρες τελείες, μέσα και έξω από έναν κύκλο) του σχήματος στα δεξιά. Υπάρχουν δύο ιδιότητες, που αντιστοιχούν στους άξονες. Εξηγήστε γιατί αποκλείεται να μάθει το Perceptron να διαχωρίζει σωστά τις δύο κατηγορίες με την υπάρχουσα διανυσματική παράσταση των περιπτώσεων. Απάντηση: Το Perceptron είναι γραμμικός διαχωριστής, δηλαδή κατά την εκπαίδευση μαθαίνει ένα σημείο (αν Σχήμα από το βιβλίο των Russel και Norvig. έχουμε μόνο μία ιδιότητα), μια ευθεία γραμμή (αν έχουμε δύο ιδιότητες), ένα επίπεδο (αν έχουμε τρεις ιδιότητες) ή γενικότερα υπερ-επίπεδο (αν έχουμε περισσότερες ιδιότητες) και κατά την αξιολόγηση κατατάσσει τις περιπτώσεις (διανύσματα ιδιοτήτων) που του δίνουμε σε δύο κατηγορίες, ανάλογα με το αν το διάνυσμα κάθε περίπτωσης βρίσκεται πάνω ή κάτω από το υπερ-επίπεδο. Οι περιπτώσεις του σχήματος δεν είναι γραμμικά διαχωρίσιμες στο διανυσματικό χώρο του σχήματος (δεν υπάρχει ευθεία γραμμή που να διαχωρίζει τις μαύρες από τις άσπρες τελείες). Επομένως, αποκλείεται ένα Perceptron να καταφέρει να μάθει μια ευθεία που να διαχωρίζει πλήρως τις περιπτώσεις των δύο κατηγοριών, αν παριστάνονται όπως στο σχήμα της εκφώνησης. (β) Να προτείνετε ένα μετασχηματισμό της υπάρχουσας διανυσματικής παράστασης, που να μετατρέπει κάθε περίπτωση (τελεία) σε έναν μόνο πραγματικό αριθμό (να έχουμε μία μόνο ιδιότητα), ώστε να είναι πλέον δυνατόν (με τη νέα παράσταση) να μάθει το Perceptron να διαχωρίζει τις περιπτώσεις των δύο κατηγοριών του σχήματος. Ποιος θα ήταν ο μετασχηματισμός και γιατί θα μπορούσε πλέον το Perceptron να μάθει να διαχωρίζει τις δύο κατηγορίες; Απάντηση: Μπορούμε να παραστήσουμε κάθε περίπτωση (τελεία) με την απόστασή της από το κέντρο του κύκλου. Τότε όλες οι περιπτώσεις διατάσσονται πάνω σε ένα μόνο άξονα, που παριστάνει την απόσταση (τη μία και μοναδική ιδιότητα). Όλες οι μαύρες τελείες θα βρίσκονται αριστερά από την τιμή του άξονα που θα αντιστοιχεί στην ακτίνα του κύκλου (περίπου 1) και όλες οι άσπρες τελείες θα βρίσκονται δεξιά από εκείνη την τιμή. Με την νέα παράσταση, οι περιπτώσεις είναι γραμμικά διαχωρίσιμες και επομένως είναι δυνατόν το Perceptron να μάθει να τις διαχωρίζει.
19.3. (α) Δύο φοιτητές συζητούν τη σχέση του Perceptron με τους ταξινομητές λογιστικής παλινδρόμησης. Ο πρώτος ισχυρίζεται ότι ένας ταξινομητής λογιστικής παλινδρόμησης δύο κατηγοριών δεν είναι παρά ένα Perceptron με σιγμοειδή συνάρτηση ενεργοποίησης S ( S) 1/(1 e ). Για να υποστηρίξει την άποψή του, έγραψε τους τύπους που υπολογίζουν, για κάθε διάνυσμα εισόδου x, (i) την έξοδο του Perceptron και (ii) την πιθανότητα με την οποία κατατάσσει ο ταξινομητής λογιστικής παλινδρόμησης το x στη θετική κατηγορία. Γράψτε τους δύο αυτούς τύπους. Τι δείχνουν; Απάντηση: Για κάθε διάνυσμα εισόδου x, η έξοδος ενός Perceptron με την παραπάνω σιγμοειδή συνάρτηση ενεργοποίησης είναι: ( wl xl ) ( w x) 1/(1 e Η πιθανότητα με την οποία κατατάσσει ένας ταξινομητής λογιστικής παλινδρόμησης ένα διάνυσμα εισόδου x στη θετική κατηγορία είναι: P( c x) 1/(1 e wx Οι δύο τύποι δείχνουν ότι αν χρησιμοποιήσουμε τα ίδια βάρη w, η έξοδος του Perceptron θα είναι ακριβώς η ίδια με την P( c x) του ταξινομητή λογιστικής παλινδρόμησης, για κάθε x. (β) Ο δεύτερος φοιτητής ισχυρίζεται ότι ένας ταξινομητής λογιστικής παλινδρόμησης δύο κατηγοριών δεν είναι απλά ένα Perceptron με σιγμοειδή συνάρτηση ενεργοποίησης. Για να υποστηρίξει την άποψή του, υλοποίησε ένα Perceptron με σιγμοειδή συνάρτηση ενεργοποίησης, όπως περιγράφεται στις διαφάνειες του μαθήματος. Υλοποίησε, επίσης, έναν ταξινομητή λογιστικής παλινδρόμησης δύο κατηγοριών (με ανάβαση κλίσης, αλλά και με στοχαστική ανάβαση κλίσης), όπως περιγράφεται στις διαφάνειες. Εκπαίδευσε τις δύο υλοποιήσεις πάνω στα ίδια δεδομένα εκπαίδευσης και έδειξε ότι οι αποφάσεις που παράγουν, σε ίδια δεδομένα αξιολόγησης, είναι πολύ διαφορετικές. Σε τι οφείλονται οι διαφορές στις αποφάσεις των δύο υλοποιήσεων που παρατήρησε ο δεύτερος φοιτητής; Απάντηση: Οι διαφορές οφείλονται στο ότι κατά την εκπαίδευση το Perceptron προσπαθεί να ελαχιστοποιήσει (στις διαφάνειες με στοχαστική κατάβαση κλίσης) το συνολικό (τετραγωνικό) σφάλμα στα δεδομένα εκπαίδευσης, ενώ ο ταξινομητής λογιστικής παλινδρόμησης προσπαθεί να μεγιστοποιήσει (με ανάβαση κλίσης ή στοχαστική ανάβαση κλίσης κ.λπ.) τη δεσμευμένη πιθανοφάνεια των παραδειγμάτων εκπαίδευσης. Οι δύο αλγόριθμοι, δηλαδή, χρησιμοποιούν κατά την εκπαίδευση διαφορετική αντικειμενική συνάρτηση. Η διαφορά αυτή οδηγεί και σε διαφορετικούς κανόνες ενημέρωσης βαρών, όπως φαίνεται και στις διαφάνειες. (γ) Τελικά ποιος φοιτητής έχει δίκιο και γιατί; Αν κανείς δεν έχει πλήρως δίκιο, ποια είναι κατά τη γνώμη σας η σχέση μεταξύ των δύο αλγορίθμων μάθησης; Απάντηση: Σύμφωνα με τα παραπάνω, αν χρησιμοποιήσουμε τα ίδια βάρη w, η έξοδος του Perceptron (με σιγμοειδή συνάρτηση ενεργοποίησης) θα είναι ακριβώς η ίδια με την P( c x) του ταξινομητή λογιστικής παλινδρόμησης, για κάθε x. Επομένως, τόσο το Perceptron όσο και ο ταξινομητής λογιστικής παλινδρόμησης θα παράγουν τα ίδια αποτελέσματα κατά το στάδιο της χρήσης, αν κατά το στάδιο της εκπαίδευσης έχουν μάθει τα ίδια βάρη. Κατά το στάδιο της εκπαίδευσης, όμως, δεν μαθαίνουν εν γένει οπωσδήποτε τα ίδια βάρη, γιατί χρησιμοποιούν διαφορετικές αντικειμενικές συναρτήσεις, όπως προαναφέρθηκε. Επομένως, ο δεύτερος φοιτητής έχει δίκιο, αν και το επιχείρημά του δεν είναι πλήρως πειστικό, γιατί οι διαφορές στις αποφάσεις των δύο υλοποιήσεων θα μπορούσαν να οφείλονται σε διαφορές στις λεπτομέρειες των υλοποιήσεων. wx ) )
19.4. Στο παρακάτω τεχνητό νευρωνικό δίκτυο όλοι οι νευρώνες χρησιμοποιούν συνάρτηση ενεργοποίησης προσήμου με κατώφλι 0: Φ(x) = 1 αν x 0, Φ(x) = 1 αν x < 0. Τα βάρη του δικτύου έχουν τις τιμές που δείχνει το σχήμα. (α) Δίνουμε στο δίκτυο το νέο παράδειγμα εκπαίδευσης x 1 = 1, x 2 = 1, για το οποίο η επιθυμητή απόκριση είναι t = 1. Ποια είναι η απόκριση y του δικτύου; (β) Χρησιμοποιούμε τον αλγόριθμο ανάστροφης μετάδοσης για να εκπαιδεύσουμε το δίκτυο, με κανόνα εκπαίδευσης w ij w ij + 0.1 x ij δ j. Θεωρήστε ότι στο επίπεδο εξόδου δ 6 = t y και στο κρυφό επίπεδο δ j = Σw jk δ k. Ποιες θα είναι οι νέες τιμές όλων των βαρών; x 1 1 w 13 w 14 = 2 3 w 23 = 2 w 36 = 1 x 2 2 w 15 4 w 24 w 46 6 y w 25 5 w 56 =2 Απάντηση: α) Η απόκριση y του δικτύου είναι: y = Φ(w 36 x 36 + w 46 x 46 + w 56 x 56 ) = Φ(w 36 Φ(w 13 x 13 + w 23 x 23 ) + w 46 Φ(w 14 x 14 + w 24 x 24 ) + w 56 Φ(w 15 x 15 + w 25 x 25 )) = Φ(w 36 Φ(w 13 Φ(x 1 ) + w 23 Φ(x 2 )) + w 46 Φ(w 14 Φ(x 1 ) + w 24 Φ(x 2 )) + w 56 Φ(w 15 Φ(x 1 ) + w 25 Φ(x 2 ))) = Φ( 1 Φ(1 1 + ( 2) 1) + 1 Φ(( 2) 1 + 1 1) + 2 Φ(1 1 + 1 1)) β) Υπολογίζουμε τα δ j (j = 3,,6) : Και στη συνέχεια τα νέα βάρη: = Φ( Φ( 1) + Φ( 1) + 2 Φ(2)) = Φ(1 1 + 2) = Φ(2) = 1 δ 6 = t y = 1 1 = 2 δ 3 = w 36 δ 6 = ( 1) ( 2) = 2 δ 4 = w 46 δ 6 = 1 ( 2) = 2 δ 5 = w 56 δ 6 = 2 ( 2) = 4 w 13 w 13 + 0.1 x 13 δ 3 = 1 + 0.1 1 2 = 1.2 w 14 w 14 + 0.1 x 14 δ 4 = 2 + 0.1 1 ( 2) = 2.2 w 15 w 15 + 0.1 x 15 δ 5 = 1 + 0.1 1 ( 4) = 0.6 w 23 w 23 + 0.1 x 23 δ 3 = 2 + 0.1 1 2 = 1.8 w 24 w 24 + 0.1 x 24 δ 4 = 1 + 0.1 1 ( 2) = 0.8 w 25 w 25 + 0.1 x 25 δ 5 = 1 + 0.1 1 ( 4) = 0.6
w 36 w 36 + 0.1 x 36 δ 6 = 1 + 0.1 ( 1) ( 2) = 0.8 w 46 w 46 + 0.1 x 46 δ 6 = 1 + 0.1 ( 1) ( 2) = 1.2 w 56 w 56 + 0.1 x 56 δ 6 = 2 + 0.1 1 ( 2) = 1.8 19.5. (Εκτός εξεταστέας ύλης αλλά πολύ σημαντική για όσους ενδιαφέρονται ιδιαίτερα για την Τεχνητή Νοημοσύνη και τη Μηχανική Μάθηση ειδικότερα.) Δείξτε πώς προκύπτουν οι τύποι ενημέρωσης βαρών του αλγορίθμου ανάστροφης μετάδοσης (διαφάνειες 22 25). Απάντηση (βασισμένη την ενότητα 4.5.2 του βιβλίου «Machine Learning» του T. Mitchell, 1997, McGraw Hill): Έστω W ένα διάνυσμα που περιλαμβάνει όλα τα βάρη w i,j όλων των συνδέσεων (ακμών) του δικτύου (βλ. και διαφάνειες 22, 23). Κάθε φορά που εξετάζουμε ένα παράδειγμα εκπαίδευσης d, τροποποιούμε το W (όλα τα βάρη των συνδέσεων ταυτόχρονα) κάνοντας ένα βήμα προς την κατεύθυνση E d (W): δηλαδή: W W η E d (W), w 1,4,, w i,j,, w 4,8,, w 1,4,, w i,j,, w 4,8, η, E d(w),, E d(w),, E d(w), w 1,4 w i,j w 4,8 όπου η είναι (στην απλούστερη περίπτωση) μια μικρή θετική σταθερά (π.χ. 0.1) και E d (W) είναι το «τοπικό» σφάλμα για το παράδειγμα εκπαίδευσης d, δηλαδή πόσο διαφέρουν οι έξοδοι o k των νευρώνων Outputs του επιπέδου εξόδου από τις αντίστοιχες επιθυμητές (σωστές) αποκρίσεις t k για το παράδειγμα d: E d (W) = 1 2 (t k o k ) 2 Κάθε βάρος w i,j μέσα στο W τροποποιείται σε κάθε βήμα ως εξής: w i,j w i,j η E d(w) w i,j Έστω net j = i w i,j x i,j ή ισοδύναμα net j = i w i,j o i (βλ. και διαφάνεια 22), όπου το i παριστάνει κάθε νευρώνα που συνδέεται με το νευρώνα j και o i είναι η έξοδος του νευρώνα i, δηλαδή net j είναι το ζυγισμένο άθροισμα των εισόδων του νευρώνα j, πριν την εφαρμογή της συνάρτησης ενεργοποίησης. To βάρος w i,j επηρεάζει τις εξόδους των νευρώνων του επιπέδου εξόδου, άρα και το σφάλμα E d (W), μόνο μέσω του net j. Άρα, χρησιμοποιώντας τον κανόνα της αλυσίδας μπορούμε να γράψουμε: 1 w i,j w i,j η E d(w) = w i,j i w i,j w i,j η E d(w) w i,j x i,j = w i,j η E d(w) x net i,j j 1 Βλ. https://en.wikipedia.org/wiki/chain_rule
Στην περίπτωση που ο νευρώνας j είναι του επιπέδου εξόδου: Το net j επηρεάζει τις εξόδους των νευρώνων του επιπέδου εξόδου, άρα και το σφάλμα E d (W), μόνο μέσω του o j = Φ(net j ), όπου Φ η συνάρτηση ενεργοποίησης. Άρα, χρησιμοποιώντας τον κανόνα της αλυσίδας μπορούμε να γράψουμε: = E d(w) Θεωρώντας ότι έχουμε σιγμοειδή συνάρτηση ενεργοποίησης Φ(net j ) = σ(net j ) σε κάθε νευρώνα j, έχουμε: = ( 1 2 (t k o k ) 2 ) σ(net j) = ( ( 1 2 (t k o k ) 2 )) σ(net j ) (1 σ(net j )) = ( (t k o k ) (t k o k ) ) o j (1 o j ) = (t j o j )( 1)o j (1 o j ) = (t j o j )o j (1 o j ) Οπότε ο κανόνας ενημέρωσης γίνεται σε αυτή την περίπτωση: w i,j w i,j + η ((t j o j )o j (1 o j )) x i,j Ορίζοντας δ j =, ο κανόνας ενημέρωσης γίνεται σε αυτή την περίπτωση: w i,j w i,j + ηδ j x i,j με: δ j = (t j o j )o j (1 o j ) Στην περίπτωση που ο νευρώνας j δεν είναι του επιπέδου εξόδου: Σε αυτή την περίπτωση, το net j επηρεάζει τις εξόδους των νευρώνων του επιπέδου εξόδου, άρα και το σφάλμα E d (W), επηρεάζοντας (μόνο) τα net k των κόμβων k Downstream(j) στους οποίους συνδέεται άμεσα η έξοδος του νευρώνα j. 2 Άρα, χρησιμοποιώντας τον κανόνα της αλυσίδας και ορίζοντας πάλι δ k = μπορούμε να γράψουμε: net k = net k net k = δ k net k 2 Στην περίπτωση του δικτύου της διαφάνειας 23, αν ο νευρώνας j είναι του μοναδικού κρυφού επιπέδου και αν κάθε νευρώνας του κρυφού επιπέδου συνδέεται με όλους τους νευρώνες του επιπέδου εξόδου, τότε Downstream(j) = Outputs. Οι κανόνες ενημέρωσης αυτής της άσκησης ισχύουν και για δίκτυα με περισσότερα κρυφά επίπεδα.
Το net j επηρεάζει το κάθε net k μόνο μέσω του o j. Άρα, χρησιμοποιώντας τον κανόνα της αλυσίδας και υποθέτοντας πάλι ότι έχουμε σιγμοειδή συνάρτηση ενεργοποίησης o j = σ(net j ) σε κάθε νευρώνα j, μπορούμε να γράψουμε: net k j = δ net k = δ w j,k j net k j o j = σ(net j ) δ k w j,k = δ net k w j,k σ(net j ) (1 σ(net j )) = j δ k w j,k o j (1 o j ) = o j (1 o j ) δ k w j,k Οπότε ο κανόνας ενημέρωσης γίνεται σε αυτή την περίπτωση: w i,j w i,j + η (o j (1 o j ) δ k w j,k ) x i,j Λαμβάνοντας υπόψη τον ορισμό δ j =, καταλήγουμε πάλι στον κανόνα ενημέρωσης: αλλά σε αυτή την περίπτωση με: w i,j w i,j + ηδ j x i,j δ j = (o j (1 o j ) δ k w j,k )