Αρχιτεκτονική Νευρωνικών Δικτύων Επίπεδο Νευρώνων Κυριακίδης Ιωάννης 2013
Βασική Αρχιτεκτονική Η βασική αρχιτεκτονική αποτελείται από τριών τύπων επίπεδα: Input Layer (Επίπεδο εισόδου) Hidden Layer (Κρυφό επίπεδο) Output Layer (Επίπεδο Εξόδου)
Παραδείγματα εισόδου Η είσοδος σε ένα νευρωνικό δίκτυο εξαρτάτε τον στόχο που θέλουμε να επιτύχουμε. Έτσι μπορούμε να έχουμε ως είσοδο: Τιμές για τα pixel (εικονοστοιχεία) μιας εικόνας. Δείγματα από ένα σήμα ήχου. Συνεχόμενες τιμές μετοχών.
Σενάριο χρήσης (σόναρ) Έστω ότι έχουμε ένα νευρωνικό δίκτυο το οποίο αναγνωρίζει αντικείμενα από το σήμα ενός σονάρ. Στην διάθεση μας έχουμε 1000 δείγματα (πρότυπα εκπαίδευσης) από το σήμα. Πως θα αναγνωρίσουμε (με ΤΝΔ) αν τα δεδομένα μας αναπαριστούν ένα υποβρύχιο, μια φάλαινα, ένα υποβρύχιο βουνό ή τίποτα από όλα αυτά;
Σενάριο χρήσης (σόναρ) Θα τροφοδοτήσουμε στο επίπεδο εισόδου τα 1000 διαθέσιμα δείγματα, με αποτέλεσμα να βγαίνουν κάποιες τιμές από το επίπεδο εξόδου. Επιλέγοντας τα κατάλληλα βάρη μπορούμε να ρυθμίσουμε την έξοδο ώστε να μας δίνει διάφορες πληροφορίες. Για παράδειγμα, Είναι υποβρύχιο (ναι / όχι), είναι φάλαινα (ναι / όχι), είναι υποβρύχιο νησί (ναι / όχι). Είναι από μέταλλο ή όχι, είναι εχθρός ή σύμμαχος κτλ Βλέπουμε ότι δεν αλλάζουν οι αλγόριθμοι, οι κανόνες, οι διαδικασίες αλλά μόνο οι σχέση μεταξύ της εισόδου και την εξόδου επιλέγοντας τα κατάλληλα βάρη.
Βασική Αρχιτεκτονική Κάθε επίπεδο αποτελείται από ένα ή περισσότερους Η βασική αρχιτεκτονική αποτελείται από τριών τύπων επίπεδα: νευρώνες. Στο σχήμα απεικονίζονται ως κύκλοι. Input Layer (Επίπεδο εισόδου) Hidden Layer (Κρυφό επίπεδο) Output Layer (Επίπεδο Εξόδου)
Βασική Αρχιτεκτονική Η βασική αρχιτεκτονική αποτελείται από τριών τύπων επίπεδα: Input Layer (Επίπεδο εισόδου) Hidden Layer (Κρυφό επίπεδο) Output Layer (Επίπεδο Εξόδου) Οι γραμμές μεταξύ τους δηλώνουν την πορεία της πληροφορίας από τον έναν νευρώνα στον άλλο.
Ενεργοί και Παθητικοί νευρώνες Οι νευρώνες στο επίπεδο εισόδου είναι παθητικοί, το οποίο σημαίνει ότι δεν τροποποιούν τα δεδομένα. Λαμβάνουν μια τιμή στην είσοδο τους και την αναμεταδίδουν σε όλες τις εξόδους τους. Αν χρειάζεται μπορούμε να τροποποιήσουμε τα δεδομένα μας πριν τα εισάγουμε στο νευρωνικό δίκτυο (Pre-Processing). Οι νευρώνες στα κρυφά επίπεδα και στο επίπεδο εξόδου είναι ενεργοί. Το οποίο σημαίνει ότι τροποποιούν τα δεδομένα εισόδου (όπως μελετήσαμε στο προηγούμενο μάθημα)
Επίπεδα ενεργών νευρώνων Στην γενική περίπτωση όλες οι χαρακτηριστικές τιμές της εισόδου συνδέονται πλήρως με τους νευρώνες του επιπέδου (fully interconnected). Για κάθε νευρώνα του επιπέδου οι χαρακτηριστικές τιμές εισέρχονται σταθμισμένες με τον συντελεστή του βάρους (w). Ως συνολική έξοδο από το επίπεδο του νευρώνα έχουμε το διάνυσμα a το οποίο έχει S χαρακτηριστικές τιμές, όσοι δηλαδή είναι και οι νευρώνες του επιπέδου.
Παρατηρούμε ότι Δεν είναι απαραίτητο ο αριθμός των νευρώνων του επιπέδου να ταυτίζεται με τον αριθμό των χαρακτηριστικών τιμών του διανύσματος εισόδου. Δεν είναι απαραίτητο όλοι οι νευρώνες να υλοποιούν την ίδια συνάρτηση μεταφοράς f. Προγραμματιστικά αν για παράδειγμα οι νευρώνες ενός επιπέδου υλοποιούν δύο συναρτήσεις μεταφοράς (f 1 και f 2 ) δημιουργούμε παράλληλα δίκτυα.
Παρατηρούμε ότι Για το λόγο του ότι υπάρχει πλήρη σύνδεση μεταξύ του διανύσματος εισόδου και των νευρώνων του επιπέδου, τα βάρη θα τα συμβολίζουμε με τον όρο w ij Όπου: i ο αριθμός του νευρώνα που καταλήγει η σύνδεση j ο αριθμός της χαρακτηριστικής τιμής του διανύσματος από όπου ξεκινά η σύνδεση.
Παρατηρούμε ότι Όλες οι συνδέσεις μεταξύ του διανύσματος εισόδου και του επιπέδου των νευρώνων συμβολίζονται με τον πίνακα των βαρών ο οποίος είναι:
Παρατηρούμε ότι Η κάθε γραμμή του πίνακα αυτού περιέχει τα βάρη των συνδέσεων που καταλήγουν σε ένα συγκεκριμένο νευρώνα Η κάθε στήλη του περιέχει τα βάρη των συνδέσεων που ξεκινούν από μια συγκεκριμένη χαρακτηριστική τιμή της εισόδου.
Μαθηματική Υλοποίηση Το άθροισμα n i κάθε νευρώνα υπολογίζεται από τον τύπο: n i p1w i1 p2wi 2 p R W ir b i Η τιμή n i εισέρχεται στη συνάρτηση μεταφοράς f και η τελική έξοδος του νευρώνα είναι: a i f ( n i ) Η συνολική έξοδος του επιπέδου θα είναι το διάνυσμα α.
Πιθανή υλοποίηση στο Matlab (1 η )
Πιθανή υλοποίηση στο Matlab (2 η )
Απορίες - Ερωτήσεις ;
Ασκήσεις για το σπίτι Οι ασκήσεις είναι ατομικές!!! 1. Συμπιέστε όλα τα αρχεία m-file σε ένα αρχείο με όνομα: lab02_ομx_yyyy (όπου X ο αριθμός ομάδας εργαστηρίου και YYYY το ΑΜ σας) 2. Υποβάλετε το αρχείο στην αντίστοιχη άσκηση στο eclass
Άσκηση Τροποποιήστε τον κώδικα της δεύτερης υλοποίησης προκειμένου να μας δίνει αποτελέσματα όταν ως είσοδο έχουμε τον πίνακα meas από το σετ fisheriris του Matlab. Ως αποτελέσματα εννοούμε τον πίνακα α, όπου θα υπάρχουν οι έξοδοι για κάθε πρότυπο εκπαίδευσης p (150 συνολικά) και για κάθε νευρώνα (4 συνολικά). Η εντολή για την εισαγωγή του σετ δεδομένων στο Matlab είναι load fisheriris. Πληροφορίες για αυτό το σετ δεδομένων μπορείτε να βρείτε στο Παράρτημα των σημειώσεων του εργαστηριακού μαθήματος.