Reinforcement Learning Competition Invasive Species Domain - αυτόνομοι Πράκτορες 2015-16 Γιώργος Κεχαγιάς 2010030002 Ορισμός του προβλήματος Η οικονομική και η οικολογική καταστοροφή απο τα Invasive species έχει συνεχόμενη αύξηση σε όλο τον κόσμο. Αυτή η κατάσταση δημιούργησε την ανάγκη για καλές πολιτικές οι οποίες θα διαχειρίζονται τα invasive species. Αυτό το προτεινόμενο πεδίο της ενισχυτικής μάθησης περιλαμβάνει κάποιες απο τις δυσκολίες του να παίρνεις καλές αποφάσεις σε χωρικά πεδία στα οποία μια χωρικά εξαπλώμενη διεργασία πρέπει να ελεγχθεί. Το πεδίο μοντελοποιήται σαν ένα δίκτυο ποταμού στο οποίο υπάρχουν native και invading είδη φυτών. Τα native εξοντώνοντα απο τα invading μειώνονταις την βιοποικιλότητα και παράγοντας μεγάλες ποσότητες νερού. Το πρόβλημα διαχείρησης μορφοποιήται σαν μια διαδικασία Markov (MDP) περιγράφοντας την κατάσταση και την δυναμική ενός δικτύου που είναι κατασκευασμένο σαν δέντρο όπως το κατασκεύασαν στο paper Α neural metapopulation model of biodiversity in river networks. Στο framework, το δίκτυο ποταμού αναπαρηστάται σαν ένας direct graph στον οποίο κάθε edge είναι ενα reach του ποταμού. Κάθε reach περιλαμβάνει H habitats (slots), και καθένα απο αυτά είναι σε μία απο τις τρείς καταστάσεις : empty, occupied by Tamarisk Tree, occupied by native tree. Έτσι το MDP έχει συνολικά 3^RH, όπου R είναι ο αριθμός των reaches (θα μπορούσαμε να βάλουμε και το E απο το edges). Σε κάθε time step για κάθε reach, μια ενέργια διαχείρησης πραγματοποιήται και εφαρμόζεται στα Habitas αυτού του reach. Υπάρχουν τέσσερεις δυνατές ενέργιες που μπορούν να πραγματοποιηθούν. Ο αριθμός των συνολικών ενεργιών για το πρόβλημα μας είναι 4^R, όπου ξανά το R, αποτελεί τον αριθμό των reaches του δικτύου ποταμού. Do nothing : DN Eradicate : Eradicate Tamarisk plants in all habitats in the reach Restore : place Native Plants in all empty slots in the reach Eradicate & Restore : Eradicate Tamarisk and place Native plants in all empty Στα παραπάνω actions τόσο τα actions eradicate, όσο και τα actions restore μπορεί να αποτύχουν στοχαστικά, και τα δύο προηγούμενα έχουν κόστος το οποίο γραμμικά κλιμακόνεται με τον αριθμό τον 'μολυσμένων' slots. Η δυναμική της διαδικασίας ορίζεται απο στοχαστικές μεταβάσεις εξαπλώμενων seeds. Τα δέντρα που επιβιώνουν δημιουργούν νεα seeds τα οποία διασπείρονται σύμφωνα με μια χωρική διαδικασία. Τα seeds που φτάνουν σε έναν empty slot ανταγωνίζονται στοχαστικά για το όποιο απο όλα θα καταλάβει το συγκεκριμένο slot. Επίσης σε κάθε time step, ένα δέντρο μπορεί να πεθάνει με κάποια πιθανότητα. Μεθοδολογία της λύσης μας Για το συγκεκριμένο πρόβλημα υπάρχουν αρκετοί τρόποι να προσεγγίσεις την λύση του. Υπάρχει single agent option, υπάρχει multi agent option, όπως και μια σειρά απο αντίστοιχους αλγορίθμους ενισχυτικής μάθησης οι οποίοι επιτυγχάνουν το στόχο του να μειωθεί το κόστος(βάση των αρχικών
ορισμών κόστους για κάθε ενέργεια και κάθε slot) σε άπειρο ορίζοντα. Εμείς για την συγκεκριμένη εργασία επιλέξαμε να εξάγουμε κάποια βασικά αποτελέσματα απο βασικούς αλγορίθμους που διδαχτήκαμε στο μάθημα των Αυτόνομων Πρακτόρων 2015-16 όπως είναι ο Sarsa(μας απαλλάξαν απο την διαδικασία προγραμματισμού του οι υπεύθυνοι του RL - Competition) και ο Q-Learning φτιάχνοντας και τους αντίστοιχους agents(οι οποίοι είναι αρκετά παρόμοιοι στην προγραμματιστική υλοποίηση). Επίσης κατασκευάσαμε εναν agent που κάνει random κινήσεις βάση των διαθέσιμων κινήσων που μπορούν να γίνουν για μια συγκεκριμένη κατάσταση προκειμένου να δούμε προς κινείται το αποτέλεσμα του κόστους χωρίς κάποια λογική κινήσεων, αλλά περισσότερο ως μέτρο σύγκρισης με τους προηγούμενους δύο αλγόριθμος. Ουσιαστικά πέρα απο το πως δουλεύουν, απαντάμε και πειραματικά στο γιατί δουλεύουν, έχοντας μια απτή και συγκεκριμένη γραφική αναπαράσταση που το πιστοποιεί. Πέρα απο τον random agent ο οποίος δεν έχει κάποιο παραπάνω ενδιαφέρον να περιγράψουμε την λειτουργία και σημασία του πέρα απο όσο γράψαμε παραπάνω, θα επικεντροθούμε στον agent που υλοποιήσαμε τον αλγόριθμο Q-Learning. Σαν πρόβλημα υπάρχουν αρκετές προκλήσεις τις οποίες πρέπει να αντιμετωπίσουμε. Πρώτη και βασική είναι ο μεγάλος αριθμός των πιθανών καταστάσεων οι οποίες γίνονται περισσότερες εκθετικά (3^RH) όπως επίσης και η μεγάλη πολυπλοκότητα και στοχαστικότητα των διαδικασιών που καθορίζουν την δυναμική του περιβάλλοντος. Με την χρήση Q-Learning συγκεκριμένα, έχουμε το πλεονέκτημα οτι μπορούμε να διαχειριστούμε αρκετά καλά προβλήματα με στοχαστικές μεταβάσεις και απολαβές, πράγμα που στο Invasive Species μας είναι παραπάνω απο σημαντικά να έχουμε. Άρα είναι εύκολα κατανοητό για ποιο λόγο η επιλογή του Q-Learning δίνει καλά αποτελέσματα RL. Με την τεχνική Q-Learning εκτιμούμε την ιδανική πολιτική με ανιχνευση του περιβάλλοντος όταν γίνοναι action, εκτιμόντας αποτελεσματικά τον ίδιο αριθμό σετ state-action value function. O κανόνας ενημέρωσης των values των Q τιμών γίνεται σύμφωνα με τον παρακάτω κανόνα : Με τον παραπάνω κανόνα είναι εξασφαλισμένο οτι η ιδανική πολιτική θα βρεθεί αν κάθε σετ stateaction προπελαστεί απείρως συχνά. Αυτή βέβαια η παραδοχή έρχεται με αρκετά μεγάλο υπολογιστικό κόστος καθώς τόσο η ίδια η φύση του προβλήματος όσο και ο κώδικας της πλατφόρμας προσομοίωσης RL-GLUE, δημιουργούν τεράστιο υπολογιστικό κόστος. Με την χρήση ενός μόνο agents για όλα τα reaches, είναι αρκετά δύσκολο να πετύχουμε κάλυψη 100% σε όλες τις καταστάσεις. 'Ισως μια Multi-agent Q-Learning προσέγγιση λύσης να έχει καλύτερα αποτελέσματα, αλλά καλύτερα να το κρατήσουμε απλό για την ώρα. Egreedy Συνάρτηση (def) και Action Selection Όπως είδαμε και στο μάθημα των Αυτόνομων Πρακτόρων φέτος, στην ενισχυτική μάθηση είναι αρκετά σημαντικό να βρεθεί η αναλογία ανάμεσα σε explore και exploit(εξευρεύνηση και εκμετάλλευση). Έχει αποδείχτεί οτι οι προηγούμενες δύο παράμετροι έχουμε τρομερή επίδραση στον τρόπο που γίνεται η μάθηση. Απο την μια η πολύ εξευρεύνιση εμποδίζει την μεγιστοποίηση των short-term απολαβών, καθώς το ρίσκο τις εξερεύνησης μπορεί να δώσει αρνητικές απολαβές απο το περιβάλλον. Απο την άλλη η εκμετάλλευση αβέβαιου περιβάλλοντος εμποδίζει την μεγιστοποίηση των Long-term απολαβών κάθως η επιλογή των action που θα γίνεται μπορεί να μην είναι δανική. Η επιλογή ενός συστήματος το οποίο επιλέγει πάντα το μεγαλύτερο Q-value και άρα το αντίστοιχο action, είναι ενα σύστημα που μπορούμε να το χαρακτηρίσουμε greedy.
Στο δικό μας σύστημα, δεδομένου οτι για τις καταστάσεις που έχουμε επισκευτεί (που είναι αρκετά πολλές) μας συμφέρει μια λογική exploit με spikes explore ανάλογα με την γνωστή απο την βιβλιογραφία πιθανότητα ε. Καθώς τρέχουμε το πρόβλημα για αρκετά μεγάλο αριθμό επαναλήψεων (πάνω απο 1000) και δεδομένου της ποσότητας των states, το exploit μας δίνει το μεγαλύτερο sort-term reward θυσιάζοντας βέβαια αρκετά τa Long-term, αλλά με μια πιθανότητα σε κάθε γύρο, δεν επιλεγουμε action βάση του μεγαλύτερου Q-Value, αλλά διαλέγουμε random ενα action απο αυτά που είναι διαθέσιμα, προκειμένου να δούμε τι διαφορετικό θα μάθουμε για το περιβάλλον που έχουμε. Πειράματα Στο δικό μας σύστημα, δεδομένου οτι για τις καταστάσεις που έχουμε επισκεφτεί (που είναι αρκετά πολλές) μας συμφέρει μια λογική exploit με spikes explore ανάλογα με την γνωστή απο την βιβλιογραφία πιθανότητα ε. Καθώς τρέχουμε το πρόβλημα για αρκετά μεγάλο αριθμό επαναλήψεων (πάνω απο 1000) και δεδομένου της ποσότητας των states, το exploit μας δίνει το μεγαλύτερο sort-term reward θυσιάζοντας βέβαια αρκετά τa Long-term, αλλά με μια πιθανότητα σε κάθε γύρο, δεν επιλεγουμε action βάση του μεγαλύτερου Q-Value, αλλά διαλέγουμε random ενα action απο αυτά που είναι διαθέσιμα, προκειμένου να δούμε τι διαφορετικό θα μάθουμε για το περιβάλλον που έχουμε. Επίσης έγιναν δοκιμές με τροποποιήσεις στα exploration rates, αλλάζοντας την πιθανότητα ε προκειμένου να δούμε την αντίδραση του agent στο περιβάλλον. Το παράξενο εδώ ήταν οτι σε αρκετά απο τα πειράματα, για αλλαγή του ε ε-0.05, στο 33% των περιπτώσεων είχαμε βελτίωση του ρυθμού μάθησης προς το τέλος των πειραμάτων, ενώ για ε ε+0.05, δεν είχαμε την ίδια βελτίωση(πολλές φορές είχαμε και αρνητικό αποτέλεσμα). Μια πιθανή εξήγηση για αυτό ίσως ειναι οτι το σύστημα μάθαινε μια αρκετά καλή πολιτική κάπου στην αρχή των επαναλήψεων και έτσι οι καλές απολαβές ξεκινήσαν απο νωρίς να αποδίδονται.] Στην αλλαγή του discount factor απο 0.9 σε 0.8 όπως ήταν αναμενόμενο είχαμε χειρότερες απολαβές κατα την εξέλιξη των επαναλήψεων. Αλλαγές στο learning rate, και πιο συγκεκριμένα μειώνοντας το, μας έδινε καλύτερα μέση απολαβή. Αυτό είναι κάπως αναμενόμενο καθώς το learning rate επηρεάζει το κατα πόσο μια νέα τιμή παρεμβαίνει στην ήδη υπάρχουσα. Επομένως σε μια ώριμη κατάσταση των Q-Values που δίνουν καλά αποτελέσματα το να αλλάζουν ριζικά τα νεα τα ήδη υπάρχοντα δημιουργεί ενα σχετικά μεγάλο πρόβλημα στην επιτυχία του αλγορίθμου. Συμπεράσματα- Παρατηρήσεις(σύντομα) Συμπερασματικά μπορούμε με σιγουριά να πούμε οτι ο sarsa kai ο q-learning είναι πολύ πιο αποδοτικοί για την επιλογή των actions απο οτι ο random agent. Πέρα όμως απο το προφανές, παρατηρούμε οτι στον q-learning υπάρχει τάση για πολύ μεγαλύτερη μείωση του κόστους απο οτι στον sarsa. Αν και ο sarsa έχει πιο απότομη αύξηση, η οποία όπως παρατηρούμε μέτα απο λίγο ισορροπεί. Ίσως αμα μπορούσαμε να εκτελέσουμε τα πειράματα για περισσότερες επαναλήψεις, να βλέπαμε καλύτερα και οπτικά αυτό που σαν διαπίστωση περιγράφουμε παραπάνω. Επίσης σαν μελλοντική δουλεία θα είχε ενδιαφέρον μια υλοποίηση με multiagent προσέγγιση.
Q-LEARNING ε=0,1 Q-LEARNING ε=0,09
SARSA version1 SARSA version2
random1 random2