Please use this identifier to cite or link to this item: http://hdl.handle.net/10889/14680
Title: Αλγόριθμοι μηχανικής/βαθέας μηχανικής μάθησης ή/και υλοποιήσεις σε υλικό/λογισμικό
Other Titles: Algorithms of machine/deep learning and/or hardware/software implementations
Authors: Μπουλασίκης, Μιχαήλ
Keywords: Μηχανική μάθηση
Υπολογιστική όραση
Ενσωματωμένα συστήματα
Συνελικτικά νευρωνικά δίκτυα
Συστοιχία επιτόπια προγραμματιζόμενων πυλών
Keywords (translated): Deep learning
Computer vision
Embedded systems
FPGA
Convolutional neural networks
Abstract: Αυτή η εργασία παρουσιάζει μια απόπειρα να αξιοποιηθεί ένα κομμάτι της δύναμης που έχουν οι νέοι αλγόριθμοι Computer Vision σε ένα ενσωματωμένο σύστημα το οποίο περιέχει έναν επεξεργαστή ARM χαμηλής κατανάλωσης και προγραμματιζόμενη λογική υπό τη μορφή FPGA. Ο πυρήνας αυτής της εργασίας εστιάζει στην ανακάλυψη και την μέτρηση των βασικών σημείων συμφόρησης του συστήματος και το πόσο βοηθάνε βελτιστοποιήσεις σε επίπεδο hardware. Αρχικά παρουσιάζεται μια μικρή αλλά σημαντική εισαγωγή στις έννοιες-κλειδιά που διαπραγματεύεται η εργασία όπως η Μηχανική Μάθηση και τα Ενσωματωμένα Συστήματα. Ύστερα γίνεται μια πλήρη θεωρητική περιγραφή των βελτιστοποιήσεων μαζί με ανάλυση πρακτικών θεμάτων. Δίνεται έμφαση στις αλγοριθμικές βελτιστοποιήσεις, στον παραλληλισμό, στον κβαντισμό των δεδομένων και την διαχείριση της μνήμης του συστήματος. Τέλος, παρουσιάζονται τα συμπεράσματα και οι πρακτικές μετρήσεις. Κλείνοντας, καταλήγουμε στο συμπέρασμα ότι κύριο εμπόδιο της ταχύτητας του συστήματος είναι η μνήμη και ότι η σχεδίαση ειδικού υλικού και πολυεπίπεδων βελτιστοποιήσεων μπορούν να χρησιμοποιηθούν προκειμένου να ελαχιστοποιηθεί ο χρόνος εκτέλεσης, η χρήση μνήμης και πόρων καθώς και η κατανάλωση ισχύος του συστήματος.
Abstract (translated): This work presents an attempt to efficiently package some of the problem solving power of modern computer vision algorithms in an embedded system, in particular the design and optimization of a Convolutional Neural Network layer in an embedded environment, which includes a low-power CPU and programmable logic in the form of an FPGA. The core of this thesis focuses on determining and measuring the key bottlenecks of the system as well as the speed-ups each optimization achieves. First, there is a short but necessary review of key concepts such as machine learning and embedded systems. Then, the theoretical background for each optimization is introduced in detail along with practical considerations. Emphasis is given on algorithmic speed-ups, parallelism, data quantization and memory management. Finally, the conclusions as well as the measurements are presented along with examples. We conclude that the primary bottleneck of a CNN algorithm implemented in an embedded system is memory and that hardware design and optimizations can be used to improve the throughput and efficiency of CNNs to a varying extend while maintaining power consumption and resource utilization to a minimum.
Appears in Collections:Τμήμα Ηλεκτρολ. Μηχαν. και Τεχνολ. Υπολογ. (ΔΕ)

Files in This Item:
File Description SizeFormat 
BoulasikisThesisGreek.pdf14.38 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.