Lisp és Prolog elvek
A LISP [List Processor] (programnyelv) jellemző:
• Mesterséges intelligencia feladatok megoldására előnyös.• List Processor - listafeldolgozó, a listák kulcsszerepben.
• Funkcionális nyelv - a működést függvények kiértékelése jelenti, utasítások nincsenek.
• Rendkívül homogén felépítés, tömör szintakszis: atom, lista, függvény.
• Nagy tárigény - oka a rekurzív függvényhívások sokasága.
• A procedurális nyelvekből ismert ciklus- és elágazásszervezést is függvényekkel végezhetjük. A ciklusszervezés a rekurzió miatt háttérbe szorul.
• A feladatok deklaratív leírási módját támogatja.
• Alapvetően interaktív, interpreteres használat, de létezik hozzá fordító is.
• Hardveres implementációja is van, gyors.
A Prolog programozó rendelkezésére eszközrendszer a Kowalski képletben megtestesülő tiszta logikai programozás elvéhez:
• A ! (cut, vágás) operátorral módosíthatja a keresés automatikus visszalépéseit.• Közbeírt alakú operátorok is szerepelhetnek a feltételek megadásában, azaz pl. kisebb(A,B) helyett A<B is állhat.
• Egyenlőséges reláció esetén képes kiszámítani a hiányzó változó értékét (pl. 5*7=X X=35)
Kowalski képlete: algoritmus = logika + vezérlés
Jelentése a következő: egy algoritmus mindig két komponenst tartalmaz implicit formában:– a logikai összetevőt, amely megadja a kérdéses problémára vonatkozó tudást,– a vezérlési összetevőt, mely megtestesíti a megoldási stratégiát az adott probléma esetére.A Prolog nyelvű programozással kapcsolatban került szóba.
A fő programrészek a Prolog nyelvben:
Domains: Ez a programrész - hasonlóan egy procedurális nyelv, pl. Pascal típusdeklarációs részéhez - a programban alkalmazott termek lehetséges interpretációinak, értékeinek tartományát adja meg. Ez a tartomány, ill. típus lehet a rendszer által adott, vagy a programozó által deklarált.Predicates: Ez a programrész a programban alkalmazott predikátumok és az azokban alkalmazott termek típusának megadására szolgál.
Goal: Ebben a programrészben a programban megadott tényekből és szabályokból levezethető állítás fogalmazható meg, melynek igaz, vagy hamis voltára akarunk a rendszertől választ kapni. Amennyiben változót tartalmaz, a rendszer olyan változókat ad meg megoldásként, melyekkel az állítás igaz, vagy ha ez lehetetlen, akkor jelzi, hogy nincs megoldás.
Clauses: Ez a programrész szolgál a szabályok és tények felsorolására.
A csillag karakter szerepe:
Lista megadására. pl.: lista = integer*A PROLOG program működése:
A működés két alapvető összetevője az illesztés (matching) és a visszalépés (backtracking).Lényege: a goal-ban feltett kérdést megpróbálja tényállításokra visszavezetni.
Amennyiben nem létezik illeszkedő tény, akkor illeszkedő szabályt keres. Ha van illeszkedő szabály, akkor az előbbi lépések ismétlésével megpróbálja a szabály Törzsében lévő feltételek kiértékelésével meghatározni a szabály Fejének igazságértékét (Hátraláncolás).
Az összes lehetőség végigpróbálásával megállapítja, hogy a kérdés teljesülhet-e, és ha igen, hányféle módon.
Ha próbálkozás közben zsákutcába jut - nincs illeszkedő tény, vagy szabály -, visszalép a legutolsó elágazási pontig, ahol a több illesztési lehetőség közül a következőt választja.
A szemantikus háló alapú tudásszemléltetés témakörei:
A szemantikus háló (Ross Quillian, 1968)Biológiai ihletés: az agy fogalomábrázolásának feltételezett formája
• objektumok, koncepciók, fogalmak – csomópontok
• viszonyaik, kapcsolataik - gráfélek.
Hierarchikus modell oka: az ember kognitív (megismeréssel kapcsolatos) működésére vonatkozó kísérletek az objektumok specifikus jellemzőinél gyorsabb válaszidőket eredményeztek, mint az általános, magasabb szintű kategóriákhoz tartozó jellemzőknél.
Cél: Az emberi információtárolás és visszakeresés modellezése.
Szoftveralkalmazás célja: a természetes nyelvek megértésének gépi modellezése.
Quillian programjával az ember gondolkodási folyamatának azt a részét modellezte, amelyet az ember akkor végez, amikor egy lexikon két szava között keres kapcsolatot. Egy szemantikus háló jól definiált eljárásainak segítségével képes volt összeállítani egy választ bármelyik, a szótárban megtalálható szópár esetében azok összevetésére és szembeállítására.
Megkereste a szavakhoz kötődő ismeretek közös részeit, kapcsolódási pontjaikat. Emiatt szokták asszociatív hálónak is nevezni a szemantikus hálót.
A következtetés végzés, kérdést megválaszolás egy szemantikai hálóval :
Egy szemantikus hálóval ábrázolhatjuk egy tématerület ismereteit. A tématerülettel kapcsolatos ismeretek alapján megválaszolható kérdést szintén egy neki megfelelő szemantikus hálóval adjuk meg (célháló), majd ezt a kisebb hálót illesztjük a tématerület hálójának azonos csomópontokat tartalmazó részére.
A kérdésre a választ a tématerület hálójának illeszkedő része hordozza. Általában a hálókezelő algoritmusra ennél több feladat hárul, elő kell állítania például az öröklött tulajdonságokat is.
A szemantikus háló előnyei:
• Az osztályhierarchia a tulajdonságok hatékony tárolását is segíti: az osztály minden alosztályára, illetve egyedére egyaránt érvényes tulajdonságok a legmagasabb, legáltalánosabb szinten kerülnek tárolásra, azonban érvényesek a becsatlakozó alsóbb osztályokra és egyedekre is - működik az öröklődés. Kiküszöböli a redundanciát, ellentmondás-mentességet eredményez.• A grafikus ábrázolás szemléletes és könnyű érthetőséget jelent és az emberi gondolkodáshoz közel áll.
• Gyors számítógépi reprezentációt tesz lehetővé: a csomópontok memóriaterületekre, az élek mutatókra képezhetők le. Elmarad a listák elemeinek kimerítő illesztése, mely a szabály- és logika alapú ismeretszemléltetést jellemezte. Az objektumok megtalálása ún. hash táblák segítségével gyorsan megtörténhet, a kapcsolatoknak megfelelő mutatók pedig meghatározzák a kapcsolódó ismeretelemek helyét.
• Rugalmas tudásszemléltetési eszköz: könnyen bővíthető új objektumokkal és viszonylatokkal, a módosítás és a törlés egyszerű.
A szemantikus háló önmagában nem hordozza a teljes jelentést.
A kapcsolatok értelmezése a szemantikus hálót szemlélő emberre, ill. a hálót kezelő algoritmusra hárul.
A tudásszemléltetési módszer és az OOP módszerhez kapcsolata:
A tudásszemléltetési módszer a szemantikus háló és az OOP-vel való hasonlatosságát a hálót alkotó objektumok, azok viszonyai és tulajdonságai adják.
Formailag a szemantikai háló csomók (nodes) és az azokat összekapcsoló nyilak (links) alkotják. A csomók egy-egy valós vagy virtuális objektumot jelölnek, a nyilak pedig a közöttük lévő viszonyt, osztályba-tartozásukat fejezik ki.
Az objektumok jellemzőit formailag az objektumokhoz hasonlóan kezeljük.
Egyes objektumokat egyedeknek is nevezhetjük, mert a más egyedekkel megegyező tulajdonságai mellett saját, specifikus tulajdonsággal is bírnak. Az egyedeket közös tulajdonságaik alapján egyetlen csoportba, osztályba sorolhatjuk.
A szemantikus háló a tulajdonságöröklés segítségével az azonos osztályba tartozó egyedek mindegyikét felruházza az osztály tulajdonságaival, jellemzőivel. Többszintű osztálystruktúra esetén a magasabb szintű osztályba tartozó alosztályok is rendelkezni fognak az ősosztály tulajdonságaival.
Az egymást kizáró jellemzők (Pityuka madár, döglött, nem repül; Pityuka madár, repül) esetén az alsóbb szinthez kötődőt vesszük alapul az értelmezésben.
Ily módon kivételes tulajdonságokkal is rendelkezhetnek az egyedek.
A CD elmélet lényege:
Koncepcionális Függõség (Conceptional Dependence, CD)
Roger Schank, 20 éves munkájának eredménye
Természetes nyelvek megértéséhez, történetek felfogásához, újdonságok észleléséhez.
Cél: epizodikus memória, az egymást követő eseményekre vonatkozó tudás modellezése.
A keret alapú tudásszemléltetés témaköre
A keretek a valós világra vonatkozó ismereteket oly módon reprezentálják, hogy egyesítik az objektumokra, tevékenységekre és eseményekre vonatkozó deklaratív leírást azon információk előállítására vonatkozó eljárások megadásával.
Az eljárások célok elérésének, információk megszerzésének módjára vonatkoznak, ily módon túllépve több olyan problémán, mely a szemantikus hálót jellemezte.
A keret tudásábrázolási forma bevezeti a prototípus fogalmát, mely azt a felismerést tükrözi, hogy az emberi ismerettárolás sok sztereotip leképezést tartalmaz.
A valós, vagy elvont objektumokat, fogalmakat reprezentáló keretek hierarchikus keretrendszerré kapcsolódnak össze az ismeretábrázolás során.
A keret alapú ismeretszemléltetés a szemantikus háló továbbfejlesztésének tekinthető.
A szemantikus hálókkal megegyező tulajdonságok:
• Hierarchikus egyed - alosztály - osztály szerkezet.
• Tulajdonság örökítés, mely kiterjed a procedurális tulajdonságokra is. Konfliktusok feloldása specifikusság, prioritás, vagy alapértelmezés figyelembe vételével.
• Hasonló számítógépes reprezentáció: keretek - memóriahelyek; kapcsolatok - mutatók. Gyors működés.
• Keretkezelő program a következtetés, problémamegoldás kivitelezésére, de jóval gazdagabb feladatkörrel.
• Grafikus ábrázolás használható, de a grafika inkább a keretleíró nyelvek támogatója. (Lásd KappaPC szoftvert.)
• Rugalmas tudás bővítés, módosítás, törlés.
A szemantikus hálókon túlmutató tulajdonságok:
• Egységbefoglalás: objektum, attribútumok, értékek, deklaratív és procedurális összetevõk. Slot - filler, attribútum - érték párok, speciális attribútum a keret neve.
• Az attribútumok és attribútum-értékek megadása más keretekre való utalással, többszörös egymásba ágyazással is lehetséges.
• Default, alapértelmezett értékek szolgálják a kérdések megválaszolását.
• A procedurális ismeretszemléltetés részeként értékeket előállító függvények, az értékváltozásokra működésbe lépő mechanizmusok, eseményvezérelt démon rendszer működik.
• Az attribútumok értékkészletére, értéktartományára, alap (default) értékére adhatunk meg előírásokat.
• A keret tudásábrázolás sokkal elterjedtebb, mint a szemantikus háló, mivel gyakorlatilag annak összes tulajdonságát magába foglalja. Speciális keretkezelő nyelveket hoztak létre a keretek használatának megkönnyítésére. Ezenkívül több hibrid rendszerben is alkalmazásra került.
A démonok típusai és szerepük a kereteknél:
A démonok működésének eredményeként dinamikus, élő rendszerek alakíthatók ki. Figyelik a keretet érintő adatmozgásokat.
IF_NEEDED: akkor lép működésbe, ha a rábízott rekeszre hivatkozás történt; előállítja az adatot a megadott keretben a számítóeljárás segítségével.
IF_ADDED: akkor lép működésbe, ha a rábízott rekeszbe beírás történt; a beírt adatot felhasználva kiszámít egy értéket egy másik rekesz számára.
IF_MODIFIED: akkor lép működésbe, ha a rábízott rekeszen módosítás történt; a módosított adatot felhasználni kiszámít egy értéket egy másik rekesz számára.
IF_DELETED: akkor lép működésbe, ha a rábízott rekesz tartalmát törölték.
A szabályalapú tudásszemléltetést és az esetalapú összevetése (módszer, előnyök, hátrányok)
Szabályalapú -- EsetalapúSzabály: a többi szabálytól független -- Eset: a többi esettől nem független
Szabály visszakeresés: egzakt illesztéssel -- Eset visszakeresés: közelség vizsgálattal
Szabályalkalmazás: szabályok sokaságát láncolva -- Eset alkalmazás: visszakeresés, hozzáigazítás
Előzetes problémamodell kidolgozást igényel -- Nem igényel problémamodellezést
Szűk keresztmetszet: az információkinyerés -- Csak esetek összegyűjtését igényli
Hosszú fejlesztési idő -- Akár üres esetbázissal is indítható az alkalmazása
Nagy szabályszám esetén lelassul -- Képes nagymennyiségű eset kezelésére
Bővítés után validálást, konzisztencia ellenőrzést igényel -- Bővítése egyszerű
Nem tanul -- Tanul, használat közben fejlődik.
Módszer:
Előrehaladó láncolás (forward chaining): a végkonklúzió megtalálása a feladat, a megadott tényekből kiindulva.Hátrafelé haladó láncolás (backward chaining): az elérendő cél adott és a szükséges előfeltételek megtalálása, ill. a megadottak elégséges voltának megállapítása a cél.
A szabályalapú rendszerek előnyei:
• Modularitás: egyedi előállító szabályok hozzáadhatók, törölhetők, megváltoztathatók• Egyöntetűség: homogén ábrázolás, könnyű megértés• Természetesség: emberi problémamegoldáshoz hasonló.
A szabályalapú rendszerek hátrányos tulajdonságai:
• Merevek: nem nyújtanak különféle absztrakciós szinteket
• Nem hatékonyak: ténybázis-szabálybázis illesztés, kombinatorikus robbanás.
Módszer:
Az eset leírása történhet bármilyen ismeretreprezentációs módszerrel, leggyakoribb a keretalapú szemléltetés.
A probléma leírásánál olyan formalizmust kell alkalmazni, amely olyan metrikát értelmez, amely révén az esetek problémaleírásai egymással számszerű eredménnyel összehasonlíthatók (Közelség). (10cm - 20cm; piros színű - narancs színű; szép - gyönyörű.
Eltérő adattípusokra nem egyformán könnyű metrikát találni.)
Az eseteket esetbázisban tároljuk.
A esetalapú rendszerek előnyei:
• A probléma modelljének előzetes kidolgozása nélkül is alkalmazható• Használat közben fejlődik, könnyen bővíthető
• Robusztus: hiányos, vagy rosszul definiált fogalmakkal is megadhatók esetek
• Nem algoritmizálható problémák esetén is alkalmazható
• Képes támogatni a korábbi hibás megoldások elkerülését is.
A esetalapú rendszerek hátrányos tulajdonságai
• Emberi interakciót igényel az esetek többségében• Minősége romolhat az eltérő felhasználók eltérő igényszintje miatt a tanulás során.
Kereső eljárások:
• Cél: egy adott problémára a lehetőségek közül egy adott kritériumrendszernek eleget tévő megoldás megtalálása.
• A keresést az ismeretfeldolgozási eljárások közé soroljuk, a szemléltetett ismeretet aktívvá tesszük, tudást nyerünk ki.
• Gyakran használják ismeretfeldolgozási eljárásként.
A kereséssel történő problémamegoldás lépései
1. A probléma beazonosítása kereséssel megoldható problémakéntEgy operátorkészlettel bejárható állapotok mindegyikén értelmezhető egy kritériumfüggvény.
A probléma megoldása megfeleltethető a kritériumfüggvény adott értékének, értékhalmazának, vagy extrémumának.
2. A problémára vonatkozó ismeretek reprezentálása, szemléltetése (Patrick Winston elvárt jellemzői)
A fontos dolgokat világosan adja meg.
Fedje fel a természetes korlátokat, megkönnyítve a számítások néhány fajtáját.
Legyen teljes.
Legyen tömör.
Legyen átlátható számunkra.
Legyen alkalmas gyors feldolgozásra.
Rejtse el a részleteket, de tegye elérhetővé azokat szükség esetén.
Létezzen rá számítógépi eljárás.
A kereső eljárás alkalmazása.
A feladat megoldására az eljárások jellemzőinek ismeretében történhet. Ilyen közös jellemzők, melyek a megoldandó konkrét probléma függvényei:• Teljesség: ha létezik megoldás, azt az eljárás meg is adja.
• Optimalitás: a Start-Cél útvonal egyben költségoptimális is.
• Időigény: az algoritmus lépésszámára adott felső korlát.
• Tárigény: a megoldás megtalálásához felhasznált memória méretére vonatkozó felső korlát.
Állapottér: reprezentálása az állapotoknak megfelelő csomópontokkal és az állapotok közötti mozgást jelentő operátoroknak megfelelő irányított élekkel.
Út, útvonal: egy állapotból egy másik állapotba átvivő operátorsorozat, ill. érintett csomópontok rendezett listája.
A keresés leállási feltétele: előírhatja a kritérium teljesítését, vagy adott tűrésen belüli közelítését. Az utóbbi esetben kvázioptimális megoldásról beszélünk, mely gyakorlatilag jó és kompromisszumot jelent a keresés időigénye/költsége és a megoldás minősége között.
Az operátor költsége: az operátorok a feladat valós tartalmától függő költséggel rendelkezhetnek: (legrövidebb út keresése városok között – az operátor költsége az útszakasz hossza). Lehet az operátor költsége érdektelen (bűvös kocka kitekerés ).
A keresés költsége: a keresés idő- és tárigényéhez kapcsolódó költség.
A keresés teljes költsége: az út költsége + a keresés költsége. Pl. városban történő útkeresés benzinköltsége: az útszakaszokon és az elágazásoknál az útválasztási döntés meghozatala ideje alatt.
Elágazási tényező (branching factor, b): egy adott csomópontból megtett kiterjesztés ágainak száma.
Átlagos elágazási tényező: több csomópontra, leggyakrabban a teljes keresőgráfra értelmezett jellemző, a figyelembe vett csomópontok elágazási tényezőinek összege osztva a figyelembe vett csomópontok számával.
A keresés frontja és a kiterjesztés fogalma:
A keresés frontja: az összes, kiterjesztéssel feltárt, de még bele nem lépett csomópont, azaz a keresési fa levelei.Kiterjesztés: egy állapot kiterjesztése alatt az állapotból egyetlen lépéssel elérhető állapotok feltérképezését, azokba való betekintést, de még bele nem lépést értünk. Megfelel a keresőgráf egy adott pillanatnyi levélállapotától egy szinttel lejjebb lévő állapotok keresőgráfba való megrajzolásának.
Általános kereső eljárás
A kereső eljárások lényegi lépéseit tartalmazza, amelytől a különböző eljárások csak kis részben térnek el.1. A keresési front legyen egyenlő a Start állapottal.
2. Ha a front üres, akkor nincs megoldás, vége. Egyébként legyen n a front egyik állapota.
3. Ha n kielégíti a Cél-kritériumot, akkor add vissza a hozzá vezető útvonallal együtt, vége.
4. Egyébként a front n állapota helyére vedd fel a kiterjesztésével adódó új állapotokat és jegyezd fel a hozzájuk vezető útvonalakat. Ismételd a 2. ponttól.
Az algoritmus szabad kezet adó pontja a 2., amelyben arról döntünk, hogy melyik állapot szomszédjai irányába terjesszük ki a keresést.
Ezen döntést végezhetjük gépiesen, a neminformált eljárások esetében, vagy a keresési feladatra vonatkozó információkra támaszkodva, az informált, vagy más néven heurisztikus kereső eljárások esetében.
Neminformált kereső eljárások (vak keresés)
Nincs információnk az aktuális állapot és a cél távolságára. Csak arra képes, hogy észrevegye, ha a Cél állapotban van.
Nem hatékonyak. Általánosan használhatók.
Típusok:
Szélességben először keresés;
Elágaztatás és ugrálás;
Mélységben először keresés;
Iteratív mélyítés
Az iteratív mélyítés elvű keresést jellemzői
Cél: a korlátmegadás problémájának elkerülése azáltal, hogy nulla korlátmélységről indulva egy-egy szinttel növeli a korlátmélységet. Minden egyes korlátmélységnél elvégez egy mélységben először keresést. A korlát mélyítését addig folytatja, amíg megoldást nem talál.Az iteratív mélyítés előnyei:
• Örökli a mélységben először keresés alacsony memóriaigényét.
• Rendelkezik a szélességben először keresés teljességével.
• A mélységben először kereséssel szemben nem tárja fel a fa megoldástól mélyebb részeit.
• Időkorlátos feladatokhoz előnyös, mert a keresés bármikor megszakítható.
Az iteratív mélyítés tulajdonságai:
• Teljes
• Optimális (költség a lépések száma)
• Időigénye az újrakezdések ellenére nagyságrendileg nem változik a mélységben először bd értékéhez képest.
• Memóriaigénye b*d, nagyon kedvező!
Informált kereső eljárások (heurisztikus keresés)
A front állapotai közül belelépésre azt választjuk, amelyre vonatkozóan a konkrét megoldandó feladatra vonatkozó információk valamilyen előnyt ígérnek. Ilyen előny: a célhoz legközelebbi; legkisebb költségű; a legnagyobb lépést teszi a Cél irányában, stb.
Az informált állapotválasztással a keresés hatékonysága nagyban fokozható.
Az informált kereső eljárásokat gyakran heurisztikus kereső eljárásoknak nevezzük, mert a problématerületre vonatkozó tapasztalatra építenek. A heurisztika általában nagyban növeli a hatékonyságot, de tévedhet is.
A heurisztikát a h(n) heurisztikus kiértékelő függvény segítségével számszerűsítjük.
Melyek a jó heurisztikus keresőfüggvények jellemzői?
Heurisztikus kiértékelő függvényként gyakran alkalmazzák az n állapotból a Cél elérésének költségére vonatkozó becslést. A jó függvény nem becsüli túl a költséget és a Cél állapotra 0 értéket ad.
Globális információra támaszkodó eljárások:
- Legjobbat először keresés;
- A és A* keresés;
- Iteratív A* algoritmus
A globális információ az állapottér bármely két pontja között származtatható, leggyakrabban az n állapot és a Cél-állapot között számítjuk és az n állapothoz rendeljük.
Globális információ felhasználásával megtalálhatjuk a globális optimumot, az optimális költségű utat is.
Lokális információra támaszkodó eljárások:
Hegymászó keresés; Szimulált lehűtés; Tabu keresésA lokális információ az n állapot és közvetlen szomszédjai között számítható.
Önmagában lokális információ alkalmazásával csak lokális extrémumot garantálnak az eljárások, gyakran azonban annak közelítésével is megelégszünk.
A hegymászó keresés
Lokális információt használ: csak a szomszédos állapotokat nézi.
A legjobb szomszédot választja és gyorsan feljut egy közeli lokális csúcspontra.
Az eljárás:
• Teljessége: amennyiben lokális maximum megfelel, akkor azt megtalálja
• Nem optimális
• Időigénye: nagyon alacsony
• Tárigénye: nagyon kicsi, mert nem tárol keresőgráfot.
• Probléma: sikere erősen függ a felület alakjától.
Szimulált lehűtés
Cél: a lokális csúcsokról való elkerülés azáltal, hogy megadott valószínűséggel lefelé haladó, rontó lépések is lehetnek.A rontó lépések valószínűsége a hőmérséklet csökkenésével csökken.
Kellően lassú lehűlés esetén megtalálja a globális maximumot.
Nagyméretű feladatokra is hatékony.
Közelítő eredményt ad, melyet a leállási feltétel teljesülésekor ér el.
A leállási feltétel általában azt írja elő, hogy az utolsó néhány hőmérsékleten a célfüggvény értéke megadott kis értéken belül maradjon.
A tabu keresés
Ötlet: minimalizáló lokális algoritmus, ha megpróbál kimászni egy lokális gödörből, előfordulhat, hogy a hegygerinc elérése előtt újra a kedvezőbb, kisebb függvényértékek irányába fordul és újra lemegy a völgybe.Akadályozzuk meg ezt egy rövidtávú memóriaként működő listával, mely tárolja a tiltott, tabunak minősülő visszautakat.
Az eljárás matematikai háttérrel nem bír, ennek ellenére nagyméretű feladatokban bizonyította erejét.
A Tabulista elemszáma rögzített, a frissítés a legrégebben bekerült állapotot írja felül.
Evolúciós algoritmusok:
Az evolúciós algoritmusok a biológiai evolúciót modellezik. Az evolúciós algoritmusokkal végzett problémamegoldást biológiai számításnak is nevezik.Az evolúciós algoritmusok populációjának egyedei megfeleltethetők a keresés állapotterében található állapotok egy részhalmazának, az egyedek életképességét, jóságát mérő ún. fittness függvény megfeleltethető a keresés kritériumfüggvényének.
Az evolúciós mechanizmus mintájára létrehozott programokkal akkor is megoldhatók a feladatok, ha a problémamegoldásra nem tudunk részletes algoritmust adni.
Az irányított „próba-szerencse” módszer feladatérzéketlenségéért, robusztusságáért számítási idővel kell fizetnünk.
A biológiai evolúció és az evolúciós algoritmusok eltérése:
A biológiai evolúció célja a környezet elvárásaihoz való minél hatékonyabb alkalmazkodás, míg az evolúciós algoritmusokkal globális optimumok keresését végezzük.
Ezen optimumkeresési feladatok általában nem biológiai beágyazó környezetben zajlanak.
A Genetikus algoritmus:
A genetikus algoritmus egy globális kvázioptimum megtalálására kifejlesztett kereső algoritmus, mely alapvetően problémafüggetlen.A problémára vonatkozóan rendelkezésre álló információ bevihető az algoritmusba a fenotípusról a genotípusra való áttéréskor, valamint a keresztezés és a mutáció módjának megválasztásakor.
Az ily módon kialakított, problémára szabott genetikus algoritmusok hatékonysága megnő.
Mivel egyszerre egy populációt, azaz egyedek egy csoportját kezeli, a globális optimum fellelésének megnő az esélye.
Az állapottér feltárásában a következők játszanak szerepet:
• A kezdeti populáció egyedeinek eloszlása az állapottéren
• A keresztezések interpoláló hatása
• A mutációk extrapoláló, a keresztezéssel kialakult belterjességből, lokalizáltságból kivezető hatása.
A populáció fejlődése az egyedek fejlődésén keresztül realizálódik.
A szelekciónak köszönhető látszólag spontán fejlődés nem csak a véletlen eredménye: a jobb célfüggvény (fitness) értéket reprezentáló egyedek aránya a populációban egyre nő, míg a kevésbé életképeseké csökken.
Az egyedek a módszer memóriájaként is felfoghatók: a jó tulajdonságú egyedek megtartásával az algoritmus megtanulja a jó célfüggvény értéket adó tulajdonságokat, a gyengébbeket eredményező tulajdonságok pedig elfelejtődnek az azokat hordozó egyedek kihalásával.
Az egyetlen tulajdonság különböző értékeinek tárolására alkalmazott több bites, egységként, génként kezelt kromoszómarészlet által felvehető értékeket allél-eknek nevezzük.
A szelekciós operátor
Feladata a szülőegyedek kiválasztása a keresztezés számára. A különféle szelekciós módszerekben közös, hogy a rátermettebb egyedeket jelentősebb arányban választják ki tulajdonságaik továbbörökítésére, de általában a gyengébb egyedek is kapnak egy kis esélyt. Ha a régi populáció legrátermettebb egyede mindig átkerül az új populációba, a szelekció elitista.A szelekciós módszerek típusai a genetikus algoritmusban:
Rátermettség-arányos választás: az egyed kiválasztásának valószínűsége arányos a populáció rátermettségi átlagához viszonyított rátermettségével.A rátermettség gyakran azonos az egyedhez tartozó függvényértékkel, ritkábban azonban csak a szelekcióhoz alkalmazott egyedjellemző neve.
• Párok versenyeztetése: véletlenszerűen kiválasztott két egyed közül a versenyt nyerő, azaz a nagyobb rátermettségi értékű lesz a kiválasztott. A módszer alkalmazható több, mint két versenyzős esetben is.
• Rangsorolás: A közvetlen rátermettségi értékek helyett a rátermettségi sorrendre alapozott szelekciót végzünk.
A keresztezés operátor
Szerepe utódok, azaz új egyedek előállítása.Leggyakoribb módszerek:
• Egypontos keresztezés: Véletlenszerű keresztezési pont választás.
• Egyenletes keresztezés: Ötven százalék eséllyel cserélődik minden egyes gén.
A mutáció operátor
Olyan új egyedet hoz létre, mely mentes a keresztezés belterjességétől, azaz az ősökétől merőben elütő tulajdonságokat hordozhat. A keresztezéstől kisebb gyakorisággal alkalmazott művelet.A módszer: az adott egyed kromoszómájának egy véletlenszerűen választott génjét egy másik génre cseréljük ki.
A Genetikus algoritmus paraméterei
• A populáció számossága (pl. 16)• Kromoszóma hossz (pl.12 bit)
• A szelekciós operátor
• A keresztezés operátor: a keresztezési ráta (új egyedek aránya, pl. 0.7), a keresztezési pontok száma, stb.
• A mutáció operátor: a mutációs ráta (pl. 0.001), a mutációs pontok száma, stb.
A genetikus algoritmus alkalmazhatósága
Bár a genetikus algoritmusok nagyon igénytelenek az állapottérrel, az állapottéren értelmezett kiértékelő függvénnyel szemben, van néhány követelmény, amelynek eleget kell tenniük a megoldandó feladatoknak:• A feladat megoldási lépéseinek ismerete nem szükséges, de bizonyosnak kell lennünk a megoldhatóságában.
• A megoldások összetevői között lehet részleges függőség, de nem lehet az összes összetevő függőségi viszonyban.
A jó reprezentáció jellemzői
• Az algoritmus legyen képes az állapottér lefedésére
• A rátermettebb egyedek nagyobb arányban örökítsék tovább tulajdonságaikat, de ne alakuljon ki belterjes populáció
• A közelálló szülők utódai hasonlítsanak a szülőkre, míg a nagyban eltérő szülők származtassanak változatos utódokat
• A mutáció akadályozza meg a populáció korai belterjessé válását, de ne rontsa el a jó tulajdonságokat.
• A mutációk származtassanak az állapottér feltáratlan területére eső életképes utódokat. Közülük a gyengék gyorsan szelektálódjanak
• A kezdeti populáció használjon maximális informáltságot a kezdeti megoldások jó tulajdonságainak elérésére, de ugyanakkor fedje le kellő homogenitással az állapotteret, azaz legyen véletlen jellegű.
A Genetikus algoritmus fő jellemzői:
• Sokhegymászós sztochasztikus optimumkereső módszer, ebből eredően lassú
• Fő alkalmazási területe az összetett, más algoritmusokkal nehezen kezelhető feladatok területe
• Kvázioptimumok sokaságát szolgáltatja. Az optimum megtalálása további módszereket igényel
• Matematikailag nem alátámasztott, ennek ellenére összetett feladatokra is vannak sikeres alkalmazások
• A hatékonysága a megoldásokat felépítő elemi összetevők hatékony versenyeztetésében és szelektálásában rejlik
• A populáció memóriaként működik: a jó tulajdonságok megtanulása, szelekció révén a gyenge tulajdonságok felejtése.
• Az állapottér csonkítása nélkül is megtalálja a globális optimumot a keresztezés interpoláló és a mutációk extrapoláló hatásának köszönhető állapottér-felderítő képességüknek köszönhetően.
• A mutáció az egyre belterjesebb populációban vérfrissítő hatással bír, és jó tulajdonsága esetén gyorsan elterjed, ami a keresés súlypontáthelyező képességét, lokális optimumból való kiszabadulását jelenti.
A Genetikus algoritmussal megoldható feladatok fő jellemzői
• Nemlineáris feladatok, melyek optimuma nem áll elő részoptimumok összegeként.
• Nagyméretű sokdimenziós állapottér
• Lokális extrémumok sokasága
• A feladat összetevőinek a hatása az eredményre nem becsülhető
• A különféle paraméterértékekkel adódó megengedett megoldások kiértékelése elégséges a legjobb megoldás kiválasztásához.
"ADD" példa
Az ” Add” példa bemutatja a GA algoritmus használatát egy öt tagból álló összeg maximumának megtalálására. Mindegyik tagot egy tízbites gén hordoz és a tagok értéke 0.0 – 10.0 közötti változhat.
A fitness függvény egyszerűen a gének által kódolt értékek összege: Fitness = Tag1 + Tag2 + Tag3 + Tag4 + Tag5
„Utazó ügynök" példa
A példa bemutatja a GA algoritmus használatát egy 10 városon áthaladó legrövidebb körút megtalálására. Az intelligens keresztező operátor biztosítja, hogy minden város csak egyszer szerepeljen a körútban.A fitness függvény az úthossz reciproka: Fitness = 1/ ” Teljes úthossz”
Szakértőrendszer definiálása:
Egy szakértőrendszer olyan eszköz, amely probléma specifikus ismeret megértésére képes és intelligensen használja a tématerület ismeretanyagát egy tevékenység különböző megvalósítási útjainak felvetéséhez. A szakértőrendszerek nem csak az ismeretátadás technikáit alkalmazzák, hanem analitikus, elemző eszközöket is az ismeret kiértékelésére, valamint tanulási technikákat.
Szakértőrendszerek megvalósítása:
- hardver
- szoftver
- tudásbázis
- következtető automata
Az interfész
A dedikált gép :
A szakértőrendszer alkalmazások futtatására szolgáló dedikált hardver jelentősen eltér a hagyományos alkalmazások futtatására előnyös hardvertől.A fő eltérések:
• Adattípus szerinti memóriaelérés
• Egyfelhasználós kivitel
• LISP célprocesszor.
A szimbolikus szoftverek futtatására szánt hardvernél kiemelt fontosságú a nagy sebesség.
Napjaink tendenciája, hogy a hagyományos hardver nagyfokú teljesítménynövekedésének, árcsökkenésének és elterjedtségének köszönhetően előtérbe kerül a mesterséges intelligencia alkalmazások céljaira, köztük a szakértőrendszerek futtatására is.
Dedikált hardver alkalmazásának indokai:
• Extrém nagy teljesítményigény
• Eleve erre készült szoftver
A szakértőrendszer-szoftverek 3 csoportja:
• Általános célú MI-nyelvek: LISP, Prolog, Poplog, stb.
• Fejlesztőeszközök, szakértőrendszer-vázak, pl: KappaPC, GURU, stb.
• Kulcsrakész szakértőrendszerek, pl. Lending Advisor, stb.
Szakértőrendszer-vázak képességei:
• Tudásbázis fejlesztő editor a tudásbázis feltöltésére és karbantartására
• A tudásbázis konzisztenciájának ellenőrzése, a redundáns szabályok kiszűrése, a hiányzó információk jelzése
• Szintaktikai, formai ellenőrzés
• Következtetésindoklás, magyarázatadás
• Hibakeresés, nyomkövetés, töréspontok elhelyezése teszteléshez
• Grafikus felület az információk és kapcsolatrendszerek megjelenítésére
• Kapcsolódási felület más programokhoz, pl. adatbázisokhoz, Internethez, szenzorokhoz és beavatkozó szervekhez
• Tudáskinyerés szöveg alapú forrásokból
• Hanggenerálás és hangfelismerés az emberközeli kommunikáció elősegítésére természetes nyelvi interfész formájában.
Tudásbázis:
A tudásbázis tartalmazza az ismeretet és szakértelmet. Minél teljesebb a tudás, annál erőteljesebb a szakértőrendszer.
Fontos a tudás szemléltetésének módja:
• Predikátum logika;
• Szemantikus háló;
• Keret;
• Szabályalapú;
• Hibrid modell.
A következtető automata:
Ez teszi aktívvá a tudásbázisban tárolt ismeretet. Fontos jellemzője a következtetési folyamat vezérlés stratégiája.
Másik összetevője a keresési módszer, mely meghatározza, hogy milyen módon járja be a tudásbázist a következtető automata.
Lehet:
előrehaladó,
visszafelé haladó,
kétirányú,
szembehaladó és a legkisebb kötelezettség elvén működő.
Az interfész: Az interfész jelenti a kapcsolatot a külvilág felé.
Fejlesztői interfész: A szakértővel; A tudástechnológussal
Felhasználói interfész:
A felhasználóval;
A szenzorokkal;
A beavatkozó szervekkel;
Más alkalmazásokkal.
A szakértőrendszerek kifejlesztésének 7 fő lépése
• Fejlesztői (Front End) elemzés:
• A megfelelő probléma beazonosítása
• A gazdaságosság mérlegelése
• A vezetés támogatásának megnyerése
• Feladatelemzés
• A feladat beazonosítása
• Az új rendszer viselkedésének behatárolása
• A szükséges tudás behatárolása
• Prototípus kifejlesztése
• Esettanulmányok készítése
• Egy kisméretű rendszerrel bizonyítani az elv helyességét és tapasztalatot szerezni
• A rendszer kifejlesztése
• Újragondolni az átfogó struktúrát, ha szükséges
• Újabb tudással bővíteni a rendszert
• Tesztelés
• A rendszer tesztelése valódi felhasználókkal
• Felülvizsgálat, ha szükséges
• Installálás
• Telepíteni a rendszert a működési környezet hardverén
• Betanítani a felhasználókat
• Karbantartás
• A rendszer aktualizálása, ha szükséges
Kognitív pszichológia:
A kognitív pszichológia a megismerés folyamatát kutatja.Mivel a gépi intelligencia csak akkor teljesítheti az elvárásokat, ha önálló tanulásra képes, a gépi intelligencia kifejlesztéséhez vezető úton nem mondhatunk le az emberi megismerési folyamat eddig megismert működésének, jellemzőinek hasznosításáról sem.
Pszichológia: A pszichológia az összetett viselkedési mintákat tanulmányozó tudomány.
A pszichológia fő célja a "szellemi folyamatok" elemzése, melyek általában kognitív (megismeréssel kapcsolatos) folyamatokat jelentenek. Ilyen működések a figyelem, felismerés, asszociáció, emlékezet, képzelet, gondolkodás, megértés, felejtés.
Megismerés: A megismerés a tudás által meghatározott: az új ismeretek megszerzése a korábbiak alkalmazása révén. Olyan működés, amely az élőlényeket és különösképpen az embereket jellemzi.
Az emberi információ-feldolgozás: Az emberi információ-feldolgozás jellemzője, hogy az ingerfeldolgozás terjedelme és minősége az inger természetéről alkotott előzetes elképzelésektől, előfeltevésektől függ.
Az introspekció (Önmegfigyelés)
Minsky arra a következtetésre jutott, hogy a valóságos világban a helyzetek megfelelő felismerését és leírását sohasem lehet elérni egyedül a pillanatnyi input minták alapján. Feltevése szerint a számítógépben minden egyes új helyzet számára egy keretnek, vagy keretek hierarchiájának kell készenlétben állnia, amelyek előrevetítik a bekövetkező események jelentős részét.Goffman a köznapi társas élet egy elemzésében rámutat, hogy ezek az események milyen gyakran jönnek létre konvencionálisan kialakult keretek között, amelyek megváltoztatják, vagy átalakítják a jelentésüket. Kulcspéldája a színházi előadás, amelyben a nézők tudják, hogy az általuk megfigyelt beszédet és cselekvést nem szószerint, hanem valahogy másképpen kell felfogniuk.
A séma (Bartlett szerint)az észlelés központi kognitív struktúrája. A teljes észlelési ciklusnak az a része, amely az észlelőhöz képest belső, a tapasztalat által módosítható, és az észlelt dologra nézve valamiképpen specifikus.
Az élő szervezet a külvilágból érkező ingerek révén a helyzethez leginkább kötődő, korábbi észlelések során eltárolt, felépült sémáját aktivizálja, mely felveszi az új információt és ily módon megváltozik.
Irányítja a további felderítő mozgásokat és helyváltoztató tevékenységet még több információ elérése érdekében, melyek felvétele tovább alakítja.
Az észlelési jellemző vonásait és az észlelési körfolyam:
• Minden észlelő szervezet bír olyan struktúrákkal, melyek révén képes a környezet bizonyos aspektusait megragadni.• Az észlelés és a megismerés a külvilággal való olyan kölcsönhatás, melynek révén az észlelő nem csak új információhoz jut, hanem meg is változik, átalakul.
• Az észlelés irányításában korábban kialakult struktúrák (sémák) játszanak meghatározó szerepet, irányítják az észlelést.
• A jelen észleleteiben hatást gyakorolnak a közvetlen múlt és a távoli múlt emlékképei egyaránt. A megismerésben közreműködhet az emlékezés, a képzelet, a gondolkodás is.
• "Az, hogy a hallgató mit fog fel az érvelésemből, nemcsak attól függ, amit mondok, hanem attól is, hogy mit tud (és hisz) mielőtt beül a terembe.
• Az észlelést a pszichikum irányítja. Eltérő személyek ua. dolog más-más oldalát veszik észre.
• A sémák anticipációként (előrevetítés, előzetes elképzelés) működnek, olyan közvetítőként, melyek kihatnak a személy jövőbeni tevékenységére. A korábban megszerzett ismeret beágyazó környezetként szolgál új ismeretek számára.
• Az észlelési ciklus:
A rendelkezésre álló információ beépül a sémába módosítva azt, a séma irányítja a további információk felderítését, mindezt egy körforgásban, egyre bővítve, finomítva a világ egy részének séma általi leképezését.
Helyes tanulási módszer: a tananyag elemzése, a váz, a tartalomjegyzék átlátása, kapcsolatok, lényegi pontok keresése, a leírtak átstruktúrálása, több szempont szerinti boncolása, beágyazás a már birtokolt ismeretekbe.
Felejtés: A felejtés, a sémák leépülése, amely ténylegesen fellép, inkább a beágyazott séma kisebb részleteit érinti, nem pedig az egész befoglaló struktúrát. Kutatások kimutatták, hogy egy mondat, vagy történet általános jelentése sokkal tovább fennmarad, mint a szavaké, amelyekből a történet felépül.
Fajtái:
• Inaktivitásból, használatlanságból eredő tartós megtartás-csökkenés. Közepes meredekségű. „Amit nem használnak, az elsorvad. Amit megtámogatnak, az is.”
• Interferenciás, más tanulással való kölcsönhatásból eredő tartós felejtés.
Proaktív: az előző tanulás hatása a vizsgált tanultak megőrzésére. Enyhe meredekségű.
Retroaktív: a rákövetkező tanulás hatása a vizsgált tanultak megőrzésére. Ez okozza a legmeredekebb felejtést.
• Elfojtásos, legátlásos időleges felejtés. (Pavlov, Freud)
A képzelet működése:
A képzeleti képek nem mások, mint "központilag kiváltott érzékletek". Az észlelés ingerei is az agyból származnak.
"Valamely nem valóságos dolog elképzeléséhez csupán arra van szükség, hogy leválasszuk a vizuális készenléteket a várt valóságos történések általános fogalmáról, és egy másfajta sémába ágyazzuk bele." A sémák részeinek leválasztása és kombinálása más részsémákkal eredményezi a magasabb mentális folyamatok alapját (képzelet, nyelv).
Gondolkodás:
Verbális kapcsolattal bíró sémák láncolódása, gyakran egy kérdésből indulva és a válaszban végződve.
Idegsejtek (neuronok )működése:
Az idegrendszer az idegsejtek hálózata. Az idegsejtek hálózata nyújtja azt az összetett működést, melyet az emberi agynak megfelelő bonyolultsági szinten mentális képességekkel, a megismerés, a tanulás, az adaptív viselkedés, az érzelmek, a beszéd és a tudat jelenségeivel jellemezhetünk.
Az idegsejt, azaz neuron részei a sejttest a sejtmaggal, az inputként szolgáló sejttestnyúlványok (dendritek), valamint a sejt ingerületét más sejtek felé továbbító axon.
Az axonok néhány század millimétertől méteres hosszig terjedõ vezetékek. Az axon legtöbbször végfácskára bomlik, melynek révén nem ritka a több tízezres kapcsolódás sem. Az ingerület a dendritektõl a végfa irányába halad.
Az axonok, melyek az ingerületet más idegsejtek testére, vagy izmokhoz, mirigyekhez továbbítják, a végükön szinaptikus bunkócskát tartalmaznak. A kapcsolódás erőteljes párhuzamosságát mutatja, hogy idegsejtenkénti több tízezer axon kapcsolódása is előfordulhat a dendriteken, vagy magán a sejttesten megtapadó bunkócskák ellephetik az idegsejtet.
A neurotranszmitterek szerepe:
A végbunkócskák nem érintkeznek közvetlenül a sejttesttel, vagy a dendritekkel, hanem egy szinaptikus résen keresztül kapcsolódnak. Az ingerület átadását a szinapszisban ingerületátadó vegyi anyagok végzik, melyek a különféle neurotranszmitterek.
Az idegsejtek funkciójuk szerint három fő csoportba oszthatók:
• A szenzoros neuronok az érzékelésben játszanak szerepet, érző idegsejtként az érzékszervekből, izmokból, belső szervekből továbbítják az ingerületeket az agy felé.
• A motoros neuronok az idegrendszer vezérlő ingerületeit továbbítják a szervek, izmok felé, hogy kiváltsák a kívánt működéseket.
• Az interneuronok csak a központi idegrendszerben - az agyban és a gerincvelőben – fordulnak elő, és neuront kapcsolnak össze neuronnal.
A depolarizáció jelentése:
Az idegsejt alaphelyzetben negatív töltésű, míg a külvilág pozitív. Ezt a helyzetet a féligáteresztő sejthártya ionpumpa-működése okozza. Az ingerek, idegimpulzusok terjedése alapvetően vegyielektromo úton, ionpumpák sokaságának működésével zajlik.
Az ioncsatornák szelektív módon a következő ionféleségek valamelyikét engedik csak tovább: Na+, K+, Ca+, Cl-. Az idegsejteket érő ingerek pozitív nátriumionok formájában a dendriteken keresztül bejutnak a sejttestbe, és ott akciós potenciált, depolarizációt hoznak létre.
Amint a depolarizáció eléri a sejt küszöbértékét, az axonon egy impulzus végighaladását váltja ki és teljesen kisül. A küszöbértéket el nem érő ingerlés nem eredményez kisülést. Ez a "minden, vagy semmi" elv.
Az ingerület erőssége az axon mentén állandó. A beérkező ingerület erőssége a dendrit mentén csökken, így gyengébb ingerek nem is módosítják a sejttest potenciálját.
A kisülés után refrakter (ingerelhetetlen) állapotba kerül, ezalatt feltöltődik.
Mesterséges neurális háló:
A mesterséges neurális hálók (Artificial Neural Networks, ANN) a biológiai neurális hálók modellezésével létrehozott, eroteljes elosztott párhuzamos feldolgozást, kollektív számítást megvalósító rendszerek.
Mivel a tudást olyan módon hordozzák és dolgozzák fel, hogy az az ember számára közvetlenül követhetetlen, a szimbolikus tudásszemléltetést alkalmazó modellektől való megkülönböztetést a szubszimbolikus elnevezéssel is hangsúlyozzák.
A klasszikus MI módszerek és a mesterséges neurális hálók összevetése
A klasszikus rendszerek jellemzői:
• Korlátozott alkalmazhatósági terület
• Nehézkes az ellentmondó és az időben változó ismeretek kezelése
• Hiányzó, vagy alacsony szintű tanulási képesség.
A neurális hálók a Carl Hewitt által körvonalazott nyílt rendszerekhez tartoznak, melyek tulajdonságai:
• Folytonos változás és fejlődés
• Decentralizált döntéshozatal
• Folytonos inkonzisztencia a tárolt ismeretek között
• Kommunikációigény a rendszerkomponensek között
• A zárt világ feltételezés lehetetlensége.
A mesterséges neurális hálók által megoldható feladatok a feladatok matematikai modellje szerint
Statisztikai feladatok:
• Mintázat felismerés,
• Regresszió- és sűrűségfüggvény becslés
• Kompresszió elemzés
• Független komponensekre való szétválasztás
Operációkutatás:
• Kombinatorikus optimalizálás
Analízis:
• Függvény-approximáció
Automatikus kontroll, tanulás közben is megbízható rendszer
A mesterséges neurális hálók fő működési jellemzői:
• Tanulás
• Általánosító-képesség
• Gyors működés
• Önszervezés
• Rugalmasság.
• Szövevényes viszonylatok kezelése
• Hatalmas adatmennyiség elemzése
• Zajos és hiányos adatok elfogadása
A mesterséges neurális hálók tanulási módszerei:
Kategóriái:
• Felügyelt tanulás (supervised learning);
• Felügyelet nélküli tanulás (unsupervised learning)
Felügyelt tanulás: külső tanárt, ill. globális információt igényel, és olyan technikákat jelent, mint:
• hiba-javító tanulás;
• megerősítő tanulás;
• sztochasztikus tanulás.
Felügyelet nélküli tanulás, vagy önszervezés:
Nem igényel külső tanítót, lokális információn és belső kontrollstratégián alapszik. (Versengő háló.)
Példák: Hopfield háló; BAM; Kohonen modell; Szembe terjesztés; Adaptív rezonancia elmélet (ART)
A hiba-javító, megerősítő és sztochasztikus tanulás lényege:
• hiba-javító tanulás (error correction): az output réteg egyes neuronjainál vizsgált
- az elvárt és a valós értékek különbözeteként adódó
– értékek alapján a súlymátrix kapcsolatait módosítja.
• megerősítő tanulás (reinforcement learning): megfelelően végrehajtott akcióknál a súlyok megerősödnek, egyébként gyöngülnek, az akció jóságát az outputvektorból képezett skalár mutatja.
• sztochasztikus tanulás (stochastic learning): a súlymátrix random változtatása után meghatározza a hálózat ún. energiaértékét. Ez a véletlen elfogadása a változásnak, mely időszakosan ronthatja a rendszer működését, jóságát, lehetővé teszi, hogy kikerüljön a lokális energiaminimum völgyekből, miközben az optimális állapotot keresi.
Mesterséges neurális háló – modellek jellemzői:
• Adaptivitás: változó feltételeknek megfelelő válaszok adása. Részei: tanulás, önszervezés, általánosítás és gyakorlás.
• Tanulás: alapvetően egyidőben jelentkező dolgok társítása.
• Önszervezés: amikor a háló módosítja a neuronjait egy tanulási szabálynak megfelelően.
• Általánosítás: korábban nem hallott kérdést tud megválaszolni a hasonló, vagy kapcsolódó információk alapján.
• Rugalmasság: egy neuroncsoport időben különféle igényekhez tudjon alkalmazkodni. Ha egyes neuronok sérülnek, mások átveszik a szerepüket.
• Gyakorlás: a tanultak elmélyítése.
• Dinamikus stabilitás: a hálózat megmaradjon a működési keretei között és elérjen egy stabil állapotot.
• Konvergencia: stabil állapotba való jutás képessége.
• Hibatűrés: néhány neuron sérülése esetén is tovább tudjon működni, habár csökkent pontossággal, vagy sebességgel.
• Normalizálás: a súlyoknak egy előírt tartományon belül való tartása.
Egy mesterséges neurális hálót definiáló lényegi összetevők:
• hálózati topológia
• a háló mérete (a rétegek száma, a rétegenkénti neuronok száma)
• a működési jellemzők (a neuron input operátora, átviteli függvénye és a diszkrimináló függvénye)
• a tanulási eljárás (tanulási algoritmus, tanulási paraméterek, soros/batch aktualizálás, stb.)
• betanítás/érvényesítés (a betanítás mérete, minosége, adatformátuma, stb.)
• implementálás/realizálás (analóg, diszkrét, szoftveres, stb.)
Egy neurális háló viselkedése függ:
• az egyes neuronok információ feldolgozó tulajdonságától (a neuronmodelltől)
• attól a módtól, ahogyan ezek a neuronok szerveződnek (hálózati topológiától).
Előrecsatolt neurális hálók minősítésére alkalmas jellemzők:
• Kifejezőképesség: függvények reprezentálására ideálisak, az optimális neuronszám eltalálása művészet.
• Számítási hatékonyság: valójában egy adott mintafájl betanulásának számításigénye.
• Általánosító képesség: egyes függvénycsaládok megtanulására és interpolálására alkalmasabbak.
• Zajérzékenység: zajtűrésük annak köszönhető, hogy nemlineáris regresszióval írják le az outputfüggvényt.
• Átláthatóság: nem képes magyarázatadásra, ezért megnő a szerepe a tesztadatokkal való helyesség ellenőrzésnek.
• Megelőző ismeret: A problémára vonatkozó előzetes ismeret segíthet a háló eredményes topológiájának kialakításában.
A mesterséges neurális hálók teljesítménye fejlesztésénél figyelembe veendő szempontok:
• Képesség. Milyen feladatot tud a háló elvégezni?
• Kapacitás. Mennyi ismeret tárolható a hálóban?
• Tanulékonyság. Milyen típusú problémákat képes megtanulni?
• Ismeretszemléltetés. Hogyan tárolja a háló az ismeretet?
• Ismeretkinyerés. Hogyan használja az ismeretet a világ modelljének előállítására?
• A háló megtervezése. Hogyan kellene megtervezni a hálót, hogy specifikus műveleteket tudjon végrehajtani?
• Kredit hozzárendelés. Adott a változó súlyok egy létező halmaza, valamint a betanító adatok, hogyan rendeljünk értéket minden egyes súlyhoz a betanítás időszaka alatt a korrekt válasz elérése érdekében?
A Kohonen-féle önszervező háló működése:
• versenyző (kompetitív) mechanizmus: az azonos rétegben levő neuronok versenyeznek egymással lecsökkentve egymás aktivációs szintjét, hogy csak egy nyerjen. Kohonen-féle önszervező háló is ezt alkalmazza.
• együttműködési (kooperatív) mechanizmus: az azonos rétegben lévő neuronok erősítik egymás aktivációs szintjét, hogy együtt nyerjenek.
• normalizációs mechanizmus: a háló az azonos csoportba tartozó neuronok súlyait úgy próbálja beállítani, hogy azok aktivációs szintje soha ne telítődjön, ill. soha ne tüzeljenek.
Back Propagation elvű neuronháló-alkalmazások készítésének lépései:
Az eredményes munkához nem szükséges a háló belső működésének megértése. A legfontosabb olyan adatok gyűjtése, melyeket az asszociáció útján való tanulásban fel tud használni. Rendszerint az adatmennyiséggel párhuzamosan nő a betanítás eredményessége
A feladat megfogalmazása-->Az információ kiválasztása-->Az adatok összegyüjtése-->Betanító fájlok létrehozása-->A háló betanítása-->A háló tesztelése-->A háló futtatása
A betanításnál figyelembe veendő szempontok:
• Hatékonyság. Mekkora betanító adattömeg szükséges a működési teljesítmény egy adott szintjének eléréséhez?
• A tanulás hatékonysága. Mennyi időt vesz igénybe a betanítás a kívánt súlyok eléréséhez?
• Komplexitás. Hogyan változik a betanítás időszükséglete, ha a feladat szintje növekszik?
• Általánosítás. Mikor végzi jól egy osztályozó háló az általánosítást?
• Alakíthatóság. Lehet-e új elemeket, viselkedést adni a hálóhoz anélkül, hogy lerontanánk az aktuális teljesítményt?
• Érzékenység. Érzéketlen-e a háló a lényeget nem érintő inputváltozásokra?
• Alkalmazkodóképesség. Hogyan befolyásolja a belső ismeretszemléltetési mód a betanítási időt?
Neurális hálók teljesítményének összetevői:
• Hullámszélesség. Mennyi időbe telik, amíg az output megnyugszik és eléri a kívánt megoldást?
• Pontosság. Milyen pontos a megoldás?
• Méret. Hogyan függ a hálózat teljesítménye és kapacitása a háló méretétől?
• Robosztusság. Mennyire érzékeny a megoldás a komponensek pontatlanságaira?
• Hibatűrés. Mennyire viseli el a háló az egyes komponensek meghibásodását?
• Hordozhatóság. Mennyire könnyen telepíthető a háló különféle hardverekre?
• Stabilitás. Stabil-e a háló működése?
• Szeparálhatóság. Mennyire befolyásolja a teljesítményt a belső ismeretszemléltetés?
• Memóriakapacitás (a tárolható minták száma)
• Zajos input tűrése
• Hamis memóriaállapotok elkerülése
• Térbeli, vagy időbeli minták alkalmazása.
Katonai célú neurális hálók teljesítmény jellemzői:
• Osztályozás. Az osztályozók felügyelt adatokkal vannak betanítva.
• Önszervezés/kategória alkotás. Bizonyos kritériumoknak eleget tevő csoportokba osztja szét az input adatokat.
• Asszociatív memória. Az információ egy részleges, vagy sérült alakjából is teljes memóriamintát állít elő.
• Szenzoradatok feldolgozása. Az érzékelők által szolgáltatott óriási mennyiségű adat feldolgozása szükséges a látás és a hallás feladatának megoldásához.
• Számítási problémák. Speciális számításokat használó alkalmazások kényelmes mesterséges neurális háló-architektúrákat igényelnek.
• Sokérzékelős automaták. Számos feladat egyesített szenzorok adatainak feldolgozását igényli.
Megjegyzések
Megjegyzés küldése