AndroidEnv

Interfész a megerősítő tanuláshoz az Android OS eléréséhez

Röviden: AndroidEnv

Az AndroidEnv egy új réteg, amely lehetővé teszi a Reinforcement Learning ügynökök betanítását Android operációs rendszerre, amelyet a Deepmind, az Alphabet híres AI-ága fejlesztett ki. Egyrészt az Android és az ADB, másrészt a képzett ügynök között helyezkedik el. Ha nem tudja, az „ügynök” egy gépi tanulási alkalmazásra utal, amelyet kódolhat és futtathat. Az AndroidEnv nyílt forráskódú adattárként érhető el a Githubon.

Reális hozzáférés az Androidhoz

Az AndroidEnv célja a lehető legreálisabb környezet biztosítása az edzéshez, ezért az alkalmazott korlátozások megfelelnek azoknak, amelyekre számíthatunk az Androiddal is interakcióban lévő emberek esetében:

  • egy ügynök elsősorban azokat a képpontokat tudja olvasni, amelyeket az Android renderel; ehhez a szolgáltatáshoz egy érintőképernyőt szimuláló felületet használnak
  • az akcióteret (a környezettel való kölcsönhatáshoz rendelkezésre álló lehetőségek összessége) számos egyszerű művelet alkotja, például érintés, emelés vagy eltávolítás

Az AndroidEnv célja, hogy átlépje a megerősítő tanulás határait. Az OpenAI „Universe” platformjához hasonlóan, amely lehetővé tette az ügynökök számára, hogy interakcióba lépjenek a jelenetekkel az egér és a billentyűzet felületén keresztül, a Deepmind legújabb alkotása lehetővé teszi a fejlesztők számára, hogy képzeljék el modelljeiket az elképzelhető legnagyobb kihívásokkal teli környezetben.

Ezzel azt akarom mondani, hogy a korábbi modellek egy speciális felületen keresztül férhettek hozzá a céljaikhoz, ami nagyon leegyszerűsítette az interakciót. Ezenkívül az AndroidEnv nem nyújt sok kiegészítő információt a képernyő képpontjain kívül (erről bővebben később), ami használatát annyira reálisá teszi.

Az interakció közelebbi vizsgálata

Mint említettük, az AndroidEnv olyan nyers műveletek sorozatát kínálja, amelyek mind szimulálják azokat az alapvető mozgásokat, amelyeket az ember használna érintőképernyővel való interakció során. Ezeket a nyers műveleteket olyan gesztusok egészítik ki, amelyek lehetővé teszik az ügynök általi hatékony irányítást, például ellop vagy görgetés.

Az AndroidEnv-vel való interakciók a platform egyik nagy kihívását is felvázolják: a nyitott alkalmazástól (vagy általában a feladattól) függően drasztikusan eltérhetnek egymástól. Az egyik alkalmazás ellopja teljesen más kontextusban használható egy másik alkalmazáson belül.

Szintén fontos: az AndroidEnv ügynökeinek a valós idejű operációs rendszerek, például az Android valós idejű jellegével kell megküzdeniük. Ez azt jelenti, hogy nincs várakozás az alkalmazástól, amíg az ügynök beállítja a következő műveletet - az operációs rendszer egyszerűen tovább folytatja. Ez különösen nehéz kihívást jelent az ügynökök számára. Az AndroidEnv egy kis kompatibilitási eszközt biztosít a hamis pozitív bemenetek elkerülésére abban az esetben, ha az ügynöknek túl sokáig tart a reakciója (például ha csapot hagyunk a feldolgozás közben, ami az Android által értelmezett hosszú sajtóhoz vezet).

Elvégzendő feladatok meghatározása

A feladat meghatároz egy konkrét problémát, amelyet egy RL ügynöknek kell megoldania. Az ügynök megfelelő képzésének lehetővé tétele érdekében a feladatok bizonyos releváns adatszempontokat rögzítenek:

  • „Epizódmegszakítási feltételek”: mikor hajtják végre a feladatot, vagy mikor véglegesen nem sikerült
  • „Jutalmak”: számszerű visszajelzés nyújtása az elért célokhoz
  • egyéb alkalmazások, amelyekkel kölcsönhatásba léphet a feladat elvégzéséhez

Az értelmes és releváns visszajelzés lehetővé tétele érdekében az AndroidEnv hozzáfér az ADB-hez, az „Android Device Bridge” -hez, amely naplófolyam az eszközről, ezért lehetővé teszi egy feladat számára, hogy megfigyelje azt, és szükség esetén előre definiált jeleket indítson.

A lehetőségek tengere

Azt, hogy az AndroidEnv milyen hatással lehet az AI általános fejlődésére, és különösen a megerősítő tanulás, nem lehet túlbecsülni. Ez nem csak lehetővé teszi az ügynökök számára, hogy megtanulják, hogyan kell interakcióba lépni az Androiddal („nyissa meg a Térképet és keressen egy közeli sushi-éttermet”), hanem az alkalmazás függvényében számos más technikát is alkalmazhat a problémamegoldáshoz. Például egy ügynököt ki lehet oktatni játékokra (az Androidon minden játék elérhető!) Hosszú távú nyerési stratégiák kidolgozásához.

Az AndroidEnv az a kapu, amely mindenki előtt megnyílt, hogy olyan ML-modelleket írjon, amelyek gyakorlatilag minden lehetséges feladatra betaníthatók. Elme fúj!

Vitorlázás

Mivel nem vagyok gépi tanulás mérnöke, tudásom csak felszínszintű. Ez a cikk az AndroidEnv bevezetőjeként működik, de további információkért kérjük, olvassa el a függeléket az összes releváns hivatkozással, beleértve a Github-tárházat is.

Javaslatok

Kapcsolódó

Kiegészítés

Nyelvek