## Mi a mesterséges intelligencia? Itt nincs szerintem teljesen pontos definíciója, illetve az idők során változik hogy pontosan mit hívunk így és mit nem. Ha először olvasod ezt, próbáld meg megfogalmazni, hogy mi a mesterséges intelligencia, mielőtt a tovább olvasod. (2023-ban), amikor ezt a kérdést feltettem diákoknak, ezeket a válaszokat adtátok: * döntéseket képes hozni * képes magától fejlődni, tanulni a hibáiból * sok adattal kiegészíthető * emberhez hasonló benyomást keltő a viselkedése * specifikus célt optimalizál nagyon jól Ezek mindegyike ráillik nagyon sok mesterséges intelligencia cimkével ellátott technológiára, de egyik sem olyan tulajdonság ami feltétlen minden MI rendszerre igaz kell hogy legyen. **Turing teszt:** Példaképpen, a ChatGPT egyik tulajdonsága hogy "emberhez hasonló benyomást keltő a viselkedése". Ezzel kapcsolatban megemlítettük a Turing-tesztet, amit Alan Turing még az 1940-es években képzelt el, mint az intelligencia egyik legjobb próbáját: A Turing tesztben egy ember üzeneteket vált egy másik féllel, aki lehet egy másik ember, vagy egy mesterséges intelligencia program. A MI. program akkor megy át a teszten, ha az ember hosszú kérdezgetés után sem tudja eldönteni, hogy valóban emberrel beszél-e, vagy sem. Ez valódi tesztje-e a mesterséges intelligenciának. Egyrészt most már tudunk olyan chatbotokat készíteni amik átmennek a Turing teszten. Persze ha az ember nagyon sok időt tölt el a ChatGPT-vel akkor egy idő után felismerheti a gyakran ismételt szófordulatai alapján, de alapvetően nagyon jól képes ember benyomását kelteni. Ettől intelligens-e? Másrészről vannak olyan M.I. módszerek amik egyáltalán nem emberi viselkedést mutatnak, vagy olyan feladatokat is meg tudnak oldani, amit emberek pl. nem. A legjobb sakkprogramok, vagy go programok pl. használnak olyan lépéseket amit emberek nem, mert a stratégia használata túl sok munkamemóriát igényelne, amit egy ember nem tud végrehajtani. Ettől sokkal kevésbé tűnik ember-szerűnek a módszer, de nem valószínű, hogy azt mondanánk rá hogy kevésbé intelligens. ### Az M.I. mindíg változik Az egyik tulajdonsága a mesterséges intelligencia-kutatásnak, hogy folyamatosan változik, hogy mi az amin dolgozunk, mire mondjuk, hogy mesterséges intelligencia, mi az ami elérhetetlennek tűnik. Érdemes elképzelni azoknak a feladatoknak a halmazát amit emberek, vagy számítógépes programok képesek végrahajtani. Ezeket a halmazokat venn diagrammon ábrázolva: ![](https://hackmd.io/_uploads/rJBvUKoV3.png) Mielőtt a következő ábrát megnézed, próbálj felsorolni minél több feladatot a Venn diagram mind a négy területéből: * mi olyan feladat amiben az emberek jók, de számítógépes programmal vagy gépekkel nem lehet elvégezni? * Mi olyan feladat amit könnyű számítógépekkel-programokkal megoldani, de embereknek nagyon nehéz lenne? * Mi az ami emberek és számítógépes programok számára egyaránt lehetséges kb. ugyanolyan minőségben megoldani * Bónusz: tudtok-e olyan problémákról amit se emberek, se számítógépek nem tudnak megoldani? Adj magadnak mondjuk 5 percet hogy jó példákat találj. Itt vannak a példák, ami nekünk eszünkbe jutott: ![](https://hackmd.io/_uploads/ryRrN5sVh.png) Az, hogy az emberek milyen feladatok ellátásában jók nem szokott nagyon sokat változni. Viszont az, hogy számítógépekkel milyen feladatok megoldhatók, folyamatosan növekszik a számítástudomány megjelenése óta. Hogy éppen mit hívunk mesterséges intelligenciának, az attól függ, hogy mik azok a problémák, amik számítógéppel még épp nem oldhatók meg, de vagy épp csak a közelmúltban váltak megoldhatóvá. ![](https://hackmd.io/_uploads/r1aQLqiE3.png) Így gondolkodva a mesterséges intelligencia arról szól, hogy a számítógépekkel megoldható feladatok körét bővítsük, általában különös tekintettel azokra a feladatokra amik elvégzésére jelenleg emberi intelligenciára van szükség, és amik a társadalom számára hasznos feladatok. Az elmúlt 10 évben a mesterséges intelligencia nagyon nagy ütemben fejlődött, és sok feladat, ami számítógépekkel megoldhatatlan volt, már nem az. Már említettük a Turing-tesztet, ami 10 éve nehéznek tűnt, ma viszont az emberi nyelv értelmezésére és generálására képes technikákkal már nem olyan nehéz az ember-szerű kommunikáció. Emellett áttörések voltak képi adatok feldolgozásában, képanyag generálásában, a sakknál komplexebb stratégiai játékok, pl. go vagy shogi terén, programozási feladatok megoldásában, önvezető autók fejlesztésében, illetve fizikai manipulációban (robotkarokkal vagy robotokkal feladatok elvégzése) is. ### Meddig tudunk eljutni? Az elmúlt évtized fejlődése olyan gyors és meglepő volt, hogy felmerül a kérdés, marad-e olyan feladat, amiben az emberek mindíg jobbak maradnak a gépi intelligenciánál, vagy a piros halmaz egyszercsak bekebelezi az emberi intelligenciával elvégezhető összes feladatot. Egy olyan általános, több feladat elvégzésére is képes gépi intelligenciát, vagy programot, ami minden feladatot legalább olyan jól képes elvégezni, mint egy ember, úgy hívjuk hogy artificial general intelligence (AGI). Egyesek - bár egyre kevesebben - azt gondolják, hogy ez sosem fog megtörténni, mások szerint esetleg majd 20-50 év múlva. Egyre többen viszont úgy vélik, hogy sokkal közelebb vagyunk, és hogy a jelenlegi technikákkal akár 5-10 éven belül eljuthatunk idáig. Természetesen azon is sokan aggódnak, hogy mi történik akkor, ha a gépi intelligencia eléri azt a szintet, hogy az emberek már irányítani sem tudják majd - erre majd később visszatérünk. Egy biztos: az elmúlt pár év áttörései főleg a természetes nyelvfeldolgozás és általános nyelvi intelligencia területén (pl. ChatGPT) jelentősen meg fogják változtatni a világot. Szerintem kb. olyan jelentőségű mint az Internet megjelenése, vagy egyesek szerint akár az ipari forradalomhoz hasonlítható. Az ipari forradalom a fizikai munkát kiváltó, és azt új szintre emelő, általánosan használható gőzgép megjelenéséhez köthető. Ennek megfelelően az új, általánosan használható nyelvi modellek sokak szerint a szellemi munkát váltják ki, emelik új szintre. ## Az elmúlt évtized áttörései * **2012: AlexNet és computer vision** Ez a korai deep learning, vagy neurális hálózat alapú képfelismerő módszer jelentős előrelépést ért el képi adatok értelmezésében, egészen pontosan objektumtípusok felismerésében. Az internetről származó színes képeken kellett kitalálni hogy 1000 különböző kategória közül melyik szerepel az adott képen. A kategóriák pl. különféle járművek, kutyafajták és állatok, használati eszközök voltak. Bár a deep learning nem teljesen volt új, ez egy nagyon jelentős demonstrálása volt a módszer használhatóságának. Ahhoz hogy ez működjön, szükség volt arra, hogy a korábban nagyrészt csak számítógépes játékokhoz használt grafikus gyorsítókat, a GPU-kat tudták használni a számítások végzéséhez. A GPU egészen más elven működik a hagyományos központi processzorhoz (CPU) képest, és az ilyen jellegű számítások nagyságrendekkel gyorsabban futnak rajta. Az AlexNet momentum óta a gépi látás nagyon sok feladata megoldhatóvá vált neurális hálózatokkal. * **machine translation, beszédfelismerés:** A computer vision vagyis gépi látás mellett a neurális hálózatok áttörést hoztak a szövegfordítás, beszédfelismerés (speech-to-text) és végül a beszéd generálás területén is. A [WaveNet](https://www.deepmind.com/blog/wavenet-a-generative-model-for-raw-audio), illetve később A [Whisper](https://openai.com/research/whisper) sokkal természetesebb hangzással tudnak szöveget felolvasni, mint korábban. És jellemzően ezek a módszerek egy nagy neurális hálózatot használnak a korábbi nagyon sok komponensből álló és bonyolult mérnöki megoldások helyett. * **Atari játékok, StarCraft, go:** A mesterséges intelligencia olyan alkalmazásokban is fejlődött, pl. játékokban, ahol folyamatosan újabb és újabb döntéseket kell hozni egy cél elérése érdekében. Először Atari (ez egy régi fajta videójátékkonzol) [játékokon demonstráltak](https://www.deepmind.com/publications/playing-atari-with-deep-reinforcement-learning) olyan módszereket, amik egy tanuló algoritmussal több mint 50féle videójátékot képesek voltak megtanulni, és több játéknál az emberi teljesítményt is felülmúlták. Később ez sikerült bonyolultabb és modernebb videójátékok mint a [StarCraft](https://www.deepmind.com/blog/alphastar-mastering-the-real-time-strategy-game-starcraft-ii) illetve [DOTA](https://openai.com/research/openai-five-defeats-dota-2-world-champions). Különösen nagy hír volt, amikor az AlphaGo nevű MI-alapú játékos legyőzte a világ egyik legjobb játékosát, [Lee Sedol](https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol)t, a Go játékban. Erről ő[dokumentumfilm](https://www.youtube.com/watch?v=WXuK6gekU1Y) is készült. Ez azért olyan meglepő, mert a Go játék kombinatorikai szempontból sok nagyságrenddel nehezebb pl. a sakknál. Ez azért van, mert a tábla, és a szabályos lépések száma sokkal nagyobb. Így csak 8 lépés után a lehetséges állások száma $5.12\times 10^{20}$. A sakkban is sok, de nagyságrendekkel kisebb. A goban annyiszor több lehetséges játszma képzelhető el mint a sakkban, mint a galaxisban található atomok száma. Épp ezért a brute force, azaz az összes lehetőség felsorolásán alapuló, algoritmusoknak esélye sincs még a lehetséges lépések kis részét is szimulálni. Sokan ezért azt gondolták a Go játékot a mesterséges intelligencia még évtizedekig nem fogja megtanulni. * **AlphaFold:** A szűmítógépek tudományokban való alkalmazásának egyik évtizedek óta kutatott példája a fehérje hajtogatás. A sejtek DNS-ben tárolt információ alapján fehérjéket állítanak elő, amik aztán mindenféle funkciókat látnak el. A funkciójuk attól is függ, hogy milyen az alakjuk, azaz 3-dimenziós struktúrájuk. Azt viszont megmondani hogy egy adott DNS szakasz által kódolt fehérlye pontosan milyen alakú lesz, azaz hogy hajtogatódik össze, nem könnyű. Az [AlphaFold](https://www.deepmind.com/research/highlighted-research/alphafold) ezt a régi és nagyon fontos problémát oldotta meg, szintén neurális hálózatok felhasználásával. Ez egy olyan jelentőségű előrelépés, amiért a módszer kitalálói várhatóan Nobel díjat is kaphatnak, illetve hatalmas előrelépés a biológia és gyógyszerkutatás területein. * **2019-től: large language models:** Kb. 2019től a mesterséges intelligencia területén egy új paradigma alakult ki. A fent említett módszerek mind a 'narrow AI' kategóriába sorolhatók, egy jól meghatározott problémát hivatottak megoldani, abban nagyon jók, de minden másra használhatatlanok. Az LLMeket máshogy használjuk. Ezek olyan modellek aminkek a bemenete és a kimenete is szöveg. Tanításkor nagyon sok szöveget mutatunk nekik az internetről (tényleg nagyon sokat, praktikusan szinte az egész internetet) és a feladatuk az, hogy a szövegrészletek befejezését megtanulják kitalálni. Nagyon hosszú és drága tanítás után (ezeket a modelleket hónapokig tanítják többtízezer GPU-val felszerelt szuperszámítógépeken millió dolláros nagyságrendű összköltséggel) viszont ezek a modellek többféle természetes nyelven kifejezett feladat megoldására lesznek képesek. Pl. bár sosem tanítottuk őket angolról franciára szöveget fordítani, ezek a modellek képesek egész jó eredményt elérni. Hasonlóképpen matematikafeladatok megoldására, programkód generálására, versírásra, házifeladatok megírására és még sok másra is képesek. A legismertebb példa erre a típusú modellre a GPT, illetve az erre alapuló [ChatGPT](https://chat.openai.com/). * **kód generálás:** meglepő fejlemény volt hogy az LLM-ek, azaz nagy nyelvi modellek, képesek programozási feladatokat is elvégezni, ha nagy mennyiségű open source forráskódon tanítjuk őket. A [github copilot](https://github.com/features/copilot) dokumentációból teljes függvényeket meg tud írni. Az [AlphaCode](https://www.deepmind.com/blog/competitive-programming-with-alphacode) pedig programozási versenyfeladatokat is meg tud oldani, CodeForces versenyeken kb a résztvevők felénél több pontot ért el. Ez nyilván még aktív kutatási terület, várhatóan pár éven-hónapon belül ennél még jobban is tudnak majd működni ezek a módszerek. * **matematikai tételbizonyítás:** Az LLM-ek, amiket matematikai szövegeken tanítanak kifejezetten jók matematika feladatok megoldásában. A [Minerva](https://ai.googleblog.com/2022/06/minerva-solving-quantitative-reasoning.html) nevű modell pl. gimnáziumi, illetve egyetemi szintű szöveges matekfeladatokat is képes megoldani, egész magas sikeraránnyal. Matematikai tételeket, és bizonyításokat le lehet írni formális nyelven is - a LEAN és az Isabel pl. olyan programozási nyelvek, amikben matematikai állításokat és bizonyításokat lehet lekódolni, és a fordítóprogram ellenőrzi, hogy a biznyítás helyes-e. Egy [GPT-alapú modellnek sikerült](https://openai.com/research/formal-math) ilyen formális nyelvre lefordított matematika diákolimpia feladatokat is megoldania. Személyes véleményem szerint 5-10 éven belül elképzelhető, hogy olyan komoly matematikai sejtések-tételek bizonyítása is elérhető lesz az MI számára, amiket még senkinek nem sikerült bebizonyítani. Most, hogy ezeket a fejleményeket felsoroltuk, térj vissza ahhoz a válaszhoz amit a fenti kérdésre adtál, hogy mi a mesterséges intelligencia. Nézd végig a példákat, és döntsd el, hogy a lenti példák megfelelnek-e a követelményeknek: * döntéseket képes hozni * képes magától fejlődni, tanulni a hibáiból * sok adattal kiegészíthető * emberhez hasonló benyomást keltő a viselkedése * specifikus célt optimalizál nagyon jól Ezek alapján tudsz-e jobb definíciót, vagy leírást adni?