Minden számítógépes alkalmazás motorja a matematika

2020.02.13.
Minden számítógépes alkalmazás motorja a matematika
Milyen algoritmus vezérli, hogy melyik ismerős posztját lássuk először? Hogyan ismeri fel gyorsan a mesterséges intelligencia az arcokat a fotókon? Többek között ilyen kérdésekre keresik a választ az ELTE TTK matematikusai, például Pálvölgyi Dömötör, az ELTE TTK Számítógéptudományi Tanszékének adjunktusa, akinek szakterülete a kombinatorikus geometria.

Képzeljünk el egy teljesen mindennapi jelenetet: barátainkkal beülünk egy kávézóba, beszélgetünk, majd előkerül egy telefon, fotó készül a vidám társaságról, amelyet rögtön meg is osztunk egy közösségi oldalon. És ekkor ér a meglepetés: ha engedélyeztük ezt a funkciót, nem is kell megneveznünk a képen levő barátainkat, az oldal pár pillanat alatt minden archoz megtippeli, hogy ki is ő. És nem téved. De hogyan csinálja?

Geometria és neurális hálózat

Neurális hálózat – mond egy kevéssé érthető varázsszót Pálvölgyi Dömötör, az ELTE TTK Matematikai Intézetének munkatársa, a Kombinatorikus Geometria kutatócsoport vezetője. Kombinatorika? Geometria? Jaj, csak megírjam legalább hármasra a matekdolgozatot - merül fel emlékeink bugyrából a régi félelem. Pedig csak értelmük szerint kell használni a szavakat: kombináljuk a geometriai alakzatokat, játsszunk velük, hisz a matematika tulajdonképpen játék absztrakt fogalmakkal - mondja Pálvölgyi tanár úr - és ha ügyesek vagyunk, akár az arcokat is felismerhetjük. Méghozzá nagyon gyorsan.

Először vegyünk egy képet egy arcról: képpontokból, pixelekből, vagyis „geometriai alakzatokból” áll, ahogy telefonunk is elkészíti. Alkossunk ezek kombinációjával egy új képet, amely amely azt mutatja meg, hol vannak az eredeti képen azok a vonalak, amelyeket egy rajzoló is behúzna a ceruzájával, mert ott más színű területek találkoznak egy egyenes vagy görbe vonal mentén. Aztán ebből egy még újabbat, amelyen már-már e vonalak találkozási pontjait és azok egymáshoz képest vett helyzetét jelenítjük meg. És így tovább – ami az érdekes, hogy meglepően kevés, 5-6 ilyen lépésből már nemcsak ismerőseink, de az ő ismerőseik közül is nagyon megbízhatóan meg tudjuk tippelni, hogy ki van a képen.

Az arcfelismerő algoritmus valójában az arcnak csak néhány „jellemző” pontját keresi meg és helyezi el őket egymáshoz képest. Nemcsak arcunk, de e pontok pozíciója is egyedi,
így ez gyorsan összevethető a meglévő adatbázisokkal. Az igazi feladat a pontok gyors felismerése.

Ahogy a fenti képen is látszik, a neurális hálózat a sok képpontból kinyeri az olyan tulajdonságokat, mint az életkor, a hajtípus, a fejforma és néhány más jellemző, így egy arc lényegi része nagyon kevés információval leírható – miközben egy teljesen véletlen pixelhalmaz nem. Ez pedig nagyon hasznos, mert az általunk, emberek által „kedvelt” információk mind ilyenek, hisz agyunk is egyfajta neurális hálózat, sőt, az ami igazán az.

Pálvölgyi Dömötör matematikus az ELTE TTK Számítógéptudományi Tanszékének adjunktusa, 2017 óta az MTA-ELTE Lendület Kombinatorikus Geometria Kutatócsoport vezetője. Fő kutatási területe a kombinatorikus geometria, valamint a tágabb kombinatorika és a bonyolultságelmélet. Diplomáját 2005-ben szerezte az ELTÉ-n, PhD fokozatát 2010-ben a svájci École Polytechnique Fédérale de Lausanne-on (EPFL), majd visszatért az ELTÉ-re. Vendégkutató volt 2012 tavaszán az IIT Delhi-n és 2015-től 2017-ig Cambridge-i egyetemen. Elnyerte a Grünwald Géza medált 2010-ben, a Bolyai János Kutatási és OTKA PD ösztöndíjakat 2012-ben, a European Commission Marie Sklodowska-Curie ösztöndíját 2015-ben, valamint az MTA Lendület pályázatát és az Academia Europaea Burgen Scholar díját 2017-ben. A Bolyai János Matematikai Társulat Tudományos szakosztályának titkára, valamint a Discrete Mathematics folyóirat szerkesztőségi tagja. Közel 70 tudományos eredménye jelent meg, melyekre több száz hivatkozást kapott.

Algoritmusok az utakon

Ezzel rokon algoritmust használnak az önvezető autók irányító szoftverei is; itt nem az arcot kell felismerni, hanem az útburkolati jeleket, az út szélét, a kereszteződést, a közlekedési táblákat, és a többieket: gépjárműveket, kerékpárosokat, gyalogosokat. Sok elméleti kutatás mellett ilyen gyakorlati problémákhoz kapcsolódó dolgokkal is foglalkozik az ELTE Matematikai Intézete.

Mit kell látnia az önvezető autó kamerájának: az utat, a használóit, a környezetét, illetve hogy mi áll és mi mozog (Patrick Emami)

Az egyetemi matematikaoktatás nagyon különbözik az általános iskolaitól, de még a sikeres középiskolákban szokásos matematikaversenyek feladataitól is – folytatja Pálvölgyi Dömötör. Az iskolai órákon megtanuljuk az alapvető és a kicsit összetettebb matematikai műveleteket, fogalmakat, ez olyan, mint amikor megtanuljuk a sakkjáték szabályait. A matekversenyek feladatai ebben a hasonlatban a sakkfeladványok: világos kezd és három lépésben mattot ad. Ügyesen, ötletesen használjuk ki a szabályok adta legravaszabb ötleteket is – de ettől még nem tudunk jól sakkozni! Ahhoz a megnyitás, középjáték, végjáték gyakorlása is kell. Ez az egyetemi matematika-oktatás.

Aki pedig végez, „sakkozhat” például a fent elmondott problémával, hogy egy mindannyiunk által használt számítógépes program jobban működjön, hogy

kevesebb helyre tudjuk tömöríteni adatainkat, hogy a mi hirdetésünket rangsorolja előre a közösségi oldal, hogy a képeinket átalakító szűrők minél jobban működjenek.

Emellett viszont sakkozhatunk más játékosokkal is: ma már a tőzsdei műveleteket is egyre inkább ilyen algoritmusok irányítják – amelyekbe be van kódolva az a tudás, hogy a többi szereplő is hasonlóan játszik – ezt már Simon Péter professzor, a Matematikai Intézet igazgatója teszi hozzá – nem véletlen, hogy végzett matematikusaink közül a legjobb elméleti felkészültségűekre éppen a pénzügyi és biztosítási szektor szereplői vadásznak.

További érdekességek az ELTE matematikai közösségétől: Érintő