AI csoportosítások, osztályozások, fogalmak
A mesterséges intelligencia osztályozása alkalmazási területek szerint:
• logikai játékok (logical games)• tételbizonyítás (theorem proving)
• automatikus programozás (automated programming)
• szimbolikus számítás (symbolic algebraic computation)
• látás, képfeldolgozás (vision)
• robotika (robotics)
• beszédfelismerés (voice recognition)
• természetes nyelvek feldolgozása (natural language processing)
• korlátozás kielégítés (constraint satisfaction)
• cselekvési tervek generálása (planning)
• szakértőrendszerek (expert systems)
• mesterséges neurális hálózatok (artificial neural nets).
• adatbányászat (data mining)
• ágensek, multi-ágensek (agents, multi-agents).
A mesterséges intelligencia osztályozása alkalmazott módszerek alapján:
• problémareprezentáció
• tudásreprezentáció
• tudás kinyerés
• tanulási technikák
• következtetési technikák
• keresési technikák
• evolúciós technikák
• bizonytalanság kezelés
• szimbolikus programozás
• tudáshasznosítás.
Az ágens szűkebb értelmezés:
Az ágens olyan rendszer, amely
• környezetbe ágyazott,
• reaktív: érzékel és reagál,
• autonóm: emberi beavatkozás nélkül működik, önkontrollja van
• helyzetfüggő: helyzethez és szerephez kötötten ágens csak
• kezdeményező: nem csak reagál, hanem kezdeményez is,
• célvezérelt,
• huzamosabb ideig működik.
Az ágens még szűkebb (erős) definíciója:
Jellemzői az előzőek, plusz:
• Racionális: nem cselekszik tudatosan a céljai ellen, igyekszik a legjobb alternatívát választani,
• Mentális állapotváltozókkal bír: tudás, vélekedés, szándék, stb.
Csoportos ágensek - multi-ágens rendszerek (MAS):
• Kölcsönhatásban állnak egymással
• direkt : kommunikálnak,
• indirekt : cselekedeteik által hatnak egymásra,
• fizikailag : érintkeznek egymással.
• Együttműködnek: közös cél
• kommunikáció + kollaboráció (együtt tevékenykedés).
• Struktúra, hierarchia van az ágensek között.
Az automatikus programozás generikus algoritmussal:
• Az automatikus programozás egyik módszere az általános algoritmusokra (generic algorithms) épít. Az általános algoritmusok egyszerű programozási feladatokra adnak megoldást, például egy sorozatot rendeznek.
• A felhasználó feladata a konkrét programozási feladat és a generikus algoritmusok közötti kapcsolat megadása, pl. hogyan feleltethető meg a generikus algoritmus valamelyik absztrakt adata a konkrét probléma egy jellemzőjének.
• Ha a megfeleltetés adott, egy fordítási folyamat eredményeként egy specifikus algoritmust kapunk, amely már konkrétan megoldja a kitűzött feladatot.
• A generikus algoritmusok és a feladatok egymáshoz rendelése grafikus segédlettel is történhet.
A genetikus programozás lényege:
A genetikus programozás a probléma egy magas szintű meghatározásából kiindulva képes automatikusan előállítani működő számítógépi programokat.
Véletlenszerűen generált ezernyi ősprogram halmazából indulva, a programok populációja folyamatosan javulva fejlődik sok generáción át.
Az evolúciós keresés a legrátermettebb és természetesen felbukkanó mintázatokkal rendelkező műveletek túlélésének darwini elméletét alkalmazza, köztük a keresztezést (szexuális rekombinációt), a mutációt, génduplikációt, géntörlést, valamint bizonyos fajtáit a fejlődési folyamatnak, amelyek által az embriók kifejlett organizmusokká váltak.
Az adatbányászat
az adatbázis alkalmazások egyik területe, amely rejtett összefüggések, mintázatok után kutat nagy adathalmazokban. Az igazi adatbányászati szoftverek nem csak az adatok prezentálását változtatják meg, hanem korábban nem ismert összefüggéseket is feltárnak az adatok között.
Célja az adatbázisokban található ismeretekből a tudás kinyerése, ezáltal konvergál a mesterséges intelligencia tudománya felé.
A cselekvéstervezés lényege hatékony célirányos tevékenységsorozat generálása valamilyen, a világban felmerülő feladat megoldására.
A gépi látásnak, képfeldolgozásnak a lényege:
• Az ember a külvilágból szerzett információknak a legnagyobb részét látással szerzi meg. Ezért fontos az MI számára a mesterséges látás. A feladat: Adott egy kétdimenziós bit-térkép, ebből kiindulva meg kell adni a kép leírását, beleértve az alakzatok, méretek, színek, helyzetek paramétereit. Lényegében a nagyon alacsony szintű vizuális adatból egy magas szintű absztrakciót kell elérni, mely megfelel a képen látható objektumoknak.
• Fontos mozzanatok: az emberi látás jellegzetességeinek modellezése, pl.: élek, kontúrok detektálása. A legjobb eredményekkel a neurális hálók kecsegtetnek (pl. PERCEPTRON, Rosenblatt kísérlete; karakterfelismerő programok).
• Az elért eredmények magukba foglalják az elektronikus recehártyát is, mely a recehártya sok funkcióját, köztük a látvány elsődleges feldolgozását is modellezi. Létrehozása megkönnyíti a mesterséges neurális hálók bemenőjeleinek előállítását.
A képfeldolgozás lépései:
• Élek detektálása
• Mélység meghatározása
• Alak meghatározása az árnyékoltságból
• Vonalak címkézése
• Objektum beazonosítás, helyzet meghatározás
A tanult robotok rövid ismertetése:
Sprawlita: Léptető bogár-robot 6 lábbal. 3 testhossz/mp sebességgel mászik, akár akadályokon át is.
Boadicea: Kis méretű pneumatikus mászó robot. 6 lába egyenként 3 szabadságfokú.
CONRO: Miniatűr újrakonfigurálható robot.
GRACE (Társasági robot): Mobil robot, kifejező arccal és hatalmas mennyiségű szenzorral.
BIP (léptető robot): a 15 szabadságfokú robot 2 lábon jár.
HONDA humanoid robotja: Igen fejlett mozgásképességgel bír.
Rubik kocka kitekerő robot: Lego robot alkatrészekből készült.
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.
A mesterséges neutronháló modellek 3 összetevője, 3 neuronhálókra jellemző tulajdonság!
3 fő részük:
a neuronok;
a hálózati topológia (kapcsolódások);
a tanulási algoritmus.
3 tulajdonság:
• adaptivitás: változó feltételek mellett megfelelő válaszok adásának képessége. Részei: tanulás, önszervezés, általánosítás és gyakorlás.
• rugalmasság: egy neuron csoport azon képessége, hogy egy időben különféle igényekhez tudjon alkalmazkodni. Sérült neuronok helyét átveszik más, ép neuronok.
• hibatűrés: az a képesség, hogy néhány neuron sérülése esetén a háló tovább tudjon működni – bár némileg korlátozottabb szinten.
A mesterséges neurális hálózatok esetében a neuronok és a köztük lévő kapcsolatrendszer tulajdonságai tárolják a megtanult ismereteket. Ilyen módon tehát permanens memóriával rendelkeznek a neuronhálók.
A permanens memória egész pontosan a szinapszisokhoz tartozó súlymátrixban testesül meg a neurális hálók matematikai modelljében. A szinapszisok a rajtuk átmenő jelzéseket valamekkora súllyal átalakítva adják tovább.
A j-dik neuron felől az i-dik neuron felé mutató szinapszist jelöljük ji-vel. A ji szinapszis, ha jelzést kap (jelölje a t-dik időpontban érkező jelzést), akkor azt a tanulási folyamat során kialakult súllyal megszorozva (felerősítve/gyengítve/előjelet váltva) fogja továbbítani az i-dik neuron felé.
Az idő fontos tényezőt játszik a neurális hálózatok működésében, tanulásában. A neuronok által végzett számítási műveletek, jeltovábbítás időben egymást követik (bár nagyon rövid idő telik el közöttük). Erre az időre a kiszámított jeleknek fizikailag tárolódni kell valahol, tehát a neurális hálózatok rövidtávú memóriával is rendelkeznek.
A topológia a neuronok halmaza és az őket összekötő szinapszisok rendszere, amit irányított gráffal modellezhetünk. A gráf csomópontjai a neuronok, élei a szinapszisok. A topológiától függ, hogy a hálózat milyen jellegű ismereteket képes megtanulni. (Más topológia szükséges idősori előrejelzéshez és más alakfelismeréshez.)
A neurális hálózatok modellezésénél elterjedt, hogy a neuronokat rétegekbe csoportosítjuk. Az egyszerűség kedvéért a rétegen belül minden neuron azonos membrán aggregációval és azonos paraméterű és típusú jelzési függvénnyel rendelkezik.
A topológia paramétere továbbá a mélysége, amely a benne lévő neuronrétegek számát jelenti. A neuronréteg paramétere a szélessége, amely a benne lévő neuronok számát jelenti.
A külvilággal a topológia az input és az output rétegen keresztül érintkezik. A közbülső rétegeket rejtett rétegeknek nevezzük. Az input réteg valamilyen fájlból (esetleg érzékelőktől) kap membrán értéket, amit általában lineáris jelzési függvényen keresztül továbbít a rejtett vagy közvetlenül az output réteg felé.
Az input réteg szélessége mindig megegyezik a bemenetek számával.
A rejtett réteg az input rétegtől vagy egy másik rejtett rétegtől kap membrán értéket. A jelzési függvénye általában szigmoid típusú, ami alapján tüzeléskor az output vagy egy rejtett réteg felé továbbít jelet.
Az output réteg az input vagy rejtett rétegtől kap membrán értéket, amit a leggyakrabban lineáris vagy szigmoid jelzési függvényen keresztül továbbít az outputfájlba (esetleg a vezérelt szoftver vagy hardver felé). Szélessége az outputok számával azonos.
A rétegközti szinapszis-halmazok fajtái a neuronok közötti összerendelések fajtái alapján alapvetően kétféle. (Ezeken kívül még sok más csatolás is létezik.)
Direkt csatolásnak nevezzük, ha két réteg neuronjait 1:1 módon egymáshoz rendeljük.
Teljes előrecsatolásról akkor beszélünk, ha két réteg neuronjainak N:M hozzárendelését valósítjuk meg (Descartes szorzat).
A hibafüggvény aktuális értékének meghatározott arányában (tanulási ráta) módosítjuk a hálózat súlyait. A tanulási ráta [0,1] közti skalár, amely azt fejezi ki, hogy a neurális hálózat milyen gyorsan sajátítja el az új ismereteket a régiek felülírásával.
Magas tanulási ráta gyorsabb tanulást, de romló általánosítási és memorizációs képességet jelent: =1 nincs memória, csak az utolsó minta tanulása. Alacsony tanulási ráta viszont lassú tanulást eredményez: =0 nincs tanulás, csak memória.
A fenti dilemma feloldására a minta vektorokat nem egy lépésben magas tanulási rátával, hanem több ciklusban megismételve, alacsony tanulási ráta mellett tanítjuk meg a hálózatnak.
A felügyelt tanulást akkor alkalmazzuk, ha adott inputokból előre ismert outputot szeretnénk megkapni. Ismert fajtái a Delta tanulási – és a Visszacsatoló tanulási módszer. Ezek közül most csak a Visszacsatoló (Backpropagation) módszert részletezem.
A backpropagation algoritmus többmezős perceptron nevű topológiát igényel. Ez a topológia egy input, valamennyi rejtett és egy output rétegből épül fel, köztük teljes előrecsatolások vannak. A szinapszisok a tanulás idejére kétirányúvá válnak, és visszafele hibajelzéseket közvetítenek az inputréteg felé.
Az inputok folytonos változók is lehetnek, elvileg tetszőleges tartományban. (Nyilván az adott változótípus értéktartománya korlátozza.)
A rejtett rétegek (ha vannak) általában szigmoid típusú jelzési függvénnyel rendelkeznek.
Az output réteg neuronjainak száma megegyezik a kategóriák számával. A neuronok jelzési függvénye általában szigmoid, ezért a tanítóadatokat 0-1 tartományba kell konvertálni.
Ha a kategóriához tartozás élesen értelmezett, akkor a tanítóadatok értéke 1, ha az adott kategória komplementeréhez tartozik a mintaelem, akkor 0 értéket kell, hogy kapjon.
Ha a kategóriához tartozás életlenül értelmezett, akkor a tanítóadatok értéke 0-1 között kell, hogy legyen, amely meghatározza a kategóriához tartozás fokát. (1: teljes mértékben beletartozás, 0: teljes mértékben a komplementerbe tartozás.)
A becslés hibáját mérhetjük a már említett átlagos négyzetes hibával, vagy egyéb speciális hibafüggvénnyel is.
A súlyok módosítása történhet backpropagációval, vagy a speciális hibafüggvényhez igazodó súlymódosítási algoritmussal.
Az inputréteg a dokumentumokból álló vektor lesz, amely egy bináris változókból (dokumentumok) álló vektortól kapja az értéket. (Amelyik bináris változó értéke 1, az beleszámít az osztályozás kiértékelésébe.) Az inputréteg jelzési függvénye lineáris, 1 meredekségű, az origóból indul. Szerepe csupán a jeltovábbítás.
A második réteg (rejtett réteg) a tokenekből álló vektor. Minden tokenhez egy neuront rendelünk. Az input és a rejtett réteg közötti neuronhalmaz súlyait nem tanítjuk majd, ezek tartalmazzák a TD mátrixot. Ahol az adott dokumentum tartalmazza az adott tokent, ott a szinapszis súlya 1, különben 0.
Azokat a tokeneket, amelyekhez az adott dokumentumtól vezető súlyok értékei 1-et vesznek fel, az adott dokumentum aktív szavainak nevezzük. A tokenek rétegének jelzési függvénye szintén 1 meredekségű, origón átmenő lineáris függvény.
Szerepe továbbra is az egyszerű jeltovábbítás.
A módszer a logisztikus regresszióval analóg.
Így tehát n darab logisztikus regresszióval analóg a működése.
Ekkor először aktiváció történik, majd az output hibájának mértékével tanul a háló a tanuló módban.
AKTIVÁCIÓ
A tanítómintát illetve a tesztmintát tároló adattáblák sorai lesznek az egyes dokumentumok (megfigyelések), oszlopait pedig az input neuronokhoz rendeljük sorban.
Egyszerre mindig csak egy dokumentum adatai vesznek részt az aktivációban.
Ha a fent ismertetett módon konstruáljuk meg a hálózat inputrétegét, első rejtett rétegét és a köztük lévő szinapszisok súlyait, akkor a tanító- és tesztminta oszlopai ugyancsak az egyes dokumentumoknak feleltethetők meg.
Ekkor egy adott dokumentum sorában mindenhol nulla érték van, csak a neki megfelelő oszlopban van egyes érték.
A permanens memória egész pontosan a szinapszisokhoz tartozó súlymátrixban testesül meg a neurális hálók matematikai modelljében. A szinapszisok a rajtuk átmenő jelzéseket valamekkora súllyal átalakítva adják tovább.
A j-dik neuron felől az i-dik neuron felé mutató szinapszist jelöljük ji-vel. A ji szinapszis, ha jelzést kap (jelölje a t-dik időpontban érkező jelzést), akkor azt a tanulási folyamat során kialakult súllyal megszorozva (felerősítve/gyengítve/előjelet váltva) fogja továbbítani az i-dik neuron felé.
Az idő fontos tényezőt játszik a neurális hálózatok működésében, tanulásában. A neuronok által végzett számítási műveletek, jeltovábbítás időben egymást követik (bár nagyon rövid idő telik el közöttük). Erre az időre a kiszámított jeleknek fizikailag tárolódni kell valahol, tehát a neurális hálózatok rövidtávú memóriával is rendelkeznek.
A topológia a neuronok halmaza és az őket összekötő szinapszisok rendszere, amit irányított gráffal modellezhetünk. A gráf csomópontjai a neuronok, élei a szinapszisok. A topológiától függ, hogy a hálózat milyen jellegű ismereteket képes megtanulni. (Más topológia szükséges idősori előrejelzéshez és más alakfelismeréshez.)
A neurális hálózatok modellezésénél elterjedt, hogy a neuronokat rétegekbe csoportosítjuk. Az egyszerűség kedvéért a rétegen belül minden neuron azonos membrán aggregációval és azonos paraméterű és típusú jelzési függvénnyel rendelkezik.
A topológia paramétere továbbá a mélysége, amely a benne lévő neuronrétegek számát jelenti. A neuronréteg paramétere a szélessége, amely a benne lévő neuronok számát jelenti.
A külvilággal a topológia az input és az output rétegen keresztül érintkezik. A közbülső rétegeket rejtett rétegeknek nevezzük. Az input réteg valamilyen fájlból (esetleg érzékelőktől) kap membrán értéket, amit általában lineáris jelzési függvényen keresztül továbbít a rejtett vagy közvetlenül az output réteg felé.
Az input réteg szélessége mindig megegyezik a bemenetek számával.
A rejtett réteg az input rétegtől vagy egy másik rejtett rétegtől kap membrán értéket. A jelzési függvénye általában szigmoid típusú, ami alapján tüzeléskor az output vagy egy rejtett réteg felé továbbít jelet.
Az output réteg az input vagy rejtett rétegtől kap membrán értéket, amit a leggyakrabban lineáris vagy szigmoid jelzési függvényen keresztül továbbít az outputfájlba (esetleg a vezérelt szoftver vagy hardver felé). Szélessége az outputok számával azonos.
A rétegközti szinapszis-halmazok fajtái a neuronok közötti összerendelések fajtái alapján alapvetően kétféle. (Ezeken kívül még sok más csatolás is létezik.)
Direkt csatolásnak nevezzük, ha két réteg neuronjait 1:1 módon egymáshoz rendeljük.
Teljes előrecsatolásról akkor beszélünk, ha két réteg neuronjainak N:M hozzárendelését valósítjuk meg (Descartes szorzat).
Mesterséges neurális hálózatok tanulása
Egy több elemű tanítómintát töltünk megfigyelésenként a hálózat input rétegére több cikluson (epoch) keresztül. Közben a neurális hálózat a kezdetben véletlen értékű w szinaptikus súlyokat módosítja annak érdekében, hogy a hálózat a kívánt viselkedést mutassa, azaz a becsült és az elvárt értékek közötti hibafüggvény értéke minimális legyen.A hibafüggvény aktuális értékének meghatározott arányában (tanulási ráta) módosítjuk a hálózat súlyait. A tanulási ráta [0,1] közti skalár, amely azt fejezi ki, hogy a neurális hálózat milyen gyorsan sajátítja el az új ismereteket a régiek felülírásával.
Magas tanulási ráta gyorsabb tanulást, de romló általánosítási és memorizációs képességet jelent: =1 nincs memória, csak az utolsó minta tanulása. Alacsony tanulási ráta viszont lassú tanulást eredményez: =0 nincs tanulás, csak memória.
A fenti dilemma feloldására a minta vektorokat nem egy lépésben magas tanulási rátával, hanem több ciklusban megismételve, alacsony tanulási ráta mellett tanítjuk meg a hálózatnak.
A neurális hálózat tanulásának fajtái
A neurális hálózatok tanulásának is több típusa van. Beszélhetünk nem felügyelt és felügyelt tanulásról. A továbbiakban a felügyelt tanulásról esik szó.A felügyelt tanulást akkor alkalmazzuk, ha adott inputokból előre ismert outputot szeretnénk megkapni. Ismert fajtái a Delta tanulási – és a Visszacsatoló tanulási módszer. Ezek közül most csak a Visszacsatoló (Backpropagation) módszert részletezem.
A backpropagation algoritmus többmezős perceptron nevű topológiát igényel. Ez a topológia egy input, valamennyi rejtett és egy output rétegből épül fel, köztük teljes előrecsatolások vannak. A szinapszisok a tanulás idejére kétirányúvá válnak, és visszafele hibajelzéseket közvetítenek az inputréteg felé.
MI Osztályozók
Osztályozási feladatokra speciális topológiájú és tanulási szabályú hálózatokat használunk.A modellreprezentáció
Általános esetben véges számú input neuron értékeiből próbáljuk megbecsülni a véges számú kategóriákhoz tartozás vektorát.Az inputok folytonos változók is lehetnek, elvileg tetszőleges tartományban. (Nyilván az adott változótípus értéktartománya korlátozza.)
A rejtett rétegek (ha vannak) általában szigmoid típusú jelzési függvénnyel rendelkeznek.
Az output réteg neuronjainak száma megegyezik a kategóriák számával. A neuronok jelzési függvénye általában szigmoid, ezért a tanítóadatokat 0-1 tartományba kell konvertálni.
Ha a kategóriához tartozás élesen értelmezett, akkor a tanítóadatok értéke 1, ha az adott kategória komplementeréhez tartozik a mintaelem, akkor 0 értéket kell, hogy kapjon.
Ha a kategóriához tartozás életlenül értelmezett, akkor a tanítóadatok értéke 0-1 között kell, hogy legyen, amely meghatározza a kategóriához tartozás fokát. (1: teljes mértékben beletartozás, 0: teljes mértékben a komplementerbe tartozás.)
A becslés hibáját mérhetjük a már említett átlagos négyzetes hibával, vagy egyéb speciális hibafüggvénnyel is.
A súlyok módosítása történhet backpropagációval, vagy a speciális hibafüggvényhez igazodó súlymódosítási algoritmussal.
Szövegosztályozás modellje
A szövegosztályozási feladatok esetén a modell valamennyiben módosul.Az inputréteg a dokumentumokból álló vektor lesz, amely egy bináris változókból (dokumentumok) álló vektortól kapja az értéket. (Amelyik bináris változó értéke 1, az beleszámít az osztályozás kiértékelésébe.) Az inputréteg jelzési függvénye lineáris, 1 meredekségű, az origóból indul. Szerepe csupán a jeltovábbítás.
A második réteg (rejtett réteg) a tokenekből álló vektor. Minden tokenhez egy neuront rendelünk. Az input és a rejtett réteg közötti neuronhalmaz súlyait nem tanítjuk majd, ezek tartalmazzák a TD mátrixot. Ahol az adott dokumentum tartalmazza az adott tokent, ott a szinapszis súlya 1, különben 0.
Azokat a tokeneket, amelyekhez az adott dokumentumtól vezető súlyok értékei 1-et vesznek fel, az adott dokumentum aktív szavainak nevezzük. A tokenek rétegének jelzési függvénye szintén 1 meredekségű, origón átmenő lineáris függvény.
Szerepe továbbra is az egyszerű jeltovábbítás.
Bináris osztályozó
A bináris osztályozónak egyetlen output neuronja van. Két osztály elkülönítésére használjuk (osztály és komplementere). +1 és -1 tanítóadatokkal tanítjuk, pozitív output jelzés az osztályhoz, negatív a komplementerhez tartozást jelenti.A módszer a logisztikus regresszióval analóg.
Lineáris osztályozó
A lineáris regresszió n darab kategóriába tartozást becsül. A bináris osztályozó továbbfejlesztése. Lényegében mind az n darab output neuronra külön-külön bináris osztályozó épül.Így tehát n darab logisztikus regresszióval analóg a működése.
A lineáris osztályozók onnan kapták nevüket, hogy a rejtett réteg hiánya miatt csak lineáris szeparáló hipersíkokat tud meghatározni a kategóriák között.
Többrétegű perceptron
A lineáris osztályozóval szemben a többrétegű perceptron topológia képes nemlineáris szeparáló hiperfelületeket is meghatározni. Jóval számolásigényesebb, mint a lineáris osztályozó, amiért nem biztos, hogy a becslés pontosságának növekménye kárpótol.
Hátránya még, hogy a súlyokból sokkal nehezebb visszafejteni egy adott token tájolási értékét.
Aktiváció és tanulás osztályozó topológiákon
A neurális hálózatok kétféle üzemmódban működhetnek. Ha a hálózat súlyait nem tanítjuk, hanem csak becslésre szeretnénk felhasználni, akkor aktivációs módban használjuk a hálót. Ha a súlyokat módosítani szeretnénk, hogy a háló outputja minél jobban közelítse a kategóriába tartozást, akkor tanuló módba kell állítanunk a hálózatot.Ekkor először aktiváció történik, majd az output hibájának mértékével tanul a háló a tanuló módban.
AKTIVÁCIÓ
A tanítómintát illetve a tesztmintát tároló adattáblák sorai lesznek az egyes dokumentumok (megfigyelések), oszlopait pedig az input neuronokhoz rendeljük sorban.
Egyszerre mindig csak egy dokumentum adatai vesznek részt az aktivációban.
Ha a fent ismertetett módon konstruáljuk meg a hálózat inputrétegét, első rejtett rétegét és a köztük lévő szinapszisok súlyait, akkor a tanító- és tesztminta oszlopai ugyancsak az egyes dokumentumoknak feleltethetők meg.
Ekkor egy adott dokumentum sorában mindenhol nulla érték van, csak a neki megfelelő oszlopban van egyes érték.
Az 5. generációs számítógép projektnek fő célkitűzése:
A japánok hirdették meg az 5. generációs számítógép létrehozására irányuló projektet. Ebben célul tűzték ki, hogy az 5. generációs számítógépnek az átlagos emberi tudást kell tárolnia.
Az eredmények, amelyekre támaszkodott az ötödik generációs japán számítógép projekt:
• VLSI technológia, mint lehetőség: szilícium alapú logikai kapuk néhány száz picosecundum alatti jeltovábbítással
• szupravezetők;
• optikai technológia (képfeldolgozáshoz természetes);
• párhuzamos feldolgozás
• párhuzamos számítási algoritmusok, programozás;
• tudásszemléltető és feldolgozó nyelvek: LISP, PROLOG.
Christopher Chabris a tudás fogalmát alábbiak szerint definiálta:
tudás = az elvégzendő feladat végrehajtásában hasznosnak bizonyuló bármely ismeret
A tudásszemléltetés szükségessége:
• A valós világ objektumairól, azok viszonyáról, kapcsolataikról rendelkezésre álló ismeret ritkán adódik a számítógép által kezelhető formában.
• Ahhoz, hogy a számítógép az ismereteket tárolni, kezelni tudja, azok kódolására van szükség.
• A kódolás módja nagyban kihat a gép általi feldolgozás gyorsaságára, hatékonyságára, a tárolt tudáson alkalmazható gépi műveletekre, mint pl. keresések, illesztések, összehasonlítások, láncolások, kapcsolatok kialakítása, stb.
• A megfelelő ismeretstruktúrát alkalmazó tudásszemléltetés az MI kulcskérdése. Oka: korlátos gépidő és tárkapacitás.
A tudásszemléltetés Patrick Winston által megadott elvárt jellemzői:
1. A fontos dolgokat világosan adja meg.
2. Fedje fel a természetes korlátokat, megkönnyítve a számítások néhány fajtáját.
3. Legyen teljes.
4. Legyen tömör.
5. Legyen átlátható számunkra.
6. Legyen alkalmas gyors feldolgozásra.
7. Rejtse el a részleteket, de tegye elérhetővé azokat szükség esetén.
8. Létezzen rá számítógépi eljárás.
Alábbi tudásszemléltetési technikát ismerjük:
Szimbolikus logika;
Szabályalapú rendszerek;
Szemantikus hálók;
Neurális hálózatok;
Keretek, script-ek;
Modellalapú;
Hibrid.
Azért van szükség az ismeretek formalizálásra, kódolásra, hogy a számítógép megfelelően tudja tárolni, kezelni azokat.
A tudáskinyerési folyamat 4 fő lépése:
1. Az előzetes tudás és problématartomány feltárása
2. Az információforrások beazonosítása
3. A részletes tudás kinyerése a forrásokból
4. A kinyert tudás elemzése, kódolása és dokumentálása.
A prototípus tartomány szerepe a szakértőrendszerek kifejlesztésekor:
A szakértőrendszerek kifejlesztése bonyolult és időigényes. A prototípus tartomány elkészítésével a megbízók nem veszítik el az érdeklődést, valamint tapasztalat- és bizalomszerzésre szolgál.
Előnyös olyan alterület kiválasztása, amely viszonylag független, a felhasználó számára hasznos.
A tudáskinyerés tárgyának részletezése:
Előzetes tudás: Az előzetes tudáskinyerés tárgya a bevezető interjúk és konzultációk alatt a következő:
· Az alapelvek beazonosítása
· A rendszer tipikus inputjainak és outputjainak behatárolása
· A tipikus megoldások, vagy megoldási osztályok behatárolása
· A rendszer kezdeti implementációjához problémakezelő stratégiák találása.
Részletes tudás: A részletes tudás kinyerésének tárgya a terület szakértőjétől „privát” tudásának megszerzése, mely tudás több éves tanulást és tapasztalatot tükröz.
A tudáskinyerési technikák:
A technikák öt fő osztályát alkalmazhatjuk:
interjú,
protokoll elemzés,
végigvezetés,
kérdőív
és szakértői beszámoló.
Az interjú alatt értjük:
Különösen az előzetes információ kinyerésére előnyös. Két típusa: strukturálatlan és nyitott-végű.
A strukturálatlan interjúnál a tudástechnológus engedi a szakértőnek, hogy elveket, terminológiát mutasson be és meghatározza az interjú menetét. A tudástechnológus csak rögzít.
A nyitott-végű interjú feltételezi, hogy a tudástechnológus rendelkezik előzetes háttér-információkkal. A tudástechnológus irányítja az interjú menetét kérdésekkel, de a szakértő szabadon válaszolhat, vagy kitérhet a válaszadás elől.
A protokoll elemzés:
Ez a leggyakrabban alkalmazott tudáskinyerési módszer a részletestudás kinyerésére. A protokoll a szakértő információ-feldolgozó tevékenységének és döntéshozó viselkedésének lépésről – lépésre történő rögzítése.
Számtalan speciális formája létezik.
A kinyert tudás elemzésének lépései:
átírás; szövegrész-indexelés; tudáskódolás (descriptív tudás tagolás; procedurális tudás); dokumentálás
A tudáselem-indexelésnek lényege:
Lényege az átirat tagolása rövid szövegrészekre, melyeket indexekkel látnak el. Egy ilyen egység célszerűen megfelel egy tudáselemnek, azaz egy elemi feladatnak, állításnak, vagy adategyüttesnek.
A gépi tanulás potenciális előnyei:
Jobb eredményeket érhetnek el, mint az emberek, különösen amiatt, hogy az információkeletkezés egyre nagyobb méretű és az információ egyre komplexebb, és ily módon nagyobb szakértőrendszereket hozhatnak létre.
Csökkentik a magas költségű emberi munkaerő iránti igényt és a tudásbázisok kifejlesztéséhez szükséges időt.
Elõállító szabály (production rule):
Egy IF-THEN, feltétel-következmény szerkezet, melyet egyaránt alkalmaznak a problémák megoldásához szükséges deklaratív (leíró) és procedurális (eljárásokon alapuló) tudás ábrázolására.
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.
Az alkalmazása az előreláncolásnakt és hátraláncolásnak:
• Előrehaladó láncolás: ha a megoldandó problémával kapcsolatosan nagyszámú összegyűjtött adattal rendelkezünk, de a megoldást illetően nincs jó elképzelésünk. A szabályalapú rendszer el fogja végezni az összes végrehajtható következtetést és elő fogja állítani a megadott tényekből következő összes szóba jöhető megoldást.
• Hátrafelé haladó láncolás: amikor egy, vagy több hipotézissel rendelkezünk a problémánk megoldására vonatkozóan és azt kívánjuk, hogy a szabályalapú rendszerünk tesztelje ezeket. A hipotézistől visszafelé indulva a rendszer bekéri a hipotézis teljesüléséhez szükséges adatokat.
Az előreláncoló szabályalkalmazás ciklusának lépéseit, célját jellemzők
Célja: A szabálybázist és az aktuális feladat tényeit felhasználva meg kell próbálni elérni a célállapotot, mely a problémára adott válasz, vagy egy elfogadható választ reprezentáló részcél elérése lehet.
Lépései:
1. Mintaillesztés: ki kell keresni a szabálybázisból az összes olyan szabályt, melynek a feltételrésze a ténybázisbeli tényekkel igaz.
2. Konfliktusfeloldás: az 1. lépésben megtalált szabályok alkotják a konfliktus-halmazt, mert bármelyik felhasználható, de csak egyet alkalmazhatunk.
3. Szabályalkalmazás: végre kell hajtani a kiválasztott szabály következmény-részében szereplő tevékenységet, ill. fel kell használni az új tényt. (Új tény: az adott feladatra nézve igaz, kikövetkeztetett.)
4. A célállapot tesztelése: meg kell vizsgálni, eljutottunk-e a célállapotba, ha nem, folytatni kell 1.-tõl.
Az előreláncoló technikát alkalmazó szabályalapú tudásszemléltetés konfliktus-feloldási módszerei:
Lokális: lokális információkat, speciális, tartománytól függő szabályokat, metaszabályokat alkalmaz. A programozó bizonyos hatások kiváltására közvetlenül megadhat szabályokat.
Globális: globális információkra alapoz, a teljes szabálytartományban egyformán működik.
Jellemzői: érzékenység, stabilitás.
Fajtái: Megakadályozás; Újdonság; Specifikusság.
A szakértőrendszer vázak alkalmazásának szakértőrendszerek kifejlesztésénél tapasztalható
Előnyök:
• 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ó.
Hátrányok:
• 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.
A szakértőrendszerek felhasználói interfészének a részei:
Szabálybázis: a tudást tartalmazza szabályok formájában
Ténybázis: munkatároló, az induláskor megadott, a kérdéses problémával kapcsolatos tényeket és a szabályok kiértékelésével menet közben kikövetkeztetett tényeket tartalmazza.
Következtető automata: a ténybázis aktuális tartalmát alkalmazva a szabálybázis szabályaira új tényeket következtet ki, vagy részhipotéziseket igazol
A Descartes módszeres gondolkodás, feladatmegoldás alapelvei:
– A problémákat osszuk független, vagy kevéssé összefüggő részekre
– Az egyszerűtől haladjunk a bonyolultabb felé
– Csak olyan dolgokat fogadjunk el igaznak, melyek igazsága megkérdőjelezhetetlen
– Törekedjünk a teljes felsorolásokra.
Az azonosság definíciója (Gottfried Wilhelm Leibniz (1646-1716))
Azonosság definíciója: "Azok a terminusok tekintendők azonosnak, vagy egybeesőnek, amelyek egymással tetszés szerint felcserélhetők anélkül, hogy ezáltal bármelyik állítás igazsága megváltozna."
Propozíció jelentése:
Propozíció: Egy kijelentő mondat formában megadott állítás, mely az adott kontextusban egyértelmű igaz, vagy hamis logikai értékkel bír.
A propozíciós logikát jellemzi:
A propozíciós logika tárgya, célja összetett szerkezetek kiértékelésére formális szabályt adni. A kiértékelésben az atomi összetevők (objektumok) igazságértékeit kell csak figyelembe venni, jelentésüktől eltekintünk.
A kontradikció jelentése:
A logikai kifejezés kontradikció, azaz kielégíthetetlen kifejezés akkor, ha minden lehetséges helyettesítésre hamis értéket ad. Más neveken: ellentmondás, azonos hamis formula, kielégíthetetlen formula.A rezolúció fő lépései:
A rezolúció lényege: lássuk be, hogy a tényekből, szabályállításokból és a bizonyítandó állítás negáltjából álló halmaz kielégíthetetlen, ellentmondásos. Ha sikerül, akkor a bizonyítandó állítás csak igaz lehet.A predikátum és propozíciós logikában alkalmazható.
Lépései:
• A bizonyítandó tétel tagadott alakját vesszük alapul azáltal, hogy feltesszük, hogy a konklúzió ellentettje igaz a premisszák igaz értékei mellett. Ha az ily módon kapott összetett formula kielégíthetetlen voltát sikerül belátni, akkor az eredeti tétel igaz.
• Ehhez konjunktív normál forma alakra (KNF) hozzuk az összetett formulát és a rezolúció ismételt alkalmazásával, fokozatos egyszerűsítéseken keresztül jutunk el az ellentmondáshoz.
A fuzzy logika témakörei:
A Fuzzy logika Lofti Zadeh nevéhez fűződik. (1965)A hagyományos kétértékű logika helyett végtelenértékű, folytonos változókat és a hamis és igaz közötti folytonos átmenetet használ a fogalmak, jellemzők igazságértékének megadására.
Hiányos adatok elfogadása, zajtűrő képessége a mesterséges neurális hálózatokhoz hasonlóan robusztus, megbízható alkalmazások készítését teszi lehetővé bizonytalan adatok esetére is. Szimbolikus szinten működik, nyelvi változókat használ, ezáltal közel áll az emberi gondolkodáshoz.
Alkalmazása különösen a szabályozástechnikában igen elterjedt.
Fuzzy logikán alapuló következtető rendszer
Produkciós, szabályalapú működés, de:• a szabályok feltételoldalán fuzzy ÉS, ill. fuzzy VAGY logikai műveletekkel összekötött beletartozási relációk vannak, melyek értékét a fuzzy változóhoz tartozó fizikai változó (x) aktuális értéke és a nyelvi értékhez tartozó tagfüggvény együttesen határozzák meg. (fuzzy változó = nyelvi érték)
• A feltételoldali logikai kifejezés eredő érvényességi, igazsági értékét a fuzzy ÉS ill. VAGY logikai műveletek értelmezésének felhasználásával számítjuk és ez lesz a következmény oldal érvényessége is egyben.
• Fuzzy ÉS művelet értelmezése (C= A B): C (x)= min {A (x), B (x)} , x X
• Fuzzy VAGY művelet értelmezése (C= A B): C (x)= maxA (x), B (x)} , x X
A defuzzifikálás módszerei:
• Területközéppont meghatározással (legelterjedtebb eljárás)• Tagsági függvény maximumok súlyozott átlagának meghatározásával
• A legnagyobb érvényességű következmény-tagfüggvény maximumával.
A fuzzy logika szabályalkalmazásának működése:
If Zárthelyieredmény = Jó ÉS Elõadáslátogatás = Ritka then Vizsgajegy = JelesIf Zárthelyieredmény = Közepes ÉS Előadáslátogatás = Gyakori then Vizsgajegy = Jó
C. Hewitt által leírt nyílt MI rendszerek jellemzői:
• 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.
Megjegyzések
Megjegyzés küldése