Στοιχεία επιβλεπόντων καθηγητών:
Παναγιώτης Ροντογιάννης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών
Άγγελος Χαραλαμπίδης, Επίκουρος Καθηγητής, Τμήμα Πληροφορικής και Τηλεματικής, Χαροκόπειο Πανεπιστήμιο
Καλλιόπη Κωστοπούλου, Υποψήφια Διδάκτωρ, Τμήμα Πληροφορικής, Πανεπιστήμιο Columbia
Περίληψη:
Τα τελευταία έτη, λόγω αξιοσημείωτης προόδου σε υπολογιστικές δυνατότητες, η κοινότητα της μηχανικής μάθησης πειραματίζεται με ολοένα και πιο περίπλοκους αλγορίθμους που έχουν σκοπό την αναγνώριση μοτίβων σε δεδομένα. Υπο αυτές τις συνθήκες, οι σύγχρονες βιβλιοθήκες μηχανικής μάθησης οφείλουν να παρέχουν εκφραστικότητα, προσφέροντας εργαλεία τα οποία καθιστούν εφικτή την υλοποίηση οποιασδήποτε πολύπλοκης νευρωνικής αρχιτεκτονικής. Ταυτόχρονα, προκειμένου η οποιαδήποτε δομή να είναι εκπαιδεύσιμη, η εκάστοτε βιβλιοθήκη πρέπει να υλοποιεί ορισμένους αλγορίθμους βελτιστοποίησης, οι οποίοι, κατά κανόνα, βασίζονται στον υπολογισμό παραγώγων, μέσω μίας διαδικασίας που ονομάζεται Αυτόματη Παραγώγιση. Επιπλέον, οι περισσότερες βιβλιοθήκες αξιοποιούν την παράλληλη επεξεργασία δεδομένων, με σκοπό να επιταχύνουν τις διαδικασίες εκπαίδευσης και συμπερασμού στη μηχανική μάθηση.
Το TensorFlow, συγκεκριμένα, είναι μια βιβλιοθήκη η οποία λειτουργεί βάσει του υπολογιστικού μοντέλου dataflow, που είναι ένα εναλλακτικό μοντέλο, το οποίο διευκολύνει την παραλληλοποίηση υπολογισμών, με σκοπό την ταχύτερη διεκπεραίωση σε κατανεμημένα υπολογιστικά συστήματα. Παρ'όλ'αυτά, η εγγενής φύση αυτού του μοντέλου διαφέρει ριζικά απο το παραδοσιακό μοντέλο του προστακτικού προγραμματισμού. Ως εκ τούτου, η ευκολία χρήσης θυσιάζεται χάριν της απόδοσης, ενώ έχουν γίνει σημαντικές προσπάθειες κάλυψης αυτού του χάσματος, με την εισαγωγή μηχανισμών που επιχειρούν την ενσωμάτωση των δομών dataflow σε προστακτική εκτέλεση. Όμως, παρά τις διάφορες προσπάθειες βελτίωσης της εκφραστικότητας, η βιβλιοθήκη επίσημα δεν υποστηρίζει αναδρομικούς ορισμούς συναρτήσεων, εως και στην έκδοση 2.16. Η αναδρομή, γενικώς, θεωρείται μια εξαιρετικά εύελικτη προγραμματιστική τεχνική, ενω οι περισσότερες γλώσσες προγραμματισμού υψηλού επιπέδου την υποστηρίζουν. Για τον λόγο αυτό πιστεύουμε οτι το TensorFlow, μπορεί να επωφεληθεί εισάγοντας μια τόσο διαδεδομένη λειτουργικότητα στο μοντέλο της.
Η παρούσα πτυχιακή έχει στόχο να παρουσιάσει ένα συστηματικό τρόπο διαχείρισης αναδρομικών ορισμών συναρτήσεων στο TensorFlow, με ενα τρόπο συμβατό αλλά και συνεπή με το υπολογιστικό μοντέλο dataflow, επι του οποίου το TensorFlow βασίζεται. Ένα μεγάλο μέρος της εργασίας αναφέρεται στο πρόβλημα υλοποίησης αλγορίθμου Αυτόματης Παραγώγισης για τέτοιες συναρτήσεις, ώστε αυτές να μπορούν να εφαρμοστούν σε πρακτικές περιστάσεις, στα πλαίσια μηχανικής μάθησης.
Λέξεις-κλειδιά:
dataflow, tensorflow, αναδρομικές συναρτήσεις, αυτόματη παραγώγιση, στατικοί dataflow γράφοι