ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Παραδείγματα BP
Θέμα 1: Πολύ-επίπεδα Perceptrons Συνάρτηση ενεργοποίησης Όπου:
Θέμα 1: Πολύ-επίπεδα Perceptrons Θέμα 1α. Συμπλήρωση Πίνακα Δείξτε ότι το παραπάνω δίκτυο επιλύει το πρόβλημα XOR συμπληρώνοντας τον παρακάτω πίνακα, όπου x1 και x2 είναι οι είσοδοι του δικτύου x1 x2 y1 y2 y3 1 Θέμα 1.β Περιοχές Απόφασης Δείξτε ότι το παραπάνω δίκτυο επιλύει το πρόβλημα XOR κατασκευάζοντας τις περιοχές απόφασης κάθε νευρώνα του δικτύου.
Συμπλήρωση Πίνακα -1α Νευρώνας 3: Είσοδος (0, 0): Είσοδος (0, 1): Είσοδος (1, 0): Είσοδος (1, 1):
Συμπλήρωση Πίνακα -1α Νευρώνας 4: Είσοδος (0, 0): Είσοδος (0, 1): Είσοδος (1, 0): Είσοδος (1, 1):
Συμπλήρωση Πίνακα -1α Νευρώνας 5: Είσοδος (0, 0): Είσοδος (0, 1): Είσοδος (1, 1):
Συμπλήρωση Πίνακα -1α x1 x2 y3 y4 y5 1
Περιοχές Απόφασης -1β Όπως ξέρουμε κάθε νευρώνας του παραπάνω δικτύου κάνει γραμμικό διαχωρισμό των δειγμάτων στην είσοδο του σε δύο κατηγορίες. Η εξίσωση της γραμμής που διαχωρίζει το χώρο που σχηματίζουν οι είσοδοί του δίνεται από την εξίσωση: Για το νευρώνα 3: Για το νευρώνα 4: Ο νευρώνας 5 κάνει γραμμικό συνδυασμό των περιοχών απόφασης των νευρώνων 3 και 4.
Περιοχές Απόφασης -1β Περιοχή απόφασης που δημιουργεί ο νευρώνας 3
Περιοχές Απόφασης -1β Περιοχή απόφασης που δημιουργεί ο νευρώνας 4
Περιοχές Απόφασης -1β Περιοχή απόφασης που δημιουργεί ο νευρώνας 5
Θέμα 2: Ο Αλγόριθμος Πίσω Διάδοσης του Λάθους για MLP Συνάρτηση ενεργοποίησης
Θέμα 2: Ο Αλγόριθμος Πίσω Διάδοσης του Λάθους για MLP Σε κάποια στιγμή εκπαίδευσής του τα βάρη των συνδέσεων μεταξύ των κόμβων έχουν πάρει τις παρακάτω τιμές: w13=0.1, w14=0.2, w23=0.2, w24=0.1, w35=-0.1 και w45= -0.1. Να υπολογιστεί η έξοδος του ΤΝΔ για το πρότυπο [0.0,1.0]. Να βρεθούν οι νέες τιμές των βαρών w για το αμέσως επόμενο κύκλο εκπαίδευσης βάσει της μεθόδου οπισθοδιάδοσης του λάθους. Με τις νέες τιμές των βαρών να υπολογίσετε εκ νέου την έξοδο του ΤΝΔ για το πρότυπο [0.0,1.0]. Τι παρατηρείτε; Ακρίβεια: 3 δεκαδικά ψηφία.
Υπολογισμός εξόδου δικτύου – 2α Άθροισμα στο κόμβο 3: (w13*0.0)+ (w23*1.0)=0.1*0.0+0.2*1.0=0.2 Ενεργοποίηση στον κόμβο 3: Άθροισμα στο κόμβο 4: (w14*0.0)+ (w24*1.0)=0.2*0.0+0.1*1.0=0.1 Ενεργοποίηση στον κόμβο 4: S(0.1)=0.525 Άθροισμα στο κόμβο 5: (w35*0.550)+ (w45*0.525)=-0.1*0.550-0.1*0.525= -0.108 Ενεργοποίηση στον κόμβο 5: S(-0.108)=0.473 Άρα η έξοδος του ΤΝΔ με τα δοθέντα βάρη είναι 0.473
Υπολογισμός βαρών – 2β Ανανέωση των συνδέσεων w45 και w35 Η έξοδος του ΤΝΔ έπρεπε να ήταν 1.0 για το πρότυπο εισόδου [0.0,1.0]. Άρα το σφάλμα στην έξοδο είναι (1.0-0.473)=0.527 Υπολογισμός βαρών: Για το νευρώνα στο επίπεδο εξόδου ισχύει: Για το πρόβλημά μας όπου έχουμε ένα μόνο πρότυπο έχουμε: όπου t = target =1.0 και o=output=0.473. Συνεπώς δo=0.131
Υπολογισμός βαρών – 2β Υπολογισμός νέων τιμών w45 και w35 Όπου: n=1.0 είναι ο ρυθμός εκμάθησης ο3 είναι η ενεργοποίηση της S στον κόμβο 3 και ο4 είναι η ενεργοποίηση της S στον κόμβο 4. Άρα: w35_new= – 0.028 w45_new= – 0.031
Υπολογισμός βαρών – 2β Ανανέωση συνδέσεων w13, w14, w23 και w24 Για τους νευρώνες στο κρυφό επίπεδο ισχύει: Επειδή εδώ έχουμε ένα κόμβο εξόδου, σε κάθε νευρώνα του κρυφού επιπέδου έχουμε μόνο μια σύνδεση με την έξοδο. Άρα η παραπάνω σχέση απλοποιείται (δεν έχουμε το άθροισμα) και γίνεται: Οπότε: δ3=ο3*(1-ο3)*(δο)*w35=0.550*(1-0.550)* 0.131 *(-0. 1) = – 0.003 και δ4=ο4*(1-ο4)*(δο)*w45=0.525*(1-0.525)* 0.131 *(-0. 1)= – 0.003.
Υπολογισμός βαρών – 2β w14_new=0.2 w23_new=0.197 w24_new=0.097 Υπολογισμός νέων τιμών w13, w14, w23 και w24 Όπου: n=1.0 είναι ο ρυθμός εκμάθησης, i1=0.0 και i2=1.0 είναι οι είσοδοι του ΤΝΔ. Άρα: w13_new=0.1 w14_new=0.2 w23_new=0.197 w24_new=0.097
Υπολογισμός νέας εξόδου δικτύου – 2γ Άθροισμα στο κόμβο 3: (w13_new*0.0)+ (w23_new*1.0)=0.1*0.0+0.197*1.0=0.197 Ενεργοποίηση στον κόμβο 3: Άθροισμα στο κόμβο 4: (w14_new*0.0)+ (w24_new*1.0)=0.2*0.0+0.097*1.0=0.097 Ενεργοποίηση στον κόμβο 4: S(0.097)=0.524
Υπολογισμός νέας εξόδου δικτύου – 2γ Άθροισμα στο κόμβο 5: (w35_new*0.549)+ (w45_new*0.525)=-0.028*0.549-0.031*0.524 = – 0.031 Ενεργοποίηση στον κόμβο 5: S(-0.031)=0.492 Άρα η έξοδος του ΤΝΔ με τα νέα βάρη είναι 0.492 Παρατηρούμε ότι με τον ένα κύκλο εκπαίδευσης που υπολογίσαμε το ΤΝΔ αρχίζει να μαθαίνει το πρόβλημα XOR για το πρότυπο [0.0,0.1] αφού η έξοδός του «πλησιάζει» την επιθυμητή τιμή που είναι το 1.0. Πράγματι το νέο σφάλμα είναι (1-0.492) που είναι μικρότερο από το σφάλμα (1-0.473) που προέκυψε πριν από το κύκλο εκπαίδευσης του νευρωνικού μας δικτύου.