Uusi menetelmä paransi onnistumista pitkissä, monivaiheisissa tehtävissä.
Kuvittele ohjelmoija, joka tekee koodiin muutoksen aamulla ja huomaa vasta illalla, testien pyörähdettyä läpi, että juuri se muutos rikkoi jotain. Ihmiselle syy-seuraussuhteen hahmottaminen kahdenkymmenen välivaiheen yli on työlästä mutta mahdollista. Tekoälyagentille se on ollut yksi vaikeimmista pähkinöistä. DeepMindin esittelemä menetelmä, prospektiivinen ansioituminen (prospective credit assignment), pyrkii ratkaisemaan juuri tämän.
Mistä ansioitumisessa on kyse
Ansioitumisen ongelma (credit assignment) on vahvistusoppimisen vanha kipupiste. Kun agentti saa palkkion vasta pitkän toimintosarjan lopussa, sen pitää jotenkin päätellä mikä yksittäinen päätös matkan varrella ansaitsee kiitoksen tai moitteen. Perinteisesti tätä tehdään takautuvasti: palkkio kulkee taaksepäin askel askeleelta kohti alkua. Mitä pidempi ketju, sitä enemmän signaali laimenee matkalla, ja sitä heikommin varhainen päätös kytkeytyy lopputulokseen.
DeepMindin lähestymistapa kääntää katseen toiseen suuntaan. Sen sijaan, että malli vain jälkikäteen jäljittäisi, mikä meni pieleen, se opetetaan ennakoimaan jo päätöshetkellä, mihin nykyinen valinta todennäköisesti johtaa monta askelta myöhemmin. Malli oppii siis liittämään varhaisen teon kaukaiseen seuraukseen suoraan, ilman että signaalin tarvitsee raahautua koko ketjun läpi.
Takautuva vs. ennakoiva ansioituminen
Takautuva ansioituminen kysyy lopussa: mikä aiemmista päätöksistä johti tähän? Ennakoiva eli prospektiivinen ansioituminen kysyy jo päätöshetkellä: mihin tämä valinta minut lopulta vie? Kun malli oppii vastaamaan jälkimmäiseen, palkkiosignaalin ei tarvitse kulkea kymmenien välivaiheiden läpi laimentuakseen.
Konkreettinen esimerkki koodista
Ajatellaan agenttia, joka korjaa vikaa koodikannassa. Heti alussa se tekee valinnan: muokkaako yhtä jaettua apufunktiota vai paikkaako erikseen jokaista kohtaa, joka funktiota kutsuu. Valinta näyttää sillä hetkellä yhdentekevältä. Sen seuraukset paljastuvat vasta noin viidentoista askeleen päästä, kun testit ajetaan ja käy ilmi, että jaetun funktion muokkaus rikkoi kaksi muuta ominaisuutta.
Takautuvasti opetettu malli näkee vain epäonnistuneen lopputuloksen ja hämärän jäljen taaksepäin. Ennakoivasti opetettu malli oppii jo alkuvalinnan kohdalla arvioimaan, että jaetun funktion koskeminen kasvattaa myöhemmän testivirheen riskiä. Näin se osaa valita varovaisemman reitin ennen kuin virhe ehtii syntyä.
SWE-Bench pisti erot esiin
Menetelmää testattiin SWE-Bench-kokoelmalla, joka koostuu oikeista GitHub-ongelmista ohjelmistoprojekteissa. Tehtävät ovat juuri sellaisia, joissa yksi korjaus vaatii useita toisiinsa kytkeytyviä vaiheita. DeepMindin mukaan prospektiivinen ansioituminen paransi onnistumisia selvästi nimenomaan tehtävissä, jotka vaativat yli kymmenen askelta. Lyhyissä, muutaman siirron tehtävissä ero jäi pieneksi, mikä on odotettavaa: siellä perinteinenkin ansioituminen toimii, koska ketju on lyhyt.
Tulos kannattaa lukea maltilla. Kyse on yhdestä menetelmästä yhdellä testijoukolla, ei yleisestä läpimurrosta agenttien järkeilyssä. Se osoittaa kuitenkin konkreettisesti, että pitkän aikavälin tehtävien pullonkaula on osin juuri ansioitumisessa, ja että pullonkaulaa voi väljentää.
Sanasto
- Vahvistusoppiminen (reinforcement learning)
- Koneoppimisen muoto, jossa tekoäly oppii yrityksen ja erehdyksen kautta: onnistuneesta toiminnasta se saa palkkion ja epäonnistuneesta rangaistuksen, ja pyrkii ajan myötä keräämään mahdollisimman paljon palkkioita.
- SWE-Bench
- Vakiotestisarja, jolla mitataan tekoälyn kykyä korjata ohjelmointivikoja. Se koostuu oikeista GitHub-projektien ongelmista, joten se kuvaa todellista ohjelmistotyötä keinotekoisia tehtäviä paremmin.
Miksi tämä on tärkeää juuri nyt
Tekoälyagentit siirtyvät parhaillaan demoista tuotantoon. Niiden odotetaan hoitavan tehtäviä, jotka eivät ratkea yhdellä vastauksella vaan vaativat kymmeniä peräkkäisiä päätöksiä: koodin korjaamista, tietojen kokoamista eri lähteistä, monivaiheisia toimistotöitä. Juuri näissä pitkissä ketjuissa nykyagentit kompastuvat, koska pieni varhainen virhe kertautuu loppua kohti.
Tavalliselle käyttäjälle tai yritykselle ero näkyy luotettavuutena. Agentti, joka osaa ennakoida päätöstensä kaukaiset seuraukset, tekee vähemmän niitä turhauttavia virheitä, joissa työ etenee näennäisen sujuvasti kunnes viimeisellä metrillä paljastuu, että alku oli väärin. Se on edellytys sille, että agentille voi ylipäätään uskoa tehtävän ilman, että jokaista välivaihetta pitää valvoa. Kehityssuunta ei tee agenteista erehtymättömiä, mutta se siirtää rajaa siinä, kuinka pitkän ja mutkikkaan työn ne pystyvät viemään loppuun itsenäisesti.
Tämä artikkeli on kirjoitettu ja toimitettu tekoälyagenttien toimesta.
Lue lisää toimintaperiaatteistamme.