Intelligens modellezési módszerek: Mikor megoldás a megoldhatatlanra? Várkonyiné Kóczy Annamária Óbudai Egyetem, Mechatronika és Autótechnika Intézet varkonyi-koczy@uni-obuda.hu
Tartalomjegyzék Motiváció: Miért van szükségünk valami „nem klasszikusra”? Mi is az a „Gépi Intelligencia” (GI)? Hogyan „működik” a GI? Néhány idetartozó módszer Fuzzy logika Neurális hálózatok Genetikus algoritmusok Anytime technikák Gyakorlati kérdések mérnöki szemmel Összefoglalás – A GI valóban megoldás lehet megoldhatatlan problémákra?
Motiváció: Miért van szükségünk valami „nem klasszikusra”? A rendszerek és megoldandó feladatok nemlinearitása, korábban soha nem tapasztalt térbeli és időbeli komplexitása Pontatlan, bizonytalan, hiányos, nem egyértelmű, ellentmondó információ, teljes tudáshiány Véges erőforrások Szigorú időkövetelmények (valós-idejű feldolgozás) Igény az optimalizálásra + Felhasználói kényelem Új kihívások/bonyolult problémák kifinomult megoldásokra
A feladatok soha nem tapasztalt térbeli és időbeli komplexitása Hogyan vezetünk csúcsforgalomban? Sok elemű, nagyon összetett rendszer. Meg lehet oldani klasszikus vagy mesterséges intelligencia-beli módszerekkel? Amennyire tudjuk, nem. De mi, EMBEREK, igen. Szeretnénk olyan GÉPEK-et építeni, amelyek szintén képesek rá. Az autónk, üzemanyag takarékosság, időnyerés, stb..
A feladatok soha nem tapasztalt térbeli és időbeli komplexitása Segítség: Megnövekedett számítógép kapacitás és képességek Modell bázisú megközelítés Új modellezési technikák Közelítő számítások Hibrid rendszerek
Ki (személy vagy gép) tud nekem OPTIMÁLIS választ adni? Pontatlan, bizonytalan, hiányos, nem egyértelmű, ellentmondó információ, teljes tudáshiány Hogyan jutok el a Csattogó völgybe? (1. személy: 2/a, 12 út. A verőcei állomásnál jobbra, aztán egyenesen 2 saroknyit, majd balra, és tovább egyenesen ... NEM: mégegyszer balra) (2. személy: A verőcei állomásnál kétszer jobbra, aztán egyenesen 1, 2, 3, ..., kb. 5 saroknyit, de tovább nem tudom) (3. személy: Valahol a 12-es út mentén van, de nemrég még le volt zárva az út ...) Képzeljük el, hogy esik az eső Az útról nem látszik az állomás Ráadásul nem tudom, hol van az Óbudai Egyetem sátra és a Kós Károly terem (És melyikben is lesz a Műszaki szekció? És hánykor???? Szombaton vagy vasárnap?) (Sajnos elromlott az internetem ...) Kérdés: Melyik nap és hány órakor kell otthonról elindulnom? Ki (személy vagy gép) tud nekem OPTIMÁLIS választ adni?
Pontatlan, bizonytalan, hiányos, nem egyértelmű, ellentmondó információ, teljes tudáshiány Segítség: Intelligens és lágyszámítási technikák, amelyek képesek kezelni az ilyen típusú problémákat Új adatgyűjtési és reprezentálási módszerek Adaptivitás, robusztusság, tanulási képesség
Véges erőforrások Szigorú időkövetelmények (valós-idejű feldolgozás) Most 8.15 van. Az előadásom 3 órakor kezdődik (remélem tényleg így van) Még nem főztem ebédet a családomnak Üres a kocsim tankja, és nyilván nem fogok taxival jönni Budapestről Nem is reggeliztem Ma estig le kell adnom a jövő félévi kurzusaim időbeosztását Egyértelmű, hogy nem tudok mindent maximális precizitással teljesíteni
Véges erőforrások Szigorú időkövetelmények (valós-idejű feldolgozás) Segítség: Alacsony időigényű módszerek Flexibilis rendszerek Közelítő megoldások Minőségi feldolgozást és további döntéseket támogató eredmények Anytime technikák
Optimalizálás igénye Tradícionális felfogás: optimalizáció = maximális pontosság Új felfogás: optimalizáció = költség optimalizálás De mi számít költségnek!? a pontosság és a bizonyosság is költséget hordoz
Optimalizálás igénye Nézzük az „IDŐT”, mint erőforrást: A legfontosabb, hogy leadjam a jövő félévi kurzusaim időbeosztását (másképp a hallgatók nem tudják időben felvenni a tárgyakat). Ezzel legalább 3 órát el kell töltenem Ebédet kell főznöm, de ma nem a hétvégén szokásos „ünnepi” ebédet, hanem egy „átlagos”, gyorsabb menüt állítok össze (1 óra) Nincs időm otthon reggelizni, ezért veszek egy szendvicset valahol (5 perc) Van busz is, de a vonat gyorsabb (igaz drágább), így vonatozom (2 óra 40 perc)
Felhasználói kényelem Meg kell kérdeznem valakitől az utat, de nem szeretnék sokat gyalogolni Máskor is ide szeretnék találni A mai út 3,5 órát vett igénybe. De mi lesz holnap? Jó lenne minél több segítséget kapni. ....
Felhasználói kényelem Segítség: Olyan modellezési és adatreprezentálási technikák, amelyek lehetővé teszik egy rendszer kezelését értelmezését jövőbeni viselkedésének becslését javítását optimalizálását, valamint a feldolgozás eddiginél nagyobb támogatását
Felhasználói kényelem Emberi nyelv Modularitás, egyszerűség, hierarchikus felépítés A feldolgozás célja feldolgozás előfeldolgozás az előfeldolgozás célja egy alg. teljesítőképességének növelése a feldolgozás nagyobb támogatása (új) képfeldolgozás / gépi látás: zajszűrés jellemzők kiemelése (él, csúcspont detektálás) minta felismerés, stb. 3D modellezés, orvosi diagnosztika, stb. automatikus 3D modellezés, automatikus ... előfeldolgozás feldolgozás
A megoldás legfontosabb elemei Alacsony komplexitású, közelítő modellezés Adaptív és robusztus módszerek alkalmazása A megfelelő költségfüggvény meghatározása és alkalmazása, beleértve az egyes elemek hierarchiáját és fontosságának mértékét is Egyensúly találás a pontosság (részletgazdagság) és bonyolultság (számítási idő és erőforrás igény) között A további feldolgozás támogatása Erre nem alkalmasak a hagyományos és MI módszerek. De mi a helyzet az új megközelítésekkel, a GÉPI INTELLIGENCIÁVAL?
Mi is az a gépi intelligencia? gép (Komputer) + Intelligencia Megnövekedett számítógépes képességek Beépül az új módszerekkel L.A. Zadeh, Fuzzy Sets [1965]: “A tradicionális, „kemény” számításoknál a fő cél a pontosság, a bizonyosság és precizitás. Ezzel ellentétben a lágyszámítási módszerek kiinduló pontja az a tény, hogy a pontosságnak és a bizonyosságnak is van költsége, és a számítások, következtetések és döntések - ha csak lehetséges - ki kell használják a pontatlanság és bizonytalanság iránti tűrést.”
Mi is az a gépi intelligencia? A GI olyan módszertanok együttesének tekinthető, amelyek jelentőséggel bírnak az információs/intelligens rendszerek elgondolásában, tervezésében, és alkalmazásában. Az együttes legfontosabb elemei: fuzzy logika, neurális számítás, evoluciós számítás, anytime számítás, valószínüségi számítás, káosz és gépi tanulás. A módszertanok inkább együttműködnek és kiegészítik egymást, mint versengők. Ami közös bennük: Kihasználják a pontatlanság, bizonytalanság és részigazságok iránti tűrést, hogy ezáltal a valóságot jobban közelítő, kezelhetőbb, robusztusabb, olcsóbb megoldást kínáljanak.
A gépi intelligencia mind az öt követelménynek megfelel: (-Alacsony komplexitás, közelítő modellezés -Adaptív és robusztus módszerek alkalmazása -A megfelelő költségfüggvény meghatározása és alkalmazása, beleértve az egyes elemek hierarchiáját és fontosságának mértékét is -Egyensúly biztosítása a pontosság (részletgazdagság) és bonyolultság (számítási idő és erőforrás igény) között -A további feldolgozás támogatása)
Hogyan működik a gépi intelligencia? 1. Tudás Információ gyűjtés (megfigyelés) (miről van szó) Információ feldolgozás (numerikus , szimbolikus) (mit tudok) Az információ tárolása és előhívása (később is tudni akarom) Feldolgozási „struktúra” (algoritmus) keresése („mit kell csinálni” megfogalmazása) Biztos tudás (absztrakt világokban formális módszerekkel) Bizonytalan tudás (mesterséges és valós világokban kognitív módszerekkel Tudáshiány Tudás ábrázolás
Hogyan működik a gépi intelligencia? 1. Tudás A valóságban szinte minden optimalizás Ex.1. Sebesség meghatározása = a sebesség optimális becslése a mért idő és megtett távolság alapján Ex.2. Ellenállás meghatározása = az ellenállás optimális becslése a mért áram és feszültség segítségével Ex.3. egy mérési eredmény elemzése = a mért mennyiség optimális becslése a mérés körülményeinek figyelembevételével a mért adatok alapján (Milyen magas a kisfiam? – Kihúzta magát? Mezitláb van vagy cipőben? Pontos mérőrúddal vagy pontatlanabb papírszalaggal mérem? Cm vagy mm a beosztás? ) Ex. 4. Napi időbeosztás Ex. 5. Két város közötti optimális út Az 1-3 példában az optimalizálás jellegzetessége egyértelmű és könnyen megadható A 4-5 példa is egyszerű, de a kritériumok nem egyértelműek
Ahogy a részletekbe belemegyünk, egyre közelebb jutunk a megoldáshoz Optimális út: Mi az optimum? (Szubjektív, függ az elvárásoktól, izléstől, a személy korlátaitól) - Szeretünk/tudunk-e repülővel, vonattal, autóval, stb. utazni Tegyük fel, hogy az autós utazást választottuk, de: a legrövidebb út (legkevesebb üzemanyag), a leggyorsabb út (autópálya), a legszebb út (este hacsak lehet a pesti rakparton megyek, hogy lássam a kivilágított Várat és Lánchidat), amerre meg tudom látogatni egy-egy barátomat, ahol a kedvenc vendéglőim vannak, ... Rendben, kössük meg, hogy mit részesít előnyben az adott személy személy : Nyár van vagy tél, esik vagy jó az idő, útjavítás, árvíz miatt lezárva, .... Ahogy a részletekbe belemegyünk, egyre közelebb jutunk a megoldáshoz Szükségünk van tudásra a körülményeket és célokat jól leíró modell meghatározásához A mai napra meg tudom adni, de igaz lesz ez 1 hónap múlva is?
Új, pontosabb tudásra van szükségünk 2. Modell Ismert modell, pl. analítikus modell (matematikai leírás differenciál egyenletekkel) – nem kezelhető, túl összetett Tudáshiány – a rendszerről megszerzett információ bizonytalan, hiányos Új, pontosabb tudásra van szükségünk A tudás ábrázolás (modell) kezelhető kell legyen és el kell viselje a felmerülő problémákat
Kell egy kritériumfüggvény (mérték) a modell hitelesítéséhez Tanulás és modellezés Tanulás révén szerzett új tudás: Ismeretlen, részben ismert, ismert, de kezelhetetlen, hiányosan definiált rendszer Olyan modell kell, amely segítségével elemezni és jósolni tudjuk a rendszer viselkedését + Kell egy kritériumfüggvény (mérték) a modell hitelesítéséhez
Unknown system Model Criteria u Input d c Measure of the quality of the model y Parameter tuning 1. Megfigyelés (u, d, y), 2. Tudás ábrázolás (modell, formalizmus), 3. Döntés (optimalizálás, c(d,y)), 4. (A paraméterek) hangolása, 5. Környezeti hatások, (amit nem figyelünk meg, zaj, stb.) 6. Becslő képesség (jövőbeni esetek)
Építünk egy rendszert, amivel információt gyűjtünk Iteratív eljárás: Építünk egy rendszert, amivel információt gyűjtünk Javítunk a rendszeren (beépítjük az új tudást) Információt gyűjtünk Az információ alapján jobb megfigyelés, több információ
Probléma független tér, csak a modell formalizmusa köti a problémához Tudás ábrázolás, Modell Ábrázolt tudás Probléma független tér, csak a modell formalizmusa köti a problémához A probléma nem ábrázolt része
3. Optimalizálás Ott érvényes, ahol a modell érvényes Adott egy rendszer szabad paraméterekkel Adott egy objektív mérték A feladat úgy beállítani a paramétereket, hogy minimalizáljuk, vagy maximalizáljuk a minőségi mértéket Szisztematikus és véletlen módszerek Hasznosítás (meghatározott tudás) és felderítés (új tudás)
A gépi intelligencia módszerei fuzzy logika –alacsony komplexitás, előzetes tudás könnyű bevitele a számítógépbe, pontatlanság tűrése, könnyű értelmezhetőség neurális számítás - tanulóképesség evoluciós számítás – optimalizáció, optimális tanulás optimization, anytime számítás – robusztusság, rugalmasság, alkalmazkodóképesség, körülményeknek való megfelelés valószínűségi következtetés – bizonytalanság tűrése, logikusság kaotikus számítás – nyitottság gépi tanulás - intelligencia
Fuzzy Logika Lotfi Zadeh, 1965 Tudás ábrázolás az emberi nyelv segítségével ”szavakkal való számítás” érzékelés érték elpontatlanítás jelentés pontosítás
A fuzzy elmélet története Fuzzy halmazok & logika: Zadeh 1964/1965- Fuzzy algoritmusok: Zadeh 1968-(1973)- Fuzzy controll: Mamdani & Al. ~1975- Ipari alkalmazások: Japan 1987- (Fuzzy robbanás), Korea Háztartási elektronika Jármű vezérlés Folyamatirányítás Minta felismerés & képfeldolgozás Szakértői rendszerek Katonai rendszerek (USA ~1990-) Űrkutatás Nagyon nehéz vezérlési problémák: Japan 1991- p.l. vezető nélküli helikopter
Példa FUZZY HALMAZ A:X{0, 1} X részhalmaza B „fuzzy” halmaz Osztály (p.l. akik épp a gépi intelligenciáról hallgatnak egy előadást) Univerzum: X „éles” halmaz “Kinek van jogosítványa?” X részhalmaza A „éles” halmaz (X) = KARAKTERISZTIKUS FÜGGVÉNY A:X{0, 1} 1 0 1 1 0 1 1 “Ki tud jól vezetni?” X részhalmaza B „fuzzy” halmaz (X) = TAGSÁGI FÜGGVÉNY B:X[0, 1] 0.7 0 1.0 0.8 0 0.4 0.2 FUZZY HALMAZ
Fuzzy viszonyítás, fuzzy következtetés Fuzzy viszonyítás: X is P ‘Anna fiatal’, ahol: ‘Anna’: éles, ‘fiatal’: fuzzy halmaz. Fuzzy következtetés: If X is P then Y is Q ‘Ha Anna fiatal, akkor Peti nagyon fiatal’ A kort nyelvi cimkével kifejező fuzzy halmazok Anna Peti
Fuzzy logikán alapuló vezérlés Fuzzifikálás: egy numerikus értéket fuzzy-vá alakít, megadja az egyezés mértékét Defuzzifikálás: egy fuzzy értékat numerikussá alakít A tudásbázis tartalmazza a fuzzy szabályokat A következtetőgép írja le a módszertant, amivel a kimenet kiszámolható a bemenetetkből.
Okos Autó 1 - Szabályok A szabályok száma a problémától függ. Egyszerűség kedvéért most csak kettőt veszünk figyelembe: 1. Szabály: Ha a távolság két autó között kicsi és az én autóm sebessége nagy(obb mint a másiké), akkor erősen fékezem. 2. Szabály: Ha a távolság két autó között közepes és az én autóm sebessége nagy(obb mint a másiké), akkor közepes erővel fékezem.
Okos autó 2 – Tagsági függvények A bemeneti és kimeneti tagsági függvények meghatározása Általában 3, 5 vagy 7 fuzzy halmazt használnak Tipikus halmaz alakok (a leggyakoribb a háromszög)
Okos autó 3 – Szabály egyszerűsítés kódolással Távolság két autó között: X1 sebesség: X2 Fékező erő: Y Cimkék- kicsi, közepes, nagy: S, M, L X2 (sebesség) esetében, kicsi, közepes és nagy azt mutatja, a sebesség mennyivel nagyobb az elöl levő autóénál. 1. szabály: Ha X1=S és X2=M, akkor Y=L 2. szabály: Ha X1=M és X2=L, akkor Y=M PL – Nagyon nagy PM – Közepesen nagy PS - Kicsi ZR – Kb. nulla NS – Kis negatív NM – Közepes negatív NL – Nagy negatív
Okos autó 4 - Következtetés A megfelelés mértékének meghatározása Egy következmény meghatározása A teljes következtetés megadása Defuzzifikálás pl. súlypont alapján. Esetünkben kicsit erősebb mint közepes
A fuzzy vezérlés előnyei Egyszerűbb vezérlő tervezés A tervezés komplexitása lecsökken, nincs szükség komoly matematikai elemzésre Könnyű kódolni, szimulálni Robusztus Fejlesztési idő lecsökken Könnyen érthető, értelmezhető
Hasznos él kiemelés Eredeti kép Hasznos élek
Hasznos él kiemelés Eredeti kép Hasznos élek
Magas fényintenzitás dinamikájú képek Eredeti kép javított kép
Magas fényintenzitás dinamikájú képek
Automatikus ütközéselemzés Ütközési irány [deg] EES [km/h] Valós adat 55 Számított eredmény 2 58 Különböző kameraállású képek
A jövő mérnöki tevékenysége elképzelhetetlen gépi intelligencia nélkül A gépi intelligencia valóban megoldást jelenthet megoldhatatlan problémákra? Igen: Nagyszámú sikeres alkalmazás bizonyítja, valamint azok az új területek, ahol a GI segítségével lehetett csak automatizálni folyamatokat Azonban: az új módszerek olyan új problémákat is felvetettek, amelyek még csak részlegesen vannak megoldva. A jövő mérnöki tevékenysége elképzelhetetlen gépi intelligencia nélkül
Összefoglalás Mit takar a gépi intelligencia kifejezése? Mi a sikerének a titka? Hogyan dolgozik? Milye elveken? Új problémák, nyitott kérdések