AndroidEnv

Interfaco por Plifortigo-Lernado por aliri la Android-VIN

Unuavide: AndroidEnv

AndroidEnv estas nova tavolo por ebligi trejnadon de Plifortigaj Lernaj agentoj pri Android-OS, disvolvita de Deepmind, la sufiĉe fama AI-branĉo de Alphabet. Ĝi sidas inter Android kaj ADB unuflanke kaj agento tre trejnita aliflanke. Se vi ne scias, "agento" rilatas al maŝin-lerna aplikaĵo, kiun vi povas kodigi kaj funkciigi. AndroidEnv disponeblas kiel malfermfonta deponejo ĉe Github.

Realisma aliro al Android

AndroidEnv celas provizi medion laŭeble realisman por trejnado, tial la aplikataj limoj kongruas kun tiuj, kiujn ni povas atendi por homoj, kiuj ankaŭ interagas kun Android:

  • agento povas ĉefe legi la pikselojn, kiujn prezentas Android; por ĉi tiu funkcio oni uzas interfacon, kiu simulas tuŝekranon
  • la agspaco (aro de disponeblaj ebloj por interagi kun la ĉirkaŭaĵo) konsistas el pluraj simplaj agoj, kiel tuŝi, levi aŭ forigi

La celo de AndroidEnv estas puŝi la limojn por Plifortiga Lernado. Simile al la platformo "Universo" de OpenAI, kiu ebligis al agentoj interagi kun scenoj per interfaco por muso kaj klavaro, la plej nova kreo de Deepmind permesas al programistoj trejni siajn modelojn en unu el la plej malfacilaj medioj imageblaj.

Kion mi celas per tio estas, ke antaŭaj modeloj havis aliron al siaj celoj per speciala interfaco, kiu multe simpligis interagadon. Ankaŭ, AndroidEnv ne donas multajn aldonajn informojn krom la rastrumeroj de la ekrano (pli pri tio poste), kio igas ĝian uzon tiel realisma.

Pli proksima rigardo al interago

Kiel menciite, AndroidEnv provizas aron da krudaj agoj, kiujn ĉiuj simulas bazajn movadojn, kiujn homo ankaŭ uzus dum interagado kun tuŝekrano. Ĉi tiuj krudaj agoj estas kompletigitaj per aro de gestoj, kiuj permesas efikan kontrolon de la agento, kiel svingado aŭ movo.

Interagoj kun AndroidEnv ankaŭ skizas unu el la grandaj defioj en ĉi tiu platformo: depende de la malferma programo (aŭ tasko ĝenerale), ili povas draste diferenci laŭ signifo. Svingo en unu programo povus esti uzata en tute alia kunteksto ene de alia programo.

Gravas ankaŭ: agentoj en AndroidEnv devas trakti la realtempan naturon de realtempa mastruma sistemo, kiel Android. Ĉi tio signifas, ke ne ekzistas atendo de la aplikaĵo ĝis la agento starigos la sekvan agon - la OS simple daŭras. Ĉi tio estas aparta malfacila defio por venkotaj agentoj. AndroidEnv provizas malgrandan kongruan ilon por eviti falsajn pozitivajn enirojn, se la agento tro longe reagos (kiel lasi frapeton dum prilaborado, kio kondukas al longa gazetaro interpretita de Android).

Difini taskojn plenumendajn

Tasko difinas specifan problemon, kiun devas solvi RL-agento. Por permesi taŭgan trejnadon de via agento, taskoj kaptas iujn datumajn aspektojn, kiuj gravas:

  • "Epizodaj finkondiĉoj": kiam la tasko estas plenumita aŭ kiam ĝi certe malsukcesis
  • "Rekompencoj": provizi nombran retrosciigon por plenumitaj celoj
  • aliaj aplikoj kun kiuj oni povas interagi por la tasko

Por ebligi signifan kaj koncernan reagon, AndroidEnv havas aliron al ADB, la "Android Device Bridge", kiu estas fluo de protokoloj de la aparato kaj tial permesas al tasko observi ĝin kaj ekigi antaŭdifinitajn signalojn kiam necese.

Maro de ebloj

La ebla efiko, kiun AndroidEnv povas havi sur la ĝenerala disvolviĝo de AI kaj Plifortigo-Lernado, aparte ne povas esti troigita. Ĝi ne nur permesas al agentoj lerni kiel interagi kun Android ("malfermi Mapojn kaj serĉi proksiman suŝian restoracion"), sed ankaŭ apliki diversajn aliajn teknikojn por solvi problemojn, depende de la programo. Ekzemple, agento povas esti trejnita pri ludado de ludoj (ĉiuj ludoj en Android haveblas!) Por disvolvi longtempajn venkajn strategiojn.

AndroidEnv funkcias kiel la pordego malfermita por ke ĉiuj skribu ML-modelojn, kiuj povas esti trejnitaj pri preskaŭ ĉiu ebla tasko. Ĝi estas menso blovanta!

Ekmarŝante

Ĉar mi ne estas Maŝinlernanta inĝeniero, miaj scioj estas nur surfacnivelaj. Ĉi tiu artikolo funkcias kiel enkonduko al AndroidEnv, sed por pliaj informoj bonvolu kontroli la aldonon kun ĉiuj koncernaj ligoj, inkluzive la Github-deponejon.