Ανάπτυξη Εφαρμογής για τη Διάταξη και Αξιολόγηση Πολλαπλών Βαθιών Νευρωνικών Δικτύων σε Κινητές Συσκευές - Application Development for the Layout and Evaluation of Multiple Deep Neural Networks (multi-DNN) Execution in Mobile Devices (1 Άτομο)
Διπλωματική Εργασία


Επιβλέπων Ιάκωβος Βενιέρης
Συσχετιζόμενο μάθημα Δίκτυα Ευρείας Ζώνης

Περιγραφή

Τα τελευταία χρόνια, η ταχεία ανάπτυξη των κινητών συσκευών σε συνδυασμό με την εξαιρετική επίδοση των βαθιών νευρωνικών δικτύων (DNNs) στην επίλυση πολύπλοκων προβλημάτων (κατηγοριοποίηση εικόνας, εντοπισμός αντικειμένων, αναγνώριση φωνής, μοντελοποίηση κειμένου) έχουν οδηγήσει στην ανάπτυξη ευφυών εφαρμογών (smart mobile apps) που σέβονται την ιδιωτικότητα του χρήστη και παρέχουν την απαιτούμενη ποιότητα υπηρεσίας.

Με τον αυξανόμενο ρυθμό διαθεσιμότητας εφαρμογών που βασίζονται σε Βαθιά Μάθηση, οι κινητές συσκευές καλούνται να εκτελέσουν πολλαπλά νευρωνικά δίκτυα ταυτόχρονα, καταλήγοντας σε ένα multi-DNN σύστημα. Χαρακτηριστικές εκφάνσεις multi-DNN συστημάτων αποτελούν είτε η ταυτόχρονη εκτέλεση ανεξάρτητων εφαρμογών, όπως δύο εφαρμογές αναγνώρισης φωνής και οπτικής αναγνώρισης άγχους, είτε εφαρμογές που χρησιμοποιούν πολλαπλά διασυνδεδεμένα μοντέλα, όπως ένα μοντέλο για τον εντοπισμό προσώπων, ακολουθούμενο από ένα μοντέλο για την ταυτοποίηση του κάθε εντοπισμένου προσώπου.

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

Σκοπός της παρούσας διπλωματικής εργασίας είναι η ανάπτυξη μιας εφαρμογής η οποία θα εκτελεί, μετράει και αξιολογεί την απόδοση multi-DNN συστημάτων σε κινητές συσκευές, και η σχετική ανάλυση και εξαγωγή συμπερασμάτων. Απαραίτητα χαρακτηριστικά της εφαρμογής αποτελούν η μεταφερσιμότητα σε ετερογενείς κινητές συσκευές (π.χ. με διαφορετικούς επεξεργαστές, υπολογιστική ισχύ, χωρητικότητα μνήμης, κ.α.), η κλιμακωσιμότητα ως προς των αριθμό νευρωνικών δικτύων και ο υπολογισμός πολλαπλών μετρικών απόδοσης (π.χ. χρόνος απόκρισης, διαπερατότητα, αποτύπωμα μνήμης).

Απαραίτητες βασικές γνώσεις: Python, Android mobile app development (Java), Deep Learning frameworks (TensorFlow).