Umělá inteligence - 4
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Umělá inteligence - 4Umělá inteligence - 4

 

Umělá inteligence - 4

Google       Google       13. 3. 2009       25 326×

Pokračování seriálu Umělá inteligence, v tomto díle o perceptronech a jejich učícím algoritmu.

Reklama
Reklama

Perceptron

Perceptron sestává z jediného výkonného prvku modelovaného obvykle McCullochovým a Pittsovým modelem neuronu, který má nastavitelné váhové koeficienty a nastavitelný práh. Někteří autoři označují stejným názvem i celou síť takových prvků. Algoritmus vhodný k nastavení parametrů perceptronu publikoval poprvé F. Rosenblatt v roce 1958 a později v roce 1962. Rosenblatt dokázal následující větu:

Máme-li v n-rozměrném prostoru lineárně separabilní třídy objektů, pak lze v konečném počtu kroků učení (iterací optimalizačního algoritmu) nalézt vektor vah W perceptronu, který oddělí jednotlivé třídy bez ohledu na počáteční hodnotu těchto vah.

Preceptron s jedním výkonným prvkem umožňuje ovšem nanejvýše klasifikaci do dvou tříd. Zvětšíme-li však počet výkonných prvků pracujících v perceptronu a zvětšíme-li i počet jeho vrstev, je možno jím klasifikovat do více tříd. Tyto třídy již nemusí být lineárně separabilní, musí však být separabilní.

Perceptronová síť vychází z fyziologického vzoru a je taktéž třívrstvá.

Topologie a funkce

Vstupní vrstva v tomto případě funguje jako vrstva tzv. "vyrovnávací" či jinak řečeno rozvětvovací. Úkolem této vrstvy je rozdělit vstupní vektor, většinou dvourozměrný do jednorozměrného. Součástí perceptronu jsou taktéž váhy, jako u ostatních dále zmíněných sítí, a jeho váhy jsou pevně připojené a jsou tedy konstantní. Druhou vrstvu tvoří tzv. detektory příznaků. Každý z neuronů je náhodně spojen s prvky vstupní vrstvy. A nakonec poslední, třetí vrstva je nejdůležitější na celé perceptronové síti. Obsahuje "rozpoznávače" vzorů (pattern recognizer, neboli perceptrons). Změnou oproti dvěma zmíněným vrstvám je to, že její váhy nejsou nastaveny pevně, ale při procesu trénování či učení jsou nastavovány.

K jejich učení navrhl F. Rosenblatt tzv. perceptronovský učicí algoritmus. Přenosová funkce je skoková. Jelikož je funkce v podstatě transformací vstupního obrazu na výstup, je definována následujícím způsobem: nechť {x1, ... , Xn} Rn což je skutečná reálná množina proměnných z Rn. Dále máme stanovenu množinu funkcí definovaných na členech zmíněné množiny Rn. Pokud nalezneme množinu takových koeficientů, že platí rovnice 2.8, pak je tato rovnice skoková.

Tato funkce, jak lze vidět v rovnici 2.8., je realizována neuronem od McCullocha-Pittse s M vstupy a vhodně zvolenými vahami. Neurony ve vrstvě, která je schopná se naučit, mají zpravidla ještě jeden výstup navíc, jehož hodnota je konstantně nastavena na -1. Když si vzpomeneme na definici neuronové sítě, pak zjistíme, že při N vstupech má vlastní vstupní vektor perceptronu tvar rov. 2.9:

Jakmile se příslušné prahy položí rovny 0, provedeme úpravu perceptronu, která se používá při demonstracích učení perceptronu. Jelikož výstupní neuron perceptronu může nabývat pouze dvou hodnot, lze vstupní vektory-vzory přiřadit pouze do dvou tříd. Úprava bývá ve většině literatur označována jako "nastavený rozšířený vektor" a spočívá v tom, že vektory dané třídy bývají násobeny hodnotou -1.

Jelikož potřebujeme kvůli učení nastavovat nové váhy a prahy, existují pro perceptron následující metody učení:

  1. Metoda koeficientů - koeficient může být používán jako fixní či modifikovatelný. V případě modifikovatelnosti tohoto koeficientu pak mluvíme o tzv. absolutní či o zlomkové korekci.
  2. Gradientní metoda

Gradientní metoda

Gradientní metoda je metoda, která se používá pro nastavování vah v neuronové síti perceptronů. Využívá metodu největšího gradientu. Nastavování vah se potom děje pomocí následující rovnice:

kde c je konstanta zvaná gradient MSE chyby označovaná E.
Výpočet vlastní (energetické) funkce je pak definován výrazem:

kde gradient této funkce je dán vztahem:

V posledním uváděném vztahu má význam Fn skokové funkce. Jestliže proto dosadíme rov. 2.12 do rov. 2.10, dostaneme výchozí rovnici pro výpočet a nastavování nových vah. Tato rovnice je tvaru:

Podle této rovnice již můžeme velmi přesně nastavit váhy celé perceptronové sítě. Jednotlivé elementy při procesu učení se liší podle vrstvev umístěných v neuronové síti.

Jaký je rozdíl mezi jednotlivými elementy můžeme vypozorovat na obr. 2.11.

Obrázek 2.11: Typy neuronů v Rosenblattově neuronové síti

Fixní přírůstky

Při používání tohoto pravidla přepočtu nových vah se nové váhy modifikují podle násle­dujících vztahů:

Koeficient c může nabývat hodnot celočíselných větších než 0.

Absolutní korekce

Podmínkou této korekce je následující výraz:

a konstanta c pak musí odpovídat výrazu:

Zlomková korekce

V případě, že pro aktualizaci vah chceme používat tyto korekce, pak bychom měli postu­povat podle výrazu definovaného na následujícím řádku.

a z toho plyne výraz pro hodnotu c následující:

V tomto případě platí, že konvergencí algoritmu má být parametr lambda v intervalu 0 až 2.

Elementy v perceptronové vrstvě mají pouze jeden vstup (práh) připojený pevně ke konstantě 1. Ostatní vstupy jsou náhodně připojeny k výstupům démonů střední vrstvy a jejich váhy jsou nastavitelné. Jak vypadá přenosová charakteristika takového neuronu? Je následující: výstup je nulový za předpokladu, je-li vážený součet všech jeho vstupů nulový nebo záporný. V opačném případě je výstup roven jedné.

Učicí algoritmus perceptronu

  • Váhy jsou nastaveny náhodně.
  • Je-li výstup správný, váhy se nemění.
  • Má-li být výstup roven 1, ale je 0, inkrementuj váhy na aktivních vstupech.
  • Má-li být výstup roven 0, ale je 1, dekrementuj váhy na aktivních vstupech.

Aktivní vstupy máme přitom tehdy, je-li jejich hodnota na vstupech nad prahem nenulová. Velikost, s jakou se mění váhy (přesněji řečeno, kdy se inkrementují a kdy dekrementují), závisí na konkrétně zvolené variantě:

  • Při inkrementaci i dekrementaci se aplikují pevné přírůstky.
  • Přírůstky se mění v závislosti na velikosti chyby. Je výhodné, jsou-li při větši chybě větší a naopak. Takto zrychlená konvergence však může mít za následek nestabilitu učenÍ.
  • Proměnné a konstanty se kombinují v závislosti na velikosti chyby.

Příště si popíšeme vlastní neuronovou síť zpětného šíření Back-propagation.

Zdroj: Neuronové sítě, expertní systémy a rozpoznávání řeči, Ing. Václav Jirsík, CSc. a Ing. Petr Hráček

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Reklama
Reklama
Obrázek ke článku Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

Obrázek ke článku České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace (CRA) pořádají druhý ročník CRA IoT Hackathonů. Zájemci z řad vývojářů a fanoušků moderních technologií mohou změřit své síly a během jediného dne sestrojit co nejzajímavější funkční prototyp zařízení, které bude komunikovat prostřednictvím sítě LoRa. CRA IoT Hackathony se letos uskuteční ve dvou fázích, na jaře a na podzim, v různých městech České republiky. Jarní běh se odstartuje 31. března v Brně a 7. dubna v Praze.

Obrázek ke článku Cloud computing je využíván stále intenzivněji

Cloud computing je využíván stále intenzivněji

Využívání cloud computingu nabývá na intenzitě. Jen v letošním roce vzroste podle analytiků trh se službami veřejného cloudu o 18 %, přičemž o téměř 37 % vzrostou služby typu IaaS. Růst o více než pětinu pak čeká služby poskytování softwaru formou služby, tedy SaaS. Aktuálním trendům v oblasti využívání cloudu se bude věnovat konference Cloud computing v praxi, která se koná 23. března. 2017 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý