Az NJSZT blogja a legfejlettebb infokom technológiákról

Jelenből a Jövőbe

Mélytanuló programoknál is jobban játszik egy evolúciós algoritmus

2018. augusztus 27. - ferenck

A mélytanulás (deep learning) és az embert tárgy- és arcfelismerésben, játékokban (sakk, go, egyes videojátékok) stb. felülmúló, a humán agyműködést utánozni próbáló ideghálók központi szerepet játszanak a mai számítástudományban, MI-kutatásban.

Úgy tűnik egyetlen más MI-technológiában nincs ekkora potenciál – pedig van…

A bő három évtizedes múltra visszatekintő evolúciós számításokkal például gyártósorokat optimalizáltak, robotokat vagy repülő-alkatrészeket terveztek, az utóbbi esztendőkben viszont háttérbe szorította a gépi tanulás.

evoluciosalg.jpg

A Toulouse-i Egyetemen kutató Dennis Wilson és kollégái bemutatták, hogy evolúciós számításokkal is elérhetők ugyanazok az eredmények, ráadásul pont azon a területen, klasszikus videojátékokban (Pong, Breakout, Space Invaders, Kung Fu Master stb.), amelyekben a mélytanulás először (2013-ban) ért el átütő sikert.

A technológia teljesen másként működik. Véletlenszerűen generált kóddal kezdi, nem egy, hanem csomó, esetenként többszázezer változatban. Mindegyiket tesztelik, megvalósítja-e a célját. Általában nem, mert random jöttek létre. Egyes kóddarabok viszont jobbak, mint mások, és új generációban reprodukálnak, több van belőlük, és nem is ugyanazok, mert változnak – vagy két részük átalakulásával mutálódnak, vagy két félbevágott kód egybeintegrálódik. Minden új generációt tesztelnek, a legjobb kódrészek újraszaporodnak, újabb generációk jönnek, és így tovább. Az evolúció során a kód folyamatosan javul, a sokadik generáció után jobb lesz, mintha ember írta volna.

evoluciosalg0.jpg

Wilsonék az Arcade Learning adatbázisban található, az 1980-as és 90-es években fejlesztett 61 játékot irányító kódok kidolgozására alkalmazták az evolúciós megközelítést. Kíváncsiak voltak, megközelítik-e a mélytanulás eredményeit.

Az emberhez hasonlóan játszó, az outputot csak a monitoron látó, döntés előtt minden pozíciót kiértékelő algoritmust kellett létrehozni.

Kódírással kezdődött. A szótárhoz összetársítható terminusok kellett. Wilsonék a kartéziánus genetikus programozásként ismert sort használták, először 40 terminusos kódhoz, a program „genomjához.” A genomot tesztelték, hogyan játszik, és a pontok alapján ítélték meg. Ha jól teljesített, reprodukálódhatott, mutációk tűntek fel, aztán újratesztelték, összesen 10 ezer genomot vizsgáltak így át.

Sokadik generációik már jól, időnként embereknél is jobban játszottak, sőt, néha meglepő megoldásokat választottak.

Kiderült, hogy az evolvált kód legalább annyira jó, mint a gépi tanulásos megközelítés, egyes játékokban (Asteroids, Defender, Kung Fu Master) pedig felül is múlta. Mivel a programok viszonylag kicsik, kevesebb gyakorlás kell, és – ellentétben a mélytanulás egyes adatintenzív alkalmazásaival – könnyebb átlátni a működését.

Az evolúciós megközelítés hatékony alternatíva, és a kettőt kombinálva, egyes kutatók már el is kezdtek jobb mélytanulás-megoldásokat evolválni.

A bejegyzés trackback címe:

https://jelenbolajovobe.blog.hu/api/trackback/id/tr5414173391

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.