In 'n oogopslag: AndroidEnv
AndroidEnv is 'n nuwe laag om opleidingsagente van Reinforcement Learning in Android OS te laat ontwikkel, ontwikkel deur Deepmind, die baie bekende AI-tak van Alphabet. Dit sit tussen Android en ADB aan die een kant en 'n agent wat aan die ander kant opgelei word. As u nie weet nie, verwys "agent" na 'n masjienleertoepassing wat u kan kodeer en uitvoer. AndroidEnv is beskikbaar as 'n oopbronbewaarplek op Github.
'N Realistiese toegang tot Android
AndroidEnv is daarop gemik om 'n omgewing te bied wat so realisties moontlik is vir opleiding, en daarom pas die toegepaste beperkings ooreen met die wat ons kan verwag vir mense wat ook met Android interaksie het:
- 'n agent kan hoofsaaklik die pixels lees wat Android weergee; vir hierdie funksie word 'n koppelvlak gebruik wat 'n aanraakskerm simuleer
- die aksieruimte (stel beskikbare opsies om met die omgewing te kommunikeer) bestaan uit verskeie eenvoudige handelinge, soos aanraak, optel of verwyder
Die doel van AndroidEnv is om die grense vir versterkingsleer te verskuif. Soortgelyk aan OpenAI se "Universe" -platform, wat agente in staat gestel het om met tonele te kommunikeer via 'n koppelvlak vir muis en sleutelbord, laat Deepmind se nuutste skepping ontwikkelaars toe om hul modelle op te lei in een van die uitdagendste omgewings denkbaar.
Wat ek daarmee bedoel, is dat vorige modelle toegang tot hul teikens gehad het via 'n spesiale koppelvlak wat interaksie baie vereenvoudig het. AndroidEnv bied ook nie veel addisionele inligting afgesien van die pixels van die skerm nie (meer hieroor later), wat die gebruik daarvan so realisties maak.
'N Nader kyk na interaksie
Soos genoem, bied AndroidEnv 'n reeks rou aksies wat alle basiese bewegings simuleer wat 'n mens ook sou gebruik wanneer hy met 'n raakskerm omgaan. Hierdie rou aksies word aangevul deur 'n stel gebare wat effektiewe beheer deur die agent moontlik maak, soos om te vee of te blaai.
Interaksies met AndroidEnv skets ook een van die groot uitdagings op hierdie platform: afhangende van die oop app (of taak in die algemeen), kan dit drasties verskil. 'N Swiep in een app kan in 'n ander konteks binne 'n ander app gebruik word.
Ook belangrik: agente op AndroidEnv moet die realtydse aard van 'n intydse bedryfstelsel, soos Android, hanteer. Dit beteken dat die aansoek nie wag totdat die agent die volgende aksie instel nie - die bedryfstelsel gaan voort. Dit is 'n baie moeilike uitdaging vir agente om te oorkom. AndroidEnv bied 'n klein instrument vir verenigbaarheid om vals positiewe insette te vermy as die agent te lank neem om te reageer (soos om 'n kraan te verlaat tydens verwerking, wat lei tot 'n lang pers wat deur Android geïnterpreteer word).
Definiëring van take wat uitgevoer moet word
'N Taak definieer 'n spesifieke probleem wat deur 'n RL-agent opgelos moet word. Om 'n behoorlike opleiding van u agent moontlik te maak, bevat take sekere data-aspekte wat relevant is:
- “Voorwaardes vir die beëindiging van aflewering”: wanneer is die taak gedoen of wanneer het dit beslis misluk?
- 'Belonings': die verskaffing van numeriese terugvoering vir die bereikte doelwitte
- ander toepassings waarmee die taak gekoppel kan word
Om sinvolle en relevante terugvoering moontlik te maak, het AndroidEnv toegang tot ADB, die "Android Device Bridge", wat 'n stroom logboeke van die toestel is en kan 'n taak dit dus waarneem en vooraf gedefinieerde seine aktiveer indien nodig.
'N See van moontlikhede
Die moontlike uitwerking wat AndroidEnv op die algehele ontwikkeling van AI kan hê, en veral versterkingsleer, kan nie oorskat word nie. Dit stel agente nie net in staat om te leer hoe om met Android te kommunikeer nie ('open Maps en soek na 'n nabygeleë sushi-restaurant'), maar ook om verskillende tegnieke toe te pas vir probleemoplossing, afhangende van die app. 'N Agent kan byvoorbeeld opgelei word om speletjies te speel (alle speletjies op Android is beskikbaar!) Om langtermyn wenstrategieë te ontwikkel.
AndroidEnv dien as die hek wat vir almal oopgemaak is om ML-modelle te skryf wat prakties op elke moontlike taak opgelei kan word. Dis mind waai!
Vertrek
Aangesien ek nie 'n masjienleer-ingenieur is nie, is my kennis slegs op die oppervlak. Hierdie artikel dien as 'n inleiding tot AndroidEnv, maar kyk na die addendum met alle relevante skakels, insluitend die Github-bewaarplek, vir meer inligting.