AndroidEnv

Μια διεπαφή για το Reinforcement Learning για πρόσβαση στο λειτουργικό σύστημα Android

Με μια ματιά: AndroidEnv

Το AndroidEnv είναι ένα νέο επίπεδο που επιτρέπει στους εκπαιδευτές Reinforcement Learning να εκπαιδεύονται σε λειτουργικό σύστημα Android, το οποίο αναπτύχθηκε από τον Deepmind, τον αρκετά διάσημο κλάδο AI της Alphabet. Κάθεται μεταξύ Android και ADB από τη μία πλευρά και ενός πράκτορα που εκπαιδεύεται από την άλλη πλευρά. Εάν δεν γνωρίζετε, το "πράκτορας" αναφέρεται σε μια εφαρμογή μηχανικής μάθησης που μπορείτε να κωδικοποιήσετε και να εκτελέσετε. Το AndroidEnv είναι διαθέσιμο ως αποθετήριο ανοιχτού κώδικα στο Github.

Μια ρεαλιστική πρόσβαση στο Android

Το AndroidEnv στοχεύει στο να παρέχει ένα περιβάλλον όσο το δυνατόν πιο ρεαλιστικό για εκπαίδευση, επομένως οι περιορισμοί που εφαρμόζονται ταιριάζουν με αυτούς που μπορούμε να περιμένουμε για ανθρώπους που αλληλεπιδρούν επίσης με το Android:

  • ένας πράκτορας μπορεί να διαβάσει κυρίως τα pixel που αποδίδει το Android. για αυτήν τη δυνατότητα, χρησιμοποιείται μια διεπαφή που προσομοιώνει μια οθόνη αφής
  • Ο χώρος δράσης (σύνολο διαθέσιμων επιλογών για αλληλεπίδραση με το περιβάλλον) αποτελείται από πολλές απλές ενέργειες, όπως αφής, ανύψωσης ή αφαίρεσης

Ο στόχος του AndroidEnv είναι να ωθήσει τα όρια για την Εκμάθηση Ενίσχυσης. Παρόμοια με την πλατφόρμα "Universe" του OpenAI, η οποία επέτρεψε στους πράκτορες να αλληλεπιδρούν με σκηνές μέσω διεπαφής για ποντίκι και πληκτρολόγιο, η τελευταία δημιουργία του Deepmind επιτρέπει στους προγραμματιστές να εκπαιδεύσουν τα μοντέλα τους σε ένα από τα πιο δύσκολα περιβάλλοντα που μπορεί να φανταστεί κανείς.

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

Μια πιο προσεκτική ματιά στην αλληλεπίδραση

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

Οι αλληλεπιδράσεις με το AndroidEnv περιγράφουν επίσης μια από τις μεγάλες προκλήσεις σε αυτήν την πλατφόρμα: ανάλογα με την ανοιχτή εφαρμογή (ή την εργασία γενικά), μπορεί να διαφέρουν δραστικά στο νόημα. Ένα κτύπημα σε μία εφαρμογή μπορεί να χρησιμοποιηθεί σε ένα εντελώς διαφορετικό περιβάλλον μέσα σε μια άλλη εφαρμογή.

Επίσης σημαντικό: οι πράκτορες στο AndroidEnv πρέπει να ασχολούνται με τη φύση του λειτουργικού συστήματος σε πραγματικό χρόνο, όπως το Android. Αυτό σημαίνει ότι δεν υπάρχει αναμονή από την εφαρμογή έως ότου ο αντιπρόσωπος ορίσει την επόμενη ενέργεια - το λειτουργικό σύστημα συνεχίζει. Αυτή είναι μια ιδιαίτερη δύσκολη πρόκληση για τους παράγοντες. Το AndroidEnv παρέχει ένα μικρό εργαλείο συμβατότητας για την αποφυγή εσφαλμένων θετικών εισόδων σε περίπτωση που ο πράκτορας χρειάζεται πολύ χρόνο για να αντιδράσει (όπως αφήνοντας μια βρύση κατά την επεξεργασία, κάτι που οδηγεί σε έναν μακρύ τύπο που ερμηνεύεται από το Android).

Καθορισμός εργασιών που πρέπει να ολοκληρωθούν

Μια εργασία καθορίζει ένα συγκεκριμένο πρόβλημα που πρέπει να λυθεί από έναν πράκτορα RL. Για να επιτραπεί η σωστή εκπαίδευση του αντιπροσώπου σας, οι εργασίες καταγράφουν ορισμένες πτυχές δεδομένων που είναι σχετικές:

  • "Συνθήκες τερματισμού επεισοδίων": πότε έχει ολοκληρωθεί η εργασία ή πότε έχει αποτύχει σίγουρα
  • "Ανταμοιβές": παροχή αριθμητικών σχολίων για επιτευχθέντες στόχους
  • άλλες εφαρμογές με τις οποίες μπορείτε να αλληλεπιδράσετε για την εργασία

Για να επιτρέψει ουσιαστικά και σχετικά σχόλια, το AndroidEnv έχει πρόσβαση στο ADB, το "Android Device Bridge", το οποίο είναι μια ροή αρχείων καταγραφής από τη συσκευή και επομένως επιτρέπει σε μια εργασία να την παρατηρήσει και να προκαλέσει προκαθορισμένα σήματα όταν είναι απαραίτητο.

Μια θάλασσα δυνατοτήτων

Η πιθανή επίδραση που μπορεί να έχει το AndroidEnv στη συνολική ανάπτυξη της τεχνητής νοημοσύνης και ειδικότερα η Ενίσχυση της Μάθησης δεν μπορεί να υπερεκτιμηθεί. Δεν επιτρέπει μόνο στους πράκτορες να μάθουν πώς να αλληλεπιδρούν με το Android ("ανοίξτε τους Χάρτες και αναζητήστε ένα κοντινό εστιατόριο σούσι"), αλλά και να εφαρμόσετε διάφορες άλλες τεχνικές για την επίλυση προβλημάτων, ανάλογα με την εφαρμογή. Για παράδειγμα, ένας πράκτορας μπορεί να εκπαιδευτεί στο να παίζει παιχνίδια (όλα τα παιχνίδια στο Android είναι διαθέσιμα!) Για την ανάπτυξη μακροπρόθεσμων στρατηγικών νίκης.

Το AndroidEnv λειτουργεί ως η πύλη που έχει ανοίξει για οποιονδήποτε να γράψει μοντέλα ML που μπορούν να εκπαιδευτούν σε κάθε πιθανή εργασία. Είναι μυαλό φυσά!

Ρύθμιση πανιού

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

Προτάσεις

Σχετικά

Προσάρτημα

Γλώσσες