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

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

Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων Νίκος Σίμου – Βαγγέλης Σπύρου 03.12.2007 Νευρωνικά Δίκτυα 2007-08.

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


Παρουσίαση με θέμα: "Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων Νίκος Σίμου – Βαγγέλης Σπύρου 03.12.2007 Νευρωνικά Δίκτυα 2007-08."— Μεταγράφημα παρουσίασης:

1 Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων Νίκος Σίμου – Βαγγέλης Σπύρου Νευρωνικά Δίκτυα

2 Μέρος 1 ο Εισαγωγή στη MATLAB 2

3 Πίνακες και MATLAB MATLAB = MATrix LABoratory Αποτελεί ισχυρό υπολογιστικό περιβάλλον και ταυτόχρονα γλώσσα προγραμματισμού που χειρίζεται με ευκολία πίνακες και πολύπλοκες πράξεις Βασική Δομική Μονάδα: Πίνακες (1-Δ, 2-Δ, 3-Δ,...) Κάθε μεταβλητή στη MATLAB αποθηκεύεται σαν ένας πίνακας 1x1 Η MATLAB είναι case-sensitive, άρα a≠A Το στοιχείο στη γραμμή i και στη στήλη j του πίνακα Α συμβολίζεται με Α(i,j) 3

4 Πίνακες και MATLAB Δημιουργία Πινάκων: Ορισμός όλων των στοιχείων του πίνακα: Αναλυτικά: Α=[ ], Β=[1 2;3 4] Περιγραφικά: C=[1:10], D = [1:5:100] Φόρτωμα πίνακα από αρχείο: load myMatrix.mat Δημιουργία πίνακα χρησιμοποιώντας μια από τις έτοιμες συναρτήσεις της MATLAB: E=zeros(3,4), F=ones(5,6), G=eye(10) H=rand(5,2) Δημιουργία πίνακα με χρήση δικής μας συνάρτησης: I=myFunction(E,F) 4

5 Χρήσιμες πράξεις μεταξύ πινάκων έστω: τότε: 5

6 Χρήσιμες Πράξεις μεταξύ Πινάκων Πράξεις με συναρτήσεις: A=[1 2 3] Λογικές πράξεις: A = [1 2 1], B= [0 3 1] Πράξεις Μέγιστου/Ελάχιστου: 6

7 Αλληλουχία Πινάκων έστω: A = [ ] τότε: B =[A A] 7

8 Έλεγχος Ροής if statement else statement end if statement elseif statement elseif … else statement end while statement end for statement end switch switch_expression case case_expression(s) statement(s) case case_expression(s) statement(s) … otherwise statement(s) end break Όχι σε άσκοπη χρήση for loops!!! 8

9 M-Files Δύο τρόποι για τη δημιουργία m-files: File→New→M-File edit file1.m [ σε command line] Ένα M-File μπορεί να είναι : Μια συνάρτηση (function) function C = myFunction(A,B) C = A + 2*B; Μια ακολουθία εντολών (script) A, B C = A + 2*B 9

10 Σχεδίαση Γραφικής Παράστασης με τη χρήση της συνάρτησης plot H plot(x,y) δέχεται ως είσοδο δύο διανύσματα και εμφανίζει μια γραφική παράσταση του y σε συνάρτηση του x Παράδειγμα θέλουμε να σχεδιάσουμε το sin(x) για τιμές του x από 0 εώς 2π: t = 0:pi/100:2*pi; y = sin(t); plot(t,y) 10

11 Μέρος 2 ο Multilayer Perceptrons 11

12 12 Πολυεπίπεδα Perceptrons (1) Γενικά: Ένα από τα πιο συνηθισμένα Νευρωνικά Δίκτυα Δίκτυο πρόσθιας τροφοδότησης (feed forward) Γενίκευση του μονοστρωματικού perceptron Eπιβλεπόμενη(supervised) μάθηση Αρχιτεκτονική: 1 επίπεδο εισόδου 1 ή περισσότερα κρυμμένα επίπεδα 1 επίπεδο εξόδου Εκπαίδευση με τον αλγόριθμο ανάστροφης διάδοσης σφάλματος (Back Propagation)

13 13 Πολυεπίπεδα Perceptrons (2) Ένα πολυεπίπεδο perceptron έχει τα εξής χαρακτηριστικά: Κάθε κρυμμένος νευρώνας περιέχει μια ΜΗ-ΓΡΑΜΜΙΚΗ συνάρτηση ενεργοποίησης (activation function) Η συνάρτηση αυτή είναι ΔΙΑΦΟΡΙΣΙΜΗ Τα κρυμμένα επίπεδα προσδίδουν στο δίκτυο την δυνατότητα να «μάθει» πολύπλοκα πρότυπα Δεν έπιτρέπονται συνδέσεις μεταξύ επιπέδων που δεν ανήκουν σε διαδοχικά επίπεδα Δεν επιτρέπονται συνδέσεις μεταξύ νευρώνων του ίδιου επιπέδου

14 Παράδειγμα 14 X1X1 X2X2 v 10 v 20 v 11 v 21 v 12 v 22 w 10 w 20 w 11 w 21 w 12 w 22 Y1Y1 Y2Y2

15 15 Παράδειγμα 15 X1X1 X2X2 v 10 =1 v 20 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 10 =1 w 20 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1 Y1Y1 Y2Y2

16 16 Παράδειγμα 16 X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1 Y1Y1 Y2Y2 Είσοδος: Επιθυμητή Έξοδος:

17 17 Παράδειγμα 17 Πέρασμα κατά την ΕΥΘΕΙΑ φορα Υπολογίζουμε τις ενεργοποιήσεις 1 ου επιπέδου X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1 Y1Y1 Y2Y2 u 1 = 1 u 2 = 2

18 18 Παράδειγμα 18 Υπολογίζουμε τις εξόδους του πρώτου επιπέδου, περνώντας τις ενεργοποιήσεις που υπολογίσαμε προηγουμένως στη συνάρτηση ενεργοποίησης : X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1 Y1Y1 Y2Y2 z 1 = 1 z 2 = 2

19 19 Παράδειγμα 19 Υπολογίζουμε τις εξόδους του 2 ου layer: X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1 Y 1 =2 Y 2 =2 z 1 = 1 z 2 = 2

20 20 Παράδειγμα 20 Πέρασμα κατά την ΑΝΤΙΘΕΤΗ ΦΟΡΑ X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1  1 = -1  2 = -2

21 21 Παράδειγμα 21 Υπολογίζουμε τις αλλαγές στα βάρη για το 2 ο επίπεδο, με βάση τον κανόνα : X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 =1 w 21 =-1 w 12 =0 w 22 =1  1 z 1 =-1  1 z 2 =-2  2 z 1 =-2  2 z 2 =-4

22 22 Παράδειγμα 22 X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1 w 11 = 0.9 w 21 = -1.2 w 12 = -0.2 w 22 = 0.6 Οι αλλαγές στα βάρη είναι : π. χ.:

23 23 Παράδειγμα 23 X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1  1 w 11 = -1  2 w 21 = 2  1 w 12 = 0  2 w 22 = -2  1 = -1  2 = -2 Υπολογίζουμε τα :

24 24 Παράδειγμα 24 X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1  1 = -1  2 = -2  1 = 1  2 = -2 Τα διαδίδονται προς την αντίθετη κατεύθυνση:

25 25 Παράδειγμα 25 X 1 =0 X 2 =1 v 11 =-1 v 21 =0 v 12 =0 v 22 =1  1 = -1  2 = -2  1 x 1 = 0  2 x 2 = -2  2 x 1 = 0  1 x 2 = 1 Και πολλαπλασιάζοντας με τις εισόδους :

26 26 Παράδειγμα 26 X 1 =0 X 2 =1 v 11 = -1 v 21 = 0 v 12 = 0.1 v 22 = 0.8 w 11 = 0.9 w 21 = -1.2 w 12 = -0.2 w 22 = 0.6 Τέλος, αλλάζουμε τα βάρη. Παρατηρήστε ότι βάρη που πολλαπλασιάστηκαν με το 0 ΔΕΝ ΑΛΛΑΞΑΝ γιατί δεν επηρεάζουν το σφάλμα. Τα biases ΑΛΛΑΞΑΝ (δεν φαίνονται)

27 27 Παράδειγμα 27 X 1 =0 X 2 =1 v 11 = -1 v 21 = 0 v 12 = 0.1 v 22 = 0.8 w 11 = 0.9 w 21 = -1.2 w 12 = -0.2 w 22 = 0.6 z 2 = 1.6 z 1 = 1.2 Επαναλαμβάνουμε την διαδικασία χρησιμοποιώντας το ίδιο πρότυπο

28 28 Παράδειγμα 28 X 1 =0 X 2 =1 v 11 = -1 v 21 = 0 v 12 = 0.1 v 22 = 0.8 w 11 = 0.9 w 21 = -1.2 w 12 = -0.2 w 22 = 0.6 z 2 = 1.6 z 1 = 1.2 Τώρα, οι έξοδοι βρίσκονται πιο κοντά στις επιθυμητές: y 2 = 0.32 y 1 = 1.66

29 Τρόπος Εργασίας 29  Επιλογή της αρχιτεκτονικής του δικτύου ( κρυμμένα επίπεδα, αριθμός νευρώνων, συνάρτηση μάθησης, συνάρτηση ενεργοποίησης )  Αρχικοποίηση του δικτύου ( βάρη, παράμετροι )  Έλεγχος και προεπεξεργασία δεδομένων  Παρουσίαση του συνόλου δεδομένων  Εκπαίδευση του δικτύου  Επαναλήψεις εώς κάποιο καθορισμένο σημείο με βάση προκαθορισμένα κριτήρια  Παρουσίαση του συνόλου ελέγχου  Αξιολόγηση Αποτελεσμάτων και αν χρειαστεί, αλλαγή παραμέτρων και / ή αρχιτεκτονικής και εκ νέου εκπαίδευση του δικτύου

30 Παράδειγμα MATLAB 30 %φτιάχνω το νευρωνικό δίκτυο net=newff([0 1;0 1],[3 1],{'tansig‘ 'tansig‘}, 'trainlm’,’learngdm’,’mse’); %ορίζω τις παραμέτρους του net.trainParam.goal = 0; net.trainParam.epochs = 300; net.trainParam.lr = 0.01; %αρχικοποίηση του δικτύου net = init(net); %εκπαίδευση του δικτύου [net,tr]=train(net,traindata,traintargets); %έλεγχος του δικτύου test = sim (net,testdata);


Κατέβασμα ppt "Εργαστήριο Εικόνας, Βίντεο και Πολυμέσων Νίκος Σίμου – Βαγγέλης Σπύρου 03.12.2007 Νευρωνικά Δίκτυα 2007-08."

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


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