Α.Σ.Ε.Ι ΚΡΗΣΗ ΣΜΗΜΑ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ & ΠΟΛΤΜΕΩΝ ΕΡΓΑΣΗΡΙΟ ΝΕΤΡΩΝΙΚΩΝ ΔΙΚΣΤΩΝ 2 Α. ΕΠΙΠΕΔΟ ΝΕΤΡΩΝΩΝ - ΑΡΧΙΣΕΚΣΟΝΙΚΗ Ωσ επίπεδο νευρώνων ορίζουμε την δομή εκείνη η οποία μπορεί να περιέχει θεωρητικά οποιοδήποτε πεπεραςμένο αριθμό νευρώνων. Ασ θεωρήςουμε το παράδειγμα όπου έχουμε ένα διάνυςμα ειςόδου με R χαρακτηριςτικέσ τιμέσ (p1 pr) και ένα επίπεδο νευρώνα με S νευρώνεσ (a1 as) (Εικόνα 1). Εικόνα 1 Επίπεδο νευρώνων - πηγή Matlab toolbox Στην γενική περίπτωςη όλεσ οι χαρακτηριςτικέσ τιμέσ τησ ειςόδου ςυνδέονται πλήρωσ με τουσ νευρώνεσ του επιπέδου. Όπωσ είδαμε και ςτην περίπτωςη του ενόσ νευρώνα οι χαρακτηριςτικέσ τιμέσ ειςέρχονται ςταθμιςμένεσ ςτον νευρώνα με τον ςυντελεςτή του βάρουσ (w). Ο κάθε νευρώνασ λοιπόν δέχεται ςταθμιςμένεσ ειςόδουσ από όλεσ τισ χαρακτηριςτικέσ τιμέσ. Οι τιμέσ αυτέσ πριν την είςοδό τουσ ςτο νευρώνα αθροίζονται και ο ςυντελεςτήσ b (bias) προςτίθεται. Η έξοδοσ του αθροιςτή (ni) δίνει ένα βαθμωτό διάνυςμα (έναν αριθμό) ο οποίοσ ειςέρχεται ςτον νευρώνα όπου και υλοποιείται η ςυνάρτηςη μεταφοράσ. Η έξοδοσ του νευρώνα (ai) είναι επίςησ ένα βαθμωτό διάνυςμα. Τα παραπάνω ςυμβαίνουν για τον κάθε νευρώνα του επιπέδου. Ωσ ςυνολική έξοδο από το επίπεδο του νευρώνα έχουμε το διάνυςμα a το οποίο έχει S χαρακτηριςτικέσ τιμέσ, όςοι δηλαδή είναι και οι νευρώνεσ του επιπέδου. Στο ςημείο αυτό πρέπει να παρατηρήςουμε τα εξήσ: 1
1. Δεν είναι απαραίτητο ο αριθμόσ των νευρώνων του επιπέδου να ταυτίζεται με τον αριθμό των χαρακτηριςτικών τιμών του διανύςματοσ ειςόδου. Στην γενική περίπτωςη μάλιςτα ςπάνια ςυμβαίνει αυτό. 2. Δεν είναι απαραίτητο όλοι οι νευρώνεσ να υλοποιούν την ίδια ςυνάρτηςη μεταφοράσ f. Προγραμματιςτικά αν για παράδειγμα οι νευρώνεσ ενόσ επιπέδου υλοποιούν δύο ςυναρτήςεισ μεταφοράσ (f1 και f2) δημιουργούμε παράλληλα δίκτυα. Το πρώτο δίκτυο αποτελείται από τουσ νευρώνεσ με την f1 και τα δεύτερο δίκτυο από τουσ νευρώνεσ με την f2. Το κάθε παράλληλο δίκτυο ςυμβάλει με τισ εξόδουσ του ςτη δημιουργία ενόσ διανύςματοσ εξόδου a. 3. Για το λόγο του ότι υπάρχει πλήρη ςύνδεςη μεταξύ του διανύςματοσ ειςόδου και των νευρώνων του επιπέδου τα βάρη θα τα ςυμβολίζουμε με τον όρο wij. Όπου i ο αριθμόσ του νευρώνα που καταλήγει η ςύνδεςη και j ο αριθμόσ τησ χαρακτηριςτικήσ τιμήσ του διανύςματοσ που ξεκινά η ςύνδεςη. Για παράδειγμα η ςύνδεςη που ξεκινά από την δεύτερη (2η) χαρακτηριςτική τιμή και καταλήγει ςτον τρίτο (3ο) νευρώνα υλοποιεί βάροσ το οποίο ςυμβολίζεται ωσ w32. Όλεσ οι ςυνδέςεισ μεταξύ του διανύςματοσ ειςόδου και του επιπέδου των νευρώνων ςυμβολίζονται με τον πίνακα των βαρών ο οποίοσ είναι: Όπωσ παρατηρούμε η κάθε γραμμή του πίνακα αυτού περιέχει τα βάρη των ςυνδέςεων που καταλήγουν ςε ένα ςυγκεκριμένο νευρώνα και κάθε ςτήλη του περιέχει τα βάρη των ςυνδέςεων που ξεκινούν από μια ςυγκεκριμένη χαρακτηριςτική τιμή τησ ειςόδου. Β. ΜΑΘΗΜΑΣΙΚΗ ΤΛΟΠΟΙΗΗ Ασ θεωρήςουμε τον i νευρώνα και ασ δούμε πωσ υλοποιείται μαθηματικά η είςοδήοσ και η έξοδόσ του. Πριν την ειςαγωγή ςτον νευρώνα, υπάρχει ο αθροιςτήσ ο οποίοσ αθροίζει τισ ςταθμιςμένεσ ειςόδουσ από το διάνυςμα ειςόδου, με το bias του νευρώνα. Η ςυνολική είςοδοσ ni του νευρώνα λοιπόν είναι: ni = wi1*p1 + wi2*p2 + + wir*pr + bi. Το βαθμωτό αυτό διάνυςμα ειςέρχεται ςτον νευρώνα όπου υλοποιείται η ςυνάρτηςη μεταφοράσ και η τελικά έξοδοσ είναι ai = f(ni). Το ίδιο ςυμβαίνει με όλουσ τουσ νευρώνεσ του επιπέδου και ωσ αποτέλεςμα έχει την ςυνολική έξοδο του επιπέδου αυτού η οποία είναι το 2
διάνυςμα α. Θα πρέπει να παρατηρήςουμε επίςησ ότι ξεκινάμε με διάνυςμα ειςόδου το οποίο έχει μέγεθοσ R και καταλήγουμε ςτην έξοδο του επιπέδου το οποίο είναι διάνυςμα μεγέθουσ S. Τα παραπάνω φαίνονται καλύτερα ςτο ςχήμα που ακολουθεί: Εικόνα 2 Μαθηματική αναπαράςταςη ειςαγωγήσ διανφςματοσ ςε επίπεδο νευρώνων Γ. ΤΛΟΠΟΙΗΗ ΣΟ MATLAB Στο ςυγκεκριμένο παράδειγμα το διάνυςμα ειςόδου είναι το p, w ο πίνακασ των βαρών. Το επίπεδο αποτελείται από τέςςερισ νευρώνεσ. Ωσ bias για όλουσ τουσ νευρώνεσ δίδεται η τιμή 0,5. p=[2 4 6 8]; %ΣΟ ΓΙΑΝΤΜΑ ΔΙΟΓΟΤ w=[0.1 0.2 0.3 0.4;0.5 0.6 0.7 0.8;0.9 1.0 1.1 1.2;1.3 1.4 1.5 1.6]; % ΣΟ ΓΙΑΝΤΜΑ ΣΩΝ ΒΑΡΩΝ bias=0.5; for i=1:4 %ΑΠΟ ΣΟΝ 1ο ΜΔΥΡΙ ΣΟΝ 4ο ΝΔΤΡΩΝΑ s(i)=0; for j=1:4 %ΓΙΑ ΣΟ ΚΑΘΔ ΣΟΙΥΔΙΟ ΣΟΤ ΠΙΝΑΚΑ ΔΙΟΓΟΤ ΚΑΙ ΒΑΡΩΝ n(i,j)=w(i,j)*p(j); s(i)=s(i)+n(i,j); end s(i)=s(i)+ bias; s(i)=logsig(s(i)); end ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ Τροποποιήςτε των πιο πάνω κώδικα προκειμένου να μασ δίνει αποτελέςματα όταν ωσ είςοδο έχουμε τον πίνακα meas από το ςετ fisheriris του Matlab. Η εντολή για την ειςαγωγή του ςετ δεδομένων ςτο Matlab είναι load fisheriris. 3
ΠΑΡΑΡΤΗΜΑ Το σετ δεδομένων fisheriris Μελζτη τησ Ίριδασ τη δεκαετία του '20, οι βοτανολόγοι ςυνζλεξαν τισ μετρήςεισ για 150 δείγματα του λουλουδιοφ τησ ίριδασ. Οι μετρήςεισ (μήκοσ των ςζπαλων, πλάτοσ των πετάλων, μήκοσ πετάλων, πλάτοσ πετάλων), 50 για κάθε ζνα από τισ τρεισ ποικιλίεσ του λουλουδιοφ (setosa, virginica,versicolor). Πάνω ςτισ μετρήςεισ αυτζσ ζγιναν οι πρώτεσ ζρευνεσ που μορφοποίηςαν τον κλάδο τησ τατιςτικήσ Αναγνώριςησ Προτφπων. Είναι γνωςτζσ ωσ Iris dataset του Fisher. Σο ςφνολο είναι μικρό και ςχετικά απλό και ακόμα και ςήμερα χρηςιμοποιείται για την ςφγκριςη αλγορίθμων ταξινόμηςησ. Φόρτωμα των ςτοιχείων Οι μετρήςεισ υπάρχουν ςτο αρχείο irisfisher.mat, το οποίο είναι ενςωματωμζνο ςτο matlab. Περιζχει δυο ςτοιχεία. Ζνα πίνακα meas 150 x 4 με τισ μετρήςεισ των λουλουδιών και ζνα πίνακα species 150 x 1 κελιών με το όνομα του είδουσ κάθε μζτρηςησ ςε μια ςυμβολοςειρά. Κάθε γραμμή του πίνακα species αντιςτοιχεί ςε μια γραμμή του πίνακα meas. Κάθε λουλοφδι (πρότυπο) είναι μια ςειρά του πίνακα. Σα ςτοιχεία του ςετ δεδομζνων μποροφν να φανοφν αν εκτελζςουμε τισ παρακάτω εντολζσ. 1. load fisheriris 2. whos Name Size Bytes Class meas 150x4 4800 double array species 150x1 11500 cell array Grand total is 2000 elements using 16300 bytes 4
3. attributes = {'sepal len';'sepal width';'petal len';'petal width'}; 4. classes = {'setosa'; 'versicolor'; 'virginica'}; Με μια ματιά διαπιςτώνουμε ότι οι μετρήςεισ είναι διαταγμζνεσ με την κάθε κατηγορία χωριςτά. Οι πρώτεσ 50 ανήκουν ςτην πρώτη κατηγορία, οι επόμενεσ από το 51 ζωσ το 100 ςτην δεφτερη κλπ. Σο ςετ δεδομζνων του fisher θα χρηςιμοποιηθεί ωσ ςετ για την καταςκευή, την εκπαίδευςη και τζλοσ την δοκιμή των νευρωνικών δικτφων που θα καταςκευάςουμε ςτο εργαςτήριο. 5