ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ 

 

7.7     ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΑΠΟΨΕΙΣ

 

7.7.1     ΥΠΟΛΟΓΙΣΤΙΚΟ ΕΡΓΟ ΤΗΣ ΘΕΜΕΛΕΙΩΔΟΥΣ ΝΕΥΡΩΝΙΚΗΣ ΜΟΝΑΔΑΣ ΕΠΕΞΕΡΓΑΣΙΑΣ

 

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

 

Σ’ αυτή την ενότητα ασχολούμαστε πρώτα με τις υπολογιστικές απόψεις του νευρώνα εξόδου που χρησιμοποιείται για την υλοποίηση ενός AR μοντέλου τάξης τ. Είναι η θεμελιώδης μονάδα επεξεργασίας που δείχνεται στο σχήμα 1. Ο χώρος αποθήκευσης που χρειάζεται είναι το διάστημα μνήμης που παραχωρείται στα διανύσματα w(n/τ), k(n/τ), r(n/τ), διάστασης (τ+1)C1 το καθένα και ο (τ+1)C(τ+1)-διάστασης πίνακας συνδιασπορών P(n/τ). Επίσης, διατηρεί μερικά βαθμωτά μεγέθη όπως η γραμμική/μη-γραμμική έξοδος, το λάθος, η διεργασία pz(n/n-1;τ), η παράγωγος της εξόδου, η πιθανότητα (probability) και η πιθανότητα (likelihood). Στην περίπτωση του ΜΕΚΑ αλγορίθμου, αποθηκεύεται ένα  (τ+1)C1-διάστασης διάνυσμα q(n/τ) των αποδοτικών (efficient) εισόδων. Έτσι, ο μέγιστος χώρος αποθήκευσης για έναν νευρώνα εξόδου τάξης τ είναι:

(τ+1)2 + 4(τ+1) + 6   στοιχεία μνήμης

 

Καθώς, τη χρονική στιγμή n ο υπολογισμός των διανυσμάτων k(n/τ), r(n/τ), q(n/τ) δεν απαιτεί τις προηγούμενες τιμές της χρονικής στιγμής n-1, αποθηκεύονται στη βοηθητική μνήμη. Κάνοντας αυτή την υπόθεση, θα μπορούσαμε να μειώσουμε το χώρο αποθήκευσης του νευρώνα χρησιμοποιώντας τους παρακάτω τρόπους με κάποιο κόστος:

 

·     Αυτά τα διανύσματα μπορούν να αντικατασταθούν από καθολικά διανύσματα μεγίστου μήκους (M+1)C1 και κάθε νευρώνας με τάξη τ μοιράζεται ένα (τ+1)C1 διάστασης τμήμα από αυτούς. Αυτό θα μειώσει το χώρο αποθήκευσης του νευρώνα σε (τ+1)2 + (τ+1) + 6 στοιχεία μνήμης αλλά θα κάνει το νευρώνα ανίκανο να λειτουργεί ταυτόχρονα με τους άλλους, κάνοντάς τον έτσι ακατάλληλο για παράλληλη επεξεργασία.

 

·     Αυτά τα διανύσματα μπορούν να αντικατασταθούν από τοπικές (που δεν συμπεριλαμβάνονται στη δομή του νευρώνα) δυναμικές μεταβλητές που διαθέτονται και ελευθερώνονται σε κάθε χρονικό βήμα. Αυτό θα μειώσει το χώρο αποθήκευσης του νευρώνα σε (τ+1)2 + (τ+1) + 6 αλλά θα υπερφορτώσει τους αλγορίθμους μας με πολλές λειτουργίες ανάθεσης μνήμης για κάθε βήμα.

 

·     Υποθέτοντας ότι ο πίνακας P(n/τ) δεν είναι συμμετρικός, χρειάζεται ((τ+1)C(τ+2))/2 στοιχεία μνήμης. Σ’ αυτή την περίπτωση ο χώρος αποθήκευσης του νευρώνα μπορεί να μειωθεί σε ((τ+1)C(τ+2))/2 + 4(τ+1) + 6 στοιχεία μνήμης.

 

Στον πίνακα 4, δίνουμε τις όψεις του χρόνου επεξεργασίας, με τη μορφή συνολικών υπολογισμών ανά τύπο υπολογισμού, που εκτελούνται στον νευρώνα εξόδου τ ανά χρονική στιγμή. Οι αλγόριθμοι που λαμβάνονται υπ’ όψιν είναι ο EBP και ο MEKA.

 

ΤΥΠΟΣ ΥΠΟΛΟΓΙΣΜΟΥ

EBP

MEKA

Πρόσθεση- Αφαίρεση

3(τ+1)2 + 3(τ+1) + 1

3(τ+1)2 + 3(τ+1) + 2

Πολλαπλασιασμός- Διαίρεση

4(τ+1)2 + 5(τ+1) + 4

4(τ+1)2 + 6(τ+1) + 2

Συναρτήσεις Τετράγωνου - Τετρ. ρίζας

2

2

Εκθετική Συνάρτηση

1

1

Συνάρτηση Υπερβολικής Εφαπτομένης

0

1

    ΠΙΝΑΚΑΣ 4.    Ομαδικοί υπολογισμοί που εκτελούνται στο νευρώνα τ, ανά χρονικό βήμα.

 

Σημειώνουμε ότι η συνάρτηση ενεργοποίησης (activation function) φ που χρησιμοποιείται, είναι είναι η συνάρτηση υπερβολικής εφαπτομένης φ(x)= tanh(x),

με παράγωγο φ΄(x) = 1- φ2(x) για τον αλγόριθμο ΜΕΚΑ.

 

Αναλυτικά, καθένα από τα βήματα 1-5 (της ενότητας 3.5) που εκτελούνται στη φάση εκπαίδευσης του νευρώνα τ, απεικονίζονται στον ακόλουθο πίνακα:

 

ΥΠΟΛΟΓΙΣΜΟΣ ΤΟΥ

EBP

MEKA

Γραμμική έξοδος:    x(n/n-1;τ) = wT(n-1/τ) u(n/τ)

(τ+1) πολλ/μοι

(τ+1) Προσθέσεις

(τ+1) πολλ/μοι

(τ+1) Προσθέσεις

Μη γραμμική έξοδος:  y(n/n-1;τ) = φ (x(n/n-1;τ))

 

1       φ

Γραμμικό λάθος:          e(n/τ) = y(n) - x(n/n-1;τ)

1      Αφαίρεση.

 

Μη γραμμικό λάθος:    e(n/τ) = y(n) - y(n/n-1;τ)

 

1       Αφαίρεση.

Παράγωγος μη γραμμικής εξόδου:

                             y(n/n-1;τ)= φ’(φ(y(n/n-1;τ)) )

 

 

1       φ’

Ενεργές (effective) είσοδοι:   q(n/τ) =  y(n/n-1;τ) u(n/τ)

 

(τ+1) Πολλ/μοι

Πραγματικές είσοδοι:         q(n/τ) = u(n/τ)

-

 

 

                             r(n/τ) = λ-1 P(n/τ) q(n/τ)

(τ+1)2 Πολλ/μοι

(τ+1)2 Πρόσθεση

(τ+1)  Διαιρέσεις

(τ+1) 2 Πολλ/μοι

(τ+1)2 Πρόσθεση

(τ+1)  Διαιρέσεις

                     pz(n/n-1;τ) = R + qT(n-1/τ) r(n/τ)

(τ+1)  Πολλ/μοι

(τ+1)  Πρόσθεση

(τ+1)  Πολλ/μοι

(τ+1)  Πρόσθεση

Κέρδος  Kalman

                             k(n/τ) = r(n/τ) / pz(n/n-1;τ)

(τ+1)  Διαιρέσεις

(τ+1)  Διαιρέσεις

Ενημέρωση διανύσματος βαρών

                     w(n/n;τ) = w(n/n-1;τ) - e(n/τ) k(n/τ)

(τ+1)  Πολλ/μοι

(τ+1)  Αφαιρέσεις.

(τ+1)  Πολλ/μοι

(τ+1) Αφαιρέσεις.

                             R(n/τ) = PT(n/τ) q(n/τ)

(τ+1)2 Πολλ/μοι

(τ+1)2 Πρόσθεση

(τ+1) 2 Πολλ/μοι

(τ+1)2 Πρόσθεση

Πίνακας συνδιασπορών (1)

                            Tmp = k(n/τ) rT(n/τ)

(τ+1)2 Πολλ/μοι

(τ+1)2 Πολλ/μοι

Πίνακας συνδιασπορών (2)

                            P(n/τ) = λ-1 P(n/τ) - Tmp

(τ+1)2 Διαιρέσεις

(τ+1)2 Αφαιρέσεις

(τ+1)2 Διαιρέσεις

(τ+1)2 Αφαιρέσεις

Τιμή πιθανότητας     (1)

                             Tmp1 = ( pz(n/n-1;τ) )-1/2

1 Τετρ. Ρίζα

1 Διαίρεση

1 Τετρ. Ρίζα

1 Διαίρεση

Τιμή πιθανότητας    (2)

                      Tmp2 = (-e(n/τ)) / (2*pz(n/n-1;τ))

1 Πολλ/μοι

1 Διαίρεση

1 Πολλ/μοι

1 Διαίρεση

 Τιμή πιθανότητας   (3)

                              L(n/n;τ) = Tmp1 exp(Tmp2)

1 exp

1 Πολλ/μοι

1 exp

1 Πολλ/μοι

    ΠΙΝΑΚΑΣ 5.    Εκτελούμενοι υπολογισμοί στο νευρώνα τ, ανά βήμα.

 

Σημειώστε ότι ο υπολογισμός της τιμής της πιθανότητας (Likelihood value) σχετίζεται με τον ALF αλγόριθμο. Ο αναγνώστης μπορεί να βρει περισσότερες λεπτομέρειες, ιδίως για παραλληλισμό χαμηλού επιπέδου, στην αναφορά [41].

 

ΑΡΧΗ ΚΕΦΑΛΑΙΟΥ