Mesterséges intelligenciáról mindenkinek

Napjaink egyik legnépszerűbb és egyben legizgalmasabb területe a mesterséges intelligencia. Ez nem is csoda, hiszen használata az élet…

Mesterséges intelligenciáról mindenkinek

Forrás: https://en.wikipedia.org/wiki/File:What-is-artificial-intelligence-_What_is_artificial_intelligence.jpg

Napjaink egyik legnépszerűbb és egyben legizgalmasabb területe a mesterséges intelligencia. Ez nem is csoda, hiszen használata az élet szinte minden területén reformokat hozhat. Míg egyesek a világ megváltását látják benne, mások a veszélyeire figyelmeztetnek, sőt egyenesen az emberiségre leselkedő legnagyobb veszélynek tartják. Ebben az írásban ezt a témát szeretném kicsit körbejárni. Megpróbálom egyszerű és közérthető módon elmagyarázni, hogy mi is a mesterséges intelligencia, hogy hol tart a technológia napjainkban, és végül arra is szeretnék kitérni, hogy vajon milyen messze vannak a valódi, emberi szinten gondolkodni képes gépek.

Annak idején egyetemen a mesterséges intelligenciát úgy definiáltuk, hogy “azok a dolgok tartoznak ide amikben az emberek jobbak mint a gépek”. Ez egy elég ködös definíció, így nem csoda, hogy az idő múlásával és a technológia fejlődésével folyamatosan változott, hogy mit is nevezünk mesterséges intelligenciának. Aki látta a Kódjátszma c. Alan Turing életét feldolgozó filmet, az tudhatja, hogy a második világháborúban válogatott matematikusok és nyelvészek csapata dolgozott a németek Enigma kódjának feltörésén. Ha akkoriban valaki azt mondja, hogy építhető egy gép, ami képes kiváltani a kódfejtő matematikusokat, akkor mindenki elfogadta volna, hogy ez a gép valamilyen formában intelligens. Egy ilyen gép megfelel a fenti definíciónak is, hiszen a kódfejtésben akkoriban az emberek voltak a jobbak. Aztán Turing közreműködésével megépült ez a gép ami képes volt feltörni az Enigma kódolását és ezzel nagyban hozzájárult a szövetségesek győzelméhez. Innentől viszont ezt a gépet már senki nem mondta volna intelligensnek.

Alan Turing (forrás: https://hu.wikipedia.org/wiki/Alan_Turing)

Ha egy gép képes lenne megverni az embert mondjuk sakkban, az már bizonyosan intelligensnek mondható. 1997-ben az IBM által fejlesztett Deep Blue megverte az akkori sakkvilágbajnokot, Garri Kaszparovot. Amint sikerült megoldani a problémát, már senkinek nem jutott eszébe intelligensnek mondani a Deep Blue-t, mondván, hogy az csak kombinációkat tesztel. Miután a sakk is kiesett az “ebben az emberek a jobbak” versenyből, új terület után kellett nézni. Egy műveltségi vetélkedőn biztosan az ember teljesítene jobban. Ez egészen 2011-ig igaz is volt, amikor az ugyancsak IBM által fejlesztett Watson megnyerte a Jeopardy nevű televíziós vetélkedőt. De hiába a győzelem, eztán sem gondolta senki, hogy Watson valóban intelligens lenne. Egyszerűen csak egy jól megírt szakértői rendszer. Így változott tehát az idők folyamán az, hogy mit hívunk mesterséges intelligenciának. Amíg az ember jobb valamiben, addig az adott területet a mesterséges intelligenciához soroljuk, amint azonban sikerül megoldani a problémát, többé nem az. A mai rendszerek már képesek az emberi beszéd megértésére, nyelvek között fordítanak, felkutatnak nekünk dolgokat az interneten, látnak, hallanak, autót vezetnek, sőt, verseket írnak és képeket festenek, mégsem gondolja senki, hogy a gépek valóban gondolkodnának. De vajon hol van ennek vége? Mikor fogjuk azt mondani, hogy egy gép valóban emberi értelemben is intelligens és gondolkodni képes? Erre Alan Turingank volt egy válasza: Ültessünk be egy gépet és egy embert egy zárt szobába akikkel egy döntőbíró beszélget írásban. A bíró akármilyen kérdést feltehet az alanyoknak. Ha a beszélgetés után a bíró nem tudja eldönteni, hogy melyik alany volt a gép, akkor a gépet tekinthetjük intelligensnek. Ezt hívjuk Turing tesztnek. Igazából a fentebb említett film is innen kapta az angol címét: Imitation Game (imitációs játék — a film magyar címe Kódjátszma), ugyanis Turing ezen a néven publikálta a róla elnevezett teszt első változatát. Nagyon röviden összefoglalva tehát azokat a területeket nevezzük mesterséges intelligenciának, ahol az emberek jobbak mint a gépek, és akkor mondhatjuk egy gépre, hogy intelligens, ha már nem találunk ilyen területet, tehát a gépet képtelenek leszünk megkülönböztetni az embertől. Ennek a ködös definíciónak hála a számítástechnika fejlődésével folyamatosan változik, hogy éppen mit nevezünk mesterséges intelligenciának. De vajon hol tartunk most? A jelenleg divatos neurális hálózatokat is idővel száműzni fogjuk a mesterséges intelligencia területéről? Vagy ez most valami más? És ha így van, vajon milyen messze vagyunk az általános értelemben vett mesterséges intelligenciától (Artificial General Intelligence — AGI)?

Ahogyan fentebb említettem, a mesterséges intelligencia területét jelenleg a neurális hálózatok uralják. A neurális hálózat egy az emberi agy által ihletett rendszer ami mint a nevéből is adódik, mesterséges neuronok hálózata. A mesterséges neuron a biológiai neuron (idegsejt) nagyon leegyszerűsített modellje. Rendelkezik bemenetekkel amik valamiképp összegződnek a neuronban, valamint egy kimenettel ami a bemenetek függvényében áll elő.

Forrás: https://medium.com/@jayeshbahire/the-artificial-neural-networks-handbook-part-4-d2087d1f583e

Egy neurális hálózatban ezeket a mesterséges neuronokat kötjük össze erősebb illetve gyengébb vezetékekkel hasonlóan ahhoz, ahogyan az emberi agyban kapcsolódnak egymáshoz az agysejtek az axonokon keresztül. Egy ilyen hálózat működését az határozza meg, hogy az egyes neuronok között van-e kapcsolat és ha igen, az milyen erős. Ilyen szempontból nagyon hasonlítanak Turing számítógépéhez amit ugyancsak zsinorok dugdosásával lehetett programozni. Habár ezeket a neurális hálózatokat az emberi agy ihlette, hiba lenne azt mondani, hogy ezek mesterséges agyak lennének. Az emberi agy neuronjai bonyolult működésű sejtek amikből nagyon sokféle létezik. A működést is nagyon sok komponens befolyásolja: kémiai anyagok, hormonok, stb. Ha tehát kicsit közelebbről nézzük, a mesterséges neurális hálózatok és az agy két nagyon különböző dolog. Fontosnak tartom ezt kihangsúlyozni, mert a médiában sokszor mesterséges agyként hivatkoznak a neurális hálózatokra, ami erős csúsztatás. Ráadásul a jelenleg használt neurális hálózatok sok szempontból eltávolodtak már az eredeti modelltől, így még kevésbé hasonlítanak az emberi agyra mint elődeik. Egy napjainkban használt mélyneurális hálózat sokkal inkább olyan mint egy cső. A cső egyik oldalán beöntjük az adatokat, majd a cső másik oldalán kijön az eredmény. A csőben rengeteg kis blokk található, ami valamilyen adatátalakítást (transzformációt) végez. Ha az a cél, hogy egy képről felismerjük, hogy az cicát vagy kutyát ábrázol, akkor a bemeneti adat a képpontok összessége, míg a kimenet két szám, ami azt mondja meg, hogy a hálózatunk szerint a képen milyen valószínűséggel látható kutya, illetve milyen valószínűséggel látható cica. Az egyes transzformációs blokkok paraméterekkel rendelkeznek és ezen paraméterek beállításával befolyásolható, hogy egy-egy blokk hogyan működjön. Egy ilyen neurális hálót leginkább egy nagy fekete dobozhoz hasonlíthatunk amin rengeteg potméter található. Olyan, mint amilyet a hangmérnökök is használnak a megfelelő hangzás elérése érdekében.

Forrás: https://www.soundoracle.net/products/mixing-analysis-written-review

Egy ilyen neurális hálózattal bármilyen függvény megvalósítható, sőt ha megfelel bizonyos feltételeknek, akkor egy ilyen rendszer Turing-teljes. Ez utóbbi azt jelenti, hogy bármilyen program megvalósítható ilyen tekerőkkel ellátott fekete dobozzal. De miért akarna bárki is milliónyi tekerővel programozni hagyományos programnyelvek helyett? Nos, a trükk az, hogy a tekerőket nem nekünk kell állítgatni. A neurális hálózatok úgy vannak felépítve, hogy ha átengedünk egy mintát a csövön, majd meghatározzuk a hibát, az alapján egy automatizmus képes beállítani a potmétereket, hogy mikor újra átengedjük a mintát a rendszeren, már jobb eredményt adjon. Egy neurális háló esetén tehát nem mi írjuk a programot! Egyszerűen mintákat mutatunk a rendszernek ami minden körben finomhangolja magát így létrehozva a kívánt működést. Ez pedig azért nagy dolog, mert a neurális hálók segítségével képesek vagyunk olyan programokat is létrehozni, amiket képtelenek lennénk megírni. Ehhez mindössze megfelelő mennyiségű adatra van szükségünk. Érdemes megnézni a Stanford tanárának, Fei-Fei Li-nek az előadását a témában, ahol elmondja, hogy miképp segíthetnek a neurális hálózatok megoldani olyan problémákat, amiket eddig képtelenek voltunk megoldani.

A fentiek alapján úgy gondolom, hogy a neurális hálózatok által olyan eszközt kaptunk a kezünkbe ami valami teljesen új. Egész idáig a problémákat a programozóknak kellett megoldaniuk ami jelentősen korlátozta a lehetőségeinket, a neurális hálókkal azonban most már képesek vagyunk olyan programok létrehozására is amiknek megírására amúgy nem lennénk képesek. Ezt persze mesterséges intelligenciának hívni nagyon félrevezető, így véleményem szerint sokkal találóbb a Software 2.0 elnevezés, amit Andrej Karpathy-tól hallottam először. Karpathy egyébként a Tesla mesterséges intelligencia részlegének vezetője, így érdemes odafigyelni rá. Egy előadásában például arról beszélt, hogy a Tesla önvezető programjában hogyan váltották le folyamatosan a kézzel írt programrészeket betanított neurális hálókkal. Jelenleg az önvezető rendszer kb. 30%-a az amit programozók fejlesztettek ki, és 70% amit gép hozott létre a fentebb említett finomhangolás által. Napjainkban tehát a hangsúly a programozásról egyre inkább tolódik át a bigdatára, vagyis arra a hatalmas adathalmazra, ami alapján ezek a gépek által írt programok létrehozhatóak. Nem csoda hát, hogy manapság az egyik legértékesebb vagyon a tiszta adat. Ez persze mind szép és jó, de hol vannak a beígért gondolkodó gépek?

Életem egyik legmeghatározóbb könyve Ray Kurzweil-től A szingularitás küszöbén. Kurzweilről talán annyit érdemes tudni, hogy jelenleg a Google egyik magas rangú vezetője és olyan emberek nyilatkoznak elismerően a munkájáról, mint a Microsoft alapítója, Bill Gates. Egy ilyen kvalitású emberre érdemes odafigyelni, vagy legalábbis meghallgatni amit mond. Kurzweil szerint a fejlődés exponenciális jellegének hála, akár a 2040–2050-es évekre elérhetjük az emberi szintű mesterséges intelligenciát. A kérdés persze a “Hogyan?”. Kurzweil kishíján 1000 oldalon elemzegeti ezt könyvében, hogy mondandója kellően megalapozott legyen. Dióhéjban a lényeg az, hogy ne úgy gondoljunk a mesterséges intelligenciára mint valami tőlünk független dologra ami majd egyszer ránk támadhat. Kurzweil szerint a fejlődés sokkal inkább arról fog szólni, hogy az ember mind jobban összeolvad a technológiával míg végül eléri azt a szintet amikor már nem lesz szükség biológiai komponensre. Ebben az állapotban az agyunk már teljesen digitális lesz, testre pedig nem lesz szükségünk, vagy ha mégis, hát magunkra öltünk egyet átmenetileg. Kurzweil szerint tehát a mesterséges intelligencia nem egy tőlünk független dolog, mi magunk leszünk az emberi szintű MI. Ezt az irányzatot egyébként ami az ember technológia általi fejlesztésében látja a jövőt, transzhumanizmusnak nevezzük. Tudom, hogy elsőre sci-finek hangzik az emberi szintű mesterséges intelligencia “kiborgizálódás” általi elérhetősége, mégis talán ez a leghihetőbb forgatókönyv. Ha valaki figyeli a híreket, láthatja, hogy egyre-másra jelennek meg az olyan cégek mint az Elon Musk által alapított Neuralink ami éppen az ember technológiával való összeolvasztását tűzte ki célul. Az egyik legerősebb ellenérv az agy-gép interfészek és az emberi szintű MI ellen, hogy az emberi agy túl komplex ahhoz, hogy megértsük. Hogyan akarunk hozzá gépeket illeszteni, majd teljes egészében számítógépre cserélni azt? Nos, itt jönnek a képbe az előző fejezetben említett neurális hálók és a Software 2.0. Ahogyan már említettem, a neurális hálók előnye abban rejlik, hogy megfelelő mennyiségű adat birtokában képesek vagyunk általuk olyan programok létrehozására amire amúgy képtelenek lennénk. Egy neurális hálózat tehát képes lehet megtanulni fordítani agy és a gép között úgy, hogy nekünk nem kell megértenünk az agy komplex működését, azt “megérti” helyettünk a neurális hálózat. Egy neurális hálózat tehát önmagában még nem mesterséges intelligencia (a szó klasszikus értelmében), de eszköz lehet arra, hogy általa létrehozzuk az emberi szintű mesterséges intelligenciát. Még konkrétabban: egy neurális háló nem mesterséges agy, de képes lehet eltanulni egy emberi agytól annak működését, hogy aztán digitális emberi agyként működéhessen.

De ha mi leszünk a mesterséges intelligencia, vajon kell-e tartanunk tőle? Sokkal jobban mint eddig bármikor! Veszély szempontjából egy késztetések nélküli szuperintelligencia nyomába sem ér egy hataloméhes emberi diktátornak aki digitális formájában hallhatatlan és emelett szuperintelligens, hasonlóan mint Jhonny Depp a Transzcendens c. filmben. Émiatt aztán ahogyan a technológia fejlődik, az emberiség egyik legfontosabb feladata az lesz, hogy egyenlően biztosítsa ennek a technológiának az elérhetőségét mindenki számára, hiszen a társadalmi egyenlőtlenség és a transzhumanizmus kombinációja által az egyik legrosszabb rémálmunk válhat valóra…