Το έργο με τίτλο Βιοεμπνευσμένες αρχιτεκτονικές για βαθιά νευρωνικά δίκτυα με δενδριτικές δομές από τον/τους δημιουργό/ούς Pantzekos Lampros διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Λάμπρος Παντζέκος, "Βιοεμπνευσμένες αρχιτεκτονικές για βαθιά νευρωνικά δίκτυα με δενδριτικές δομές", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2023
https://doi.org/10.26233/heallink.tuc.97389
Τα Artificial Neural Networks (ANNs), τα οποία είναι υλοποιημένα σε αρχιτεκτονικές Deep Learning, έχουν επιτυχώς επιλύσει ένα μεγάλο έυρος απαιτητικών προβλημάτων μηχανικής μάθησης. Ωστόσο, προκειμένου να επιτευχθεί μέγιστη απόδοση, απαιτούν υψηλά επίπεδα ενέργειας. Σε αντίθεση, ο εγκέφαλος λειτουργεί σε πολύ χαμηλά επίπεδα ενέργειας. Αντλώντας έμπνευση από τους δενδρίτες στην βιολογία και τους παραπάνω περιορισμούς των ANNs, το Poirazi lab του ΙΜΒΒ-ΙΤΕ, παρουσίασε μία βιοεμπνευσμένη ANN αρχιτεκτονική, η οποία περιλαμβάνει δενδριτική δομή και receptive field. Αναφορικά με τον κανόνα εκμάθησης του μοντέλου, εφαρμόζεται πλήρως backpropagation. Οι παράμετροι εκμάθησης ενημερώνονται μέσω του Adam optimization αλγόριθμου, αντί της κλασικής gradient descent μεθόδου. Με βάση την αρχική τους, υψηλού επιπέδου υλοποίηση του μοντέλου σε Keras, υλοποίηθηκε αυτό σε αυτή τη διπλωματική σε χαμηλότερο επίπεδο σε Numpy, ώστε να αναλυθεί διεξοδικά το μοντέλο και η διεργασία του training. Έπειτα στα πλαίσια αυτής της διπλωματικής, σχεδιάστηκε και υλοποιήθηκε η αρχιτεκτονική της training διεργασίας αυτού του μοντέλου σε FPGA, καθώς και μεταφορτώθηκε αυτή η σχεδίαση στην πλακέτα ZCU 102 της Xilinx. Μέσω αυτής της υλοποίησης σε FPGA, το training επιταχύνθηκε και η κατανάλωση ενέργειας μειώθηκε σημαντικά, εκμεταλλευόμενοι την υψηλή παραλληλοποίηση και την ενεργειακή αποδοτικότητα που παρέχει η FPGA. Συγκεκριμένα, η υλοποίηση μας σε FPGA εκτελεί ένα epoch του training (για το MNIST dataset) σε μόνο 2.3797 δευτερόλεπτα αντί για τα 37 δευτερόλεπτα που απαιτεί η CPU (Keras) και τα 17 δευτερόλεπτα που απαιτεί η GPU (Keras). Επιπλέον, είναι 106.15 φορές πιο αποδοτική ενεργειακά συγκριτικά με την CPU και 56.5 φορές συγκριτικά με την GPU.