Hogyan segíthet a kvantum számítástechnika a mesterséges intelligenciának ...

Hogyan segíthet a kvantum számítástechnika a mesterséges intelligenciának ?!

Mostanában (legalábbis a filmekben) divat, hogy ha valaki mesterséges intelligenciát akar létrehozni, ahhoz kvantumszámítógépre van szüksége. De mi köze a két területnek egymáshoz azon kívül, hogy mind a kettő valami bizar, misztikus területe az informatikának?

Nemrég találtam egy nagyon jó kis blogbejegyzést erről (http://dwave.wordpress.com/2011/05/27/teaching-artificial-intelligences-using-quantum-computers/), aminek a lényegét megpróbálom nagyon röviden összefoglalni. A példában neurális hálókról esik szó. Ezek ugye olyan rendszerek, amik az emberi agy működését modellezik. Egy neurális háló neuronokból, és az azok közötti összeköttetésekből áll. Az egyes összeköttetéseknek erősségük (súlyuk) lehet. A nuronháló működését ezen összeköttetések rendszere határozza meg. Amikor 'betanítunk' valamilyen feladatra egy neurális hálózatot, akkor tulajdonképpen nem történik más, mint hogy meghatározzuk ezen kapcsolatok erősségét. Ezeket a kapcsolatokat egy mátrixban írhatjuk fel, ahol a sorok és oszlopok az egyes neuronok, a cellákban pedig a kapcsoalt erőssége van. Ha ez 0, akkor nincs kapcsolat, ha ettől különböző, akkor valamilyen erősségű kapcsolat van. A kérdés csak az, hogy hogy kell beállítani ezeket a súlyokat, hogy a neuronháló azt csinálja, amit akarunk. Na, ez a dolognak az a része, ami 'nagyon nehéz' feladat. Gondoljunk csak bele, egy számsort kell kitalálnunk. Ha vesszük a legegyszerűbb esetet, amikor csak két értékkel dolgozunk (van kapcsolat, nincs kapcsolat), akkor 2 neuron esetén 2, 3 neuron esetén 2x2x2 (8), 4 nuron esetén 2x2x2x2x2x2 (128) variáció van. Nem nehéz rájönni, hogy ha a neuronok számát több százra, vagy több ezerre növeljük, akkor már hatalmas számokról kell beszéljünk. Ezt hívjuk kombinatorikus robbanásnak. És ez a legegyszerűbb fajta neurális hálózatra vonatkozott. Hogy tudjuk tehát megtalálni a megfelelő kapcsolat rendszert? Ugye azt, hogy végigpróbálgatjuk, a fentiek fényében élből elvethetjük. Vannak mindenféle technikák erre, backpropagation, genetikus algoritmusok, stb. de mindnek megvannak a maga korlátai. Itt jönnek a képbe a kvantumszámítógépek.

A kvantumszámítógépek pont olyan feladatokban jók, ahol a hagyományos számítógépek csődöt mondanak a kombinatorikus robbanás miatt. Egy kvantumszámítógép qbitjei ugyanis egyszerre lehetnek 1 és 0 állapotba, tehát a qbitek sorozata egyszerre veszi fel az összes lehetséges értéket. Egy qbyte-nak tehát 256 értéke van egyszerre. Így aztán egy kvantumszámítógép képes lehet arra, hogy egy menetben több kombinációt kipróbáljon, vagy ideális esetben akár az összes kapcsolatot egyetlen művelettel kiszámolja, ami egy hagyományos számítógépnek lehet, hogy évezredekig tartana. A kvantumszámítógépek ugyanezen tulajdonsága az, ami lehetővé teszi, hogy feltörjünk mondjuk egy RSA kódolást, ami egy hagyományos számítógépnek sok évezredbe kerülne. De hogy valami MI-hez közelebbi megoldást mondjak, ha sakkozó gépet készítenénk, akkor egy kvantumszámítógép egy pillanat alatt lejátszhatná az összes sakk lépés kombinációt, ami egy hagyományos számítógépnek évszázadokig tartana, és így minden esetben képes lenne a legoptimálisabb lépésre.

A mesterséges intelligencia tárgykörébe tartozó problémák szinte mindegyikében megjelenik a kombinatorikus robbanás, a kvantumszámítógépek pedig pont az ilyen problémákban jók. Sőt, egyesek kifejezetten úgy definiálják az intelligenciát, hogy az ilyen problémák megoldásának képessége, mivel más esetekben nagyon jól teljesít a hagyományos számítógép is. Ezért van az, hogy egyre többször említik a két fogalmat együtt, sőt, van aki szerint az emberi agy is ilyen kvantumszámítógépként működik.        

#blog   

Teaching Artificial Intelligences using Quantum Computers

This post will hopefully give a very high level overview of the basic idea behind applying natural quantum computing to artificial intelligence. It is not a post describing programming or algorithm...