A számítógépes alkalmazások motorja a matematika

2020.02.18.
A számítógépes alkalmazások 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?

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 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 é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, 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 vagy a fejforma, í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 igazán az.

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

Amit az önvezető autó kamerájának kell látnia: 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” – mondja Pálvölgyi Dömötör matematikus, az ELTE TTK Számítógéptudományi Tanszék adjunktusa. Az MTA-ELTE "Lendület" Kombinatorikus Geometria Kutatócsoport vezetője hozzáteszi: „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.”

Forrás: ELTE TTK