Lekcia 1: Úvod do predmetu Umelá inteligencia
-
Pojmem "umelá inteligencia"
- Je schopnosť strojov vykonávať úlohy, ktoré obvykle vyžadujú ľudskú inteligenciu, ako napr. rozprávanie reči, rozhodovanie a učenie sa z vlastných skúseností.
- V podstate ide o systém, ktorý dokáže:
- Analyzovať dáta
- Usudzovať na základe tejto analýzy
- Prispôsobiť sa novým situáciám v priebehu času
-
História a súčasnosť tohto odboru
- Šachový automat (Turek)
- Veda o UI existuje cca viac ako pol storočia.
-
Základné prúdy umelej inteligencie
- Symbolický funkcionalizmus:
- Reprezentácia problému a inteligentné prehľadávanie pristoru stavov,
- Logika,
- Vety prirodzeného jazyka.
- Konekcionizmus:
- Inteligencia vyplýva z prepojenia veľkého počtu jednoduchých výpočtových jednotiek.
- Myšlienka (inšpirovaná mozgom), základná jednotka je model neurónu.
- Hlavnou vetvou sú neuronové siete.
- Skúma zdanlivo chaotické prepojenia.
- Robotický funkcionalizmus:
- Koncentruje na funkcionalitu modelovaného systému.
- Inteligentným správaním je interakcia medzi entitami: systém, prostredie, úloha.
- Symbolický funkcionalizmus:
-
Turingov test, problémy testu, jeho modifikácie
- Otázka testu: "Môže stroj myslieť?"
- Mysliaci počítač je taký, ktorého chovanie nebudeme schopný rozoznať od človeka.
- Test je imitačná hra (rozlíšenie 2 ľudí podľa pohlavia).
- Test spočíva v tom, že imitátorom človeka by bol počítač.
- Doteraz žiadnemu programu sa nepodarilo splniť.
- Modifikácie:
- Komunikácia medzi hráčmi:
- Ľudský vyšetrovateľ komunikuje s dvoma hráčmi, A a B.
- Ak vyšetrovateľ nedokáže určiť, ktorý hráč je počítač a ktorý je človek, tak počítač zložil test.
- Ak je počítač nerozoznateľný od človeka vo všeobecnom rozhovore o prirodzenom jazyku, musí sa dostať do inteligencie na úrovni človeka.
- Simulácia iba jednej z mnohých schopností človeka (schopnosť jazyka v písanej forme).
- Simulácia všetkých ľudských schopností (spĺňa iba pokročilý humanoidní robot).
- Komunikácia medzi hráčmi:
- Problémy:
- Pôvodnosť - počítač nemyslí, pretože myslenie je spojené s pôvodnosťou. Z počítača však dostaneme iba modifikáciu toho, co doň vložíme.
- Niekedy tieto testy môžu zisťovať to, či počítač sa správa viac ako človek, ako to, či je inteligentný.
- Paradox čínskej izby - splnenie testu ešte nemusí znamenať myslenie a uvedomovanie si.
- Dokonalosť - počítač môže byť odhalený práve tým, že nerobí chyby, počíta rýchlejšie.
Lekcia 2: Riešenie problémov - vyjadrenie problému
-
Vyjadrenie problému v AI (začiatočný stav, množina operátorov, stavový priestor, cieľový test, cena cesty)
- Začiatočný stav - v ňom sa agent nachádza.
- Množina operátorov - opisujú aký stav vznikne vykonaním akcie v danom stave.
- Stavový priestor - množina všetkých dosiahnuteľných stavov zo začiatočného stavu ľubovoľnou postupnosťou akcií.
- Cieľový test:
- Testuje, či sa dosiahol cieľ.
- Predstavuje hodnotenie nejakého stavu alebo hodnotenie cesty v stavovom priestore.
- Môže byť daný:
- explicitne - ako množina stavov,
- implicitne - vlastnosťou stavu.
- Cena cesty:
- Súčet cien jednotlivých akcií na ceste.
- Pri viacerých riešeniach daného problému, pomocou ceny cesty nájdeme riešenie, ktoré pozostáva z menšieho počtu alebo lacnejších akcií.
- cena riešenia = cena cesty k riešeniu + cena hľadania
-
Základné problémy pre algoritmy hľadania riešenia
- Hľadanie riešenia je prístup, pri ktorom nevychádzame z algoritmu riešenia problému. Vychádzame z algoritmu ako riešenie hľadať.
- Problém nie je algoritmicky riešiteľný pre neefektívnosť alebo preto, že algoritmus nepoznáme.
-
Neinformatívne hľadanie - prehľadávanie do šírky, stratégia rovnomernej ceny
- Prehľadávanie do šírky:
- Rozvinie sa koreňový uzol, potom všetky uzly vzniknuté jeho rozvitím, potom sa rozvijú všetky ich nasledovníci atď...
- V strome hľadania sa expandujú všetky uzly v hĺbke
dskôr ako sa rozvijú uzly v hĺbked + 1. - Patrí medzi systematické stratégie.
- Nevynechá ani jeden uzol.
- Žiadny uzol sa nevyberie dvakrát.
- Ak riešenie existuje, pri hľadaní sa určite nájde, t.j. stratégia je úplná.
- Pri hľadaní sa nájde najplytkejšie riešenie.
- Stratégia rovnomernej ceny (uniform - cost search):
- Na expanziu sa vyberie vždy uzol, ktorý je na najlacnejšej ceste.
- Optimálne riešenie sa nájde vždy, ak sa pri postupe nezníži, napr. súčet cien aplikácie operátov a pod.
- Prehľadávanie do šírky:
-
Obojsmerné hľadanie
- Môže sa použiť iba keď máme problém, ktorého riešením je cesta a cieľový stav je známy.
- Musí byť splnená podmienka existencie inverzných operátorov.
- Stratégia:
- Od počiatočného stavu bude hľadanie postupovať vpred smerom k cieľovému stavu (priame hľadanie),
- Od cieľového stavu bude hľadanie postupovať vzad (inverzné operátory) smerom k počiatočnému stavu (spätné hľadanie),
- Ak oba procesy vygenerujú ten istý stav, nájde sa cesta spájajúca počiatočný stav s cieľovým.
- Problémy:
- Ak sa dajú definovať inverzné operátory, nie je ich výpočet zložitejší?
- Ako postupovať aj je viacej cieľových stavov?
- Ak sú ciele dané implicitne, je ťažko nájsť predchodcov.
-
Prehľadávanie do hĺbky a jeho modifikácie
- V strome hľadania sa najprv expanduje uzol, ktorého hĺbka je najväčšia. Keď sa narazí na uzol bez nasledovníkov, dôjde k navracaniu (back tracking), teda hľadanie sa vráti k expanzii uzlov na plytších úrovniach.
- Často rýchlejší ako prehľadávanie do šírky.
- Nezaručuje nájdenie riešenia (hlavne pri problémoch) - je neúplná.
- Hľadanie sa nemusí orientovať smerom k optimálnemu riešeniu.
- Modifikácie:
- Ohraničené prehľadávanie do hĺbky:
- Zamedzí, aby riešenie uviazlo hlboko v strome.
- Stanoví sa hraničná hĺbka, do ktorej sa bude hľadať.
- Cyklicky sa prehlbujúce hľadanie:
- Postupne vyskúša všetky možné hraničné hĺbky - od najmenšej po najväčšiu.
- Hľadanie do hĺbky s návratom:
- Pri výbere uzla na skúmanie sa generuje iba jeden jeho nasledovník, ktorá ak nie je listový uzol sa ďalej skúma, inak sa vráti k najbližšiemu nerozvitému uzlu.
- Šetrí pamäť a nevygeneruje uzly napravo od cesty.
- Nemožno použiť žiadnu doplňujúcu informáciu na výber najlepšieho nasledovníka, lebo sa vždy vygeneruje iba jeden.
- Ohraničené prehľadávanie do hĺbky:
Lekcia 3: Heuristické prehľadávanie, Genetické algoritmy, Hry ako problém hľadania
-
Lačné hľadanie
- Najlepší uzol je uzol s minimálnou odhadnutou cenou dosiahnutia cieľa.
- Podobá sa hľadaniu do hĺbky.
- Je neúplné a neoptimalizované riešenie.
-
Algoritmus A*
- Stratégia rovnomernej ceny je úplná a optimalizuje cestu, keďže minimalizuje cenu cesty
g(u)zo začiatočného uzla do uzlau. - Je neefektívna, keďže nevyužíva heuristickú informáciu o vzdialenosti k cieľu.
- Najviac výhod zachováme, keď tieto stratégie skombinujeme do novej s heuristickou funkciou
f(u) = g(u) + h(u).f(u)- odhad ceny najlacnejšej cesty vedúcej cez uzolu.
- Je hľadanie najskôr najlepší s heuristickou funkciou
f(u)a prípustnou heuristikouh(u). - Nedostatkom je exponenciálna časová a pamäťová zložitosť.
- Stratégia rovnomernej ceny je úplná a optimalizuje cestu, keďže minimalizuje cenu cesty
-
Heuristiky zmenšujúce priestor stavov
- Heuristické informácie môžeme použiť aj na orezanie stavového priestoru a ten prehľadať jednoduchším (slepým) algoritmom.
- Stavový priestor je možné zmenšiť tak, že heuristické informácie zahrnieme do podmienok aplikovateľnosti akcií (pravidiel).
- Nasleduje stavový priestor (červené spojnice) orezaný pomocou heuristík z predchádzajúceho obrázku.
- Napokon je uvedený strom hľadania generovaný z orezaného stavového priestoru prehľadávaním do šírky.
-
Genetické algoritmy
- Vychádzajú z myšlienok Darwinovej teórie evolúcie.
- Evolúcia k optimálnym riešeniam prebieha v mnohých generáciách celých populácií riešení pomocou prirodzeného výberu.
- Neúspešné riešenia vymierajú, úspešné prežívajú a množia sa.
- Hybnou silou evolúcie je kríženie (výmena "genetickej" informácie medzi riešeniami) a mutácia.
- Každý stav označujeme ako chromozóm - binárny reťazec
xdĺžkyN. - Pracujeme s populáciou
PobsahujúcouMchromozómov. - Každému chromozómu x sa priradí hodnota funkcie úspešnosti fitnes
f(x). - Hľadáme globálne maximum fitnes.
- Medzi chromozómami prebieha proces reprodukcie (nová populácia obsahujúca rovnaký počet chromozómov ako pôvodná populácia).
- Časti reprodukcie:
- Výber - do procesu reprodukcie vstupujú dvojice chromozómov.
- Kríženie - vybrané chromozómy si vymenia rovnako dlhé podúseky svojich binárnych reťazcov.
- Mutovanie - chromozómy sa podrobia mutácii (preklopia sa náhodne vybrané bity z ich reťazcov).
- Prehľadávajú mnoho častí stavového priestoru daného problému.
- Dajú sa použiť pre riešenie ťažko riešiteľných problémov.
- Vždy poskytnú nejaké riešenie.
- Nevýhody:
- Nedajú vždy optimálne riešenie.
- Potreba nastavenia množstva parametrov.
-
Herné problémy, algoritmus Min-Max
- Herné problémy:
- Jedná o hry s dvoma hráčmi (agent rieši úlohu z pohľadu jedného hráča), prítomnosť protihráča vnáša do problému.
- Hľadanie má neurčitosť spôsobenú nedostatkom času.
- Potrebuje zahrnúť čo najviac heuristických znalostí ako do generátora tak aj do testera.
- Poskytujú dobre definovaný problém.
- Jednoduché rozpoznanie úspechu resp. neúspechu.
- Problém sa dá opísať pomerne jednoduchými pravidlami.
- Algoritmus Min-Max:
- Určuje najlepšiu stratégiu pre hráča MAX.
- Vychádza z predpokladu, že súper vždy zahrá najhorší možný ťah pre MAX.
- Postup:
- Preskúma všetky stavy, vygeneruje celý strom hľadania až po koncové stavy.
- Rozhodne sa, ktoré postavenie je najlepšie.
- Vykoná sa ťah vedúci do najlepšieho postavenia.
- Problémy:
- Pri masívnych herných stromoch sa musí navšíviť veľa uzlov.
- Predpokladá, že je dosť času prezrieť strom hľadania až k cieľovým uzlom (pre väčšinu hier nereálne).
- Prezeranie je potrebné useknúť skôr než v cieľovom stave a listy následne vyhodnotiť nie pomocou bodovacej ale heuristickej vyhodnocovacej funkcie.
- Herné problémy:
Lekcia 4: Znalosti
-
Znalosti
- Expertný systém (ES):
- Súbor počítačových programov a štruktúrovaných údajov, ktoré sú schopné nahradiť činnosť špecialistu v jeho obore (prípadne ho prekonať).
- Simulujú rozhodovaciu činnosť experta pri riešení zložitých úloh a využívajúce vhodne zakódovaných, explicitne vyjadrených znalostí, prevzatých od experta, s cieľom dosahovať v zvolenej problémovej oblasti kvality rozhodovania na úrovni experta.
- Prístupy založené na vytváraní systémov riešiace všeobecné problémy nie sú efektívne na riešenie ľubovoľne zložitých problémov.
- Kvalita systému s UI závisí viacej od kvality znalostí ako na kvalite mechanizmu pre ich využívanie.
- Expertný systém (ES):
-
Vlastnosti znalostných systémov (ES)
- Cieľom ES nie je čo najvernejšie modelovať mentálne procesy pri rozhodovaní, ale dosiahnuť najlepšie odozvy na reálne dáta.
- ES sa výrazne líšia od "konvenčných" programov.
-
Reprezentácia znalosti (vyjadriteľnosť, použiteľnosť, začleniteľnosť)
- Vyjadriteľnosť - vedieť pracovať s poznatkami zapísať ich.
- Použiteľnosť - poznatky musia byť použiteľné.
- Začleniteľnosť - poznatky nie sú izolované entity, ale navzájom spolu súvisia, preto ich musíme vedieť začleniť do kontextu predchádzajúcich poznatkov.
-
Logika, výroková logika, predikátová logika
- Logika:
- Možnosť reprezentácie znalostí pomocou symbolov logiky.
- Aristotelova logika vychádza z tzv. sylogizmov, ktorý ma dva predpoklady a jeden výrok.
- Výroková logika:
- Použitie sylogizmov nemusí pri inferencii stačiť, pretože pokryjú relatívne malé časti logických tvrdení.
- Pre inferenčný mechanizmus ES je dôležitá.
- Predikátová logika:
- Ide o vnútornú štruktúru tvrdení.
- Jazyk tejto logiky je tvorený:
- premennými a konštantami,
- predikátovými symbolmi,
- funkčnými symbolmi,
- logickými spojkami,
- kvantifikátormi.
- Nie je rozhodnuteľná (neplatnosť nemusí byť overená v konečnom počte krokov).
- Logika:
-
Pravidlá
- Reprezentácia poznatkov pomocou pravidiel - formalizmus.
- Často reprezentuje poznatky
if-thenpravidlami. - Skladá sa z:
- predpokladovej alebo situačnej časti (ľavá strana),
- Postupnosť elementárnych logických podmienok, ktoré spolu s logickými operáciami konjunkcie, disjunkcie a negácie vytvárajú logický výraz.
- dôsledkovej alebo akčnej časti (pravá strana).
- Poznatky, ktoré zabezpečia reakciu a rozpoznanú situáciu.
- Reakcia je postupnosť akcií ako napr. pridanie, modifikácia a pod.
- predpokladovej alebo situačnej časti (ľavá strana),
- Produkčné pravidlo -> produkčný systém.
- Premenné umožňujú vytvárať všeobecnejšie pravidlá.
- Nevýhody:
- Ťažké pochopiť.
- Teoreticky môže nastať nepredvídateľné správanie.
- Zložitosť reprezentácie.
-
Sémantické siete, ontológie
- Sémantické siete:
- Prostriedok na reprezentáciu vzťahov medzi konceptami v problémovom prostredí.
- Vychádza z požiadaviek na začleniteľnosť poznatkov.
- Reprezentujú sa ohodnoteným orientovaným grafom.
- Koncepty môžu byť napr. objekty, pojmy, udalosti a pod.
- Ontológia:
- Je štruktúrovaná, obmedzená množina jednoznačne definovaných pojmov.
- Spôsob reprezentácie znalostí o svete alebo jeho časti.
- Dátový model, ktorý reprezentuje množinu pojmov a vzťahy medzi nimi.
- Z explicitne vyjadrených zaznamenaných znalostí možno vyvodzovať implicitné dôsledky a súvislosti zahrnuté v ich obsahu.
- Všeobecne sa zapisujú ako množina definícií formálneho slovníka.
- Reprezentuje jednotky (entity), myšlienky, udalosti s ich vlastnosťami a vzťahmi vzhľadom na systém kategórií.
- Sémantické siete:
Lekcia 5: Vnímanie - Rozpoznávanie vzorov
-
Aplikácie rozpoznávania vzorov
- Analýza údajov a identifikácia podobností na odporúčanie objektu alebo obsahu koncovému používateľovi.
- YouTube/Netflix/Spotify - personalized recommendations.
- Pri programovaní a vývoji softvéru vytvárame vzory založené na osvedčených postupoch a replikujeme štýl ich architektúry pre iné aplikácie v rovnakej oblasti.
- Rozpoznávanie textu, obrázkov, znakov, zvuku/reči, biometrických dát.
- Machine vision.
- Počítačová diagnóza.
- Analýza údajov a identifikácia podobností na odporúčanie objektu alebo obsahu koncovému používateľovi.
-
Príznakové rozpoznávanie
- Zaoberá sa vzorcom ako celkom.
- Vychádza z predpokladu, že jednotlivé triedy obrazcov možno opísať presne definovanými príznakmi.
- Príznakom môže byť napr. amplitúda signálu, jeho frekvenčný a časový priebeh, úroveň jasu určitého bodu v obraze a pod.
- Získané príznaky sa porovnávajú s príznakmi vzorov tried.
- Výsledkom je zhoda alebo podobnosť.
- Uskutočňuje sa:
- určením príznakov,
- voľbou tried obrazcov,
- vytvorením príznakov pre vzory tried,
- získaním príznakov,
- porovnaním získaných príznakov s príznakmi vzorov a rozhodnutím o zaradení vstupného obrazca do príslušnej triedy.
-
Optical Character Recognition (OCR) systémy
- Vstupom je obrázok s nejakým textom.
- Výstupom je rovnaký text s nejakým počítačovým kódovaním.
- CAPTCHA.
- Problémy:
- Obrázok neobsahuje iba text.
- Nekonzistentná farebnosť.
- Skosenie a rotácia.
- Rôzne veľkosti a písma.
-
Časti OCR systémov
- Binarizer
- Vytvára pixelový obaz.
- Segmentor
- Vytvorí sadu súradníc pre každý čierny pixel.
- Tresholder
- Typesetter
- Zarovnanie a pripojenie jednotlivých segmentov do línie slov.
- Scaler
- Feature Extractor,
- Linguist,
- Binarizer
-
Príznaky a spôsoby výberu príznakov
- Príznaky:
- Určenie spôsobu, na základe ktorého sa získané príznakové vektory budú zaraďovať do tried.
- Reprezentujú sa vo forme vektorov.
- Spôsoby výberu príznakov:
- Templates
- Hľadanie zhody so vzorom
- Histogramy
- Súčet čiernych pixelov v danom regióne
- Priesečníky
- Založená na počte priesečníkov vopred zvolených vektorov v políčku so znakom.
- Fourierova transformácia
- Zmena reprezentácie obrazcov z časovo-priestorovej na frekvenčno-amplitúdovú.
- Hysterézne vyhladzovanie
- Hysterézne okno obsahuje v ňom umiestnený riadiaci bod.
- Riadiaci bod sa pohybuje po obryse obrazca najskôr smerom nahor alebo doprava ak nie je možný pohyb nahor.
- Hysterézne okno posúva so sebou.
- Výsledok nemusí byť pre rozpoznávanie dostatočná a preto sa pre každý príznak uvádza ešte kvadrant, v ktorom bol získaný.
- Templates
- Príznaky:
Lekcia 6: Strojové učenie - Rozhodovacie stromy
-
Čo reprezentujú rozhodovacie stromy?
- Všetky monžné rozhodnutia systému s podmienkami pre prechod do iného rozhodnutia.
-
Rozhodovacie stromy a strojové učenie
- Rozhodovací strom môže umožniť predikciu odpovede na nejakú otázku, pričom sa využije rozhodovací strom.
- Vstupná informácia (napr. otázka) sa spracuje pomocou pravidiel v strome a podľa ich výsledku sa prechádza v stavoch.
- Koniec riešenia znamená, že už neexistujú ďalšie podmienky (a teda ani stavy) a stroj zastane v nejakom koncovom stave.
-
Prepis stromu na pravidlá
- N/A
-
Výber vlastností pre tvorbu ulov
- N/A
-
Klasifikačná chyba
- Počíta sa pomocou vzorca:
nesprávne predikcie/príklady. - Najlepšia hodnota je 0.
- Najhoršia hodnota je 1.
- Počíta sa pomocou vzorca:
-
Pravidlá pre ukončenie rekurzie tvorby stromov
- N/A
Lekcia 7: Strojové učenie, Naive Bayes, Q-learning
-
Oblasti využitia strojového učenia
- Riešenie skupiny problémov, na ktoré neexistujú žiadni ľudia.
- Predpovedať výpadky strojov.
- Riešenie skupiny problémov, kde experti síce existujú, ale nie sú schopní vysvetliť svoju expertízu.
- Rozpoznávanie reči, rukopisu a pochopenie prirodzeného jazyka.
- Riešenie skupiny problémov, kde sa rýchlo menia okolnosti.
- Predpovedať budúci vývoj na burze, vývoj spotrebiteľských nákupov alebo menových kurzov.
- Riešenie skupiny aplikácií, ktoré musia byť nastavované pre každého užívateľa zvlášť.
- Filtrácia nechcenej e-mailovej pošty.
- YouTube/Netflix/Spotify - personalized recommendations.
- Riešenie skupiny problémov, na ktoré neexistujú žiadni ľudia.
-
Biflovanie, induktívne učenie sa
- Informácia, ktorá umožní v budúcnosti podobnú úlohu splniť lepšie.
- Zapamätanie si predošlého ohodnotenia.
-
Naivný Bayesovský klasifikátor
- Štatistický klasifikátor.
- Predikuje pravdepodobnosti, s ktorými daný príklad patrí do triedy.
- Vychádza z predpokladu nezávislosti atribútov medzi sebou.
-
Typy strojového učenia
- Učenie sa s učiteľom (supervised learning) - okamžitá dostupnosť vnemov o vstupoch aj výstupoch.
- Učenie sa bez učiteľa (unsupervised learning) - agent nedostáva nijakú informáciu o tom, aké by mali byť správne akcie.
- Učenie sa odmenou a trestom (reinforcement learning) - agent dostane informáciu o hodnotení akcie, ale nie o tom, aká mala byť správna akcia.
Lekcia 8: Strojové učenie - Regresia
-
Lineárna regresia
- Spôsob, ako zistiť vzťah medzi dvoma premennými.
- Príklad: Dlhšia doba učenia => lepšie výsledky.
- Hľadá najlepšiu čiaru, ktorá spája dáta.
-
Residual sum of squares (RSS)
- Je číslo, ktoré hovorí, ako veľmi sa mýli náš model - teda ako ďaleko sú predpovede modelu od skutočných hodnôt.
- Čím je RSS menšie, tým lepší model - znamená to, že predpovede sú bližšie k realite.
-
Stupne polynómu - komplexnosť modelu
- Určuje, aká zložitá je krivka, ktorú model používa na prispôsobenie sa dátam.
- Čím vyšší stupeň, tým viac sa model "ohýba", aby čo najlepšie prešiel cez body.
- Cieľ je nájsť taký stupeň, ktorý dobre zachytí vzťah v dátach, ale neprispôsobí sa až príliš.
-
Pridanie ďalších parametrov
- N/A
Lekcia 9: Spracovanie prirodzeného jazyka (NLP)
-
Predspracovanie textu
- N/A
-
Tokenizázia
- Rozdelenie textu na menšie časti (tokeny).
- Token je časť celku a môžme mu rozumieť ako slovo alebo veta.
-
Lematizácia
- Je proces, pri ktorom sa slová zmenia na svoj základný tvar (lemma).
- Príklad: "bežím", "bežal", "bežať" => "bežať".
-
Stop slová
- Bežné a často používané slová, ktoré zvyčajne nenesú dôležitý význam pre spracovanie textu.
- Príklad: "Pes je na lúke a šteká." => "Pes lúke šteká."
-
Part-of-Speech (POS) tagging
- Proces, pri ktorom sa každému slovu v texte priradí slovný druh (podstatné meno, sloveso, prídavné meno, predložka, atď).