DeepMind esitteli koneoppimisjärjestelmän koodin luomiseksi tehtävän tekstikuvauksesta

Tekoälykehityksestä ja ihmistasolla tietokone- ja lautapelejä pelaavien hermoverkkojen rakentamisesta tunnettu DeepMind-yritys esitteli AlphaCode-projektin, joka kehittää koneoppimisjärjestelmää koodin generoimiseen, joka kykenee osallistua ohjelmointikilpailuihin Codeforces-alustalla ja osoittaa keskimääräistä tulosta. Kehityksen keskeinen piirre on kyky luoda koodia Pythonilla tai C++:lla, ottamalla syötteeksi tekstin, jossa on englanninkielinen ongelmanlausunto.

Järjestelmän testaamiseen valittiin 10 uutta Codeforces-kilpailua, joissa oli yli 5000 osallistujaa ja jotka pidettiin koneoppimismallin koulutuksen päätyttyä. Tehtävien suorituksen tulokset mahdollistivat AlphaCode-järjestelmän sijoittumisen näiden kilpailujen arvosanan noin puoleenväliin (54.3 %). AlphaСoden ennustettu kokonaisarvosana oli 1238 pistettä, mikä takaa pääsyn Top 28 %:n joukkoon kaikkien Codeforcesin osallistujien joukossa, jotka ovat osallistuneet kilpailuihin vähintään kerran viimeisen 6 kuukauden aikana. Todetaan, että projekti on vielä alkukehitysvaiheessa ja jatkossa on tarkoitus parantaa tuotetun koodin laatua sekä kehittää AlphaCodea kohti koodin kirjoittamisessa auttavia järjestelmiä tai sovelluskehitystyökaluja, joita voidaan joita käyttävät ihmiset ilman ohjelmointitaitoja.

Projektissa käytetään Transformer-hermoverkkoarkkitehtuuria yhdistettynä näytteenotto- ja suodatustekniikoihin luomaan erilaisia ​​arvaamattomia koodimuunnelmia, jotka vastaavat luonnollisen kielen tekstiä. Suodatuksen, klusteroinnin ja luokituksen jälkeen optimaalisin toimiva koodi poistetaan generoidusta vaihtoehtovirrasta, joka sitten tarkistetaan oikean tuloksen saamiseksi (jokaisessa kilpailutehtävässä on esimerkki syöttötiedoista ja tätä esimerkkiä vastaava tulos , joka tulee saada ohjelman suorittamisen jälkeen).

DeepMind esitteli koneoppimisjärjestelmän koodin luomiseksi tehtävän tekstikuvauksesta

Koneoppimisjärjestelmän karkeasti kouluttamiseen käytimme julkisissa GitHub-arkistoissa saatavilla olevaa koodipohjaa. Alkumallin valmistelun jälkeen suoritettiin optimointivaihe, joka perustui Codeforces-, CodeChef-, HackerEarth-, AtCoder- ja Aizu-kilpailujen osallistujien ehdottamiin ongelmiin ja ratkaisuihin esimerkkejä sisältävään koodikokoelmaan. Yhteensä 715 Gt GitHubin koodia ja yli miljoona esimerkkiä ratkaisuista tyypillisiin kilpailuongelmiin käytettiin harjoitteluun. Ennen koodin luomiseen siirtymistä tehtäväteksti kävi läpi normalisointivaiheen, jonka aikana kaikki tarpeeton poistettiin ja vain merkittävät osat jäivät jäljelle.

DeepMind esitteli koneoppimisjärjestelmän koodin luomiseksi tehtävän tekstikuvauksesta


Lähde: opennet.ru

Lisää kommentti