Υλοποίηση συστήματος μηχανικής μάθησης για συστάσεις ταινιών με παράλληλο προγραμματισμό σε OpenACC και αξιολόγηση της επιτάχυνσής του σε βάσεις δεδομένων υψηλού όγκου

Η παρούσα Μεταπτυχιακή Διπλωματική Εργασία πραγματεύεται τα Συστήματα Συστάσεων (Recommender Systems), τα οποία έχουν διαδοθεί αρκετά τα τελευταία χρόνια, ειδικά στο ηλεκτρονικό εμπόριο (e-commerce). Τα συστήματα αυτά προτείνουν στον εκάστοτε χρήστη, κατά τη διάρκεια της αναζήτησής του για ένα προϊό...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Ρήγα, Σταυρούλα
Άλλοι συγγραφείς: Δερματάς, Ευάγγελος
Μορφή: Thesis
Γλώσσα:Greek
Έκδοση: 2019
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/12867
Περιγραφή
Περίληψη:Η παρούσα Μεταπτυχιακή Διπλωματική Εργασία πραγματεύεται τα Συστήματα Συστάσεων (Recommender Systems), τα οποία έχουν διαδοθεί αρκετά τα τελευταία χρόνια, ειδικά στο ηλεκτρονικό εμπόριο (e-commerce). Τα συστήματα αυτά προτείνουν στον εκάστοτε χρήστη, κατά τη διάρκεια της αναζήτησής του για ένα προϊόν στο Διαδίκτυο, και άλλα αντικείμενα-προϊόντα, τα οποία πιθανώς να τον ενδιαφέρουν. Για τις συστάσεις αυτές, τα συστήματα αξιοποιούν είτε τη συνάφεια του προτεινόμενου προϊόντος με άλλα προϊόντα που ενδιέφεραν τον τρέχοντα χρήστη στο παρελθόν, είτε τη συνάφεια των προτιμήσεων του τρέχοντος χρήστη με τις προτιμήσεις άλλων χρηστών. Το σύστημα που υλοποιείται στην παρούσα ΜεΔΕ δεν προγραμματίζεται ρητώς για αυτές τις συστάσεις, αλλά αξιοποιεί αλγορίθμους μηχανικής μάθησης, με σκοπό να προβλέψει τα αντικείμενα που πιθανώς να ενδιαφέρουν και να προτείνει αυτά με τη μεγαλύτερη σχετικότητα. Το πρόβλημα που παρουσιάζεται στα παραπάνω συστήματα είναι οι υψηλές απαιτήσεις σε υπολογιστική ισχύ για την εξαγωγή ενός σχετικά ακριβούς αποτελέσματος, που έχει ως αποτέλεσμα την καθυστέρηση στην εξαγωγή συστάσεων, ειδικά σε real-time συστήματα που εξυπηρετούν καθημερινά εκατομμύρια χρήστες. Έτσι, αν και τα Recommender Systems δημιουργήθηκαν για να διευκολύνουν τους χρήστες στις διάφορες διαδικασίες λήψης απόφασης σε περιπτώσεις υπερφόρτωσης πληροφορίας, παρουσιάζονται συχνά προβλήματα στην προσβασιμότητα, διαχείριση και επεξεργασία αυτών των δεδομένων υψηλού όγκου, ειδικά στην εποχή των «Μεγάλων Δεδομένων» (Big Data). H λύση που συχνά επιλέγεται και επιλέχθηκε και στην παρούσα εργασία, είναι η παράλληλη επεξεργασία των δεδομένων αυτών, με τη μεταφορά υπολογιστικού φόρτου από την κεντρική μονάδα επεξεργασίας στην κάρτα γραφικών του κάθε υπολογιστή (GPU), η οποία αν αξιοποιηθεί μπορεί να φέρει θεαματικά αποτελέσματα στην επιτάχυνση των συστημάτων συστάσεων. Πιο συγκεκριμένα, στην εργασία αυτή αρχικά γίνεται μελέτη των αλγοριθμικών μεθόδων μηχανικής μάθησης για συστήματα συστάσεων και επιλέγεται η μέθοδος που θα χρησιμοποιηθεί. Έπειτα, το σύστημα υλοποιείται σε γλώσσα προγραμματισμού C για την αξιολόγηση της ακρίβειας των αποτελεσμάτων και κυρίως για τη μέτρηση της ταχύτητας του, ενώ ύστερα υλοποιείται σε μια πλατφόρμα παράλληλου προγραμματισμού. Συγκεκριμένα, αξιοποιείται η καινούρια γλώσσα παράλληλου προγραμματισμού OpenACC, με στόχο να αξιοποιηθούν και οι υπολογιστικοί πόροι της GPU, πέραν αυτών της CPU. Στο τέλος, αξιολογείται η επιτάχυνση του συστήματος, σε βάσεις δεδομένων υψηλού όγκου με κινηματογραφικές ταινίες.