Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Τίτλος Πτυχιακής Εργασίας :

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Τίτλος Πτυχιακής Εργασίας :"— Μεταγράφημα παρουσίασης:

1 Τίτλος Πτυχιακής Εργασίας :
«Υλοποίηση εφαρμογών και εργαλείων εκπαίδευσης των νευρωνικών δικτύων Perceptron και Back Error Propagation με το λογισμικό Matlab.» Σαραντίδου Δήμητρα Επιβλέπων Καθηγητής Πτυχιακής Εργασίας: Στρουθόπουλος Χαράλαμπος

2 Σκοπός της πτυχιακής εργασίας είναι:
η παρουσίαση της δομής των νευρωνικών δικτύων perceptron και back error propagation η υλοποίηση τους με το λογισμικό Matlab η δημιουργία εκπαιδευτικού υλικού

3 Ορισμός Νευρωνικού Δικτύου:
Τεχνητό νευρωνικό δίκτυο είναι ένας μαζικά παράλληλος επεξεργαστής που έχει την φυσική ροπή να αποθηκεύει εμπειρική γνώση και να την κάνει διαθέσιμη για περαιτέρω χρήση. Νευρώνας : Νευρώνας ονομάζεται η βασική μονάδα επεξεργασίας των νευρωνικών δικτύων. Σύναψη: Σύναψη ονομάζεται το κανάλι επικοινωνίας που συνδέει τους νευρώνες . Κάθε σύναψη φέρει έναν συντελεστή, το βάρος.

4 Βασικές φάσεις λειτουργίας του νευρωνικού δικτύου:
η διαδικασία της εκπαίδευσης η διαδικασία της ταξινόμησης Διάκριση μεθόδων εκπαίδευσης νευρωνικών δικτύων : εκπαίδευση με επόπτη (supervised learning) : είναι γνωστή η κλάση στην οποία ανήκει κάθε πρότυπο και αναζητείται ο προσδιορισμός των κλάσεων. εκπαίδευση χωρίς επόπτη (unsupervised learning) : δεν είναι γνωστή η κλάση στην οποία ανήκει κάθε πρότυπο και αναζητούνται οι συγκεντρώσεις των προτύπων (clustering). Τα νευρωνικά δίκτυα perceptron και back error propagation ανήκουν στην πρώτη περίπτωση.

5 Μοντέλο νευρώνα Όπου: Wij : το βάρος της σύναψης από το νευρώνα j του προηγούμενου επιπέδου νευρώνων προς το νευρώνα i. aj :η τιμή εξόδου του νευρώνα j. Sι : η έξοδος του αθροιστή του νευρώνα i. ai : η έξοδος του νευρώνα i. Φ(): συνάρτηση κατωφλίωσης ή συνάρτηση μεταφοράς

6 Εφαρμογές νευρωνικών δικτύων:
Ιατρική Ρομποτική Αεροδιαστημική Στρατιωτικές εφαρμογές Τηλεπικοινωνίες Οικονομικά Κατασκευές Αναγνώριση ομιλίας Ηλεκτρονική και πλήθος άλλων εφαρμογών

7 Νευρωνικά Δίκτυα perceptron
Υλοποιήθηκε το 1957 από τον Frank Rosenblatt Ανήκει στην κατηγορία των γραμμικών ταξινομητών Εκπαιδεύεται με επόπτη Δέχεται τόσες εισόδους όσο το πλήθος χαρακτηριστικών του προτύπου Τα επίπεδα νευρώνων είναι πλήρως διασυνδεδεμένα με ένα επίπεδο προσαρμοζόμενων βαρών. Κάθε νευρώνας δίνει έξοδο 0 ή 1 λόγω της βηματικής συνάρτησης μεταφοράς

8 Εκπαίδευση perceptron
1 Εισαγωγή προτύπου εκμάθησης 2 Σε κάθε νευρώνα Υπολογισμός: Έξοδος νευρώνα : 3. Σύγκριση επιθυμητής και παραγόμενης εξόδου. 4. Ενημέρωση βαρών με τον κανόνα δέλτα: (Εξ.1) Όπου: αι : η τιμή εξόδου της μονάδας j Wji :το βάρος της σύναψης από την μονάδα i προς την μονάδα j tj : η επιθυμητή έξοδος του νευρώνα εξόδου j xj : η παραγόμενη έξοδος του νευρώνα εξόδου j ρ : ρυθμός εκμάθησης

9 Η διαδικασία επαναλαμβάνεται για όλα τα πρότυπα του συνόλου εκμάθησης.
Όταν όλο το σύνολο εκμάθησης εισαχθεί στο νευρωνικό υπολογίζεται το μέσο τετραγωνικό σφάλμα (mse: συνάρτηση απόδοσης). Το σύνολο εκμάθησης εισάγεται πολλές φορές στο νευρωνικό δίκτυο ώσπου το mse=0(σύγκλιση νευρωνικού).

10 Υλοποίηση perceptron με το Matlab
Εισαγωγή συνόλου εκμάθησης: p: πίνακας εισόδου t: πίνακας επιθυμητής εξόδου Δημιουργία δικτύου: net = newp(minmax(p),S,TF,LF) όπου net: νευρωνικό δίκτυο S: πλήθος νευρώνων TF: συνάρτηση μεταφοράς(hardlim) LF: συνάρτηση ενημέρωσης βαρών(learnp ή learnpn) Εκπαίδευση δικτύου: net=train(net,p,t) Παράμετροι εκπαίδευσης:epochs, show,,goal,time net.trainParam.παραμετρος=τιμή; Προσομοίωση δικτύου: a=sim(net,p) όπου a: παραγόμενη έξοδος

11 Παράδειγμα υλοποίησης perceptron στο Matlab
% ΥΛΟΠΟΙΕΙ ΤΗΝ ΠΥΛΗ AND % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΙΣΟΔΟΥ p=[[0;0] [0;1] [1;0] [1;1]]; % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΠΙΘΥΜΗΤΗΣ ΕΞΟΔΟΥ t=[ ]; %ΔΗΜΙΟΥΡΓΙΑ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ PERCEPTRON %TO ΝΕΥΡΩΝΙΚΟ ΑΠΟΤΕΛΕΙΤΑΙ ΑΠΟ 1 ΝΕΥΡΩΝΑ. Η ΣΥΝΑΡΤΗΣΗ ΕΝΗΜΕΡΩΣΗΣ ΤΩΝ ΒΑΡΩΝ %ΕΙΝΑΙ Η LEARNPN net=newp(minmax(p),1,'hardlim','learnpn'); % ΚΑΘΟΡΙΣΜΟΣ ΤΩΝ ΠΑΡΑΜΕΤΡΩΝ ΕΚΠΑΙΔΕΥΣΗΣ net.trainParam.epochs=20; % ΕΚΠΑΙΔΕΥΣΗ ΔΙΚΤΥΟΥ net=train(net,p,t); % ΠΡΟΣΟΜΟΙΩΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΜΕΝΟΥ ΔΙΚΤΥΟΥ a=sim(net,p)

12 Νευρωνικό δίκτυο back error propagation
Αποτελεί εξέλιξη του νευρωνικού δικτύου perceptron. Ανήκει στην κατηγορία των μη γραμμικών ταξινομητών. Εκπαιδεύεται με επόπτη. Δέχεται τόσες εισόδους όσο το πλήθος των χαρακτηριστικών του προτύπου εισόδου. Αποτελείται από πολλά επίπεδα νευρώνων και προσαρμοζόμενων βαρών. Τα εσωτερικά επίπεδα νευρώνων ονομάζονται ‘κρυφά’ επίπεδα. Μετά την είσοδο του προτύπου η ενημέρωση των παραμέτρων γίνεται από το επίπεδο εισόδου προς το επίπεδο εξόδου ενώ η διόρθωση των βαρών γίνεται από το επίπεδο εξόδου προς το επίπεδο εισόδου (οπισθοδιάδοση σφάλματος).

13 Τοπολογία ν.δ. Bep με δύο επίπεδα προσαρμοζόμενων βαρών

14 Μοντέλο νευρώνα bep Ο ν-οστός νευρώνας του ζ επιπέδου:

15 Συνάρτηση μεταφοράς νευρωνικού δικτύου back error propagation
Λογιστική Σιγμοειδής Συνάρτηση: Όπου α>0: παράμετρος κλίσης

16 Εκπαίδευση Back Error Propagation
Back Error Propagation on line εκπαίδευση: η διόρθωση των βαρών γίνεται αμέσως μετά την εισαγωγή του κάθε προτύπου του συνόλου εκμάθησης. Είναι ταχύτερή. Επιτρέπει την παρακολούθηση της μεταβολής των βαρών. Back Error Propagation με batch εκπαίδευση: η διόρθωση των βαρών γίνεται αφού όλο το σύνολο εκμάθησης έχει εισαχθεί στο νευρωνικό. Οδηγεί σε καλύτερα αποτελέσματα. Υλοποιείται από όλους τους αλγόριθμους bep

17 On Line Back Error Propagation
Forward Propagating Step 1. Εισαγωγή του πρώτου προτύπου εκμάθησης. 2. Υπολογισμός σε κάθε νευρώνα του πρώτου επιπέδου : 3. Επανάληψη υπολογισμών στο επόμενο επίπεδο νευρώνων έως το επίπεδο εξόδου. 4. Παραγωγή τελικής εξόδου του νευρωνικού δικτύου από το επίπεδο εξόδου.

18 On Line Back Error Propagation
Backward Propagating Step 1. Σύγκριση επιθυμητής και παραγόμενης εξόδου 2. Υπολογισμός τιμής σφάλματος κάθε νευρώνα j του επίπεδου εξόδου:(Εξ.2) (Εξ.2) 3. Διόρθωση της τιμής των βαρών που κατευθύνονται προς το επίπεδο εξόδου με τον γενικευμένο κανόνα δέλτα (Rumelhart & McClelland )(Εξ.3) (Εξ.3) 4. Υπολογισμός του σφάλματος των νευρώνων του επιπέδου πριν το επίπεδο εξόδου(Εξ.4) (Εξ.4) 5. Διόρθωση τιμής βαρών με τον κανόνα δ (Εξ.3) 6. Επανάληψη της διαδικασίας διόρθωσης λαθών ως το επίπεδο εισόδου.

19 On Line Back Error Propagation
Τα βήματα αυτά επαναλαμβάνονται για κάθε πρότυπο του συνόλου εκμάθησης. Μετά την εισαγωγή ολόκληρου του συνόλου υπολογίζεται το μέσο τετραγωνικό σφάλμα(mse).Η συνάρτηση του mse ονομάζεται συνάρτηση απόδοσης. Το σύνολο εκμάθησης εισάγεται πολλές φορές (εποχές) ώσπου το mse να πλησιάσει το 0 (διαδικασία σύγκλισης).

20 Batch Back Error Propagation
Forward Propagating Step 1. Εισαγωγή του πρώτου προτύπου εκμάθησης. 2. Υπολογισμός σε κάθε νευρώνα του πρώτου επιπέδου : 3. Επανάληψη υπολογισμών στο επόμενο επίπεδο νευρώνων έως το επίπεδο εξόδου. 4. Παραγωγή τελικής εξόδου του νευρωνικού δικτύου από το επίπεδο εξόδου. 5. Εισαγωγή των υπόλοιπων προτύπων και επανάληψη των βημάτων 1-4

21 Batch Back Error Propagation
Backward propagating step: 1.Σύγκριση επιθυμητών και παραγόμενων εξόδων Υπολογισμός συνάρτησης απόδοσης: 2.Διόρθωση βαρών επιπέδου εξόδου: 3.Διορθωση βαρών κρυφών επιπέδων εως το επίπεδο εισόδου: (Εξ.5) (Εξ.6) (Εξ.7) (Εξ.8)

22 Batch Back Error Propagation
Το σύνολο εκμάθησης του νευρωνικού δικτύου εισάγεται πολλές φορές (εποχές). Κάθε εισαγωγή οδηγεί στην διόρθωση των βαρών. Η εκπαίδευση σταματά όταν η συνάρτηση απόδοσης φτάσει στο ολικό ελάχιστο (σύγκλιση νευρωνικού δικτύου).

23 Παραλλαγές αλγόριθμου back error propagation
i) Momentum Back Error Propagation Η διόρθωση των βαρών γίνεται με τον τύπο: (Εξ.9) όπου m: momentum (0,1] Πλεονεκτήματα: Ταχύτερη σύγκλιση νευρωνικού δικτύου Αποφυγή των τοπικών ελάχιστων της συνάρτησης απόδοσης

24 Παραλλαγές αλγόριθμου back error propagation
ii) Variable Learning Rate (Μεταβλητός ρυθμός εκμάθησης) με και χωρίς momentum Η τιμή του ρυθμού εκμάθησης μεταβάλλεται ανάλογα με την τιμή του σφάλματος. Αν δ(t+1)>δ(t), η τιμή του ρυθμού εκμάθησης μειώνεται (ρnew=ρold*0.7) Αν δ(t+1)<δ(t), η τιμή του ρυθμού εκμάθησης αυξάνεται (ρnew=ρold*1,05) Πλεονεκτήματα: Ταχύτερη σύγκλιση νευρωνικού δικτύου Επιλογή ιδανικής τιμής του ρυθμού εκμάθησης ανάλογα με την εξέλιξη της εκπαίδευσης

25 Παραλλαγές αλγόριθμου back error propagation
iii) Resilient Back Propagation (Ελαστική Οπισθοδιάδοση) Στην διαδικασία διόρθωσης των λαθών δεν χρησιμοποιείται η τιμή της παραγώγου της λογιστικής συνάρτησης αλλά το πρόσημό της. Αν σε δύο συνεχόμενες εποχές η παράγωγος έχει το ίδιο πρόσημο, η τιμή της προσαρμογής αυξάνεται (Δwnew=Δwold*1.2) έχει διαφορετικό πρόσημο μειώνεται (Δwnew=Δwold*0.5) Πλεονεκτήματα: Ο ταχύτερος αλγόριθμος εκπαίδευσης νευρωνικών δικτύων bep Κατάλληλος στα προβλήματα αναγνώρισης προτύπων

26 Overfitting Ο όρος Ovefitting περιγράφει το φαινόμενο κατά το οποίο το δίκτυο υιοθετεί τις λεπτομέρειες του συγκεκριμένου συνόλου εκπαίδευσης, παρουσιάζοντας περιορισμένη γενίκευση (generalization). Αιτίες : Μεγάλο μέγεθος του νευρωνικού. Τα βάρη του νευρωνικού απομνημονεύουν το σύνολο εκπαίδευσης με όλες τις ιδιαιτερότητες του. Overtraining. Το σύνολο εκπαίδευσης είναι μεγάλο ή εισάγεται πολλές φορές στο νευρωνικό.

27 Υλοποίηση νευρωνικού δικτύου Back Error Propagation με το Matlab
Εισαγωγή του συνόλου εκμάθησης ν προτύπων: p: μxν πίνακας εισόδου (όπου μ πλήθος χαρακτηριστικών) t: κxν πίνακας επιθυμητής εξόδου (κ πλήθος εξόδων) Δημιουργία δικτύου : net = newff(minmax(p),[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) Όπου: Si:πλήθος νευρώνων i επιπέδου ΤFi: συνάρτηση μεταφοράς i επιπέδου BTF: αλγόριθμος εκπαίδευσης BLF: συνάρτηση ενημέρωσης βαρών (προκαθορισμένη η learngdm) PF: συνάρτηση απόδοσης (προκαθορισμένη η mse)

28 Πλήθος νευρώνων: Το επίπεδο εξόδου έχει τόσους νευρώνες όσοι και οι έξοδοι του προτύπου Συνάρτηση Μεταφοράς: για τα κρυφά επίπεδα logsig (λογιστική σιγμοειδής) για το επίπεδο εξόδου purelin (γραμμική) Αλγόριθμος εκπαίδευσης: traingd: βασικός αλγόριθμος Back error propagation traingdm: αλγόριθμος με momentum traingda: μεταβλητού ρυθμού εκμάθησης traingdx:μεταβλητού ρυθμού εκμάθησης με momentum trainrp: ελαστικής οπισθοδιάδοσης

29 Εκπαίδευση νευρωνικού δικτύου
Καθορισμός παραμέτρων εκπαίδευσης: Traingd lr: ρυθμός εκμάθησης epochs: εποχές show: εμφάνιση κατάστασης εκπαίδευσης time: το όριο χρόνου σε sec goal : η επιδιωκόμενη ελάχιστη τιμή σφάλματος min_grad : ελάχιστη κλίση max_fail :παράμετρος που οδηγεί σε πρόωρη διακοπή της εκπαίδευσης

30 traingdm mc: Momentum max_perf_inc : μέγιστη αύξηση της απόδοσης traingda max_perf_inc: μέγιστη αύξηση απόδοσης lr_inc:ποσοστό αύξησης learning rate lr_dec : ποσοστό μείωσης learning rate traingdx mc: Momentum

31 Epochs,show,time,goal, min_grad,max_fail
trainrp Epochs,show,time,goal, min_grad,max_fail delta0 :το αρχικό βήμα ενημέρωσης των βαρών των συνάψεων. deltamax :το μέγιστο βήμα ενημέρωσης της τιμής των βαρών. delt_inc : το ποσοστό αύξησης του βήματος προσαρμογής(default 1.02) delt_dec : : το ποσοστό μείωσης του βήματος προσαρμογής(default 0,5) Εντολή εκπαίδευσης : [net,tr]=train(net,p,t) Εμφάνιση αποτελεσμάτων: a=sim(net,p)

32 Παράδειγμα υλοποίησης νευρωνικού δικτύου back error propagation
% ΠΡΟΓΡΑΜΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΕΝΟΣ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ ME BACK % PROPAGATION ΠΟΥ ΥΛΟΠΟΙΕΙ ΤΗΝ ΠΥΛΗ XOR % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΙΣΟΔΟΥ p=[ ; ]; % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΠΙΘΥΜΗΤΗΣ ΕΞΟΔΟΥ t=[ ]; % ΔΗΜΙΟΥΡΓΙΑ ΤΟΥ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ ΜΕ ΕΚΠΑΙΔΕΥΣΗ BACK PROPAGATION %ΤΟ ΝΕΥΡΩΝΙΚΟ ΑΠΟΤΕΛΕΙΤΑΙ ΑΠΟ 3 ΕΠΙΠΕΔΑ ΝΕΥΡΩΝΩΝ. ΤΟ 1o ΕΠΙΠΕΔΟ ΕΧΕΙ 2 %ΝΕΥΡΩΝΕΣ, ΤΟ 2o ΕΠΙΠΕΔΟ ΕΧΕΙ 2 ΝΕΥΡΩΝΕΣ ΚΑΙ ΤΟ ΕΠΙΠΕΔΟ ΕΞΟΔΟΥ ΕΧΕΙ 1 %ΝΕΥΡΩΝΑ . Η ΣΥΝΑΡΤΗΣΗ ΕΚΠΑΙΔΕΥΣΗΣ ΕΙΝΑΙ Η TRAINGD. net=newff(minmax(p),[2,2,1],{'logsig','logsig','purelin'},'traingd'); % ΚΑΘΟΡΙΣΜΟΣ ΤΩΝ ΠΑΡΑΜΕΤΡΩΝ ΕΚΠΑΙΔΕΥΣΗΣ net.trainParam.epochs=2000; net.trainParam.show=200; net.trainParam.lr=0.05; net.trainParam.goal=0.001; % ΕΚΠΑΙΔΕΥΣΗ ΔΙΚΤΥΟΥ [net,tr]=train(net,p,t); % ΠΡΟΣΟΜΟΙΩΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΜΕΝΟΥ ΔΙΚΤΥΟΥ a=sim(net,p)


Κατέβασμα ppt "Τίτλος Πτυχιακής Εργασίας :"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google