Εκπαιδεύοντας έναν υπολογιστή να παίξει Super Mario για το υπόλοιπο της ζωής του

Αναστασίου, Γεωργία (2022-01)

Thesis

Στις μέρες μας, μπορούμε να πούμε με βεβαιότητα ότι έχει αναπτυχθεί η επιστήμη της Τεχνητής Νοημοσύνης (ΑΙ). Η χρήση της έχει βοηθήσει όχι μόνο στην καθημερινότητά μας αλλά και σε πιο εξειδικευμένους τομείς. Χάρη σε αυτό έχουν αναπτυχθεί πολλοί κλάδοι της επιστήμης, όπως η Ιατρική, στις μεταφορές, στην Εκπαίδευση, στην Ασφάλεια, στην Γεωργία, στην Ρομποτική, στα Οικονομικά, στην Ενέργεια, στα παιχνίδια κλπ. Πολλοί χρησιμοποιούν τις μεθόδους του “deep learning” και του “reinforcement learning” καθώς και των νευρωνικών δικτύων (neural networks) και γενετικών αλγορίθμων (genetic algorithms) για την επίτευξη των στόχων τους. Οι γενετικοί αλγόριθμοι είναι μια μέθοδος βελτιστοποίησης που περιλαμβάνει επαναληπτικές διαδικασίες αναζήτησης που βασίζονται σε μια αναλογία με τη διαδικασία της φυσικής επιλογής και της εξελικτικής γενετικής. Τα νευρωνικά δίκτυα είναι η χρήση διαφορετικών αλγορίθμων για την κατανόηση των σχέσεων σε ένα δεδομένο σύνολο δεδομένων για την παραγωγή των καλύτερων αποτελεσμάτων από τις μεταβαλλόμενες εισόδους. Το δίκτυο εκπαιδεύεται κατάλληλα ούτως ώστε να παράγει τα επιθυμητά αποτελέσματα και χρησιμοποιούνται διαφορετικά μοντέλα για την πρόβλεψη των μελλοντικών αποτελεσμάτων με τα δεδομένα. Στην ουσία, οι κόμβοι διασυνδέονται έτσι ώστε να λειτουργεί σαν ανθρώπινος εγκέφαλος. Για την ομαδοποίηση και την ταξινόμηση των δεδομένων χρησιμοποιούνται διαφορετικοί συσχετισμοί και κρυφά μοτίβα σε ακατέργαστα μοτίβα. Σύμφωνα με το θέμα της διπλωματικής μου εργασίας, πρέπει να αναβαθμίσω το παιχνίδι Super Mario ούτως ώστε να μπορεί να παίζει ο υπολογιστής για το υπόλοιπο της ζωής του χωρίς να χάνει. Αυτό θα επιτευχθεί με την χρήση του “deep learning” και ειδικότερα του “reinforcement learning”. Το πρόγραμμα πρέπει να σχεδιαστεί έτσι ώστε o Super Mario να αποφεύγει τα εμπόδια που θα εμφανιστούν μπροστά του. Πρέπει να γίνει ο σωστός υπολογισμός ώστε να μάθει να πηδά σωστά. Πιο συγκεκριμένα, το λογισμικό θα προσπαθεί με διάφορες κινήσεις κυρίως πηδήματα να καταφέρει να περάσει τα εμπόδια. Για να επιτευχθεί αυτό χρειάστηκε να χρησιμοποιήσω “deep learning”, το οποίο είναι ένα υποσύνολο του “machine learning” όπως και της τεχνητής νοημοσύνης (ΑΙ). Τεχνητά νευρωνικά δίκτυα, αλγόριθμοι μαθαίνουν να κάνουν χρήση περισσότερων δεδομένων από ότι στα απλά λογισμικά. Έτσι επιτυγχάνετε η επίλυση πολύπλοκων προβλημάτων ακόμη και όταν τα δεδομένα είναι πιο περίπλοκα και όχι τόσο εύχρηστα. Επίσης, έγινε χρήση και “reinforcement learning”, το οποίο είναι ένας τομέας του “machine learning” που έχει ως σκοπό να διδάξει τον τρόπο που πρέπει να αναλαμβάνονται ενέργειες σε ένα περιβάλλον ώστε να μεγιστοποιείτε η έννοια της αθροιστικής ανταμοιβής. Το αρχικό παιχνίδι που είχε γίνει τόσο γνωστό και αγαπητό στα παιδικά μας χρόνια, παίζεται με την χρήση joystick το οποίο απαιτεί να εξοικειωθείς με την χρήση πολλών πλήκτρων την ίδια ώρα.