AI-blog

Érdekességek, elmélkedések és kutatási eredmények a mesterséges intelligencia, robotika és egyéb sci-finek ható tudomány területeiről.

kommentek

Linkek

Az öntudat határán

2011.02.28. 13:20 | Haibane | 1 komment

Címkék: agy robot tanulás

Napjaink robotjai hozzánk képest superman képességekkel rendelkeznek: hatalmas tömegeket képesek megmozgatni, gyorsak és utánozhatatlanul precízek... egészen addig, míg minden szépen be van állítva, a környezet közel állandó és minden kiszámítható. Gondoljunk a nagy sikerű Roomba takarító robotra, egy lépcsőkkel és mozgó tárgyakkal tarkított lakásban alig vehetjük hasznát. Ugyanígy az autógyárak nagy szerelőcsarnokaiban sorakozó robothad is csupán bambán néz ha a bekészített elemek nem ott vannak, ahol "ők megtanulták". Kutatók egy része úgy gondolja, hogy a gépek megfelelő tanításával egyre jobban meg lehet közelíteni az emberi intelligenciát. Vannak viszont, akik szerint ez az irány önmagában zsákutca; ők úgy látják, hogy itt az ideje a gépeket öntudatra ébreszteni. 

A mesterséges intelligencia elmúlt 10-15 évben lezajlott komoly fejlődése ellenére a mai napig emberek számára triviális feladatok teljességgel megoldhatatlanok a gépek számára. Ha visszatekintünk pár érdekesebb eredményre láthatjuk, hogy a kutatók nagyrészt valamilyen evolúciós eljárásra építenek ha adaptív viselkedést szeretnének a robotból kihozni, ez viszont többnyire lassú és erősen függ a szimulált környezettől és még számtalan paramétertől. A legtöbb esetben már az is nagy eredmény, ha adott környezetben az egység némi intelligens autonóm viselkedést mutat. De mi történik akkor, ha a világ a feje tetejére áll, ilyenkor újra tanítani kéne a robotokat az elejéről?

Múlt héten részt vettem egy szakmai konferencián, ahol elbeszélgettem azzal a Hod Lipsonnal, akinek egy korábbi munkájáról már írtam. Mikor említettem neki, hogy mi is dolgozunk egyfajta morfogenetikus eljáráson, azt mondta, hogy az ötlet életképtelen lesz öntudat nélkül. Bevallom elsőre elég futurisztikusan hangzik, hogy egy robotnak "énje" van. Persze nem kell rögtön megijedni és világvégét kiálltani, az ötlet és megvalósítás még gyerekcipőben jár.

Hod mesélt egy mostani munkájáról, ahol egy egyszerű, négy lábon járó, pókszerű robotot kellett megtanítani járni. A tradícionális megoldással, vagyis egy neurális hálóval és szimulációval a feladat viszonylag könnyen megoldható lett volna. Erre ő azt mondta, hogy mi van ha a robot alakja megváltozik, esetleg elveszti egyik lábát, vagy még egy nő neki, akkor az egész dolgot kezdhetnék előről. Mi lenne ha a robotnak lenne valamilyen elképzelése arról, hogy miként is néz ki és az irányításhoz ezt használná fel?

Hogy egy jobb képet kapjunk a problémáról képzeljül el, hogy egy dobozban ülünk, ami valamilyen ismeretlen szerkezettel van a földhöz rögzítve. A doboz belső falán van 4 kallantyú, amivel a szerkezetet valahogy mozgatni tudjuk, de a mozgatás eredményét csupán a doboz dőléséből, forgásából érezzük. Természetes, hogy némi próbálkozás után az agyunkban kialakulna egy többé-kevésbé valós kép a szerkezetet illetően. A Cornell egyetem kutatói ugyanezt akarták elérni a robottal: alkosson képet, modellt saját magáról és használja fel arra, hogy rájöjjön miként tud mozogni. Ezzel az eljárással tulajdonképpen az sem lesz probléma ha a robot alakja változik, hiszen néhány kísérlet után képes lesz a magáról alkotott képet frissíteni. Az eredményről egy remek videót készítettek, mely megtekinthető itt. Látható, hogy igen butácska mozgást volt csak képes elsajátítani a szerkezet, viszont az egyik végtag csonkolása után is képes volt a feladatot végrehajtani.

Úgy gondolom ez az irány idővel egyre meghatározóbb lehet a robotikában, hogy még komplexebb és intelligensebb gépeket legyünk képesek létrehozni. Végezetül pedig egy régebbi videó, hogy miként alkalmazkodik egy intelligens robot miután elveszti a lábait.

Mikor lesz az önzés nem kifizetődő?

2010.12.13. 10:24 | Haibane | 19 komment

Címkék: public game dilemma agy evolúció goods prisoners

Néhány éve kezembe került Robert Axelrod talán leghíresebb könyve, mely a fogolydilemmával foglalkozik: egy egyszerű példa, hogy mikor éri meg együttműködni és mikor nem.

A játékban két szereplő van, akiket a rendőrség elfogott, elkülönített és tanúzásra szólított fel. Itt lép be a képbe az együttműködés, ugyanis ha mindketten tagadnak akkor csak 6 hónapot kapnak, ám ha mindketten vallanak akkor már 6 évet. Viszont, ha az egyik vall, de a másik tagad akkor az előbbi nem kap semmit, míg társát 10 évvel jutalmazzák. Képzeljük magunkat egy pillanatra a helyzetbe! Nem tudjuk, hogy társunk mit fog tenni, vajon tagadni fog? Ebben az esetben a vallomásommal szabaddá teszem magam, ő pedig 10 évig élvezi majd a börtön vendégszeretetét. De mi van ha vall? Nos, ekkor is a vallomással járok jól, mert így tíz év helyett csak hatot kapok. Logikus, hogy bármelyik szituációban a vallomástétel a nyerő stratégia, tehát az önzés.

Őszintén szólva ez nem hangzik valami pozitívan, tényleg mindig csak az önzés vezet a sikerre? Persze már Dawkins is megírta, hogy a génjeinkben kódolva van saját magunk priorizálása a túlélés reményében, de valahol csak kell lennie magyarázatnak arra, hogy sokan ennek ellenére képesek közösségben gondolkodni, cselekedni. De vajon mik a szükséges feltételek, hol van az a határ mikor az egyéni érdeket legyűri a közösség?

Hogy némi választ kapjunk erre a kérdésre hozzunk létre egy másik játékot, hasonlót mint ezt (kommentben jöhet a magyar neve, ugyanis nem tudom). 6 játékosunk van, fejenként 20 forinttal kezdenek, majd el kell dönteniük, hogy ebből mennyit szeretnének a közösbe beadni. Miután mindenki befizette amennyit gondolt (természetesen nem kötelező fizetni) a közösben lévő pénzt megháromszorozzuk és egyenlő arányban visszaosztjuk. Tehát, ha a közösbe sok pénz tettek be akkor mindenki sokat kap vissza, ha keveset akkor a befizetők valószínűleg buknak. Ki jár megint a legjobban? Naná, hogy az aki nem fizetett be semmit! Viszont ha senki sem ad be a közösbe akkor nyereség sincs...

Ismételjük meg a játékot még néhányszor és nézzük meg hová vezet ha a játékosok gondolkodását evolúciónak vetjük alá. A legtöbb pénzt összegyűjtők túlélnek, a többi pedig kihal. A kiesett játékosok helyére illeszünk be a túlélők keresztezéséből, mutációjából létrehozott új egyedeket. Generációk során mérjük az átlagos nyereséget, ezáltal egyfajta fogalmunk lesz arról, hogy mennyire hajlandóak a játékosok kooperálni.

Azt tapasztaljuk, hogy a kezdetben kis számban megjelenő önző egyedek viselkedése azonnal elterjed, ezáltal "megfertőzve" a populációt, aminek eredményeképpen mindenki csak máson akar élősködni. Érdekes módon ha tisztán kooperáló játékosokkal kezdünk, akkor a mutációk révén hamar felüti a fejét az élősködés és futótűzként terjed el megint. Tehát megint ott vagyunk, hogy minden az önzés felé húz.

Változtassuk meg a játékot egy kicsit és mondjuk azt, hogy a közösbe adott pénzt ne egyszerűen háromszorozzuk meg visszaosztás előtt, ehelyett inkább "aránytalanul" növeljük meg a befizetés szerint. Jó példa erre ha valaki a barátaival könyvet akar írni, hiába öli bele minden erejét, hogy az ő fejezete tökéletes legyen ha társai semmit sem csinálnak: az eredmény hasztalan lesz. Ha már a barátok fele dolgozik egy kicsit akkor esetleg már egy szerényebb kiadó elgondolkodik majd a könyv megjelentetésén. Viszont ha mindenki beleadja a munkáját akkor az tulajdonképpen nem az előző gyenge eredmény duplája lesz hanem ennél sokkal meghatározóbb és eredményesebb. A mi esetünkben ha mindenki beadja a közösbe az összes pénzét akkor 120Ft x 3 = 360Ft (ami fejenként 60Ft nyereség) helyett 120*(120/20) = 720Ft lesz, ami fejenként 120 Ft nyereség.

Ezzel az apró változtatással érdekes módon megváltozik a helyzet, ugyan az önzés még mindig csábító, de már nem annyira, hogy kiszorítsa a kooperatív játékosokat, sőt egy idő után teljesen visszaszorul. Ne tévesszen meg senkit a dolog, itt még mindig azok az egyének élnek túl, akik a legtöbb pénzt gyűjtik, tehát valahol legbelül az önzés dominál, mégis a megfelelő szabályoknak köszönhetően inkább hajlandóak együttműködni semmint élősködni.

Úgy érzem két dolgot mindenképpen tanulhatunk ebből:

  1. létezik szabály, mely összefogásra serkent, csak meg kell találni
  2. egy kellően komplex rendszert apró változások teljesen szétrombolhatnak, vagy akár felépíthetnek

Mesterséges élet koevolúcióval

2010.05.26. 15:39 | Haibane | 7 komment

Címkék: hírek agy evolúció robotok

Először is elnézést kell kérnem a hosszabb szünet miatt, de hozzám is begyűrűzött a nyári hajtás. Cserébe viszont nagyon izgalmas dolgokat ígérhetek a jövőben a türelmeseknek!

Ahogy nap mint nap olvasom a tudományos sajtót, majd az ezekből írott egyszerűsített hírportálos cikkeket és blogokat, látom, hogy még mindig vannak emberek, akik ezeket a felületeket is vallásháborúra használják fel: intelligens tervezés, vagy evolúció. Jelen bejegyzés célja nem az általános igazság kinyilatkoztatása, csupán egy érdekességet szeretnék bemutatni.

A mesterséges intelligenciával foglalkozó szakemberek eszköztárában az evolúciós módszerek már régóta megtalálhatóak. Ezen folyamatok alapja a heurisztikus, véletlenszerű keresés, kombinálás, hogy az előre felállított feltételeknek a legjobban megfelelő variációt találjuk meg. A legtöbb esetben ezek a feltételek az evolúciós folyamat során változatlanok, ezzel is gyorsítva a módszert és biztosítva annak egyszerűségét. Itt feltehetnénk a kérdést, hogy mi van akkor, ha a folyamat közben a környezet is változik? Ezt az esetet koevolúciónak hívjuk, vagyis itt tulajdonképpen két evolúció játszódik le párhuzamosan egymásba ágyazva. Nagyon jó példának ide lehet hozni a biológiából ismert gazdaszervezet-parazita szimbiótikus kapcsolatot, vagy pedig a növényevő-húsevő állatok populációinak kölcsönhatását, ahol nagyon mindkét fél folyamatosan a másikhoz alkalmazkodik a túlélésért.

Jelenlegi munkám során egy adott robotnak, vagy robottípusnak "készítek agyat". Ez bizonyos szinten behatárolja a robot képességeit, lehetőségeit: a legbrilliánsabb elmével sem fog repülni ha a szerkezete egyszerűen alkalmatlan rá. A Brandeis és a Cornell egyetem kutatói viszont eljátszottak a gondolattal, hogy mi lenne ha ezt a koevolúciót alkalmaznák a robot testére és agyára, ezért elkészítették ennek a szimulációját majd a végeredményt 3D nyomtatóval legyártották és lefilmezték.

  
 
Nos, mindenkinek rábízom a fantáziájára, hogy mit lát bele a végeredménybe, azt viszont kár lenne tagadni, hogy nagyonis hasonlít valamilyen állatra. Ez persze nem bizonyít semmit, sőt nem is annak szánták, de ugyanakkor elgondolkodtató, hogy ha a véletlenen alapuló módszer erre jut, akkor talán nincs olyan messze a valóságtól, vagy csak a módszer önmagában ilyen hatékony? Ti mit gondoltok?
 

A gondolkodó gép

2010.04.22. 16:30 | Haibane | 5 komment

Címkék: gondolatok elmélet

Ezt a bejegyzést egyfajta alapozásnak szánnám, úgy gondolom fontos egy kicsit beszélni az alap gondolatokról, célokról és lehetőségekről, mégha ez sok ember számára triviális is. Tudom, hogy ezt talán a blog kezdetekor kellett volna megírni, de csak most jutott rá időm.

Alapfogalmak

Kezdjük az elején, a fogalmak letisztázásával. A mesterséges intelligencia (MI, vagy angolul AI) számtalan módon definiálva lett az elmúlt 60 évben, én valahogy a következő módon próbálnám leírni:

A mesterséges intelligencia tudománya az olyan számítás elméletével foglalkozik, amely képes észlelni, értelmezni (érvelni) és cselekedni.

Mivel ez a definíció a számításra épül, egyfajta gépiességet sugall, így a legtöbb pszihológiai gondoltattól eleve különbözik, ugyanakkor eltér a számítástechnikában elfogadottól is, mivel olyan (emberi) fogalmakra épül mint észlelés, érvelés és cselekvés.

Mint minden tudományágat, a mesterséges intelligenciát is több részterületre bonthatjuk, a wikipedia ide vonatkozó oldala elég részletesen kifejti, de én csupán két nagyobb, nem egészen független területet szeretnék említeni. Az egyik ilyen területnek nevezhetjük az információ, vagy tudás leírását (leképezését) és azokat a módszereket, amik ezeket használni tudják. Ilyen módszerről írtam egyik korábbi bejegyzésben. A másik érdekes rész pedig a tanulás folyamata, erre is számtalan megoldás és elmélet létezik manapság, ahogy időm engedi szeretnék bemutatni pár igen érdekes megoldást.

Fontos még látni, hogy az MI kutatás egyik célja, hogy olyan eszközöket kínáljon a mérnökök számára, amikkel valós problémákat tudnak megoldani, bonyolultabb, sokrétűbb gépeket tudnak készíteni felhasználva olyan elméleteket, mint például az információ (tudás) leírása, használata. Emellett az MI mögött húzódó tudomány célja, hogy fényt derítsen arra, hogy ezek az ötletek és elméletek milyen szintű és minőségű intelligenciát mutatnak.

A képzelet határtalan

Manapság nem nehéz észrevenni, hogy életünket egyre jobban körülveszik a számítógépek, elég csak a zsebünkbe rejtett mobiltelefonra gondolni, vagy az autónkban lévő sok intelligens kütyüre. Ahogy a világ előrehaladtával egyre komolyabb kihívásokkal nézünk szembe, úgy alakul ki az igény még jobb, még "okosabb" megoldásokra. Talán most még sci-finek tűnik, de pár év múlva természetessé válhat ezek alkalmazása olyan helyeken mint:

  • Mezőgazdaság, ahol a intelligens robotok betegségek ellen megóvják, megmetszik a fákat, esetleg vegyes gazdaság esetén időzítik a szüretet.
  • Gyártás, ahol az unalmas, vagy veszélyes helyeken robotok végzik az összeszerelést, karbantartást, ellenőrzést.
  • Orvoslás, ahol a segítség a páciensek állapotának a követésében, diagnosztizálásban, kórházi ellátásban életmentőnek bizonyulhat.
  • Háztartásban, fűnyírás, mosás, takarítás, vagy akár főzési tippek és bevásárlás.
  • Oktatásban, ahol a számítógépek megértik, hogy a diákok miért követnek el bizonyos hibákat, nem csak javítják őket. Emellett ma már nincs is talán olyan tudományterület, ahol a számítógépes segítség ne lenne szinte elengedhetetlen.

Mi lesz az emberekkel?

Bár ezek a megoldások elsőre nagyon pozitívan hatnak, mégis sok ember él abban a hitben, hogy a gépek fejlődésének előrehaladtával és a cégek folyamatos profitéhségének köszönhetően az emberek kiszorulhatnak a saját munkahelyeikről. Személy szerint én úgy látom, hogy a pénzügyi világot jobban érdeklik az új lehetőségek semmint a költségek végtelen lefaragása. Ezen felül hozzájön még az is, hogy a legtöbb esetben egy emberi munkaerőt lecserélni valahol a nehéz és a lehetetlen között van, ugyanis nem nagyon tudjuk, hogy miként lehet az emberi érzékelést, értelmezést és cselekedetet tökéletesen egy gépre ruházni. Gondoljunk csak arra, hogy még egy igen jól megprogramozott és tanított számítógépes program sem képes vetekedni az idősebb, tapasztaltabb orvosok képességeivel.

Úgy gondolom az emberek és a gépek nagyon jól ki tudják egészíteni egymást, együtt lehetőség van olyan feladatok megoldására, melyekre külön-külön nem nyílna lehetőség sem.

Tanulás, kreativitás és a robotok: második rész - kreativitás

2010.04.16. 14:04 | Haibane | 13 komment

Címkék: agy természet elmélet hálózatok

Az előző írásban kicsit áttekintettük az agy felépítését és a tanulás folyamatát, melyről megállapítottuk, hogy asszociáción alapszik, majd megismertük az alapvető különbséget az emberi és a gépi emlékezet között. Jelen írásban ezt a gondolatsort szeretném folytatni külön hangsúlyt fordítani az emberi kreativitásra.

Az emberek mára elfogadták, hogy a legalapvetőbb különbség ember és gép között az, hogy mi képesek vagyunk kigondolni olyan dolgokat, amik nem léteznek. De vajon miből ered a kreativitás, mi tesz mineket képessé erre?

A válasz agyunk egyik legérdekesebb tulajdonságában rejlik: fel van osztva különböző területekre. Minden ilyen rész valamilyen speciális feladatért felelős: látás, hallás, mozgatás. Mint azt korábban leírtam, ha az ember agyában a neuronok minden másik neuronhoz hozzá lennének kötve, akkor a "memóriánk maximális lenne". Mégis azt tapasztaljuk, hogy a különböző régiók között a kapcsolatok száma jóval alacsonyabb mint az fizikailag lehetséges lenne. Vajon mi ösztönzi az agyunkat, hogy ilyen feldarabolt állapotban létezzen lecsökkentve saját kapacitását?

 

A titok abban rejlik, hogy az agyunk által felfogott világ legtöbbször egymástól (részben) elkülöníthető elemekből áll, és ezt egy feloszott agy sokkal hasznosabban képes eltárolni. A következő példával megpróbálom ezt szemléletessé tenni. Nézzük meg a homloklebeny hátsó részén található látókérget: ez az agy elsődleges látásért felelős része. A látókéreg három párhuzamos csatornára osztható fel, egyszerűsítve mondhatjuk, hogy ez a három felelős a színért, az alakért és a mozgásért. Könnyen észrevehetjük, hogy a körülöttünk lévő dolgok szétbonthatóak ezekre az egymástól majdnem független elemi részekre.

Színpiroszöldkéksárgafehérfekete
Alakkerekoválisszögleteslaposhomorúdomború
Mozgásbalra mozgójobbra mozgónövekvőcsökkenősüllyedőemelkedő

 

Azzal, hogy a színeket, alakokat és mozgást külön külön részben tároljuk képessé válunk ezen információk kombinálására is mikor szükséges, így ugyanúgy felismerjük a piros balra mozgó dolgot, vagy a barna növekvő szögletest, stb. Itt megjegyezném, hogy sajnos a szín, alak és mozgás tökéletesen nem szétválasztható: egy farönk például nem úgy mozog és nincs olyan színe mint a falevélnek mégis mindkettő a "fa" fogalomhoz tartozik.

Nyelvtanulás terén is igen jól hasznosítható ez a felosztott szerkezet. Képzeljük el, hogy egyszerű mondatokat tárolunk egy teljesen behálózott és egy ilyen feloszott agyban (hálózatban). Az előbbiben tárolható mondatok száma háromszorosa az utóbbiénál, mivel ezt három részre bontottuk, hogy így kilenc elemet tudjon tárolni.

Teljes hálózat (tanulás és előhívás)
NagyAndrásfut
KisPéterúszik
KedvesAnnasíel
BambaJózsialszik
ÜgyesGáborugrott
SzomorúJulisírt
OkosTamásül
FélénkMarielbújt
SzőkeÉvasétált
Felosztott hálózat (tanulás)
NagyAndrásfut
KisPéterúszik
KedvesAnnasíel
Felosztott hálózat (előhívás)
 Nagy Andrásfut 
 Nagy András úszik
 Nagy András síel
 Nagy Péter fut
 Nagy Péter úszik
 Nagy Péter síel
 Nagy Anna fut
 Nagy Anna úszik
 Nagy Anna síel
 Kis András fut
 Kis András úszik
 Kis András síel
 Kis Péter fut
 Kis Péter úszik
 Kis Péter síel
 Kis Anna fut
 Kis Anna úszik
 Kis Anna síel
 Kedves András fut
 Kedves András úszik
 Kedves András síel
 Kedves Péter fut
 Kedves Péter úszik
 Kedves Péter síel
 Kedves Anna fut
 Kedves Anna úszik
 Kedves Anna síel

 

Láthatjuk, hogy bár a teljesen összekapcsolt neuronháló sokkal több mondatot tud megjegyezni, a másik ennek többszörösét (27) képes felismerni, vagyis a meglévő 9 elemet szabadon kombinálni csupán három nyelvtanilag helyes mondat megtanulásával.

Érdemes itt észrevenni, hogy három mondat megtanulásával még 24 mondatot tudunk elképzelni, amit nem is tapasztaltunk korábban. Ha egy ember sétál és meglát egy madarat repülni, majd utána egy sétáló embert, akkor később eszébe juthat a repülő ember fogalma is. Végülis bevált, nem?

Most, hogy már ilyen mélységig jutottunk a tanulás és az emlékezés tudományában, semmi sem akadályozza, hogy a folytatásban tovább kalandozzunk a robotok irányába, és képet kapjunk egy kicsit arról is, hogy a mérnökök miképpen próbálják ezt a tudást valós alkalmazásokba beültetni.

Tanulás, kreativitás és a robotok: első rész

2010.04.15. 15:09 | Haibane | 59 komment

Címkék: agy természet elmélet hálózatok

Többen kértétek tőlem az utóbbi időben, hogy írjak a robotok tanulásáról, mert ez valahogy olyan megfoghatatlannak tűnik. Szerencsére az alapkoncepciók nem bonyolultak, de úgy gondolom, hogy az emberi agy tanulási folyamatának alapszintű megértése elengedhetetlen. Ezzel a tudással felvértezve később már könnyedén megértjük a robotokat is, sőt választ kaphatunk olyan kérdésekre is, hogy mi adja a kreativitást. Úgy tervezem, hogy ez egy hosszabb sorozat lesz, melynek ez a post az első tagja.

Aki még emlékszik a középiskolás biológiórákból valamire, annak talán nem új, ha azt mondom, hogy a mi agyunkat neuronok és ezek között lévő kapcsolatok (szinapszisok) alkotják. Ezek a neuronok rengeteg féle módon nyilvánulhatnak meg a valóságban, de itt az egyszerűség kedvéért csak kettő állapotot vegyünk. Nevezzük ezeket aktív és alvó állapotnak. Minden neuron megszámlálhatatlanul sok másik neuronhoz van hozzákötve úgynevezett szinapszisokkal. A szinapszisok is kétfélék lehetnek: serkentők és gátlók. Tehát eddig van kétféle neuronunk és kétféle szinapszisunk.

 

Amikor a szemünkkel meglátunk valamit akkor az agyunkban a neuronok egy csoportja bekapcsolódik egyfajta mintát alkotva. Ezt úgy lehet elképzelni mint egy város éjszakai fényeit. Amikor egy neuron aktiválódik akkor szinapszisain keresztül jelet küld a hozzá kapcsolódó többi neuronnak. Ha a szinapszis serkentő, akkor a másik neuron nagyobb eséllyel fog ugyanúgy aktiválódni, ha pedig gátló akkor pedig pont fordítva. Ez azt jelenit, hogy minden alkalom mikor valamit érzünk, látunk, tapintunk stb. egy csoport neuron "felkapcsol" mindig más mintát mutatva.

Ezek a szinaptikus kapcsolatok egy részben születésünk alkalmával alakulnak ki, de az emlékezés és a tapasztalataink is folyamatosan változtatják, vagyis így tanulunk. A jelenséget a Hebb szabály írja le, miszerint ha két neuron együtt aktiválódik, akkor a köztük lévő szinaptikus kapcsolat inkább serkentő lesz és kevésbé gátló. Ugyanez zajlik le ha egyszerre nem aktiválódnak. Abban az esetben ha viszont felváltva aktiválódnak akkor a jelenség ellentéte zajlik le. Ezt abban vesszük észre, hogy ha egy adott élményt sokszor átélünk, legyen az virágillat, bocicsoki, vagy egy szép festmény az általa okozott minta egyre erősebb lesz, vagyis a kapcsolat a neuronok között egyre jobban beáll egy adott mintára.

A folyamatban a legérdekesebb, hogy ha ez a minta egy adott élményről kellően megerősödött, akkor képesek vagyunk teljesen visszaidézni, akkor is ha az eredetihez képest csak töredékkel találkozunk. Mindegy, hogy melyik részét látjuk meg, ha elég sokat kapunk belőle akkor a megjegyzett információ vissza fog térni.

 

Az ilyen neurális háló adta emlékezetet asszociatívnak, vagy rondábban szólva tartalom-címezhetőnek hívjuk. Az elraktározott információt úgy tudjuk előhívni, hogy egy részletet adunk az agyunknak, ami előhívja nekünk az ehhez társítható teljes információt. Természetesen, ami a legerősebben van kódolva, az lesz a meghatározó, ezért van az, hogy egy adott dologról mindenkinek más és más dolog jut az eszébe. Itt egyébként megjegyezném, hogy eme képességünket igen jól célozza a média, amivel azt akarják elérni, hogy egy adott pillanatban az ő termékük jusson az eszünkbe.

Ha a gépekhez hasonlítjuk magunkat, akkor azt látjuk, hogy a számítógép rengeteg információt képes elraktározni és előhívni, de képtelen kapcsolatot létrehozni közöttük. Amikor egy dokumentumot, vagy képet hívunk elő a számítógépünkön, akkor tulajdonképpen megadjuk, hogy melyik tárolt adatot szeretnénk megkapni. Ehhez viszont szükséges, hogy pontosan tudjuk hol is van tárolva, különben meg kell keresnünk, vagyis egyenként meg kell néznünk mindet. Ha a mellettünk ülő embert megkérjük, hogy idézze fel a 64. sort Hamlet első jelentéből (ami egy gép számára igen szimpla feladat), akkor borítékolhatjuk a kudarcot. De ha úgy kezdjük hogy "Lenni, vagy..." akkor szinte biztos, hogy a következő néhány szót, esetleg mondatot képes lesz visszaidézni.

Ha egy kicsit belegondolunk ebbe az elméletbe, könnyen arra a megállapításra jutunk, hogy valahol kell lennie egy határnak, amit meg tudunk jegyezni, ilyen felállásban képtelenség minden mintát megjegyezni. Nos, ez nagyonis így van, van egy határ, ez pedig akkor jön létre ha minden neuron kapcsolódik minden neuronhoz. Hogy ez mégis miért nem így van az agyunkban, arra a válasz nem egyszerű, ezért erre itt most nem térnék ki, meg kell elégednünk azzal, hogy van egy felső határ, aminél többet fizikailag nem lehet átlépni.

Most, hogy ezeket az alap dolgokat átnéztük, megérthetjük, hogy az emberek tulajdonságai és felfogásai miképpen valósulnak meg és magyarázhatóak az agy szerkezetével. Most itt konkrétan a titokzatos kreativitásra gondolok. A következő részben erről lesz szó.

A cikk folytatása itt olvasható.

Robotika történelme összefoglalva

2010.03.31. 14:37 | Haibane | Szólj hozzá!

Címkék: ajánló robotok

Nagyon érdekes oldalt szeretnék bemutatni, ahol a robotika történelmébe lehet egy kis bepillantást nyerni (flash player és angol tudás szükséges). Az oldal nagyon szépen bemutatja a művészetekben, mitológiákban, különböző iparágakban, vagy akár a harcászatban megvalósult nagyobb lépéseket. Lehetőség van az események időbeli és térbeli lebontására is.

Jó böngészést kívánok!

Mikor hozzák el a világvégét a robotok?

2010.03.25. 10:45 | Haibane | 30 komment

Címkék: világvége robotok

Ha azt mondanám, hogy az embereket leigázó robotok csak a modern kor szülöttei lennének, igencsak tévednék. Elegendő visszatekinteni Asimov munkáira, különösen az 50-es évekből mikor a mesterséges intelligencia mint tudományos kifejezés és elmélet útnak indult. Pozitronagyak, gépek, amik gondolkodnak, éreznek akárcsak egy ember. Természetesen hamar fel is merült az emberek és gépek közötti háborúk, kimeríthetetlen pusztítás és világvége víziói is.

Akkoriban a kutatók abban hittek, hogy a technológia fejlődésével, vagyis gyorsabb számítógépekkel képesek lesznek majd az emberi agy mintájára intelligens szerkezeteket alkotni, sőt a kétezres évekre már mindenkinek saját robotja lesz. Nos úgy tűnik ezzel még várnunk kell. De vajon meddig kell várnunk, hol tart most a tudomány? Lesz világvége?

Mikor az ismerősem meghallják, hogy önműködő robotokkal foglalkozom, az első dolog, ami beugrik nekik egy minden leigázó, embergyűlölő gonosz szerkezet és gyakorlatilag kikiálltanak engem valamiféle megszállott tudósnak, aki csak rosszat akar a "saját fajának".

Köszönhetően a látványosan népbutító médiának, az olyan filmeknek mint a Terminátor, a Mátrix, egyre több dolog sugallja körülöttünk, hogy itt aztán komoly baj lesz. Ha a technikát egy kicsit félretesszük és pusztán érzelmi oldalról közelítjük meg a dolgot, akkor azt látjuk, hogy ezekben a művekben az emberek követtek el igen szomorú dolgokat, amivel a gépeket magukra hergelték. A legtöbb filmben azt hangsúlyozzák, hogy az ember a saját képmására alkotja meg a gépeket; akkor talán el kellene fogadnunk, hogy ilyen barbár és erőszakos "faj" vagyunk...

 

Nem akarom a gépeket védeni, de szerintem ideje sok embernek belátni, hogy itt csupán valamiféle eszközről van szó, amit az emberek készítenek és ők döntik el, hogy milyen célra használják fel. Ha a cél a pusztítás, akkor teljesen mindegy, hogy szilícium chip van benne vagy pedig maghasadás, a végeredmény ugyanaz lesz.

Gondolom sok embert érdekel, hogy hol tartunk most, mit fejlesztenek a titkos amerikai bázisokon. Sajnos, erre nem adhatok választ, de annyit elárulok, hogy a filmekben felvázolt önműködő, sétálgató robotoktól félelmetesen messze vagyunk. Hiába gondolták régen, hogy az emberi agy sematikus lemásolásához egy gyors számítógép elég, mára kiderült, hogy a probléma ennél sokkal összetettebb. Nem elég neuronokat és a szinapszisokat létrehozni, ezeket valahogy tanítani, fejleszteni kellene. Csupán egy elrettentő hasonlatképpen az emberi agyban kb. 1011 darab neuron van és ehhez társul egy hároméves gyereknél 1015 darab szinapszis. A jelenlegi robotokban, algoritmusok a legextrémebb esetben sem nagyon van 100nál több neuron, és ez egy óriási különbség.

Bár az utóbbi években az agykutatás hatalmasat fejlődött, mégis az agyunk oly kiemelkedően nagy komplexitással rendelkezik, amit igazából még nem is értünk, nemhogy tökéletesen lemodellezzük. Számítógépeink igen hatékonyak aritmetikai számításokra: összeadás, kivonás, szorzás szine bármennyi tizedesjegyig, ugyanakkor az emberi agyat erre keményen tanítani kell, gondoljunk csak az ámulatba ejtő fejszámolóművészekre. A másik oldalon viszont az emberek hihetetlen fejlett asszociációs, koordinációs készsége van. Egy egyszerű példának hoznám fel napjaink digitális fényképezőgépeit, amik képesek arcokat felismerni (vagy nem). Mit ne mondjak, lassúak és közel sem tökéletesek és mint írtam: arcot ismernek fel nem személyt. Ezzel szemben egy kisgyerek már egyéves korában ennél sokkal-sokkal többre képes. A később kialakuló bámulatosan gyors koordináció pedig a jelenlegi technológiai szinten teljesen felejtős.

Azt a kérdést ugyan, hogy lesz e a robotoknak köszönhető világvége nem tudom megválaszolni, de azt igen, hogy ha lesz, akkor is csak nagyon sokára. Az ilyen apokaliptikus jövő is csak rajtunk múlik, hogy képesek leszünk e felülemelkedni és tanulni a saját hibáinkból vagy csupán egy újabb tanúbizonyságot teszünk arról, hogy szellemileg még mindig valahol az ősközösség szintjén tartunk.

Aki pedig arra kiváncsi, hogy mi lesz ha mégis kitör a háború... nekik szól a következő képregény:

 

Hogy működnek az evolúciós módszerek?

2010.03.19. 06:00 | Haibane | 37 komment

Címkék: evolúció elmélet

Mivel az utóbbi időben úgy tapasztaltam, hogy rengeteg embernek téves, vagy adott esetben semmilyen fogalma nincs arról, hogy mit is jelent egy evolúciós folyamat, hogyan működik és korunk tudománya miért alkalmazza egyre több helyen. Ebben a postban szeretném az egyik talán legtöbbet használt evolúciós módszert, a genetikus algoritmust bemutatni.

A legfontosabb, amit az elején érdemes kiemelni, hogy ez egy heurisztikus keresési eljárás, ami azt jelenti, hogy általában nagyon nagy adathalmazon keres és nincs semmilyen garancia arra, hogy a végén a legjobb eredményt adja ki. Ezt fontos észben tartani, főleg azoknak, akik abban hisznek, hogy az evolúció által létrejött ember a legtökéletesebb lény. :)

Ahogy a nevében is benne van, a genetikus algoritmusokhoz szükségünk van arra, hogy legyenek gének, melyik leírják (kódolják) az adott egyed tulajdonságait. Ezt a kódot csúnya szóval genotípusnak hívjuk. Mikor az adott egyed kifejlődik, ez a génekben tárolt információ mint tulajdonság jelenik meg, ilyen lehet a szemszín, viselkedés stb.

A szemléletesség kedvéért készítettem egy nagyon egyszerű példát, amiben különböző egyedek közül szeretnénk a legjobbat kiválasztani. Minden egyed rendelkezik egy színnel, egyfajta alakkal és egy alaptermészettel. A környezetet úgy definiálhatjuk, hogy azoknak kedvez, akik sokat mosolyognak, eléggé kerekek és minél pirosabbak. Mondjuk azt, hogy kezdetben a következő véletlenül készül egyedeink vannak:

Miután megvan a kezdeti populáció, alkalmazzunk úgy nevezett genetikus operátort, jelen esetben mutációt, ahol a génállomány egyik tagja véletlenszerűen picit módosul. Tehát készítsünk minden egyedből egy másolatot, de úgy hogy a három tulajdonságból egyet mindig változtassunk meg! Így következő 6 darab egyedet kapjuk:Első generáció

Miután megcsodáltuk az új egyedeket, válasszuk ki ezek közül azt a hármat, akik a következő generációt fogják alkotni, tehát akik a legjobban ki tudják használni a környezet kedvező erejét: minél kerekebbek, pirosabbak és mosolygósabbak. Némi válogatás után a következő hármat választottuk, mert bennük volt meg a legtöbb "jó" tulajdonság.

Az új egyedeket újra alávetjük a korábban megismert mutációnak, így újabb három taggal bővül a populációnk, amivel meg is kapjuk a második generációt:

Az előző játékot megismételve kapjuk a következő populációt (harmadik generáció), ami már tartalmazza azt az egyedet, ami a legjobban tud alkalmazkodni a környezetéhez, ez pedig a piros, mosolygós kör.

Láthatjuk, hogy egy ilyen végtelenül egyszerű példánál csupán pár lépésben eljutottunk a legjobb megoldáshoz. A valóságban azonban ezt a módszert olyan helyeken alkalmazzák, ahol a paraméterek száma igen magas (tehát sokkal több szín, forma, viselkedés) így a kombinációk száma annyira magas, hogy nem lehet egyszerűen minden variációt megvizsgálni.

És mindez hogy kapcsolódik a robotokhoz? A válasz egyszerű: egy program, ami vezérli a robotot ma már annyira bonyolult, hogy szinte képtelenség leülni és kitalálni, hogy mi a legmegfelelőbb algoritmus, mikor hová forduljon a robot kereke, mire hogyan reagáljon. Ilyenkor jönnek a képbe olyan megoldások, amiket alá lehet vetni evolúciós módszernek hogy egy olyan megoldást kapjunk, ami a lehető legjobban teljesíti a követelményeinket. Ezekről a módszerekről és alkalmazásukról egy későbbi post fog szólni.

 

Vadásznak és együttműködnek a robotok

2010.03.18. 16:40 | Haibane | Szólj hozzá!

Címkék: hírek robotok

Néhány napja kaptam egy emailt az egyik amerikai kollégámtól, amiben egy igen érdekes cnet-es írást küldött, ahol autonóm robotok vezérlőegységét hozták létre evolúciós algoritmusok használatával. A svácji kutatók kísérletei azt mutatták, hogy csupán 100 generáció alatt a robotok képesek voltak alapvető feladatokat teljesíteni, mint például a vonalkövetés, tárgyak közötti manőverezés, vagy egyéb feladatok egy labirintusban.

A PLoS Biology nevű folyóiratban megjelent cikkükben azt állítják, hogy elegendő evolúciós idő után a robotok képesek megtanulni vadászni, együttműködni, és ha kell, egymást segíteni.

Őszintén szólva, ez elég ijesztően hangzik, mégis mire vadásznak ezek a robotok, és leginkább miért ilyen dolgokat tanítanak meg nekik? Mi lesz akkor Skynettel?

Mielőtt még teljesen eluralkodna a pánik, azért jó tudni, hogy amit ők vadászatnak neveznek az tulajdonképpen arról szól, hogy a vadászó robotok egy olyan úgynevezett pókstratégiát sajátítottak el, ahol lesben várakoznak és rajtaütésszerűen próbálják elkapni az áldozatnak szánt egységeket. Természetesen semmilyen fegyvert vagy mechanizmust nem használnak, csupán közel kell kerülniük az áldozathoz, hogy a próbálkozás sikeres legyen. Az áldozatnak szánt egyedek (amik több szezorral vannak felszerelve) eközben próbálkozhatnak valamilyen csoportos taktikával, hogy minél jobban kicselezzék támadóikat.

Egy másik kísérletükben a robotoknak a hangyákat utánozva élelmet (különböző méretű korongok) kellett elszállítaniuk a fészekbe (megjelölt fal). A feladat bonyolultságát az adta, hogy bizonyos élelemkorongokat egyetlen robot képtelen elszállítani, csakis akkor ha többen dolgoznak rajta. Néhány száz generáció után viszont egyre több robot mondott le arról, hogy egyedül boldoguljon a kis "morzsákkal", ehelyett csapatokba fejlődtek, hogy a nagyobb falatokat szállítsák haza.

Azt hiszem ez egy igen szép eredmény, ami megmutatja az evolúciós megoldások erejét, bizonyítva, hogy jól felépített közegben meglepően összetett viselkedést, adott esetben akár önfeláldozást is el lehet érni.

Néhány gondolat az önszerveződésről

2010.03.17. 10:36 | Haibane | 3 komment

Címkék: természet elmélet önszerveződés

Hogyan képesek bizonyos halak rajokban úszni, ahol mindenki szerepe azonos, tehát nincs vezető hal? Hogyan képesek a hangyák csupán az egyszerű viselkedésükkel egy igen komplex társadalom létrehozására? Hogyan lesz a zebra bőre csíkos?

Ilyen, vagy ehhez hasonló kérdesek megválaszolásánál előbb-utóbb belefutunk az önszerveződés fogalmába. De vajon, mit is takar pontosan ez a dolog?

Jelenleg nincs egyetelen, mindent átfogó definíció az önszerveződésre, de valahogy kicsit barbár módon így lehetne megfogalmazni:

Az önszerveződés egy olyan folyamat, ahol csupán a rendszer alacsonyabb szintű komponenseinek a kölcsönhatásai által globális szinten létrejön egyfajta minta, vagy motívum. Ráadásul azok a szabályok, amik eredményezik ezeket a kölcsönhatásokat csupán lokális információt használnak, a globális mintáról nincs közvetlen információjuk.

Mit is jelent ez az egész? Van egy rendszerünk, ami több apró elemből áll. Ezek az elemek egymással kölcsönhatásban állnak, tehát valamilyen lokális viselkedést mutatnak. Ha viszont kicsit kizoomolunk láthatjuk, hogy a rendszerünk valamilyen érdekes, csak távolról megfigyelhető mintát, vagy jellegzetességet rajzol ki.

Talán a halraj az egyik legszemléletesebb példa ennek ábrázolására. Ha ráközelítünk az egyikre, láthatjuk, hogy halunk a következő viselkedést követi:

  1. Ússz közel a többi halhoz
  2. Ha túl közel vagy, akkor ússz kicsit távolabb
  3. Ha veszélyt észlelsz menekülj
  4. Ha ételt látsz ússz oda

Ezen igen egyszerű szabályok távolról nézve már elég komplikált dolgokat tudnak produkálni.

Az egész ötlet W. Ross Ashby fejéből pattant ki 1947-ben mikor a biológusok körében heves vitákat váltott ki bizonyos gombafélék helyváltoztatása, amit képtelenek voltak korábbi elméletekkel alátámasztani. Az történt ugyanis, hogy az akkoriban gombának hitt valami a kert egyik végéből a másikba át tudott menni tetézve azzal, hogy senki sem látta mozogni. Miután kiderült, hogy nem misztikus teleportálásról van szó, csupán arról, hogy az élőlény apró egyedekből épül fel, amik az éjszaka során önállósítják magukat és jobb helyet keresnek. Ezután természetesen ezek újra összeállnak, kialakítva az ember által ismert képződményt.

Az önszerveződés folyamata hihetetlen sok helyen megtalálható, elég említeni a fizikát (kristályok, termodinamika), kémiát (SAM), biológiát, kibernetikát...

Igen, a robotika itt jön be a képbe: képzeljük el, hogy a sok évig fejlesztett, igen drága marsjáró helyett több ezer nagyon olcsó, egyszerű robotot küldenénk ki, ahol nem számít ha egy részük bedöglik, mivel a feladatot csoportban, együttműködve hajtanák végre.

 

Itt felmerülhet a kérdés, hogy ha ez ilyen egyszerű és hatékony, akkor miért nem látunk robotcsoportokat, amik autókat szerelnek össze/szét,  vagy éppen úton vannak a Jupiter felé? Nos, az elmélet önmaga nagyon szép és tiszta, de az önszerveződést műszaki életbe áthelyezni igencsak problémás. Ha eltekintünk a apró méret okozta kihívásoktól (akku élettartam, szerkezeti kérdések) még mindig ott vannak a szoftveres gondok.

Az igazi problémát az adja, hogy az esetek legnagyobb részében nem tudjuk megmondani előre, hogy pontosan mik is azok a szabályok, amiket ha a kis egységek követnek akkor az nagyban nekünk jó lesz. Jelenleg több megoldási kísérlet is van, ezek közül talán a legegyszerűbb, ha közvetlenül a természetben keresünk kész megoldásokat és azt alkalmazzuk. Példának lehet említeni elosztott szinkronizációs algoritmusokat, amiket az ázsiai szentjánosbogár párzási rituáléja ihletett. Sajnos legtöbbször nem vagyunk ilyen szerencsések, ezért valami más megoldáshoz kell nyúlni. 

Szóba jöhetne még, hogy valami hasonló már működő rendszert vegyünk alapul és pici változtatásokkal formáljuk át nekünk tetszővé. A gondolat nem is lenne rossz, de igen nehéz a valóságban alkalmazni, ugyanis legtöbbször egy működő önszervező rendszert ért legkisebb változás is fenekestül felfordítja. Visszatérve a halas példára, ha bármelyik szabályt egy picit is megváltoztatjuk könnyen előfordulhat, hogy a halak nem fognak szép rajokban úszni hanem valamilyen rendezetlen, káosz viselkedést mutatnak.

Természetesen emellett még több kísérleti módszer létezik, de jelenleg a legnagyobb potenciált mutató megoldás ha követjük a természet módszereit, vagyis valamilyen evolúciós eljárást alkalmazunk a robotok irányító egységeinek kifejlesztéséhez. Ez a rész már külön postot érdemelne, esetleg a jövőben elkalandozom ilyen irányba is.