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

 

7.9     ΕΝΑ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΣ ΕΡΓΑΛΕΙΟ ΥΛΟΠΟΙΗΣΗΣ

 

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

 

·     Προσανατολισμένο στους νευρώνες: Μια βασική κλάση νευρώνα έχει υλοποιηθεί, συμπεριλαμβάνοντας σαν μέλη ιδιότητες όλα τα μεγέθη (βαθμωτά και διανύσματα) που χρειάζονται από τους τοπικούς EKF και ALF αλγορίθμους, και όλες οι λειτουργίες που θα ‘πρεπε να εκτελεί ένας νευρώνας έχουν υλοποιηθεί σαν μέλη μέθοδοι της κλάσης.

 

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

 

·      Δυναμική διάθεση: Όλη η μνήμη που απαιτείται από τα διανύσματα ή τους πίνακες διατίθεται σε κάθε κόμβο δυναμικά, δίνοντας ανάμεσα στ’ άλλα οφέλη, τη δυνατότητα να αλλάζει το μέγεθος της δομή του κάθε νευρώνα ή του δικτύου κατά το χρόνο τρεξίματος. Αυτό είναι πολύ χρήσιμο για τη δυναμική βελτιστοποίηση της δομής του δικτύου (μέγεθος).

 

·      Αναδρομικοί υπολογισμοί στους νευρώνες: Κάθε νευρώνας συνδέεται με τον επόμενο νευρώνα του ίδιου επιπέδου. Μ’ αυτόν τον τρόπο αφού εκτελέσει έναν τοπικό υπολογισμό (δηλαδή υπολογισμό τοπικού λάθους), ενεργοποιεί τον επόμενο νευρώνα να εκτελέσει τον ίδιο τοπικό υπολογισμό.

 

·      Modular και γενικού σκοπού: Η υλοποίηση της εξομοίωσης ενός προβλήματος ( δηλαδή εξομοίωση ενός AR μοντέλου ή δυαδικών πυλών) αποτελείται από μια γενικού σκοπού βιβλιοθήκη (που περιέχει όλες τις καθολικές μεθόδους που χρησιμοποιούνται για κάθε πρόβλημα και τις υλοποιήσεις των αλγορίθμων EKF και ALF) και τμήματα (modules) που είναι προσανατολισμένα σε ένα πρόβλημα και περιέχουν μεθόδους εξειδικευμένες γι’ αυτό το πρόβλημα.

 

·      Προσδιορισμός παραμέτρων και δομής νευρωνικού δικτύου κατά το χρόνο εκτέλεσης: Ο αριθμός των επιπέδων, ο αριθμός των νευρώνων σε κάθε επίπεδο δίνεται από το χρήστη κατά τη διάρκεια του χρόνου εκτέλεσης ( δεν χρειάζεται μεταγλώττιση). Επίσης πολλές άλλες παράμετροι (όπως ο αριθμός των κύκλων, ο παράγοντας λήθης (forgetting factor), το αρχικό διαγώνιο στοιχείο του πίνακα P, που χρησιμοποιείται στο ΜΕΚΑ, EBP κ.τ.λ.), ορίζονται από το χρήστη κατά το χρόνο τρεξίματος.

 

·      Δεδομένα και Αποτελέσματα της προσομοίωσης από / σε αρχεία: Αυτά τα αρχεία είναι αναγνώσιμα από λογιστικά προγράμματα (Excel) έτσι ώστε να παράγονται γράφοι για την αναπαράσταση.

 

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