• Nenhum resultado encontrado

[PENDING] Εκμάθηση προτύπων που βασίζεται σε ένα τεχνητό νευρωνικό δίκτυο

N/A
N/A
Protected

Academic year: 2024

Share "Εκμάθηση προτύπων που βασίζεται σε ένα τεχνητό νευρωνικό δίκτυο"

Copied!
65
0
0

Texto

(1)

Τμήμα Βιομηχανικής Πληροφορικής

Α.Τ.Ε.Ι Καβάλας

Σχολή Τεχνολογικών Εφαρμογών Τμήμα Βιομηχανικής Π ληροφορικής

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

« Εκμάθηση προτύποον που βασίζεται σε ένα τεχνητό νευρωνικό δίκτυο »

Σπουδαστιής : Γκαντιάς Γεώργιος Α.Ε.Μ : 345 Επιβλέπων Καθηγητιης : Dr. Κ αμπουρλάζος Βασίλειος

(2)

Π εριεχόμενα

Π ρόλογος... 3

Κεφάλαιο I Εισαγωγή στα Τεχνητά νευροη’ΐκά Δ ίκτυα...4

1.1 Βιολογικά Νευρωνικά Δίκτυα... 4

1.2 Μοντέλο Τεχνητού Ν ευρώνα...5

1.2.1 Μετάδοση Σήματος - Συνάρτηση Ενεργοποίησης... 5

1.3 Τεχνητά Νευρωνικά Δίκτυα...6

1.3.1 ΤΝΔ με Απλή Τροφοδότηση (Feedforward)... 7

1.3.2 ΤΝΔ με Ανατροφοδότηση (Feedback)...7

1.4 Βασικές Αειτουργίες & Χαρακτηριστικά των Τ Ν Δ ... 9

1.5 Εφαρμογές...10

1.6 Ιστορική Αναδρομή... 11

Κ εφάλαιο 2 Το Δίκτυο Perceptron...12

2.1 Αισθητήρας (Perceptron)...12

2.1.1 Κανόνας Εκπαίδευσης Pereptron... 14

2.1.2 Ρυθμός Εκπαίδευσης...14

2.2 Επίλυση προβλήματος A N D ...15

2.3 Επίλυση προβλήματος XO R... 16

2.4 Κανόνας ADALINE...17

Κεφάλαιο 3 Το Δίκτυο Perceptron Πολλών Στρω μάτω ν...18

3.1 Το δίκτυο MLP...18

3.2 Δυνατότητες MLP... 19

3.3 Ανάκληση σε ένα δίκτυο MLP... 19

3.4 Ανάστροφη Μετάδοση Αάθους (Backpropagation)... 20

3.4.1 Παραλλαγές & Βελτιώσεις του βασικού αλγορίθμου... 22

3.5 Μειονεκτήματα και προβλήματα... 22

Κεφάλαιο 4 Υπολογιστικά π ειράματα...23

4 Εισαγωγή... 23

4.1 Το πρόβλημα iris_plant...23

4.1.1 Εκπαίδευση με TRAINGD...24

4.1.2 Έ λ ε γ χο ς... 26

4.1.3 Εκπαίδευση μεΤΚ ΑΙΝΟ Ό Μ ... 26

4.1.4 Έ λεγχος... 27

4.1.5 Εκπαίδευση με TRAINRP... 29

4.1.6 Έ λεγχος... 30

4.1.7 Εκπαίδευση με TRAINCGF...31

4.1.8 Έ λεγχος... 32

4.1.9 Συμπεράσματα - Παρατηρήσεις... 33

(3)

4.2 To πρόβλημα zo o ... 34

4.2.1 Εκπαίδευση με πρότυπα δεδομένα...34

4.2.2 Εκπαίδευση με επεξεργασμένα δεδομένα...36

4.2.3 Συμπεράσματα - Παρατηρήσεις... 38

4.3 Το πρόβλημα house... 39

4.3 Εκτίμηση αξίας ακινήτων... 39

4.3.1 Εκπαίδευση... 40

4.3.2 Έ λεγχος... 42

4.3.4 Συμπεράσματα - Π αρατηρήσεις... 44

Π αράρτημα Α .. ..46

Παρουσίαση και δυνατότητες Λογισμικού 5. Neural Network Toolkit... 46

5.1. Παρουσίαση και δυνατότητες...46

5.2. Δομές και Συναρτήσεις του Neural Network Toolkit... 46

5.2.1. Συναρτήσεις Ενεργοποίησης... 47

5.2.2. Δομές και Συναρτήσεις δημιουργίας των δικτύων... 47

5.2.2.1. Perceptron... 48

5.2.2.3. Multi-layer Perceptron... 48

5.2.3. Εκπαίδευση Δικτύου... 49

5.2.4. Ανάκληση δικτύου...49

5.3. Neural Network Toolkit plots...50

5.4. Παράδειγμα δημιουργίας δικτύου με χρήση κώδικα... 53

5.5. GUI Interface του Neural Network Toolkit...56

5.5.1. Παρουσίαση... 56

5.5.2. Παραδείγματα δημιουργίας δικτύων με το GUI Interface... 56

(4)

Η βασική διαφορά που κάνει τον άνθρωπο να ξεχωρίζει και να διαφέρει από τα υπό>03ΐπα ζώα είναι ο εγκέφαλος του. Ο εγκέφαλος είναι το βασικό όργανο του ανθρώπινου οργανισμού το οποίο είναι υπεύθυνο για ης λειτουργίες της σκέψης, της αποθήκευσης της γνώσης και της αλληλεπίδρασης του με το εξωτερικό περιβά)ιλχ5ν. Από τα μέσα της δεκαετίας του 1950, με την έκρηξη της τεχνολογίας των υπολογιστών ο άνθρωπος προσπάθησε να προσομοιώσει τις ικανότητες αυτές του ανθρώπινου εγκεφάλου, με υπολογιστικά συστήματα, με αποτέλεσμα την γέννηση μιας ολόκληρης επτστήμης υπολογιστών. Την τεχ\’ητή νοημοσύνη (ai-tificial intelligence) και το παρακλάδι αυτής των τεχνητών νευρωνικών δικτύων (artificial neural networks).

Τα τεχνητά νευρωνικά δίκτυα αποτελούν ένα ευρύ ετηστημονικό πεδίο που ασχολείται με τη δημιουργία δικτύων παρόμοιων των βιολογικών. Οι δομές και οι >χιτουργίες των βιολογικών νευρωνικών δικτύων αντιγράφονται, σε εφικτή κλίμακα, με στόχο την ικανοποίηση βασικών ιδιοτήτων του ανθρώπινου νου (αναγνώριση προτύπων, μάθηση)

Στην παρούσα εργασία εστιάζουμε στη θεωρία των βασικών ιδιοτήτων τους, στην αρχιτεκτονική τους, στη και με την ετήλυση τριών γνωστών προβλημάτων ( benchmark ) από την βάση δεδομένων του Πανετηστημίου University of California, Irvine, συγκρίνουμε τις βασικές αυτές ιδιότητες. Τους κανόνες εκμάθησης, τους αλγόριθμους ταξινόμησης καθώς και τα ποσοστά επιτυχίας αυτών. Με τους πειραματισμούς αυτούς, προσπαθούμε να βρούμε την πιο αποδοτική βέλτιστη λύση, κατανοώντας την λειτουργία και τις διαφορές των νευρωνικών δικτύων.

Στην ολοένα αυξανόμενη προσπάθεια για αυτοματοποίηση της ζωής μας. τα τεχνητά νευρωνικά δίκτυα φαίνεται να έχουν πρωταγωνιστικό ρόλο στην έρευνα, εξέλιξη και εφαρμογή τους Η παρών εργασία είναι μια προσπάθεια προς αυτή την κατεύθυνση...

(5)

Τα Τεχνητά Νευρωνικά Δίκτυα είναι συστήματα επεξεργασίας δεδομένων που η δομή τους και η λειτουργία τους εμπνέονται από τις τρέχουσες γνώσεις μας για τα βιολογικά νευρωνικά δίκτυα και δη του ανθρώτηνου εγκεφάλου. Για να κατανοήσουμε τα Τεχνητά Νευροινικά Δίκτυα πρέπει να εξετάσουμε τη δομή και την λειτουργία των βιο>ο)γικών νευρωνικών δικτύων του εγκεφάλου.

1. Εισαγοιγή στα Τεχνητά Νευρεονικά Δίκτυα

1.1 Βιολογικά Νευρωνικά Δίκτυα

Η κεντρική μονάδα του νευρικού συστήματος είναι ο εγκέφαλος και η θεμελιώδης κυτταρική δομική μονάδα του εγκεφάλου είναι ο νευρώνας. Ο νευρώνας είναι δηλαδή η πιο μικρή ανεξάρτητη μονάδα του νευρικού συστήματος, όπως π.χ το άτομο είναι η πιο μικρή μονάδα της ύλης. Ένας τυπικός βιολογικός νευρώνας (Σχήμα 1.1) αποτελείται από το σώμα που αποτελεί τον τωρήνα του, τους δενδρίτες μέσω των οποίων λαμβάνει σήματα από γειτονικούς νευρώνες (σημεία εισόδου) και τον άξονα που είναι η έξοδος του νευρώνα και το μέσο σύνδεσης του με άλλους νευρώνες. Σε κάθε δενδρίτη υπάρχει ένα απειροελάχιστο κενό που ονομάζεται σύναψη. Οι συνάψεις (Σχήμα 1.2) μέσω χημικών διαδικασιών ετηταχύνουν ή επιβραδύνουν τη ροή ηλεκτρικών φορτίων προς το σώμα του νευρώνα. Η ικανότητα μάθησης και μνήμης που παρουσιάζει ο εγκέφαλος οφείλεται στην ικανότητα των συνάψεων να μεταβόΰίουν την αγωγιμότητα τους. Τα ηλεκτρικά σήματα που εισέρχονται στο σώμα μέσω των δενδριτών συνδυάζονται και αν το αποτέλεσμα ξεπερνά κάποια τιμή κατωφλίου το σήμα διαδίδεται με τη βοήθεια του άξονα προς άλλους νευρώνες.

Ο εγκέφαλος του ανθρώπου αποτελείται από περίπου 10* νευρώνες κάθε έ\'ας από τους οποίους συνδέεται με περίπου 10 ^ άλλους νευρώνες. Αυτό πραγματοποιείται μέσω του άξονα κάθε νευρώνα στον οποίον καταλήγουν ισάριθμοι δενδρίτες άλλων νευρώνων. Δεδομένου ότι κάθε τέτοια σύνδεση περιλαμβάνει και μία σύναψη, προκύπτει όπ υπάρχουν περίπου 10'°

συνάψεις οι οποίες και επηρεάζουν τη λειτουργία του εγκεφάλου. Αν και ο χρόνος απόκλισης των βιολογικών νευρώνων είναι της τάξης των χιλιοστών του δευτερολέπτου (msec), εντούτοις ο εγκέφαλος είναι σε θέση να λαμβάνει πολύπλοκες αποφάσεις, εκπληκτικά γρήγορα. Αυτό οφείλεται στο ότι η υπολογιστική ικανότητα του εγκεφάλου και η πληροφορία που περιέχει είναι διαμοιρασμένη σε όλο τον όγκο του. Ο εγκέφαλος δηλαδή πρόκειται για ένα παράλληλο και κατανεμημένο υπολογιστικό σύστΐ]μα.

(6)

Όπως στα βιολογικά νευρωνικά δίκτυα η δομική μονάδα είναι ο νευρώνας στα τεχνητά νευρωνικά δίκτυα η δομική μονάδα είναι ο τεχνητός νευρώνας. Ο τεχνητός νευρώνας ( artificial neuron ) είναι ένα υπολογιστικό μοντέλο τα μέρη του οποίου αντιστοιχίζονται άμεσα με αυτά του βιολογικού νευρώνα. Όπως απεικονίζεται στο Σχήμα 1.2 ένας τεχνητός νευρώνας δέχεται κάποια σήματα εισόδου χ1. χ2. .... χ· τα οποία σε αντίθεση με τους ηλεκτρικούς πα>.μούς του εγκεφάλου, αντιστοιχούν σε συνεχείς μεταβλητές. Κάθε τέτοιο σήμα εισόδου μεταβάλλεται από μια τιμή βάρους w- ( weight) ο ρόλος της οποίας είναι αντίστοιχος της σύναψης του βιολογικού εγκεφά>α>υ.

Η τιμή βάρους μπορεί να είναι θεηκή ή αρνητική σε αντιστοιχία με την επιταχυντική ή ετηβραδυντική λειτουργία της σύναψης. Το σώμα του τεχνητού νευρώνα χωρίζεται σε δύο μέρη, α) τον αθροιστή (sum ) ο οποίος προσθέτει τα επηρεασμένα από τα βάρη σήματα εισόδου και παράγει την ποσότητα S, και β) την συνάρτηση ενεργοποίησης ή κατωφλιού (activation ή thresholdfunction), ένα μη γραμμικό φίλτρο το οποίο διαμορφώνει την τελική τιμή του σήματος εξόδου y, σε συνάρτηση με την ποσότητα S. Εττίσης υπάρχει και η ημή κατωφλίου, θ, η οποία είναι χαρακτηριστική (σταθερή) και ορισμένη από την αρχή για τον νευρώνα αυτόν

1.2 Μοντέλο Τεχνητού Νευρώνα

1.2.1 Μετάδοση Σήματος - Συνάρτηση Ενεργοποίησης

Όπως είδαμε παραπάνω όταν ο νεύρωνας δέχεται σήματα εισόδου υπολογίζει την αθροιστική ποσότιιτα S = x ,w ,, υπόκειται στη συνάρτηση ενεργοποίησης και σε σύγκριση με την τιμή κατωφλίου θ, ο νευρώνας ενεργοποιείται και παράγει σήμα εξόδου ή μένει αδρανής και απυρόδοτος. Βλέπουμε λοιπόν ότι η συνάρτηση ενεργοποίησης είναι ένας πολύ σημαντικός παράγοντας στο μοντέλο του τεχνητού νευρώνα. Ας δούμε τις πιο σημαντικές :

• Η βηματικιί (hardlimit) συνάρτηση, η οποία δίνει στην έξοδο αποτέλεσμα 1 αν S > θ

• Η συνάρτηση πρόσημου (hardlimits), η οποία δίνει αποτέλεσμα 1 ή - 1 , α ν 8 > θ ή 8 < θ

• Η γραμμικιί συνάρτηση (linear), η οποία δίνει αποτέλεσμα γραμμικά διαχωρίσιμες τιμές

• Η σιγμοειδής (sigmoid) συνάρτηση, η οποία εκφράζεται από τη γενική σχέση :

(7)

όπου α είναι ένας συντελεστής ρύθμισης της ταχύτητας μετάβασης μεταξύ τοιν δύο ασυμπτοιτικοιν τιμών. Η σιγμοειδής συνάρτηση είναι σημαντική γιατί παρέχει μη γραμμικότητα στον νευρώνα, κάτι που είναι απαραίτητο στη μοντελοποίηση μη γραμμικών φαιινομένων.

(I)iS)=hardlimiSi 0(S)=haraiims(S)

0(S)=pureiin(S) 0(S)=sigmoid(S)

Σχήμα 1.3 Γραφικές παραστάσεις βασικότερων συναρτήσεων ενεργοποίησης 1.3 Τεχ\ητά Νευρωνικά Δίκτυα

Τα τεχνητά νευρωνικά δίκτυα είναι συστήματα επεξεργασίας δεδομέ\'ων που αποτελούνται από ένα πλήθος τεχνητών νευρώνων οργανωμένων σε δομές παρόμοιες με αυτές του ανθρώπινου εγκεφάλου. Συνήθως οι τεχνητοί νευρώνες είναι οργανωμένοι σε μία σειρά από στρώματα ή επίπεδα (layers). Το πρώτο από αυτά τα επίπεδα ονομάζεται εττίπεδο εισόδου (input layer) και χρησιμοποιείται για τι·|ν εισαγωγή δεδομένων. Τα στοιχεία του δηλαδή δεν είναι ουσιαστικά νευρώνες, γιατί δεν εκτελούν κάποιο υπολογισμό (δεν έχουν βάρη εισόδου ούτε συναρ·π)σεις ενεργοποίησης). Στη συνέχεια, μπορούν να υπάρχουν, προαιρετικά, ένα ή περισσότερα ενδιάμεσα ή κρυφά επίπεδα (hidden layers). Τέλος ακολουθεί ένα εττίπεδο εξόδου (output layer).

Οι νευρώνες των διάφορων στρωμάτων μπορεί να είναι πλήρως ή μερικώς συνδεδεμένοι.

Πλήρως συνδεδεμένοι (fully connected) είναι εκείνοι οι οποίοι συνδέονται με όλους τους νευρώνες του επόμενου επιπέδου. Σε κάθε άλλη περίπτωση οι νευρώνες είναι μερικώς συνδεδεμένοι (partially connected). Όταν δεν υπάρχουν συνδέσεις μεταξύ νευρώνων ενός επιπέδου και νευρώνων προηγούμενου επιπέδου (όταν δηλαδή η ροή πληροφορίας είναι μιας κατεύθυνσης) τα ΤΝΔ χαρακτηρίζονται ως δίκτυα με απλή τροφοδότηση (feedforward). Στην αντίθετίΊ περίπτωση, καθώς και στην περίπτωση συνδέσεων μεταξύ νευρώνων ίδιου επιπέδου, τα ΤΝΔ χαρακττιρίζονται ως δίκτυα με ανατροφοδότηση (feedback ή recurrent).

(8)

1.3.1 ΤΝΔ με Απλή Τροφοδότηση (Feedforward)

Τα ΤΝΔ με απλή τροφοδότηση (feedforward) είναι η πιο απλή μορφή νευροινικών δικτύων. Σε αυτά υπάρχει ένα επίπεδο εισόδου, ένα επίπεδο εξόδου και προαιρετικά, ένα ή περισσότερα ενδιάμεσα κρυφά επίπεδα (Σχήμα 1.4).

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

Το δεύτερο θέμα αφορά στην τοπολογία του δικτύου, δηλαδή το πόσα κρυφά επίπεδα θα έχει το δίκτυο και από πόσους νευρώνες θα αποτελείται κάθε επίπεδο. Θα πρέπει εδώ να αναφερθεί ότι έχουν προταθεί αλγόριθμοι οι οποίοι μπορούν να δημιουργήσουν μια τοπολογία ΤΝΔ βάσει των εισόδων και των ετηθυμητών εξόδων, όπως για παράδειγμα ο αλγόριθμος Upstart και ο

Στο σχήμα 1.4 βλέπουμε ένα πλήρως διασυνδεδεμένο Τεχνητό Νευρωττκό Δίκτυο απλής τροφοδότησης με τρία διατώσματα εισόδου χ1,χ2,χ3, τέσσερις νευρώνες στο κρυφό επίπεδο και δύο εξόδους yl,y2.

1.3.2 ΤΝΔ με Ανατροφοδότηση (Feedback)

Εκτός από τα δίκτυα απλής τροφοδότΐ)σης, υπάρχουν και τα δίκτυα με ανατροφοδότηση, τα οποία περιέχουν βρόχους στη συνδεσμολογία των νευρώνων(Σχήμα 1,5). Λόγω των βρόχων, οι νευρώνες στα δίκτυα αυτά παράγουν σε κάθε κύκλο λειτουργίας αποτελέσματα που εξαρτώνται όχι μόνο από ττ|ν έξοδο των νευρώνων του προηγούμενου επιπέδου αλλά και από την έξοδο του εαυτού τους κατά τον προηγούμενο κύκλο λειτουργίας η οποία αποθηκεύεται προσωρινά.

- 0 - 0 - 0

Σχήμα 1.5; Παράδειγμα βρόχου σε απλή συνδεσμολογία νευρώνων.

(9)

Η προσθήκη βρόχων στη συνδεσμολογία των νευρώνων προφανώς αυξάνει την πολυπλοκότητα του ΤΝΔ. Σε αντιστάθισμα, η πληροφορία από τον προηγούμενο κύκ)Λ λειτουργίας που παρέχουν, επιταχύνει την εκπαίδευση του ΤΝΔ, βοηθά πολλε’ς φορές στην αποφυγή τοιν τοπιλών ελάχιστων και επιπλέον αποτελεί ένα αρκετά περιορισμένο είδος μνήμης των προηγούμενων αποτελεσμάτων του συστήματος.

Σχήμα 1.6:Αναπαράσταση δικτύου Hopfeild με 4 νευρώνες

Δύο από τα πτο γνωστά δίκτυα με ανατροφοδότηση είναι τα Hopfield και Kohonen, Στα δίκτυα Hopfeild (Σχήμα 1.6) κάθε νευρώνας συνδέεται με όλους τους υπόλοιπους ενώ οι συνδέσεις των νευρώνων είναι αμφίδρομες και έχουν συμμετρικά βάρη. Όλοι οι νευρώνες λειτουργούν σαν είσοδοι και έξοδοι του δικτύου. Οι νευρώνες είναι απλοί perceptrons με συνάρτηση ενεργοποίησης τη συνάρτηση προσήμου. Τα δίκτυα Kohonen (Σχήμα 1,7) είναι το πιο χαρακτηριστικό παράδειγμα δικτύου το οποίο χρησιμοποιεί μάθηση χωρίς εττίβλεψη, και αποτελείται από ένα πλήθος νευρώνων τοποθετημένοι σε κάποια γεωμετρική τοπολογία (π.χ επίπεδο, σφαίρα κλπ).

Σχήμα 1,7: Δίκτυο Kohonen

(10)

1.4 Βασικές Λειτουργίας & Χαρακτηριστικά των ΤΝΔ

Δύο είναι οι βασικές λειτουργίες των ΤΝΔ : μάθηση και ανάκληση. Μάθηση (learning) ή εκπαίδευση (training) ενός τεχνητού νευρωνικού δικτύου είναι η διαδικασία τροποποίησης της τιμής των βαροιν του δικτύου, ώστε δοθέντος συγκεκριμένου διαλύσματος εισόδου να παραχθεί συγκεκριμένο διάνυσμα εξόδου. Ανάκληση (recall) είναι η διαδικασία του υπολογισμού ενός διανύσματος εξόδου για συγκεκριμέλο διάχ-υσμα εισόδου και τιμές βαρών.

Δύο είναι οι βασικές κατηγορίες ΤΝΔ σύμφωνα με την προσέγγιση μάθησης που ακολουθείται.

• Εποπτευόμενη μάθηση ( Supervised Learning )

Η εποπτευόμελ’η μάθηση είναι και ο τηο συχνός τρόπος στην εκπαίδευση των νευρωνικών δικτύων. Αρχικά δίνουμε τις τιμές των εισόδων και των εξόδων στόχων που πρέπει να μάθει το δίκτυο, δηλ. παρουσιάζουμε τα πρότυπα (patterns) στο δίκτυο. Ξεκινούμε με τυχαίες τιμές στα βάρη νν. Κατά την διαδικασία εκπαίδευσης το δίκτυο αλλάζει τις τιμές των βαρών διορθώνοντας αυτές ανάλογα με το σφάλ,μα (eiror) που παίρνουμε (διαφορά από τον στόχο). Ο σκοπός μας εδώ είναι τελικά να ελαχιστοποιήσουμε την διαφορά (το σφάλμα) μεταξύ της επιθυμητής εξόδου και της τρέχουσας τιμής της εξόδου μετά από διαδοχικές αλλαγές των βαρών (ανακυκλώσεις διορθώσεων) και ενός αλγόριθμου εκπαίδευσης. Μερικές φορές η διαδικασία αυτή μπορεί να απαιτεί μεγάλους αριθμούς τέτοιων διορθώσεων και. επομένως, μεγάλους υπολογιστικούς χρόνους.

• Μη-εποπτευόμενη μάθηση ( Unsupervised Learning )

Στην μη-εποπτευόμενη εκπαίδευση απλώς δίνουμε την πληροφορία στο δίκτυο, αλλά δεν δίνουμε αντίστοιχους στόχους όπως προηγουμένως και έτσι δεν γίνεται κανένας έλεγχος ή σύγκριση για την πορεία του σφάλματος. Το δίκτυο δεν χρησιμοποιεί κάποια εξωτερική παράμετρο για την αλλαγή των βαρών. Υπάρχει βέβαια συγκεκριμένη διαδικασία που ακολουθείται και καταλήγει σε εκπαίδευση του δικτύου. Το δίκτυο χρησιμοποιεί έναν εσωτερικό έλεγχο, ψάχνει να βρει κάποιες τάσεις ή κανονικότητα στα σήματα εισόδου και προσπαθεί ώστε οι έξοδοι να έχουν τα ίδια χαρακτηριστικά όπως και οι είσοδοι. Δέμε ότι έτσι έχουμε αυτο-εποπτευόμενη εκπαίδευση διότι το δίκτυο ελέγχει τον εαυτό του και διορθώνει τα σφάλματα στα δεδομένα με ένα μηχαντσμό ανάδρασης (feedback). Ο τρόπος αυτός δεν συναντάτε τόσο συχνά όπως η εποπτευόμετσι εκπαίδευση, αλλά είναι πολύ χρήσιμος σε ορισμένες καταστάσεις που δεν υπάρχουν δεδομένα στο πρόβλημα.

Επίσης υπάρχουν τέσσερα βασικά χαρακτηριστικά των ΤΝΔ :

• Η ικανότητα τους να μαθαίνουν μέσω παραδειγμάτων (learn by example) Οργα\·ώ\'ουν την πληροφορία των δεδομένων εισόδου σε χρήσιμες μορφές

• Η δυνατότητα θεώρησης τους ως κατανεμημένη μνήμη (distributed memory) και ως μνήμη συσχέτισης (associative memory).

Η πληροφορία που κωδικοποιούν είναι κατανεμημένη σε όλα τα βάρη της συνδεσμολογίας του

• Η μεγάλη τους ανοχι) σε σφάλματα (fault - tolerant).

Κακή λειτουργία ή καταστροφή ενός νευρώνα ή κάποιων συνδέσεων δεν είναι ικανή να διαταράξει σημαντικά την λειτουργία του καθώς η πληροφορία που εσωκλείουν είναι διάχυτη σε όλο το δίκτυο.

• Η ικανότητα τους για αναγνώριση προτύπων (pattern recognition) Δεν επηρεάζονται από ελλειπή ή και με θόρυβο δεδομένα.

(11)

1.5 Εφαρμογές Νευρωνικών Δικ·η')ων

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

Βιολογία

• Καλύτερη κατανόηση της λειτουργίας του εγκεφάλου

• Μοντέλα για την όραση (την αίσθηση στην οποία έχει γίνει η μεγαλύτερη έρευνα σήμερα και για την οποία έχουμε την καλύτερη κατανόηση)

Επιχειρήσεις

• Εκτίμηση για την ύπαρξη κοιτασμάτων πετρε>αιίου σε γεωλογικά πετρώματα

• Για την επιλογή του κατάλληλου προσωτηκού σε σημαντικές θέσεις στην ετπχείρηση Ιατρική

• Ανάγνωση και ανάλυση των ακτινών X

• Κατανόηση των εταληπτικών κρίσεων

• Παρακολούθηση εγχείρησης

• Προβλέψεις για αντιδράσεις οργανισμών στην λήψη φαρμάκων

• Διάγνωση και θεραπεία από τα συμπτώματα

• Ανάλυση ομιλίας σε ακουστικά βαρηκοΐας κωφών ατόμων Στρατιωτική τέχλ’η

• Αναγνώριση και παρακολούθηση στόχων

• Βελτιστοποίηση της χρήσης πόρων σε έλλειψη

• Κωδικοποίηση σημάτων ραντάρ

• Δημιουργία « έ ξ υ π ν ω ν » όπλων

• Για κατόπτευση .Χρηματοοικονομικά

• Ανάλυση ετπκινδυλ'ότητας δανείων

• Ανάγνωση χειρόγραφων κειμένων

• Αξιολόγηση επενδύσεων και ανάλυση χαρτοφυλακίων

• Αναγνώριση πλαστογραφιών Βιομηχανία

• Αυτοματικοποίηση ρομπότ και συστημάτων ελέγχου

• Ετηλογή ανταλλακτικών κατά την συναρμολόγηστ)

• Έλεγχος στην γραμμή παραγωγής

• Ετηθεώρηση τιις ποιότητας κατά την κατασκευή Περιβάλλον

• Πρόβλεψη καιρού

• Ανάλυση τάσεων και παρατηρήσεων

(12)

1.6 Ιστορική Αναδρομή

Έτος Ερευνητές Αποτε)χσματα

1943 McCulloch και Pitts Γέννηση

• Πρώτο απλό μοντέλο εγκεφά).ου.

• Υλοποίηση λογικών πράξεων (OR. AND. NOT)

• Μη τεχνολογικά εφικτή υλοποίηση (λυχνίες)

1949 ΗΕΒΒ

Λειτουργία μάθησης

• Έδειξε πως ένα δίκτυο νευριόνων μπορεί να επιδείξει συμπεριφορά μάθησης.

• Hebbian αλγόριθμος μάθησης (ακόμα και σήμερα)

1958 Rosenblatt • Perceptron μοντέλο

1960 Widrow • ADAL1NE και MADAL1NE

1960 Widrow-Hoff

Least Mean Square (LMS)

Ανάπτυξαν αλγόριθμους οι οποίοι αποτελούνται από έλ’α στρώμα.

Υλοποίηση: Η/χκτρονικά Αναλογικά Κυκ>.ώματα Εφαρμογές: adaptive echo suppressors, συμπιεστές θορύβου για modems

Νόμισαν αρχικά ότι το κ>χιδί της νοημοσύλ-ης βρέθηκε και ότι απλά η αναπαραγωγή του εγκεφάλου θα ήταν η κατασκευή ενός τεράστιου δικτύου.

1969

MINSKY. PAPERT Μαθηματική ανάλυση Perceptrons μοντέλων

Απέδειξαν ότι έχουν περιορισμένες υπολογιστικές ικανότητες.

Ανίκανα να λύσουν απλά προβλήματα. (XOR) Παρακμή της έρευνας στα νευρωνικά δίκτυα.

1970s ελάχιστοι αλλά σημαντικοί ερευνητές

Amari: μαθηματική θεωρία νευρωνικών δικτύων

Fukushima: neocognitron

Kohonen: self-organizing maps - απεικόνιση χαρακτηριστικών γνωρισμάτων

Crossberg και Carpender:

adaptive resonance theory 1980s εποχή της

αναγέννησης

1982 Hopfield associative memory με θεωρητικό υπόβαθρο.

Ελαχιστοποίηση εξίσωσης ενέργειας 1986 Rumelhart και

McClelland

Backpropagation

Μάθηση σε δίκτυο πολά.απλών στρωμάτων 80% νευρωνικών δικτύων σήμερα 1988 Bronimhead και Lowe radial basis functions

(13)

2. To Δίκτΐ)0 Perceptron

2.1 Αισθητήρας ( Perceptron )

To perceptron είναι η τηο απλή τοπολογία δικτύου με απλή τροφοδότηση και αποτελεί ιστορικά μια πριοτη προσέγγιση τεχνητών νευρωνικών δικτύων. Πρόκειται ουσιαστικά για το μοντέλο τεχνητού νευρώνα που είδαμε στο σχήμα 1.2. και ο οποίος χρησιμοποιεί ως συνάρτηση ενεργοποίησης τη βηματική συνάρτηση.

Στο μοντέλο Perceptron ο ένας και μοναδικός νευρώνας υλοποιεί την παρακάτω συνάρτηση μεταφοράς:

„ = Σ"

V = / ( « )

Η συνάρτηση μεταφοράς απεικονίζει το διάνυσμα εισόδου τ = [.V|Xt,...jc„]^ στην έξοδο y. Οι παράμετροι Μ',,νις,.... w„ είναι τα συνοππκά βάρη του νευρώνα ενώ η παράμετρος θ λέγεται κατώφλι ενεργοποίησης. Ο όρος αυτός εξηγείται από το γεγονός ότι η διέγερση u του νευρώνα η οποία προκύπτει από το περιβάλλον (δηλ. από τις εισόδους) είναι θετική αν το άθροισμα

^Μλ.ν·; ξεπεράσει το όριο θ:

u>0, αν XI i > θ u=0, αν X Μ’ , JC,. = θ u<0, αν X νν,χ,. < θ

Με το σκεπτικό αυτό λέμε ότι το θ είναι το κατώφλι πάνω από το οποίο ενεργοποιείται ο νευρώνας. Η συνάρτηση ενεργοποίησιις fl;.) τροφοδοτείται από τη διέγερση u και δίνει την έξοδο y του νευρώνα. Η συνάρτηση ενεργοποίησης είναι μη γραμμική και ειδικά στον Perceptron παίρνει μια από τις παρακάτω δύο μορφές :

ίΐ,6π^>θ1 , , , [χ,ανη > 0

(14)

Η έξοδος y είναι λοιπόν ένας δυαδικός αριθμός είτε με την κλασική μορφή (1/0) είτε με την

>χγόμενη διπολική μορφή(1/-1). Η ετη/χγή ωστόσο μεταξύ κλασικής και διπολικής δυαδικής μορφής είναι ήσσονος σημασίας. Οι παράμετροι που ουσιαστικά ρυθμίζουν τη συμπεριφορά του νευρώνα είναι το διάνυσμα των συναπτικών βαρών w = [ιν,, iVj,.... και το κατώφλι θ.

Το μοντέλο της εξίσωσης μπορεί να απλοποιηθεί αν το κατώφλι θ θεωρηθεί ως ένα εττί πλέον συναπτικό βάρος (ας το ονομάσουμε Wg) το οποίο πολλαπλασιάζεται με μια σταθερή είσοδο Xg = -1 οπότε μπορούμε να γράψουμε ^ ~ Σ

Σχήμα 2.2 Απλοποιημένο μοντέλο τεχνητού νευρώνα όπου το κατώφλι θ αντιμετωπίζεται σαν ένα ακόμη συναπτικό βάρος το οποίο πολλαπλασιάζεται με ττ|ν εξτρά είσοδο χ0=-1

(15)

Ο κλασικός κανόνας εκπαίδευσης Perceptron είναι γνωστός και ως κανόνας σταθερής αύξησης (fixed increment rule). 0 κανόνας είναι επαναληπηκός : τα πρότυπα παρουσιάζονται στο δίκτυο με κυκλική σειρά και όταν τελειώσουν επαναλαμβάνονται από την αρχή. Ένας πλήρες κύκλος χρήσης όλων των προτύπων καλείται εποχή (epoch). Ο κανόνας τροποποιεί το επαυξημένο διάνυσμα των συναπτικό)ν βαρών w μόνο όταν υπάρχει σφάλμα ταξινόμησης, δηλαδή όταν ο στόχος d '’" για το πρότυπο ρ, διαφέρει από την έξοδο του δικτύου.

2.1.1 Ο Κανόνας εκπαίδευσης Perceptron

, με στόχους ,..., d Αλγόριθμος 1 : Κανόνας Εκπαίδευσης Perceptron Είσοδοι:

Τα επαυξημένα πρότυπα εισόδου χ " ’ , Έδοδοο :

Τα εκπαιδευόμενα συναπτικά βάρη w, ..., Μέθοδθ€:

Αρχικοποίησε το επαυξημένο διάνυσμα βαρών \ν(0) σε τυχαίες τιμές Δώσε μια μικρή, θετική και σταθερή τιμή στο βήμα εκπαίδευσης β k=l

Για κάθε εποχή ep=l,...., MAXEPOCHS { Για κάθε πρότυπο ρ= 1,... ,Ρ {

y = f { w ( k - 1)^ χ ' " ’ )

Αν d ''” τότε εκπαίδευσε τα βάρη σύμφωνα με τον τύπο Μ<λ) = Μ<λ -1 ) + - ιΟχ'"’

Αλλιώς άφησε τα βάρη όπως είναι k = k + l

}

Τερμάτισε αν δεν έγινε καμά αλλαγή βαρών στην εποχή αυτή, Είτε έχει συμπληρωθεί ο μέγιστος αριθμός εποχών

2,1.2 Ρυθμός Εκπαίδευσης

Η παράμετρος β ρυθμίζει το μέγεθος της διόρθωσης και καλείται βήμα εκπαίδευσης ή ρυθμός εκπαίδευσης (learning step ή learning rate). Η παράμετρος αυτή είναι πολύ σημαντική καθώς εττηρεάζει την συμπεριφορά του αλγόριθμου. Αν η ημή της είναι πολύ μικρή ο αλγόριθμος θα συγκλίνει μεν στο κοντινότερο τοπικό ελάχιστο ( θα βρει δηλ. την καλύτερη δυνατή λύση), αλλά θα αργήσει χρονικά (ιδιαίτερα σε μεγάλα δίκτυα), ενώ αν η τιμή της είναι μεγάλη θα ετητύχουμε ταχύτερη σύγκλιση με τηθανό αποτέλεσμα τΐ]ν κακή ποιοτικά σύγκλιση (ταλαντώσεις) ή ακόμα και την απόκλιση του αλγορίθμου, δηλαδή οι ημές των βαρών θα οδηγούνται στο ± οο. Η σωστή επιλογή του β δεν είναι εύκολο να προσδιοριστεί μαθηματικά εκ των προτέρων και συνήθως χρησιμοποιείται η μέθοδος δοκιμής και σφάλματος. Τυτηκά χρησιμοποιούνται τιμές μικρότερες έως πολύ μικρότερες από την μονάδα( 0< β <1). Σε γενικές γραμμές, αν το δίκτυο έχει πολλές εισόδους ή οι είσοδοι έχουν μεγάλες τιμές τότε καλό είναι το βήμα εκπαίδευσης να έχει μικρότερη τιμή.

Αντίθετα σε δίκτυα με λίγες εισόδους ή εισόδους με μικρές τιμές, το βήμα μπορεί να είναι μεγαλύτερο.

(16)

2.2 Ιΐρόβλημα AND

Στο σχήμα βλέπουμε ένα perceptron με δύο εισόδους ακολουθεί ο κώδικας στο matlab για την επίλυση της εξίσωσης της πύλης and

Πύλη AND

χ1 χ2 Υ

0 0 0

1 0 0

0 1 0

1 1 1

Σχήμα 2.3 : Πύλη AND & Γραφική αναπαράσταση του ΤΝΔ στο MATLAB and_p = [0 1 0 1;0 0 1 1]

and_p = 0 1 0 1

0 0 1 1

» a n d _ t = [ 0 0 0 1]

and_t =

0 0 0 1

and_net = newp([0 1;0 1],1);

an dnet = init(and_net);

[and_net,tr]=train(and_net,and_p,and_t);

TRAINC, Epoch 0/100 TRAINC, Epoch 6/100 TRAINC, Performance goal met.

// Εισάγουμε τα δεδομένα //Είσοδοι

// Βλέπουμε τα βάρη των εισόδων καθώς και το κατώφλι //Επιθυμητή έξοδος

// Δημιουργία perceptron με δύο εισόδους // Μηδενίζουμε τα βάρη w και το bias // Το εκπαιδεύουμε με τα πρότυπα του

// Βρίσκει λύση στην έκτη epoch and_net.rW{l} =[1; 2]

and_net.b(l)=[-3]

and_s=[l 1 0 0 0 0 1 1 ; 1 1 1 1 0 0 0 0]

and_s =

1 1 0 0 1 1 0 0

1 1 1 1 1 1 1

» a = sim(and_net,and_s)

w ll= l & wl2=2 // bias =-3

// Εισάγουμε τυχαία δεδομένα επαλήθευσης

//Τα περνάμε στο δίκτυο

1 1 0 0 0 0 0 0 // Και παίρνουμε τα σωστά αποτελέσματα Το δίκτυο Perceptron and net που δημιουργήσαμε κατάφερε να λύσει ετητυχώς το πρόβλημα της πύλης AND.

(17)

2.3 To Πρόβλημα XOR

Χρησιμοποιούμε το ίδιο δίκτυο με παραπάνω μόνο που το αλλάζουμε όνομα xor net. Η μέθοδος μας είναι ίδια

χοΓ_ρ = [0 1 0 1;0 0 1 1]

ΧΟΓ_ρ =

0 1 1

0 0 1 1

» xor t = [0 1 1 0 ] xor_t =

0 1 1 0 xo rn e t = newp([0 1;0 1],1);

xo rn e t = init(and_net);

[xor_net,tr]=train(xor_net,xor_p,xor_t);

TRAINC, Epoch 0/100 TRAINC, Epoch 25/100 TRAINC, Epoch 50/100 TRAINC, Epoch 75/100 TRAINC, Epoch 100/100 TRAINC, Maximum epoch reached.

Βλέπουμε ότι ενώ το δίκτυο xor_net έφτασε στη μέγιστη εποχή που το είχαμε ορίσει δεν βρήκε λύση. Αυτό μας δείχνει ότι τα δίκτυα Perceptron μπορούν να λύσουν μόνο γραμμικά διαχωρίσιμα προβλήματα

Σχήμα 2.3 (α) Συνάρτηση AND (γραμμικώς διαχωρίσιμη) και (β) συνάρτηση XOR (μη γραμμικώς διαχωρίσιμη).

(18)

Η όρος ADALINE προέρχεται από τα αρχικά των λέξεων Adaptive LINear Element (Αυτοπροσαρμοζούμενο Γραμμικό Στοιχείο). Τον εισήγαγε ο Widrow για να περιγράψει ένα απλχιποιημένο μοντέλο του νευρώνα όπου εκλείπει τελείως η μη γραμμική συνάρτηση f. Έτσι ο γραμμικός νευρώνας περιγράφεται από την ακόλουθη σχέση εισόδου-εξόδου Που είναι ο ίδιος με τον τύπο του Perception.

« = Σ νν,χ,

Η διαφορά σε σχέση με τον κλασσικό μη γραμμικό νευρώνα των McCulloch-Pits είναι ότι τώρα η έξοδος u παίρνει συνεχείς τιμές από -οοέως +α> και όχι διακριτές τιμές 0/1 ή 1/-1. Αυτό σημαίνει ότι και οι στόχοι μπορεί (αλλά δεν είναι υποχρεωτικό) να παίρνουν ημές από το σύνολχ) των πραγμαπκών αριθμών R. Ο αλγόριθμος εκπαίδευσης βασίζεται στη μέθοδο της ελαχιστοποίησης μέσου τετραγωνικού σφάλματος.

2.4 Κανόνας ADALINE

Αλ.γόριθμος 2 ; Κανόνας Εκπαίδευσης Αέλτα Είσοδοι:

Τα επαυξημένα πρότυπα εισόδου χ ,..., χ^’’\

Οι στόχοι ι/*",..., d '"' , 0 \ τιμές των στόχων είναι πραγματικοί αριθμοί Έδοδοζ:

Τα εκπαιδευόμενα συνοπτικά βάρη w, ..., Μέθοδοα:

Αρχικοποίησε το επαυξημένο διάνυσμα βαρών w(0) σε τυχαίες τιμές Δώσε μια μικρή, θετική και σταθερή ημή στο βήμα εκπαίδευσης β Όρισε ένα όριο e για το σφάλμα εκπαίδευσης

k=l

Για κάθε εποχή ep=l,...., MAXEPOCHS { Για κάθε πρότυπό ρ= 1,... ,Ρ {

α =ιν(Ατ-1)'·.ν''’' Η<λ) = Η<λ -1 ) + - «)χ''”

k = k + \ }

Τερμάησε αν το σφάλμα J = - iv^x*'”)" < e Είτε έχει συμπληρωθεί ο μέγιστος αριθμός εποχών

(19)

3 To δίκτυο Perceptron iloD.o'jv Στροιμάτων (Multi Layer Perccptron) 3.1 To δίκτυο MLP

Όπως είδαμε οι δυνατότητες αναπαράστασης διαχωριστικών επιφανειών είναι περιορισμένες στο δίκτυο Perceptron καθώς με ένα μόνο νευρώνα το δίκτυο μπορεί να αναπαραστήσει μόνο ετήττεδες επιφάνειες. Ο περιορισμός αυτός αίρεται με τη χρήση περισσότερων νευρώνων. Για παράδειγμα θα χρησιμοποιήσουμε την πύλη XOR :

E^oiw:

Σχήμα 3.1 Δίκτυο MLP με έναν νευρώνα στο κρυφό επίπεδο

Αν χρησιμοποιήσουμε περισσότερους κρυφούς νευρώνες θα μπορούσαμε να ορίσουμε περισσότερες διαχωριστικές ευθείες. Ο συνδυασμός των ευθειών αυτών μπορεί να μας δώσει μια μεγάλη ποικιλία περιοχών που θα μπορούσαμε να διαχωρίσουμε στην έξοδο.

Σχήμα 3.2 Δίκτυο MLP μ νευρώνες σ

Δίκτυα τέτοιου τύπου όπως τα παραπάνω καλούνται δίκτυα Perceptron Πολλών Στρωμάτων (Multi-Layer Perceptron -MLP). Η γενική αρχιτεκτονική) ενός δικτύου MLP με L στρώματα φαίνεται στο Σχ. . Το χαρακτηριστικό των δικτύων αυτών είναι ότι οι νευρώνες του οποιουδήποτε στρώματος 1 τροφοδοτούν αποκλειστικά τους νευρώνες του επόμενου στρώματος 1+1 και τροφοδοτούνται αποκλειστικά από τους νευρώνες του προηγούμενου στρώματος 1-1.

(20)

3.2 Δυνατότητες MLP

Τα δίκτυα MLP όπου οι νευρώνες χρησιμοποιούν τη βηματική συνάρτηση 0/1 ή -1/1, μπορούν να υλοποιήσουν συναρτήσεις που δεν μπορεί να υ/αιποιήσει ένα απλό δίκτυο Perceptron. Ωστόσο, η χρήση της Ρηματικής συνάρτησης δεν προτιμάται. Ο λόγος είναι ότι οι περισσότεροι κανόνες εκπαίδευσης βασίζονται σε μεθόδους βελτιστοποίησης, π.χ μέθοδος κατάβασης δυναμικού, οι οποίες χρησιμοποιούν παραγωγούς, ενώ η βηματική συνάρτηση δεν είναι παραγωγίσιμη. Αυτή η τεχνική δυσκολία ξεπερνιέται με τη χρήση της σιγμοειδούς συνάρτησης ;

\ + e

Τα δίκτυα MLP που ενσωματώνουν τη σιγμοειδή συνάρτηση αποδεικνύεται ότι έχουν πολλές δυνατότητες αναπαράστασης συναρτήσεων. Το βασικό θεώρημα ουσιαστικά λέει ότι δίκτυα αυτής της μορφής μπορούν να προσεγγίσουν οποιαδήποτε ομαλή συνάρτηση, όσο κοντά επιθυμούμε. Για το λόγο αυτό τα δίκτυα αυτά καλούνται και «Universal Approximators» («Κ αθολικοί Προσεγγιστές»). Το ενδιαφέρον είναι ότι αρκεί να χρησιμοποιηθούν μόλις δύο στρώματα νευρώνων (χωρίς να μετράμε το στρώμα εισόδου).

3.3 Ανάκληση σε ένα Δίκτυο MLP

Το βασικό χαρακτηριστικό σε ένα δίκτυο MLP είναι ότι κάθε στρώμα 1 τροφοδοτείται από τους νευρώνες του προηγούμενου στρώματος 1-1 και μόνον από αυτούς. Για λόγους ευκολίας καλούμε το στρώμα εισόδου, καταχρηστικά, μηδενικό στρώμα, δηλαδή το πρώτο στρώμα τροφοδοτείται αποκλειστικά από το στρώμα εισόδου. Ας ονομάσουμε

• L το πλήθος των στρωμάτων του δικτύου

• Ν(0),Ν(1),....,N(L) το πλήθος των νευρώνων των στρωμάτων 0,1,...L. Άρα Ν(0) είναι το πλήθος των εισόδων και N(L) το πλήθος των εξόδων

• α, (/) τις ενεργοποιήσεις των νευρώνων του στρώματος 1

• W. (/) το συνοπτικό βάρος που συνδέει το νευρώνα (/ -1) του στρώματος 1-1 με το χ'ευρώνα α. (/) του στρώματος 1

• νν,.ρ(/) το κατώφλι του νευρώνα α. (/) του στρώματος 1

χ. = α· (0) τις εισόδους του δικτύου

y. = α-(L) τις εξόδους του δικτύου

Ανάκληστ) είναι η διαδικασία υπολογισμού των τιμών όλων των νευρώνων του δικτύου με δεδομένες τις τιμές των εισόδων x^,... .Σύμφωνα με όσα είπαμε παραπάνω, οι ενεργοποιήσεις των νευρώνων για οποιαδήποτε στρώμα 1= 1,.... L, δίνονται από τη σχέση :

«,(/) = / Σ W,( / ) « / / - l ) + w,ο(/)

(21)

Είσοδοι:

α,(0) = χ„ « ,(0 ) =

Αλγόριθμος 3 : Ανάκληση σε ένα δίκτυο MLP

^2,...,α ,{ ^ ) = χ . Έ Ιοδοι:

y, =a^{L),y^ = a^(L),...y^ = a^(L) Μέθοδοα :

Για κάθε στρώμα 1 = 1 L { Για κάθε νευρώνα 1=1,.... Ν(1) {

3.4 Ανάστροφη μετάδοση λάθους (BackPropagation)

Η ανάστροφη μετάδοση λάθους (back propagation) αποτελεί την πιο γνωστή μέθοδο εκπαίδευσης νευρωνικών δικτύων πολλών επιπέδων. Η βασική ιδέα είναι να καθοριστεί το

“ποσοστό" του συνολικού σφάλματος που αντιστοιχεί στα βάρη του κάθε νευρώνα. Με αυτόν τον τρόπο γίνεται δυνατό να υπολογίζονται οι διορθώσεις στα βάρη του κάθε νευρώνα ξεχωριστά, πράγμα που είναι αρκετά πολύπλοκο για τα κρυφά επίπεδα καθώς η έξοδος τους εττηρεάζει πολλούς νευρώνες ταυτόχρονα.

Στΐ]ν ανάστροφη μετάδοση του λάθους υπολογίζεται αρχικά το σφάλμα για τους νευρώνες του ετηπέδου εξόδου με τον γενικευμένο κανόνα Δέλτα. Το σφάλμα που υπολογίζεται χρησιμοποιείται για να υπολογιστούν τα σφάλματα στο τελευταίο κρυμμένο επίπεδο. Στη συνέχεια, η διαδικασία επαναλαμβάνεται αναδρομικά προς το πρώτο επίπεδο. Με βάση δηλαδή τη διάδοση του σφάλματος προς τα πίσω (back propagation), γίνεται ένας υπολογισμός της συνεισφοράς κάθε βάρους των νευρώνων στο ολικό σφάλμα. Κατότην τα σφάλματα που υπολογίστηκαν για τους νευρώνες του κάθε ετηπέδου χρησιμοποιούνται για να μεταβάλλουν τα βάρη του κάθε νευρώνα. Η διαδικασία επαναλαμβάνεται μέχρι το σφάλμα να πάρει τιμή στα όρια ανοχής που έχει θέσει ο χρήστης.

Η όλη διαδικασία μπορεί να θεωρηθεί σαν μια αναζήτηση του ολικού ελαχίστου της συνάρτησιις του σφάλματος, η οποία έχει σαν παραμέτρους τιε τιμές των βαρών. Η διόρθωση που γίνεται κάθε φορά προσπαθεί να ελαχιστοποιήσει το σφάλμα διαλέγοντας να κάνει πς αλλαγές που φαίνονται να μειώνουν τοπικά. Είναι δηλαδή μια αναζήτηση τύπου αναρρίχηση λόφου. Υπάρχουν ωστόσο και περιπτώσεις, όπου ένα δίκτυο που εκπαιδεύεται με αυτή τη μέθοδο δεν αποδίδει τα αναμενόμενα. Πρόκειται για τις περιπτώσεις όπου το δίκτυο πέφτει σε τοτηκά ελάχιστα (local minimal) και/ή όταν παραλύει τελείως (network paralysis).

Στι·|ν πρώτη περίπτωση, πρόκειται για εγγενή αδυναμία της αναζήτησης αναρρίχηση λόφου να βρει το ολικό ελάχιστο, δηλαδή το διάνυσμα των βαρών για το οποίο ελαχιστοποιείται το σφάλμα. Στη δεύτερη περίπτωση, το νευρωνικό δίκτυο πέφτει σε στάσιμη κατάσταση γιατί ένα ή περισσότερα βάρη έχουν σταθερά υψηλές απόλυτες τιμές και δεν τροποποιούνται σημαντικά σε κάθε διόρθωση. Για την αποφυγή αυτών των ανετηθύμητων καταστάσεων έχουν προταθεί διάφορες παραλλαγές του βασικού αλγόριθμου.

(22)

ο βασικός αλγόριθμος Back-Propagation είναι μια προσέγγιση της κατάβασης δυναμικού και περιγράφεται παρακάτοκ

Αλγόριθμος 4 : Back-Propagation Είσοδοι:

Ρ ζεύγη διανυσμάτοιν εισόδων-στόχων Τα εκπαιδευόμενα συναπτικά βάρη w^ (/) MePoSoc :

Αρχικοποίησε το βάρη (/) σε μικρές τυχαίες τιμές για κάθε στρώμα /.

Θέσε εποχή η <— 1 Επανέλαβε {

Για κάθε πρότυπό ρ= 1, . ,Ρ {

/* Φάση ανάκ>.ησης = Fonvard phase */

Υπολόγισε πς εξόδους α,(/) του στρώματος 1 Υπολόγισε τις εξόδους α, (λ) του στρώματος L /* Φάση υπολογισμού δ = Backward phase */

Με βάση τον τύπο 4.2 υπολόγισε τα σφάλματα S-{L) του στρώματος L Με βάση τον τύπο 4.3 υπολόγισε τα σφάλματα δ χ ΐ -1) του στρώματος

L-1 Με βάση τον τύπο υπολόγισε τα σφάλματα (1) του στρώματος 1 /* Φάση ενημέρωσης βαρών = Update phase */

Με βάση τον τύπο 4.1 ενημέρωσε τα βάρη όλων των στρωμάτων

Τερμάτισε αν το σφάλμα J = < e Είτε έχει συμπληρωθεί ο μέγιστος αριθμός εποχών Εξίσωση ενημέρωσης των βαρών :

w βM 'δ=w β,k)+βS’\{l)d'■\: (1-\)

j=0,J...Ν(Ι). 1=1,...L Τύποι υπολογισμού δ:

Στρώμα L = τελευταίο στρώμα:

Στρώμα 1=1,...,Ε-1:

δ β \ ΐ ) = / ■ ( ! / , ' ‘ ' { / ) ) " Σ * . . ά + +1)

(23)

3.4.1 Παραλλαγές & Βελτιο'ισεις του βασικού αλγορίθμου

Επειδή ο βασικός αλγόριθμος οτησθοδιάδοσης (BackPropagation), έχει αργή σύγκλαση και όχι τόσο καλά αποτελέσματα έχουν προταθεί και δημιουργηθεί πολ>υθί και διάφοροι αλγόριθμοι οι σημαντικότεροι των οποίων είναι οι εξής :

• Κατάβαση δυναμικού με χρήση της ορμής (momentum)

• Αναζήτηση του ελαχίστου σε μια ευθεία (linear search)

• Μέθοδοι Συζυγούς Κατάβασης Δυναμικού (Conjugate Gradient)

• Παραλλαγές της μεθόδου Newton

• Fuzzy Lattice Neural Network (FLNN)

Στον παρακάτω πίνακα φαίνονται οι αλγόριθμοι που χρησιμοποιήσαμε στα πειράματά μας :

Συντομογραφία Αλγόριθμος Επεξήγηση

TRAINGD Gradient Descent Βασικός αλγόριθμος BackPropagation Χρησιμοποιεί τη μέθοδο κατάβασης δυναμικού

TRAINGDM Gradient Descent

with Momentum

Μέθοδος κατάβασης δυναμικού με χρήση της ορμής

TRA1NRP Resilient

BackPropagation

Αμεση προσαρμογή του βήματος βάρους, βασισμένη στην κλίση της συνάρτησης σφάλματος

TRAINCGF Conjugate Gradient Μέθοδος συζυγούς κατάβασης δυναμικού Fletcher-Powel

3.5 Μειονεκτήματα και Προβλήματα

Παρά τη μεγάλη επιτυχία της μεθόδου οτησθοδιάδοσης, υπάρχουν κάποια μειονεκτήματα του αλγορίθμου αυτού ; •

• Τοτηκά ελάχιστα

Χαρακτηριστικό της μεθόδου της κατάβασης δυναμικού. Εξαρτάται από το πρόβλημα και από την αρχική συνθήκη. Πιθανότητα να συμβεί 10%

• Τιμή ρυθμού εκπαίδευσης

Μεγάλη τιμή = γρήγορη (τύγκλιση, μεγάλες ταλαντώσεις έως και αποτυχία αλγορίθμου Μικρή τιμή = αργή σύγκλιση. Μέθοδος trial and error

• Τιμές βαρών

Αρχικοποίηση βαρών σε μικρές ημές για να αποφύγουμε τον « κ ο ρ ε σ μ ό » των νευρώνων.

Φαινόμενο κατά το οποίο μεταβολή των συνοπτικών βαρών είναι πολύ μικρή.διότι η έξοδος των νευρώνων είναι πολύ κοντά στο όριο της συνάρτησης ενεργοποίησης.

• Ίδια πρότυπα εκπαίδευσης

Κατά τιιν εκπαίδευση ενός ΤΝΔ, τα πρότυπα που παρουσιάζονται πρέπει να είναι σταθερά, και να μην αλλάζουν τιμές. Αν αλλάξουν οι τιμές των προτύπων πρέπει να τα εκπαιδεύσουμε σε καινούργιο δίκτυο.

(24)

4.Υπολογιστικά πειράματα Εισαγωγή

Στο παρών κεφάλαιο υλοποιούμε υπολογιστικά πειράματα αναγνώρισης προτύποιν πάνω σε τρία γνωστά προβλήματα (benchmarks) από την βάση δεδομένων του Πανεπιστημίου University of California, Irvine στο URL: http://www.ics.uci.edu/~mleam/. Τα δύο πρώτα iris database και zoo_database είναι προβλήματα αναγνώρισης προτύποιν (pattern recognition) και περιγράφονται στις παραγράφους 4.1 και 4.2 αντίστοιχα. Το τρίτο πρόβλημα house_database ανήκει στην κατηγορία εκτίμησης συναρτήσεων (function approximation) και περιγράφεται στην παράγραφο 4.3. Και στα τρία προβλήματα χρησιμοποιήσαμε νευρωνικό δίκτυο ευθείας τροφοδότησης (feedforward) με αλγόριθμο εκπαίδευσης την ανάστροφη μετάδοση λάθους (BackPropagation). Σε αυτά τα τρία προβλήματα πειραματιστήκαμε στις βασικές αρχές των νευρωνικών δικτύων (αρχιτεκτονική δομή, συναρτήσεις μεταφοράς, ρυθμός εκπαίδευσης, πρότυπα δεδομένα,) με σκοπό να βρούμε τη βέλτιστη λύση, να καταγράψουμε τα αποτελέσματα και συμπεράσματα μας, και να τα συγκρίνουμε με άλλα, καταξιωμένων ερευνητών. Αξίζει να σημειωθεί ότι εφαρμόζουμε το κάθε αλγόριθμο 10 φορές στα ίδια δεδομένα αλλά με διαφορετικές τιμές αρχικών βαρών έτσι ώστε να εξάγουμε στατιστικά συμπεράσματα σχετικά με την απόδοση του αλγορίθμου.

4.1 Το πρόβλημα iris_plant

Χαρακτηριστικό πρόβλημα αναγνώρισης προτύπων είναι η ταξινόμηση λουλουδιών τύπου iris, η οποία είναι μια από τις πιο γνωστές βάσεις δεδομένων της διεθνούς βιβλιογραφίας αναγνώρισης προτύπων.

Το πρόβλημα χρησιμοποιήθηκε πρώτη φορά το 1936 από τον R. Α. Fisher στο κλασικό του άρθρο []. Το σετ των δεδομένων περιέχει 3 κλάσεις: (1) Iris Setosa, (2) Iris Versicolor, και (3) Iris Virginica, με 50 πρότυπα κάθε μία. Κάθε πρότυπο αποτελείται από 4 χαρακτηριστικά (attributes) τα οποία είναι οι εξής διαστάσεις σε εκατοστά (cm ):

α) το μήκος του σέπαλου (sepal length) β) το πλάτος του σέπαλου (sepal width) γ) το μήκος του πετάλου (petal length) δ) το πλάτος του πετάλου (petal length).

To πρόβλημα κατηγοριοποιεί τα δεδομένα σε τρεις κατηγορίες (κλάσεις):

1. iris setosa = [0, 0, 1]

2. iris versicolor = [0, 1, 0]

3. iris virginica = [1,0, 0]

Επίσης κάθε κατηγορία περιέχει 50 δείγματα, δηλαδή ένα ισόποσο ποσοστό 33,333% για κάθε κατηγορία. Θα υλοποιήσουμε το παρών πρόβλημα με νευρωνικό δίκτυο feedforward backpropagation και θα χρησιμοποιήσουμε 4 διαφορετικούς αλγόριθμους εκπαίδευσης (traigd, traingdm, trainrp, traincgf). Θα δώσουμε ιδιαίτερη βάση στις παραμέτρους που ρυθμίζουν την απόδοση του δικτύου (learning rate, ορμή, αρχιτεκτονική δικτύου κτλ).

(25)

Ξεκινάμε με την δημιουργία ενός νευρωνικού δικτύου ;

»iris_net=newff(minmax(iris_p),[4,10,3],{'tansig','tansig','purelin'},'traingd');

όπου δημιουργούμε ένα δίκτυο feedforward backpropagation με 4 διανύσματα εισόδου με (tansig) συνάρτηση μεταφοράς, 10 νευρώνες στο κρυφό επίπεδο με (tansig) συνάρτηση μεταφοράς και μια έξοδο με γραμμική συνάρτηση μεταφοράς (purelin). Ο αλγόριθμος εκπαίδευσης είναι ο (traingd) με δεδομένα εισόδου τον πίνακα iris_p=[4x99] (4 χαρακτηριστικά με 99 παραδείγματα) και δεδομένα εξόδου τον πίνακα iris_t=[3x99] (διάνυσμα εξόδου).

4.1.1 Εκπαίδευση με TRAINGD

Σχήμα 4.1 Γραφική απεικόνιση του MATLAB για το δίκτυο iris_net

»iris_net.trainParam.show = 25;

iris_net.trainParam.lr = 0.05;

irisnet.trainParam.epochs = 300;

rris_net.trainParam.goal = le-3;

»iris_net=init(iris_net)

» [iris_net,tr]=train(iris_net,iris_p,iris_t);

% Παραμετροποιούμε το δίκτυο

% learning rate =0.05

% max epochs = 300

% error goal = le-03

% αρχικοποιούμε τα w και b

% και το εκπαιδεύουμε με τα πρότυπα δεδομένα Το τελικό αποτέλεσμα της απόδοσης του δικτύου μας στην φάση της εκπαίδευσης ε ίνα ι:

TRAINGD, Epoch 300/300, MSE 0,041942 0.001, Gradient 0.0644211/1 e-OlO κάτι το οποίο βλέπουμε και στο σχήμα

Σχήμα 4.2; Απόδοση δικτύου iris net gd

Referências

Documentos relacionados