Αρχιτεκτονικές FPGA για βαθιά συνελικτικά νευρωνικά δίκτυα ταξινόμησης δορυφορικών εικόνων - Ρέππας Χρυσοβιτσινός, Δημήτριος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Μικροϋπολογιστών και Ψηφιακών Συστημάτων VLSI, 2018)
Την τελευταία δεκαετία τα Συνελικτικά Νευρωνικά Δίκτυα (ΣΝΔ) αναδείχθηκαν ως μία από τις καλύτερες προσεγγίσεις για την αντιμετώπιση ορισμένων προκλήσεων της Όρασης Υπολογιστών, όπως η ταξινόμηση εικόνων και ο εντοπισμός αντικειμένων σε αυτές. Για την αξιοποίηση των ΣΝΔ σε ένα πλήθος εφαρμογών απαιτούνται υψηλών επιδόσεων και χαμηλής κατανάλωσης ενέργειας υπολογιστικά συστήματα. Στην κατεύθυνση αυτή, η τεχνολογία των FPGA αποτελεί έναν εξαιρετικό υποψήφιο για την υλοποίηση ΣΝΔ σε ενσωματωμένα συστήματα. Αποφασίσαμε να διερευνήσουμε FPGA αρχιτεκτονικές για Συνελικτικά Νευρωνικά Δίκτυα ταξινόμησης δορυφορικών εικόνων, έχοντας κατά νου τις ανάγκες της επιστημονικής κοινότητας της Τηλεπισκόπησης. Η παρούσα διπλωματική εργασία παραδίδει (i) FPGA αρχιτεκτονικές σχεδιασμένες σε VHDL για την υλοποίηση Συνελικτικών Νευρωνικών Δικτύων χρησιμοποιώντας αποκλειστικά την μνήμη της προγραμματιζόμενης λογικής και (ii) το "Modified Cifar-10 Full", ένα βαθύ ΣΝΔ λίγων bit, κατασκευασμένο και εκπαιδευμένο με το Caffe framework σε εικόνες του SAT-6 airborne dataset. Το συγκεκριμένο σύνολο δεδομένων αποτελείται από εικόνες των 28x28 εικονοστοιχείων, χωρικής ακρίβειας του ενός μέτρου, οι οποίες ανήκουν σε 6 κατηγορίες: άγονη γη, δέντρα, λιβάδια, δρόμοι, κτήρια και υδάτινες μάζες. Το Modified Cifar-10 Full ΣΝΔ που καταθέτουμε, επιτυγχάνει να ταξινομήσει σωστά τις εικόνες του SAT-6 airborne dataset με top-1 ακρίβεια 94,89%, χρησιμοποιώντας 8-bit για τα βάρη του δικτύου και 4-bit για τα κανάλια εισόδων και εξόδων εντός του. Η πλήρης εκτέλεση του Modified Cifar-10 Full ΣΝΔ πραγματοποιείται αποκλειστικά στην προγραμματιζόμενη λογική του FPGA, χωρίς την χρήση εξωτερικής μνήμης ή την διαμεσολάβηση μιας CPU. Τοποθετημένη στη συσκευή Xilinx Zynq Z-7020 SoC, η αρχιτεκτονική που σχεδιάσαμε λειτουργεί στα 100 MHz, μπορεί να ταξινομήσει 4650 εικόνες το δευτερόλεπτο και καταναλώνει 1,76 Watt ενέργεια, επιτυγχάνοντας x377 επιτάχυνση στο ρυθμό ταξινόμησης εικόνων σε σχέση με την εκτέλεση του ΣΝΔ αποκλειστικά στον ενσωματωμένο Cortex A9-Arm επεξεργαστή. Σε σύγκριση με HLS υλοποιήσεις επί της ίδιας συσκευής, η σχεδίασή μας επιτυγχάνει x2,4 επιτάχυνση. Τέλος, συγκρινόμενη με το Fathom Neural Compute Stick της Movidius που βασίζεται στο Myriad Visual Processing Unit, η σχεδίασή μας επί του Xilinx Zynq Z-7020 SoC επιτυγχάνει x16 υψηλότερο ρυθμό ταξινόμησης.