Teoretické otázky neuronových sítí Jiří Šíma &; Roman Neruda motto: „Chci, abyste povzbuzeni v srdci a spojeni láskou hluboce pochopili a plně Katce & Vlaďce poznali Boží tajemství, jímž je Kristus; v něm jsou skryty všechny poklady moudrosti a poznání." apoštol Pavel 6 Vzhledem k tomu, že chybí základní učebnice neuronových sítí v češtině, první část knihy obsahuje stručný úvod do této oblasti. Výklad je zde spíše zaměřen na motivace a základní typové modely a není žádným uceleným přehledem modelů neuronových sítí. V druhé části knihy pohlížíme na neuronovou síť jako na výpočetní model a zkoumáme jeho výpočetní sílu a deskriptívni složitost. Také se zabýváme efektivitou učících algoritmů a složitostí problému učení a generalizace. Hlavním nástrojem studia uvedených otázek je teorie složitosti. Třetí část knihy zkoumá typy funkcí, které jsou realizovány neuronovými sítěmi. Z tohoto hlediska se zabývá aproximačními vlastnostmi různých modelů neuronových sítí a jejich funkční ekvivalencí. Tato část využívá prostředky funkcionální analýzy. Předkládaná práce původně vznikla jako učební text ke stejnojmenné dvousemestrální přednášce, kterou jsme měli na matematicko-fyzikální fakultě Univerzity Karlovy v letech 1993-96 pro studenty oboru informatika. Obsahuje relativně nové výsledky, z nichž některé jsou zatím dostupné jen v původních článcích. Ty obohatily látku, kterou jsme čerpali z ojedinělých existujících zahraničních monografií. I když jsme se snažili ji zpřístupnit co nejširšímu okruhu zájemců o neuronové sítě, přesto k plnému pochopení zvláště technických partií pomohou předběžné znalosti z teorie složitosti a funkcionální analýzy. Chtěli bychom touto cestou poděkovat RNDr. Jiřímu Hořejšovi, CSc, který v nás svými zajímavými přednáškami vzbudil zájem o neuronové sítě. Dále děkujeme RNDr. Věře Kůrkové, CSc. a RNDr. Jiřímu Wiederman-novi, DrSc, kteří nám ukázali, že tento zájem je možné podložit teorií. Uvítali jsme, že se oba ujali nevděčné úlohy recenzentů. Také děkujeme našemu kolegovi RNDr. Petru Savickému, CSc. za rozhovory o české terminologii v oblasti booleovské složitosti a za první připomínky k rukopisu. Předběžnou verzi této knihy podrobně pročetl náš kolega Mgr. Jiří Červenka, kterému jsme vděčni za množství připomínek, které nám pomohly odstranit nejzávažnější nedostatky a chyby. Náš dík patří našim kolegyním a kamarádkám Tereze Vavříkové, která ochotně zrealizovala několik obrázků v této knize na počítači, a Hance Klímové, která nám pomohla při přípravě bibliografie. Také našemu kolegovi a příteli Mgr. Arnoštovi Štědrému děkujeme za pomoc s přípravou některých obrázků a za rady při sázení textu. Práce na této knize byla částečně podporována z grantů CA CR číslo 201/95/0976 a 201/96/0917. V neposlední řadě jsme vděčni svým manželkám za jejich trpělivost, kterou s námi měly při přípravě rukopisu. Tuto knihu věnujeme právě jim. Předmluva V posledních deseti letech opět vzrostl zájem o tzv. (uměle) neuronové sítě, což jsou velmi zjednodušené matematické modely nervových systémů živých organismů. Jeden směr výzkumu v této oblasti se snaží pochopit a modelovat, jakým způsobem myslíme a jak funguje náš mozek. Na druhé straně tohoto úsilí stojí inženýři, kteří, inspirováni neurofyziologickými poznatky, tyto modely neuronových sítí modifikují, popř. hardwarově realizují, aby je mohli využít pro řešení úloh z umělé inteligence. Simulace neuronových sítí překvapivě vykazují prvky podobné lidské inteligenci: schopnost učit se a zobecňovat předchozí zkušenosti. Tato jejich vlastnost patrně přitahuje velké množství laiků i odborníků. Avšak aplikace neuronových sítí při řešení reálných problémů ukazují i na jejich omezení. Např. učící proces je časově náročnou záležitostí s nejistým výsledkem. Také základní výzkum v oboru neuronových sítí, přestože existují desítky specializovaných konferencí a časopisů, nepřinesl zásadní pokrok. V literatuře jsou popisovány stovky různých variant modelů neuronových sítí, jejichž oprávněnost a výhody jsou často ilustrovány jen na izolovaných jednoduchých příkladech. Domníváme se, že tato situace v základním výzkumu neuronových sítí je způsobena nesprávnou metodou použitou při studiu těchto modelů. Modely neuronových sítí jsou totiž matematické povahy, a proto adekvátním nástrojem pro zkoumání jejich vlastností by měla být matematika, popř. teoretická informatika. Z tohoto hlediska výpovědi typu „neuronová síť správně generalizuje", založené na experimentálních výsledcích, nemají tu sílu a obecnost jako exaktně zformulovaná matematická tvrzení. Na druhou stranu ani teorie nedává přesvědčivou odpověď na otázku, co to znamená, že neuronová síť se chová „inteligentně". Není pravdou, že by neexistoval výzkum v teorii neuronových sítí, ale jeho výsledky nejsou dostatečně známy a interpretovány. Tato kníhaje skromným pokusem tento nedostatek napravit v česky mluvícím prostředí. Skládá se ze tří částí. k 8 3 Asociativní neuronové sítě 73 (Jiří Šíma) 3.1 Lineární asociativní síť......................... 73 3.1.1 Adaptace podle Hebbova zákona............... 74 3.1.2 Pseudohebbovská adaptace.................. 76 3.2 Hopfieldova síť............................. 79 3.2.1 Základní model......................... 79 3.2.2 Energetická funkce....................... 81 3.2.3 Kapacita Hopfieldovy paměti................. 85 3.2.4 Příklad aplikace Hopfieldovy sítě............... 86 3.3 Spojitá Hopfieldova síť......................... 86 3.3.1 Spojitá aktivní dynamika................... 87 3.3.2 Problém obchodního cestujícího................ 89 3.4 Boltzmannův stroj........................... 93 3.4.1 Stochastická aktivní dynamika................ 93 3.4.2 Simulované žíhání ....................... 95 3.4.3 Rovnovážný stav........................ 96 3.4.4 Boltzmannovo učení...................... 98 3.4.5 Učící algoritmus ........................ 100 4 Samoorganizace 103 (Roman Neruda) 4.1 Vektorová kvantizace.......................... 104 4.1.1 Lloydův algoritmus....................... 105 4.1.2 Kohonenovo učení....................... 106 4.1.3 Modifikace Kohonenova učení................. 107 4.2 Kohonenovy samoorganizační mapy ................. 108 4.3 LVQ................................... 110 4.3.1 LVQ1.............................. 111 4.3.2 LVQ2.............................. 112 4.3.3 LVQ3.............................. 113 4.4 Síť typu counterpropagation...................... 113 5 Sítě s lokálními neurony 117 (Roman Neruda) 5.1 Sítě typu RBF ............................. 117 5.1.1 Motivace ............................ 118 5.1.2 Interpolace a aproximace ................... 121 5.1.3 Třífázové učení......................... 123 5.1.4 Regularizace .......................... 128 5.2 Sítě se semi-lokálními jednotkami................... 129 Obsah Předmluva 5 I Úvod do neuronových sítí 13 1 Fenomén neuronových sítí 17 (Jiří Šíma) 1.1 Historie neurovýpočtů......................... 17 1.2 Neurofyziologické motivace ...................... 21 1.3 Matematický model neuronové sítě.................. 24 1.3.1 Formální neuron........................ 24 1.3.2 Neuronová síť.......................... 29 1.4 Postavení neuronových sítí v informatice............... 39 1.4.1 Neuronové sítě a von neumannovská architektura počítače . 39 1.4.2 Aplikace neuronových sítí................... 43 1.4.3 Implementace neuronových sítí a neuropočítače....... 47 2 Klasické modely neuronových sítí 49 (Jiří Šíma) 2.1 Síť perceptronů............................. 49 2.2 Vícevrstvá síť a backpropagation................... 52 2.2.1 Organizační a aktivní dynamika ............... 52 2.2.2 Adaptivní dynamika...................... 53 2.2.3 Strategie zpětného šíření.................... 56 2.2.4 Implementace backpropagation................ 57 2.2.5 Varianty backpropagation................... 61 2.2.6 Volba topologie a generalizace................. 62 2.3 MADALINE .............................. 64 2.4 Sítě s kaskádovou architekturou.................... 68 (Roman Neruda) 7 10 OBSAH 11 Složitost učení neuronových sítí 261 11.1 Tréninkový problém .......................... 261 11.2 Mělké a hluboké architektury..................... 268 11.3 Neuronové sítě se 3 neurony...................... 281 11.4 Kaskádové architektury ........................ 288 11.5 Backpropagation není efektivní.................... 291 11.6 Učení cyklických neuronových sítí................... 298 12 Generalizace neuronových sítí 301 12.1 PAC-model............................... 301 12.2 Počet tréninkových vzorů....................... 304 12.3 PAC-model a tréninkový problém .................. 314 12.4 Perceptronový učící algoritmus.................... 318 III Aproximace funkcí pomocí neuronových sítí 323 (Roman Neruda) 13 Univerzální aproximace 327 13.1 Základní pojmy............................. 327 13.2 Kolmogorovova věta.......................... 329 13.2.1 Hilbertův problém a Kolmogorovo řešení........... 329 13.2.2 Kolmogorovova věta a aproximace pomocí NS........ 330 13.3 Perceptr. sítě s jednou skrytou vrstvou................ 334 13.3.1 Motivace a definice....................... 334 13.3.2 Hlavní výsledky......................... 335 13.3.3 Poznámky............................ 337 13.4 Aproximace RBF sítěmi........................ 338 13.4.1 Úvod............................... 338 13.4.2 Výsledky ............................ 338 13.5 Sítě se semi-lokálními jednotkami................... 340 13.5.1 Úvod............................... 340 13.5.2 Negativní výsledek....................... 342 13.5.3 Pozitivní výsledek ....................... 343 13.6 Kaskádové sítě............................. 345 13.6.1 Úvod............................... 345 13.6.2 Řetězcové zlomky a sítě.................... 346 13.6.3 Řetězcové sítě a komplexní řady ............... 348 13.6.4 Možnosti učení......................... 350 13.6.5 Diskuse............................. 351 14 Funkční ekvivalence a genetické učení 353 14.1 Pojmy.................................. 354 14.2 Parametrizace perceptronových sítí.................. 355 14.2.1 Parametrizace RBF sítí.................... 356 OBSAH 9 II Složitost neuronových sítí 131 (Jiří Šíma) 6 Lineární prahová funkce 137 6.1 Reálná doména............................. 137 6.2 Omezená doména............................ 140 6.3 Konečná doména............................ 143 6.4 Booleovská doména........................... 146 6.4.1 Booleovská prahová funkce .................. 146 6.4.2 Váha booleovské prahové funkce ............... 148 6.4.3 Problém lineární separability................. 155 7 Složitost obvodů 159 7.1 Logické obvody............................. 160 7.1.1 Alternující obvody....................... 161 7.1.2 Implementace booleovské funkce............... 166 7.1.3 Klasické obvody ........................ 169 7.1.4 Posloupnosti logických obvodů ................ 174 7.2 Prahové obvody............................. 179 7.2.1 Implementace funkcí...................... 180 7.2.2 Analogové prahové obvody .................. 186 7.2.3 Třídy složitosti a jejich hierarchie............... 187 8 Cyklické neuronové sítě 195 8.1 Formální model............................. 195 8.2 Zastavení cyklických sítí........................ 200 8.3 Symetrické neuronové sítě....................... 203 8.4 Stabilní stavy Hopfieldovy sítě .................... 214 9 Pravděpodobnostní neuronové sítě 221 9.1 Pravděpodobnostní prahové obvody ................. 221 9.2 Pravděpodobnostní třídy složitosti.................. 226 9.3 Boltzmannovy obvody......................... 228 9.4 Robustní neuronové sítě........................ 230 10 Výpočetní síla neuronových sítí 235 10.1 Neuromaty ............................... 236 10.1.1 Neuromaty a regulární výrazy................. 239 10.1.2 Neuronové akceptory binárních řetězců............ 242 10.1.3 Hopfieldovy jazyky....................... 243 10.2 Konečné analogové neuronové sítě .................. 247 10.2.1 Racionální váhy ........................ 249 10.2.2 Reálné váhy........................... 251 10.2.3 Kolmogorovská složitost vah ................. 255 10.3 Posloupnosti neuronových sítí..................... 258 12 OBSAH OBSAH 11 14.3 Genetické algoritmy .......................... 360 14.3.1 Základy............................. 360 14.3.2 Genetické učení neuronových sítí............... 361 14.4 Kanonický genetický algoritmus.................... 363 14.4.1 Inicializace ........................... 363 14.4.2 Mutace ............................. 363 14.4.3 Křížení ............................. 364 14.4.4 Diskuse............................. 364 Rejstřík pojmů a symbolů 366 Literatura 375 Cast I Úvod do neuronových sítí 16 učení známým jako učící vektorová kvantizace. Na závěr uvedeme model sítě typu counterpropagation. V páté kapitole se věnujeme dopředným sítím s lokálními jednotkami, které jsou v jistém smyslu komplementární k perceptronům. Nejznámější modelem těchto sítí jsou RBF sítě. Kromě základního modelu si uvedeme semi-lokální gaussovské sítě a zobecněné RBF sítě (GRBF) Poggia a Gi-rosiho. Poznatky v této části knihy lze najít v libovolné monografii či v přehledových článcích o neuronových sítích. Při její kompozici jsme vycházeli zejména z prací [63, 97, 105, 109, 129, 130, 175, 256]. 15 První část knihy je stručným úvodem do neuronových sítí a lze ji chápat jako pozvání k hlubšímu studiu tohoto oboru. Výklad je zde spíše zaměřen na motivace a základní typové modely a není žádným uceleným přehledem modelů neuronových sítí. Připravuje půdu pro ty, kdo se s tímto fenoménem ještě nesetkali, aby mohli docenit následující teoretické části knihy. Ale poslouží i těm, kteří se chtějí seznámit se základními modely, aby je mohli aplikovat v oblasti svého odborného zájmu. Tato část nevyžaduje předběžné hlubší znalosti, obsahuje mnoho obrázků a matematický formalismus je v první kapitole redukován na co nejmenší možnou míru a v následujících kapitolách je použit jen k technickému popisu modelů neuronových sítí. K formalizaci některých z popisovaných modelů se pak vrátíme při jejich teoretické analýze. První kapitola se snaží popsat a objasnit fenomén neuronových sítí. Obsahuje stručný přehled historie bádání v oblasti neurovýpočtů a objasňuje neurofyziologické motivace, které vedly k matematickému modelu neuronu a neuronové sítě. Ukazuje, že konkrétní model neuronové sítě lze zadat pomocí organizační, aktivní a adaptivní dynamiky, které určují vývoj jednotlivých charakteristik neuronové sítě v čase. Dále představuje neuropočítače založené na těchto modelech jako alternativu ke klasické von neumannovské architektuře počítače a vymezuje vhodné oblasti jejich aplikace. Druhá kapitola popisuje klasické modely neuronových sítí. Nejprve krátce zmiňuje historicky nejstarší model síť perceptronů. Dále se podrobněji zabývá v praxi nejčastěji používaným modelem vícevrstvé neuronové sítě s učícím algoritmem backpropagation. Popis kromě různých variant tohoto modelu obsahuje i implementační poznámky. Následuje výklad lineárního modelu MADALINE adaptovaného podle Widrowova pravidla. Kapitolu pak uzavírá učící algoritmus pro kaskádové architektury, který v průběhu orga-nizačně-adaptivního režimu přidává k síti nové neurony. Tento model není úplně klasický, avšak je všeobecně známým rozšířením algoritmu backpropagation. Ve třetí kapitole je výklad zaměřen na modely neuronových sítí, které se využívají jako autoasociativní nebo heteroasociativní paměti. Na příkladu lineární asociativní sítě jsou vysvětleny principy adaptace podle Hebbova zákona. Dalším modelem je známá Hopfieldova síť motivovaná fyzikálními ději, která je představitelem cyklických neuronových sítí. Analogovou verzi této sítě lze použít k heuristickému řešení optimalizačních úloh (např. obchodní cestující). Zavedením parametru teploty do Hopfieldovy sítě podle fyzikální analogie obdržíme stochastický model, tzv. Boltzmannův stroj. Čtvrtá kapitola se zabývá samoorganizací (tzv. učení bez učitele). Vyložíme tu Grayův algoritmus vektorové kvantizace a jeho neuronovou online variantu nazývanou Kohonenova síť. Dále věnujeme pozornost Kohone-novým samoorganizujícím mapám a různým variantám jejich dodatečného 18 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI nosti nebyl nikdy využit k řešení nějakého zajímavého praktického problému. Nicméně jeho architektura později inspirovala další konstruktéry neuropočí-tačů. V roce 1957 Frank Rosenblatt vynalezl tzv. percepiron [238] (viz podkapitolu 2.1), který je zobecněním McCullochova a Pittsova modelu neuronu pro reálný číselný obor parametrů. Pro tento model navrhl učící algoritmus, o kterém matematicky dokázal, že pro daná tréninková data nalezne po konečném počtu kroků odpovídající váhový vektor parametrů (pokud existuje) nezávisle na jeho počátečním nastavení. Tento výsledek vzbudil velké nadšení. Rosenblatt také napsal jednu z prvních knih o neurovýpočtech Principles of N euro dynamics [239]. Na základě tohoto výzkumu Rosenblatt spolu s Charlesem Wightmanem a dalšími [238] sestrojili během let 1957 a 1958 první úspěšný neuropočítač, který nesl jméno Mark I Percepiron. Protože původním odborným zájmem Rosenblatta bylo rozpoznávání obrazců, Mark I Perceptron byl navržen pro rozpoznávání znaků. Znak byl promítán na světelnou tabuli, ze které byl snímán polem 20 x 20 fotovodičů. Intenzita 400 obrazových bodů byla vstupem do neuronové sítě perceptronů, jejímž úkolem bylo klasifikovat, o jaký znak se jedná (např. „A", „B" apod.). Mark I Perceptron měl 512 adaptovatelných váhových parametrů, které byly realizovány polem 8x8x8 potenciometru. Hodnota odporu u každého potenciometru, která právě odpovídala příslušné váze, byla nastavována automaticky samostatným motorem. Ten byl řízen analogovým obvodem, který implementoval perceptronový učící algoritmus. Jednotlivé perceptrony bylo možné spojit se vstupy libovolným způsobem. Typicky bylo použito náhodné zapojení, aby se ilustrovala schopnost perceptronů učit se požadované vzory bez přesného zapojení drátů v protikladu ke klasickým programovatelným počítačům. Díky úspěšné prezentaci uvedeného neuropočítače se neurovýpočty, které byly alternativou ke klasickým výpočtům realizovaným na von neumannovské architektuře počítače, staly novým předmětem výzkumu. Frank Rosenblatt je proto dodnes některými odborníky považován za zakladatele tohoto nového oboru. Krátce po objevu perceptronů Bernard Widrow se svými studenty vyvinul další typ neuronového výpočetního prvku, který nazval ADALLNE (ADAptive LINear Element) [287] (viz podkapitolu 2.3). Tento model byl vybaven novým výkonným učícím pravidlem, které se až doposud využívá. Widrow se svými studenty demonstroval funkčnost ADALINE na mnoha jednoduchých typových příkladech. Widrow také založil první firmu (Me-misior Corporation) orientovanou na hardware neuropočítačů, která v první polovině 60. let vyráběla a prodávala neuropočítače a jejich komponenty. Na přelomu 50. a 60. let dochází k úspěšnému rozvoji neurovýpočtů v oblasti návrhu nových modelů neuronových sítí a jejich implementací. Například Karl Steinbuch vyvinul model binární asociativní sítě nebo Roger Kapitola 1 Fenomén neuronových sítí 1.1 Historie neurovýpočtů Za počátek vzniku oboru neuronových sítí je považována práce Warrena McCullocha a Waltera Pittse z roku 1943 [189], kteří vytvořili velmi jednoduchý matematický model neuronu, což je základní buňka nervové soustavy. Číselné hodnoty parametrů v tomto modelu byly převážně bipolární (tj. z množiny { — 1,0, 1}). Ukázali, že nejjednodušší typy neuronových sítí mohou v principu počítat libovolnou aritmetickou nebo logickou funkci. Ačkoliv nepočítali s možností bezprostředního praktického využití svého modelu, jejich článek měl velký vliv na ostatní badatele. Například zakladatel kybernetiky Norbert Wiener se jím inspiroval při studiu podobnosti činnosti nervové soustavy a systémů výpočetní techniky. Nebo autor amerického projektu elektronických počítačů John von Neumann napsal práce [206, 207], ve kterých navrhoval výzkum počítačů, které by byly inspirovány činností mozku. Tyto návrhy, přestože byly hojně citovány, nepřinesly zpočátku očekávané výsledky. V roce 1949 napsal Donald Hebb knihu The Organization of Behavior [98], ve které navrhl učící pravidlo pro synapse neuronů (mezineuronové rozhraní). Toto pravidlo bylo inspirováno myšlenkou, že podmíněné reflexy, které jsou pozorovatelné u všech živočichů, jsou již vlastností jednotlivých neuronů. Hebb se tak snažil vysvětlit některé experimentální výsledky z psychologie. Také jeho práce ovlivnila ostatní vědce, kteří se začali zabývat podobnými otázkami. Avšak 40. a 50. léta zatím ještě nepřinesla zásadní pokrok v oblasti neurovýpočtů. Typickým příkladem výzkumu z tohoto období byla v roce 1951 konstrukce prvního neuropočítače Snark, u jehož zrodu stál Marvin Minsky [196]. Snark byl sice úspěšný z technického hlediska, dokonce již automaticky adaptoval váhy (míra synaptické propustnosti), ale ve skuteč- 17 20 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI jich aplikace. Zásluhou programového manažera Ira Skurnicka začala v roce 1983 americká grantová agentura DARPA (Defense Advanced Research Projects Agency) finančně podporovat výzkum neuronových sítí a její příklad v krátké době následovaly další organizace podporující základní i aplikovaný výzkum. Další zásluhu na renesanci oboru neuronových sítí měl světově uznávaný fyzik John Hopfield, který se v této době začal zabývat neurovýpočty. Své výsledky publikoval v roce 1982 a 1984 ve dvou velmi čtivých článcích [122, 123], kde ukázal souvislost některých modelů neuronových sítí s fyzikálními modely magnetických materiálů. Svými zvanými přednáškami, které měl po celém světě, získal pro neuronové sítě stovky kvalifikovaných vědců, matematiků a technologů. V roce 1986 publikovali své výsledky badatelé z tzv. „PDP skupiny" (Parallel Distributed Processing Group) ve sborníku editovaném Davidem Rumelhartem a Jamesem McClellandem [244]. Zde se objevil článek Ru-melharta, Geoffreyho Hintona a Ronalda Williamse [243], kteří v něm popsali učící algoritmus zpětného šíření chyby (backpropagation) pro vícevrstvou neuronovou síť (viz podkapitolu 2.2) a vyřešili tak problém, který se Minskému a Papertovi v 60. letech jevil jako nepřekonatelná překážka pro využití a další rozvoj neuronových sítí. Tento algoritmus je dosud nejpoužívanější učící metodou neuronových sítí. Publikováním uvedeného sborníku dosáhl zájem o neuronové sítě svého vrcholu. Nic na tom nemění fakt, že uvedený algoritmus, jak se později ukázalo, byl vlastně znovu objeven, protože byl již znám a publikován některými vědci v „tichém" období (např. Arthur Bryson a Yu-Chi Ho, 1969 [44]; Paul Werbos, 1974 [286]; David Parker, 1985 [218]). Známým příkladem, který v počátcích ilustroval praktický význam neuronového učícího algoritmu backpropagation, byl systém NETtalk vyvinutý Terrencem Sejnowskim a Charlesem Rosenbergem [249]. Tento systém, vytvořený v krátké době učením neuronové sítě z příkladů, úspěšně konvertoval anglický psaný text na mluvený. Konkuroval tak svému předchůdci, systému DECtalk (Digital Equipment Corporation), který obsahoval stovky pravidel vytvářených lingvisty po celá desetiletí. V roce 1987 se v San Diegu konala první větší konference specializovaná na neuronové sítě (IEEE International Conference on Neural Networks), na které bylo 1700 účastníků, a byla založena mezinárodní společnost pro výzkum neuronových sítí INNS (International Neural Network Society). O rok později INNS začala vydávat svůj časopis Neural Networks. V následujících letech vznikly další specializované časopisy, jako např. Neural Computation (1989), IEEE Transactions on Neural Networks (1990) a mnoho jiných (např. v Praze vychází od roku 1991 mezinárodní časopis Neural Network World). Od roku 1987 mnoho renomovaných univerzit založilo nové výzkumné ústavy 1.1. HISTORIE NEUROVÝPOCTŮ 19 Barron a Lewey Gilstrap založili v roce 1960 první firmu zaměřenou na aplikace neurovýpočtů. Výsledky z uvedeného období jsou shrnuty v knize Nilse Nilssona Learning Machines [208] z roku 1965. Přes nesporné úspěchy dosažené v tomto období se obor neuronových sítí potýkal se dvěma zřejmými problémy. Za prvé, většina badatelů přistupovala k neuronovým sítím z experimentálního hlediska (připomínajícího tak trochu alchymii) a zanedbávala analytický výzkum neuronových modelů. Za druhé, nadšení některých výzkumných pracovníků vedlo k velké publicitě neopodstatněných prohlášení jako například, že za několik málo let bude vyvinut umělý mozek. Tyto skutečnosti diskreditovaly neuronové sítě v očích odborníků z jiných oblastí a odradily vědce a inženýry, kteří se o neurovýpočty zajímali. Navíc se samotný obor neuronových sítí vyčerpal a další pokrok v této oblasti by býval vyžadoval radikálně nové myšlenky a postupy. Nejlepší odborníci oblast neuronových sítí opouštěli a začali se zabývat příbuznými obory umělé inteligence. Poslední epizodou tohoto období byla kampaň vedená Marvinem Minským a Seymourem Papertem, kteří využili svého vlivu, aby diskreditovali výzkum neuronových sítí, nacházející se v krizi, ve snaze převést finanční zdroje z této oblasti na jiný výzkum v umělé inteligenci. V té době koloval rukopis jejich výzkumné zprávy, která napomáhala tomuto záměru. Uvedený rukopis pak byl v upravené formě publikován v roce 1969 pod názvem Per-ceptrons [197]. V této knize Minsky a Papert využili pro svoji argumentaci známého triviálního faktu, že jeden perceptron nemůže počítat jednoduchou logickou funkci, tzv. vylučovací disjunkci (XOR). Tento problém lze sice vyřešit vytvořením dvouvrstvé sítě se třemi neurony, ale pro vícevrstvý perceptron nebyl v té době znám učící algoritmus. Autoři z toho nesprávně vyvodili, že takový algoritmus vzhledem ke komplikovanosti funkce, kterou vícevrstvá síť počítá, snad ani není možný. Jejich tvrzení bylo všeobecně přejato a považováno za matematicky dokázané. Kampaň Minského a Paperta byla úspěšná, výzkum neuronových sítí již nebyl dále dotován a neurovýpočty byly považovány za neperspektivní. V dalším období od roku 1967 do 1982 probíhal výzkum neuronových sítí ojediněle a izolovaně, převážně mimo území Spojených států, kde kniha Perceptrons měla velký vliv. Většina prací byla publikována např. pod hlavičkou adaptivní zpracování signálů, rozpoznávání obrazců a biologické modelování. Avšak již v počátcích tohoto „tichého" období se neurovýpočty začali zabývat talentovaní badatelé, mezi nimiž byli např. Shun-Ichi Amari, James Anderson, Kunihiko Fukushima, Stephen Grossberg, Harry Klopf, Teuvo Kohonen a David Willshaw. Tito vědci později přispěli svými objevy k renesanci neuronových sítí. Počátkem 80. let se badatelé v oblasti neurovýpočtů osmělili a začali podávat vlastní grantové projekty zaměřené na vývoj neuropočítačů a je- 22 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTÍ zpracování informace, které je základem pro vědomé řízení činnosti efektorů, probíhá již sekvenčně v tzv. asociačních oblastech. Základním stavebním funkčním prvkem nervové soustavy je nervová buňka, tzv. neuron. Jen mozková kůra člověka je tvořena asi 13 až 15 miliardami neuronů, z nichž každý může být spojen s 5000 jinými neurony. Neurony jsou samostatné specializované buňky určené k přenosu, zpracování a uchování informací nutných pro realizaci životních funkcí organismu. Struktura neuronu je schematicky znázorněna na obrázku 1.1. Neuron je přizpůsoben pro terminály axonu axon soma dendrity Obr. 1.1: Biologický neuron. přenos signálů tak. že kromě vlastního těla. tzv. sómatu, má i vstupní a výstupní přenosové kanály: dendrity a axon. Z axonu obvykle odbočuje řada větví, tzv. terminálů, zakončených blánou, která se převážně stýká s výběžky, tzv. trny, dendritů jiných neuronů, jak je naznačeno na obrázku 1.2. K přenosu informace pak slouží unikátní mezineuronové rozhraní, tzv. (chemická) synapse. Míra synaptické propustnosti je nositelem všech význačných informací během celého života organismu. Z funkčního hlediska lze synapse roz- 1.2. NEUROFYZIOLOGICKÉ MOTIVACE 21 zabývající se neuronovými sítěmi a vyhlásilo výukové programy zaměřené na neurovýpočty. Tento trend pokračuje až dodnes, kdy se zdá, že široký záběr výzkumu a vynaložené investice neodpovídají kvalitě dosažených výsledků. Teprve blízká budoucnost opět prověří životnost oboru neuronových sítí. 1.2 Neurofyziologické motivace Původním cílem výzkumu neuronových sítí byla snaha pochopit a modelovat, jakým způsobem myslíme a jak funguje lidský mozek. Neurofyziologické poznatky umožnily vytvořit zjednodušené matematické modely, které se dají využít pro neurovýpočty při řešení praktických úloh z umělé inteligence. To znamená, že neurofyziologie zde slouží jen jako zdroj inspirací a navržené modely neuronových sítí jsou již dále rozvíjeny bez ohledu na to, zda modelují lidský mozek. Přesto, je-li to užitečné, lze se k této analogii vracet pro nové inspirace nebo je možné ji využít při popisu vlastností matematického modelu. Proto je účelné se seznámit se základními poznatky z neurofyziologie v takovém rozsahu, který nám umožní pochopit původní motivace matematických modelů neuronových sítí. Nejsme v tomto oboru žádnými odborníky, ale následující výklad bychom snad mohli obhájit výrokem jistého neurofy-ziologa, který tvrdí, že současné poznání činnosti lidského mozku je natolik povrchní, že cokoliv o mozku řekneme, může být považováno za pravdivé. Z týchž úst jsme slyšeli, že přístroje (např. EEG), kterými v současnosti studujeme mozek, lze přirovnat k mikrofonu nad rozbouřeným fotbalovým stadiónem, pomocí kterého bychom se rádi dozvěděli, co si říkají dva diváci v zástupu fanoušků. Na druhou stranu nám nejde o vytvoření identické kopie mozku, ale chceme napodobit jeho základní funkce (podobně jako letadla mají s ptáky společné hlavně to, že létají). Nervová soustava člověka (obecně živých organismů) zprostředkuje vztahy mezi vnějším prostředím a organismem, i mezi jeho částmi, a zajišťuje tak příslušnou reakci na vnější podněty i na vnitřní stavy organismu. Tento proces probíhá šířením vzruchů z jednotlivých čidel, tzv. receptoru, které umožňují přijímat mechanické, tepelné, chemické a světelné podněty, směrem k jiným nervovým buňkám, které tyto signály zpracovávají a přivádí k příslušným výkonným orgánům, tzv. ejektorům. Tyto vzruchy se po projekčních drahách, kde dochází k prvnímu předzpracování, kompresi a filtraci informace, dostávají až do mozkové kůry, která je nejvyšším řídícím centrem nervového systému. Na povrchu mozku můžeme rozlišit celkem šest primárních vzájemně propojených projekčních oblastí odpovídajících přibližně smyslům, ve kterých dochází k paralelnímu zpracování informace. Komplexní 24 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI Nervová soustava človeka je velmi složitý systém, který je stále předmětem zkoumání. Uvedené velmi zjednodušené neurofyziologicke principy nám však v dostatečné míře poslouží k formulaci matematického modelu neuronové sítě. 1.3 Matematický model neuronové sítě 1.3.1 Formální neuron Základem matematického modelu neuronové sítě bude formální neuron, který získáme přeformulováním zjednodušené funkce ncurofyziologického neuronu do matematické řeči. Jeho struktura je schematicky znázorněna na obrázku 1.3. Formální neuron (dále jen neuron) má n obecně reálných vstupů práh bias Xo = 1 wo = —h Obr. 1.3: Formální neuron. x\, . . . ,xn, které modelují dendrity. Vstupy jsou ohodnoceny odpovídajícími obecně reálnými synaptickými váhami w\, . . .,wn, které určují jejich propustnost. Ve shodě s ncurofyziologickou motivací mohou být synaptické váhy záporné, čímž se vyjadřuje jejich inhibiční charakter. Zvážená suma vstupních hodnot představuje vnitřní potenciál neuronu: ť = E' (ii) Hodnota vnitřního potenciálu £ po dosažení tzv. prakové hodnoty h indukuje výstup (stav) neuronu y, který modeluje elektrický impuls axonu. Nelineární nárůst výstupní hodnoty y = 0. (1.5) 8 = 1 Body [xi , . . ., x~] z druhého poloprostoru vyhovují nerovnosti s opačným relačním znaménkem: n 8 = 1 Synaptické váhy neuronu wo, ■ ■ ■ ,wn (včetně biasu) lze chápat jako koeficienty této nadroviny. Je zřejmé, že neuron ve vstupním prostoru klasifikuje, ve kterém ze dvou poloprostorů určených touto nadrovinou leží bod, jehož souřadnice jsou na vstupu, tj. neuron realizuje tzv. dichotomii vstupního prostoru. Přesněji řečeno, neuron je aktivní (tj. stav neuronu je y = 1), jestliže vstupy neuronu splňují podmínku (1.5) nebo (1.4), tj. představují souřadnice bodu, který leží v prvním poloprostoru nebo na nadrovině. V případě, že tento bod leží ve druhém poloprostoru, vstupy neuronu vyhovují podmínce (1.6) a neuron je pasivní (tj. stav neuronu je y = 0). w0 + YTl=i w*x* = ° Obr. 1.5: Separace obrazů „A" a „B" pomocí neuronu. Význam funkce neuronu ilustrujeme na motivačním (trochu nadneseném) příkladu z oblasti rozpoznávání obrazců. Představme si, že školák z první 1.3. MATEMATICKY MODEL NEURONOVÉ SÍTĚ 25 je dán tzv. aktivační (přenosovou) funkcí a. Nejjednodušším typem aktivační funkce je tzv. ostrá nelinearita, která má tvar: ( f 1 jestliže £ > h , > a^> = { 0 jestliže í < h . (L2) Formální úpravou lze docílit toho, že funkce a bude mít nulový práh a vlastní práh neuronu se záporným znaménkem budeme chápat jako váhu, tzv. bias Wq = — h dalšího formálního vstupu x0 = 1 s konstantní jednotkovou hodnotou, jakje naznačeno na obrázku 1.3. Matematická formulace funkce neuronu je potom dána vztahem: »=««={ i í::;::í^' ^=|>«- ™ K lepšímu pochopení funkce jednoho neuronu nám pomůže geometrická představa načrtnutá na obrázku 1.4. Vstupy neuronu budeme chápat jako w0 + YTl=i w*x* = ° [X2 , • • • , Xnj KZ Í-Jri / w0 + YTl=i w'xi > ° / / • I wo + YT*=i w'x~ < ° Obr. 1.4: Geometrická interpretace funkce neuronu. souřadnice bodu v n-rozměrném euklidovském, tzv. vstupním prostoru En. V tomto prostoru má rovnice nadroviny (např. v E2 přímka, v E3 rovina) tvar: n w0 + ^2w{Xi = 0 . (1.4) 8 = 1 28 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI hoto písmene od obrazů ostatních písmen. Je pravděpodobné, že na začátku školního roku budou váhy neuronu odpovídajícího za dichotomii písmen „A" a „B" nastaveny náhodně, protože školák ještě neumí číst. V průběhu učení, kdy mu je předkládáno množství vzorových písmen, se váhy tohoto neuronu budou postupně adaptovat tak, aby příslušná nadrovina začala oddělovat shluk bodů odpovídající písmenu „A" od shluku bodů reprezentující písmeno „B". Například si představme, že školák již celkem dobře od sebe rozliší vzorová písmena „A" a „B". V této fázi učení se setká s již trochu vypsaným rukopisem své maminky, kde obraz písmene „A" bude deformován tak, že jej zprvu bude číst jako písmeno „B". To znamená, že příslušná nadrovina reprezentovaná uvedeným neuronem rozděluje vstupní prostor takovým způsobem, že bod odpovídající deformovanému obrazu písmene „A" leží nesprávně v poloprostoru příslušejícím písmenu „B". Při chybném čtení maminka školáka opraví a školák si přizpůsobí příslušné synaptické váhy w0, . . .wn tak, aby se nadrovina natočila a zahrnula nový vzor do správného poloprostoru. Tato situace je znázorněna na obrázku 1.6, kde je nová poloha nadroviny (reprezentovaná váhami w'0, . . .w'n) vyznačena přerušovanou čarou. V uvedeném případě je tedy potřeba korekce učitele, kterého představuje maminka. Někdy může být stimulací k učení negativní zkušenost, kdy správné rozlišení objektů je otázkou přežití (např. kuře se musí naučit rozlišit hospodáře, který mu přináší potravu, od dravce, který je chce zahubit). Adaptování vah X2 [0,0] X\ [1,0] Obr. 1.7: Geometrické znázornění funkce XOR. 1.3. MATEMATICKY MODEL NEURONOVÉ SÍTĚ 27 W° + Sľ=l WlXl = ° W'° + Sľ=l WiXi = ° / r / / / h / * / I / / • ß B Obr. 1.6: Adaptace vah neuronu při chybné klasifikaci obrazu „A". třídy se učí číst a rozpoznávat písmena. Pro jednoduchost předpokládejme, že za dichotomii písmen „A" a „B" je v jeho mozku odpovědný jeden neuron (srovnejte s využitím Rosenblattova neuropočítače Mark I Perceptron v podkapitole 1.1). Obraz jednoho písmene je rozložen na matici n = k x k bodů. Intenzita těchto obrazových bodů vyjádřená reálnými čísly je vstupem uvedeného neuronu. Tedy každé písmeno v naší geometrické představě odpovídá bodu v n-rozměrném vstupním prostoru neuronu. Je zřejmé, že školák se při svém učení setká s různými výskyty písmene „A" (např. vzorové písmo v čítance, písmo učitele apod.), jejichž tvar nebude vždy totožný, ale měl by být velmi podobný (vždy se jedná o písmeno „A"). Body ve vstupním prostoru neuronu odpovídající těmto výskytům písmene „A" by neměly být vzhledem k podobnosti obrazových vzorů od sebe příliš vzdálené (měřeno euklidovskou metrikou). Na druhou stranu bod reprezentující písmeno „B", jehož obraz se dostatečně liší od obrazu písmene „A", bude ve vstupním prostoru poněkud vzdálen od bodů odpovídajících písmenu „A". Jinými slovy body reprezentující písmena „A" a „B" vytvoří ve vstupním prostoru dva oddělené shluky. Funkcí uvedeného neuronu je oddělit tyto shluky příslušnou nadrovinou tak, jak je naznačeno na obrázku 1.5. Na uvedeném příkladě je vidět metodologickou odlišnost reprezentace konceptů v neuronových sítích. Školák si nemusí pamatovat jednotlivé obrazy všech výskytů daného písmene. Stačí, když synaptické váhy příslušného neuronu budou nastaveny tak, že odpovídající nadrovina oddělí obrazy to- A Á * A 30 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI těmito zákonitostmi, probíhají v odpovídajících režimech práce neuronové sítě. Konkretizací jednotlivých dynamik pak obdržíme různé modely neuronových sítí vhodné pro řešení určitých tříd úloh. To znamená, že pro specifikaci konkrétního modelu neuronové sítě stačí, když definujeme jeho organizační, aktivní a adaptivní dynamiku. V následujícím výkladu popíšeme obecné principy a různé typy těchto tří dynamik, které jsou základem pro dělení a klasifikaci modelů neuronových sítí. Také zmíníme několik typických příkladů, které se nám budou později hodit při popisu konkrétních modelů neuronových sítí. Organizační dynamika Organizační dynamika specifikuje architekturu sítě a její případnou změnu. Změna topologie se většinou uplatňuje v rámci adaptivního režimu tak, že síť je v případě potřeby rozšířena o další neurony a příslušné spoje. Avšak organizační dynamika převážně předpokládá pevnou architekturu neuronové sítě, která se již nemění. Obr. 1.8: Příklad cyklické architektury. Rozlišujeme v zásadě dva typy architektury: cyklická (resp. rekurentní) a acyklická (resp. dopředná) síť. V případě cyklické topologie existuje v síti skupina neuronů, která je zapojena v kruhu (tzv. cyklus). To znamená, že v této skupině neuronů je výstup prvního neuronu vstupem druhého neuronu, jehož výstup je opět vstupem třetího neuronu atd., až výstup posledního neuronu v této skupině je vstupem prvního neuronu. Nejjednodušším příkladem cyklu je zpětná vazba neuronu, jehož výstup je zároveň jeho vstu- 1.3. MATEMATICKY MODEL NEURONOVÉ SÍTĚ 29 u formálního neuronu modeluje změnu synaptických propustností biologického neuronu a vznik paměťových stop v nervové soustavě živého organismu. Uvedený motivační příklad měl osvětlit základní principy matematického modelu neuronu. Je zřejmé, že jeden neuron může řešit jen velmi jednoduché úlohy. Typickým příkladem logické funkce, kterou nelze počítat pomocí jednoho neuronu je vylučovací disjunkce XOR (srovnejte s argumentem Minského a Paperta proti perceptronu v podkapitole 1.1). Uvažujme např. jen dva binární vstupy (jejichž hodnoty jsou z množiny {0, 1}) a jeden binární výstup, jehož hodnota je 1, právě když hodnota právě jednoho vstupu je 1 (tj. XOR(0, 0) = 0, XOR(í, 0) = 1, XOR(0,1) = 1, XOR(í, 1) = 0). Z obrázku 1.7, kde jsou všechny možné vstupy znázorněny ve vstupním prostoru E i a ohodnoceny odpovídajícími výstupy, je zřejmé, že neexistuje nadrovina (přímka), která by oddělila body příslušející k výstupu 1 od bodů odpovídajících výstupu 0. Z uvedeného vyplývá, že pro řešení složitějších úloh, je potřeba neurony spojovat do sítě stejně tak, jak je tomu v nervové soustavě člověka. 1.3.2 Neuronová síť Neuronová síť se skládá z formálních neuronů, které jsou vzájemně propojené tak, že výstup neuronu je vstupem obecně více neuronů podobně, jako terminály axonu biologického neuronu jsou přes synaptické vazby spojeny s dendrity jiných neuronů. Počet neuronů a jejich vzájemné propojení v síti určuje tzv. architekturu (topologii) neuronové sítě. Z hlediska využití rozlišujeme v síti vstupní, pracovní (skryté, mezilehlé) a výstupní neurony. Lze zjednodušeně říci, že v neurofyziologické analogii vstupní neurony odpovídají receptorům, výstupní neurony efektorům a propojené pracovní neurony mezi nimi vytváří příslušné dráhy, po kterých se šíří vlastní vzruchy. Tyto dráhy budeme v matematickém modelu nazývat cestami. Šíření a zpracování informace na cestě v síti je umožněno změnou stavů neuronů ležících na této cestě. Stavy všech neuronů v síti určují tzv. stav neuronové sítě a synaptické váhy všech spojů představují tzv. konfiguraci neuronové sítě. Neuronová síť se v čase vyvíjí, mění se propojení a stav neuronů, adaptují se váhy. V souvislosti se změnou těchto charakteristik v čase je účelné celkovou dynamiku neuronové sítě rozdělit do tří dynamik a uvažovat pak tři režimy práce sítě: organizační (změna topologie), aktivní (změna stavu) a adaptivní (změna konfigurace). Toto dělení neodpovídá neurofyziologické skutečnosti, protože v nervové soustavě probíhají příslušné změny současně. Uvedené dynamiky neuronové sítě jsou obvykle zadány počátečním stavem a matematickou rovnicí, resp. pravidlem, které určuje vývoj příslušné charakteristiky sítě (topologie, stav, konfigurace) v čase. Změny, které se řídí 32 KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI výstupní vrstva > skryté vrstvy vstupní vrstva Obr. 1.10: Příklad architektury vícevrstvé neuronové sítě 3-4-3-2. Aktivní dynamika Aktivní dynamika specifikuje počáteční stav sítě a způsob jeho změny v čase při pevné topologii a konfiguraci. V aktivním režimu se na začátku nastaví stavy vstupních neuronů na tzv. vstup sítě a zbylé neurony jsou v uvedeném počátečním stavu. Všechny možné vstupy, resp. stavy sítě, tvoří tzv. vstupní prostor, resp. stavový prostor, neuronové sítě. Po inicializaci stavu sítě probíhá vlastní výpočet. Obecně se uvažuje spojitý vývoj stavu neuronové sítě v čase a hovoří se o tzv. spojitém modelu, kdy stav sítě je (spojitou) funkcí času, která je obvykle v aktivní dynamice zadána diferenciální rovnicí. Většinou se však předpokládá diskrétní čas, tj. na počátku se síť nachází v čase 0 a stav sítě se mění jen v čase 1, 2, 3, .... V každém takovém časovém kroku je podle daného pravidla aktivní dynamiky vybrán jeden neuron (tzv. sekvenční výpočet) nebo více neuronů (tzv. paralelní výpočet), které aktualizují (mění) svůj stav na základě svých vstupů, tj. stavů sousedních neuronů, jejichž výstupy jsou vstupy aktualizovaných neuronů. Podle toho, zda neurony mění svůj stav nezávisle na sobě nebo je jejich aktualizace řízena centrálně, rozlišujeme asynchronní a synchronní modely neuronových sítí. Stav výstupních neuronů, který se obecně mění v čase, je tzv. výstupem neuronové sítě (tj. výsledkem výpočtu). Obvykle se však uvažuje taková aktivní dynamika, že výstup sítě je po nějakém čase konstantní a neuronová síť tak v aktiv- 1.3. MATEMATICKÝ MODEL NEURONOVÉ SÍTĚ 31 pem. Nejvíce cyklů je v tzv. úplné topologii cyklické neuronové sítě, kde výstup libovolného neuronu je vstupem každého neuronu. Příklad obecné cyklické neuronové sítě je na obrázku 1.8, kde jsou vyznačeny všechny cykly. V acyklických sítích naopak cyklus neexistuje a všechny cesty vedou jedním směrem. Příklad acyklické neuronové sítě je na obrázku 1.9, kde je vyznačena nejdelší cesta. Obr. 1.9: Příklad acyklické architektury. U acyklické neuronové sítě lze neurony vždy (disjunktně) rozdělit do tzv. vrstev, které jsou uspořádány (např. nad sebou) tak, že spoje mezi neurony vedou jen z nižších vrstev do vyšších a obecně mohou přeskočit jednu nebo více vrstev. Speciálním případem takové architektury je tzv. vícevrstvá neuronová síť. V této síti je nultá (dolní), tzv. vstupní vrstva tvořena vstupními neurony a poslední (horní), tzv. výstupní vrstva se skládá z výstupních neuronů. Ostatní, tzv. skryté (mezilehlé) vrstvy jsou složeny ze skrytých neuronů. Jak už bylo naznačeno, vrstvy číslujeme od nuly, která odpovídá vstupní vrstvě. Tu potom nepočítáme do počtu vrstev sítě (např. dvouvrstvá neuronová síť se skládá ze vstupní, jedné skryté a výstupní vrstvy). V topologii vícevrstvé sítě jsou neurony jedné vrstvy spojeny se všemi neurony bezprostředně následující vrstvy (příp. chybějící spoje lze implicitně chápat jako spoje s nulovými váhami). Proto architekturu takové sítě lze zadat jen počty neuronů v jednotlivých vrstvách, typicky oddělenými pomlčkou, v pořadí od vstupní k výstupní vrstvě. Také cesta v takové síti vede směrem od vstupní vrstvy k výstupní, přičemž obsahuje po jednom neuronu z každé vrstvy. Příklad architektury třívrstvé neuronové sítě 3-4-3-2 s jednou vyznačenou cestou je na obrázku 1.10, kde kromě vstupní a výstupní vrstvy jsou dvě skryté vrstvy. KAPITOLA 1. FENOMÉN NEURONOVÝCH SÍTI y h i —$- o y k i ostrá nelinearita saturovaná lineárni funkce 0 i ----------3» í VI \ 1 0 í VI \ 1 ^y 0 í standardní (logistická) sigmoida hyperbolický tangens Obr. 1.11: Grafy sigmoidních aktivačních funkcí. konfigurace této vícevrstvé sítě. Na začátku jsou (obecně reálné) stavy neuronů vstupní vrstvy nastaveny na vstup sítě a ostatní (tj. skryté a výstupní) neurony jsou pasivní. Výpočet vícevrstvé sítě dále probíhá v diskrétním čase. V časovém kroku 1 jsou aktualizovány stavy neuronů z první (skryté) vrstvy podle rovnice (1.3). To znamená, že neurony z této vrstvy převezmou své vstupy od vstupních neuronů, spočítají svůj vnitřní potenciál jako zváženou sumu těchto vstupů a svůj stav (výstup) určí ze znaménka této sumy pomocí přenosové funkce. V časovém kroku 2 jsou pak aktualizovány stavy neuronů z druhé (skryté) vrstvy opět podle rovnice (1.3). V tomto případě výstupy 1.3. MATEMATICKY MODEL NEURONOVÉ SÍTĚ 33 ním režimu realizuje nějakou funkci na vstupním prostoru, tj. ke každému vstupu sítě vypočítá právě jeden výstup. Tato tzv. funkce neuronové sítě je tedy dána aktivní dynamikou, jejíž rovnice parametricky závisí na topologii a konfiguraci, které se v aktivním režimu nemění. Je zřejmé, že v aktivním režimu se neuronová síť využívá k vlastním výpočtům. Aktivní dynamika neuronové sítě také určuje funkci jednoho neuronu, jejíž předpis (matematický vzorec) je většinou pro všechny (nevstupní) neurony v síti stejný (tzv. homogenní neuronová síť). Zatím jsme uvažovali jen tvar funkce neuronu daný rovnicí (1.3), která byla inspirovaná funkcí biologického neuronu. U modelů neuronových sítí se však běžně setkáváme s jinými funkcemi, které nemusí mít neurofyziologický vzor, ale vznikly již jen matematickou invencí nebo byly dokonce motivovány jinými, např. fyzikálními teoriemi. Například místo zvážené sumy (1.1) se u tzv. neuronových sítí vyššího řádu používá obecně polynom více proměnných (vstupů). Nebo někdy vnitřní potenciál neuronu odpovídá formálně normě určující vzdálenost vstupu od váhového vektoru apod. Také diskrétní přenosová funkce (1.2) bývá aproximována spojitou (příp. diferencovatelnou) aktivační funkcí, popř. nahrazena úplně odlišnou funkcí. V této práci se setkáme např. s následujícími sigmoidními aktivačními funkcemi: ostrá nelinearita (hard limiter) (1.7), saturovaná lineární funkce (saturated-linear function, resp. piecewise-linear function) (1.8), standardní (logistická) sigmoida (standard sigmoid, resp. logistic function) (1.9), hyperbolický tangens (1.10) apod. 1 {0, 1}, která má tvar ostré nelinearity (1.7). To znamená, že funkce y(w) : Rn ----> {0, l}m sítě perceptronu, která závisí na konfiguraci w, je dána následujícím vztahem: Vj = cr(tj) Í = !>• ,,m. kde 0 ^<0. (2.2) V adaptivním režimu je požadovaná funkce sítě perceptronu zadána tréninkovou množinou T = \ (xk,dk) Xfc (xki i%kn) t dfc = (dki, . . .,cřfcm) e {0, I}" 1, ,p (2.3) kde Xfc je reálný vstup fc-tého tréninkového vzoru a d^ je odpovídající požadovaný binární výstup (daný učitelem). Cílem adaptace je, aby síť pro každý vstup Xfc (k = 1, . . . ,p) z tréninkové množiny odpovídala v aktivním režimu požadovaným výstupem dk, tj. aby platilo: y(w,Xfc) = dk 1. .,p. (2.4) Samozřejmě podmínku (2.4) nelze vždy splnit, protože ne každou funkci lze počítat jedním perceptronem (viz např. obrázek 1.7 funkce XOR) nebo tréninková množina nemusí být funkcí (tj. k jednomu vstupu jsou požadované Kapitola 2 Klasické modely neuronových sítí 2.1 Síť perceptronu Historicky prvním úspěšným modelem neuronové sítě (viz podkapitolu 1.1) byla sít perceptronu [238]. Organizační dynamika této sítě specifikuje na začátku pevnou architekturu jednovrstvé sítě n-m. To znamená, že síť se skládá z n vstupních neuronů, z nichž každý je vstupem každého z m výstupních neuronů, jak je naznačeno na obrázku 2.1. Označme Xi,...,xn reálné stavy vstupních neuronů, tj. x = (xi, . . .,xn) G Rn je vstup sítě, a 2/1, • • •, Vm binární stavy výstupních neuronů, tj. y = (y1, . . ., ym) £ {0, l}m je výstup sítě. Dále wjí představuje reálnou synaptickou váhu spoje od i-tého vstupního (i = 1, . . ., n) k j-tému výstupnímu (j = 1, . . ., rn) neuronu a Wjo = —hj je bias (práh hj s opačným znaménkem) j-tého výstupního neuronu odpovídající formálnímu jednotkovému vstupu xo = 1. Aktivní dynamika sítě perceptronu určuje způsob výpočtu funkce sítě. V tomto případě se reálné stavy neuronů ve vstupní vrstvě nastaví na vstup sítě a výstupní neurony počítají svůj binární stav, který určuje výstup sítě, stejným způsobem jako formální neuron (viz rovnici (1.3)). To znamená, že každý perceptron nejprve vypočte svůj vnitřní potenciál jako příslušnou afinní kombinaci vstupů: n tj = ^2 wiiXi i = !> • • •' m ' (2-1) 8 = 0 jejíž koeficienty w = (u>io, . . ., w\n, . . ., wmo, . . ., wmn) tvoří konfiguraci sítě. Stav perceptronu se pak určí z jeho vnitřního potenciálu aplikací aktivační /IQ 52 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI Vzhledem k tomu, že perceptronová síť může počítat jen omezenou třídu funkcí, je význam tohoto modelu spíše teoretický. Naznačená věta o konvergenci adaptivního režimu sítě není zárukou efektivity učení, což potvrdily časově náročné praktické experimenty. Také generalizační schopnost tohoto modelu není velká, protože síť perceptronů lze použít jen v případě, kdy klasifikované objekty jsou ve vstupním prostoru oddělitelné nadrovinou (např. speciální úlohy rozpoznávání obrazů apod.). Tento jednoduchý model je však základem složitějších modelů jako je obecná vícevrstvá síť s učícím algoritmem backpropagation. 2.2 Vícevrstvá síť a backpropagation Nejznámější a nejpoužívanější model neuronové sítě je vícevrstvá neuronová síť s učícím algoritmem zpětného šíření chyby (backpropagation) [243], který se používá přibližně v 80% všech aplikací neuronových sítí. Význam uvedeného algoritmu pro rozvoj neurovýpočtů jsme objasnili v podkapitole 1.1. Tento model je zobecněním sítě perceptronů pro architekturu se skrytými vrstvami (tzv. vícevrstvý perceptron), a proto se při jeho výkladu budeme na principy modelu sítě perceptronů odvolávat (viz podkapitolu 2.1). Vzhledem k rozšířenosti vícevrstvého perceptronů a jeho určitým nedostatkům existuje mnoho variant tohoto modelu, které se snaží zlepšit jeho vlastnosti. Nejprve popíšeme základní variantu a pak naznačíme některé možné modifikace. 2.2.1 Organizační a aktivní dynamika Organizační dynamika vícevrstvého perceptronů specifikuje na začátku (většinou) pevnou topologii vícevrstvé neuronové sítě. Standardně se používá dvouvrstvá, resp. třívrstvá síť (viz např. obrázek 1.10), protože význam skrytých neuronů a jejich vazeb, potřebný pro návrh speciální topologie, není znám. V našem výkladu popíšeme model s obecnou acyklickou architekturou. Pro tento účel zavedeme následující značení. Množinu n vstupních neuronů označíme X a množinu m výstupních neuronů Y. Neurony značíme indexy i, j apod, a £j představuje reálný vnitřní potenciál a y j reálný stav, resp. výstup neuronu j. Podobně jako u sítě perceptronů spoj od neuronu i k nevstupnímu neuronu j je ohodnocen reálnou synaptickou váhou wjí a Wjo = —hj je bias (práh hj s opačným znaménkem) nevstupního neuronu j odpovídající formálnímu jednotkovému vstupu i/o = 1- Dále jV označuje množinu všech neuronů, z nichž vede spoj do neuronu j a které jsou tedy vstupem neuronu j (tj. včetně formálního jednotkového vstupu 0 G ji-), a j~* je množina neuronů, do nichž vede spoj z neuronu j a kterým je proto neuron j vstupem. 2.1. SlŤ PERCEPTRONŮ 51 dva různé výstupy). V takovém případě se snažíme, aby se síť naučila co nejvíce vzorů. V praxi je také někdy lepší, aby se síť nenaučila tréninkovou množinu stoprocentně, protože příkladové vzory nemusí být úplně přesné (učitel nemusí být dokonalý). Na začátku adaptace v čase 0 jsou váhy konfigurace w(°) nastaveny náhodně blízko nuly, např. w-^ £ (—1,1) (j = í,...,m, i = 0,...,n). Síť perceptronů má diskrétní adaptivní dynamiku. V každém časovém kroku učení t = 1, 2, 3, ... je síti předložen jeden vzor z tréninkové množiny a síť se ho snaží naučit, tj. adaptuje podle něj své váhy. Pořadí vzorů při učení je dáno tzv. tréninkovou strategií, kterou lze např. volit v analogii s lidským učením. Některý student na zkoušku několikrát přečte učebnici, jiný se hned při prvním čtení vše důkladně učí a oba na konci popř. opakují části, které neumí. Adaptace sítě perceptronů obvykle probíhá v tzv. tréninkových cyklech, ve kterých se systematicky prochází všechny vzory tréninkové množiny (popř. každý vzor i vícekrát za sebou). Tedy např. v čase t = (c — í)p + k (kde 1 < k < p), který odpovídá c-tému tréninkovému cyklu, se síť učí k-tý tréninkový vzor. Adaptivní dynamika sítě perceptronů, která určuje změnu konfigurace wW v čase t > 0, kdy je předložen k-tý tréninkový vzor, je dána následujícím perceptronovým učícím pravidlem: w$ = wfrv-exkl (^(wí*-1),^)-dkj) JŽq1;;;;;^ (2-5) Rychlost učení (learning rate) 0 < s < 1 je mírou vlivu vzorů na adaptaci („motivace" k učení). Většinou se na začátku volí malá rychlost učení, která později během adaptace roste. To v analogii s přípravou studenta na zkoušku odpovídá prvnímu povrchnímu seznámení s předmětem učení a pozdějšímu důkladnému doučení detailů. Výraz t/j(w(*-1), x^) — dkj ve vzorci (2.5) je rozdíl mezi skutečným j-tým výstupem sítě pro vstup fc-tého vzoru a požadovanou hodnotou odpovídajícího výstupu tohoto vzoru. Určuje tedy chybu j-tého výstupu sítě pro k-tý tréninkový vzor. Je zřejmé, že pokud je tato chyba nulová, příslušné váhy se neadaptují. V opačném případě může být tato chyba buď 1, nebo —1, protože uvažujeme binární výstupy. V geometrické interpretaci adaptace podle (2.5) znamená, že nadrovina s koeficienty Wj0, . . ., Wjn příslušející k j-tému neuronu se ve vstupním prostoru posune ve směru chybně klasifikovaného vzoru Xfc, aby jej zahrnula do správného poloprostoru. Objevitel perceptronů Rosenblatt ukázal (viz větu 12.24), že adaptivní dynamika (2.5) zajistí, aby síť po konečném počtu kroků adaptivního režimu nalezla konfiguraci (pokud existuje), pro kterou bude správně klasifikovat všechny tréninkové vzory (tj. chyba sítě bude vzhledem ke tréninkové množině nulová), a tedy bude splněna podmínka (2.4). 54 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI Parciálni chyba ^(w) sítě vzhledem ke k-téimi tréninkovému vzoruje úměrná součtu mocnin odchylek skutečných hodnot výstupů sítě pro vstup Jetého tréninkového vzoru od odpovídajících požadovaných hodnot výstupů u tohoto vzoru: ^(w) = ^E(%(w'xfc)-^')2 • (2-10) jer Cílem adaptace je minimalizace chyby sítě (2.9) ve váhovém prostoru. Vzhledem k tomu, že chyba sítě přímo závisí na komplikované nelineární složené funkci vícevrstvé sítě, tento cíl představuje netriviální optimalizační problém. Pro jeho řešení se v základním modelu používá nejjednodušší varianta gradientní metody, která vyžaduje diferencovatelnost chybové funkce. Na začátku adaptace v čase 0 jsou váhy konfigurace w'-1 nastaveny náhodně blízko nuly, např. w-' £ (—1, 1} (nebo důmyslněji řádově l/-\/|jV-1, kde \j<-\ je počet vstupů i £ j^_ neuronu j). Adaptace probíhá v diskrétních časových krocích, které odpovídají tréninkovým cyklům. Nová konfigurace wW v čase t > 0 se vypočte: (*) i*"1) , A (*) /O 1 1\ w--=w-- ; + Aw--' , (2.11) kde změna vah Aw'1' v čase t > 0 je úměrná zápornému gradientu chybové funkce ^(w) v bodě w(*-1): *"V = -'■&, (""■")■ (2-12> kde 0 < s < 1 je rychlost učení, jejíž význam je podobný jako u sítě per-ceptronů. K lepšímu pochopení uvedené gradientní metody nám opět pomůže geometrická představa. Na obrázku 2.2 je schematicky znázorněna chybová funkce E(w) tak, že konfigurace, která představuje (typicky) mnohorozměrný vektor vah w, se promítá na osu x. Chybová funkce určuje chybu sítě vzhledem k pevné tréninkové množině v závislosti na konfiguraci. V adaptivním režimu hledáme takovou konfiguraci, pro kterou je chybová funkce minimální. Začneme s náhodně zvolenou konfigurací w(°), kdy odpovídající chyba sítě od požadované funkce bude pravděpodobně velká. V analogii s lidským učením to odpovídá počátečnímu nastavení synaptických vah u novorozence, který místo požadovaného chování jako chůze, řeč apod. provádí náhodné pohyby a vydává neurčité zvuky. Při adaptaci sestrojíme v tomto bodě w(°) ke grafu chybové funkce tečný vektor (gradient) J^|(w(0)) a posuneme se ve směru tohoto vektoru dolů o e. Pro dostatečně malé e tak získáme novou konfiguraci w^1) = w'-1 + Aw'1', pro kterou je chybová funkce menší než pro původní konfiguraci w (°), tj. í;(w(0)) > E(-vf{1'y). Celý postup konstrukce tečného vektoru opakujeme pro w^1) a získáme tak w^2) takové, že 2.2. VÍCEVRSTVÁ SIŤ A BACKPROPAGATION 53 V aktivním režimu počítá vícevrstvá síť pro daný vstup funkci y(w) : Rn ----> (0, l)m, která je určena konfigurací w. Výpočet probíhá podle následující diskrétní aktivní dynamiky. V čase 0 jsou odpovídající stavy vstupních neuronů yi (i £ X) nastaveny na vstup sítě a ostatní neurony nemají určen svůj stav. V čase t > 0 jsou vypočteny reálné hodnoty vnitřních potenciálů všech neuronů j, jejichž vstupy (z jV) již mají určen svůj stav. To znamená, že v čase t jsou aktualizovány neurony v í-té vrstvě. Z vnitřního potenciálu (2.6) je pak stanoven reálný stav yj = cr(£,j) neuronu j pomocí diferencovatelné aktivační funkce a : IR —> (0, 1) standardní sigmoidy (1.9), která spojitě aproximuje ostrou nelinearitu (1.7): -(0 = 1^- (2-7) Diferencovatelnost užité přenosové funkce (2.7) a z ní plynoucí diferencovatelnost funkce sítě je podstatná pro učící algoritmus backpropagation. Reálný parametr strmosti (gain) A určuje nelineární nárůst (pro A < 0 pokles) standardní sigmoidy v okolí nuly (pro A —► oo dostaneme ostrou nelinearitu), tj. míru „rozhodnosti" neuronu. Graf standardní sigmoidy pro A > 0 je znázorněn na obrázku 1.11 (pro A < 0 je souměrný podle osy y). V základním modelu se obvykle uvažuje A = 1 (viz rovnici (1.9)), avšak obecně může být strmost Xj (a tedy i aktivační funkce kde °A0 = 1 + l-Xjt • (2-8) Tímto způsobem jsou v aktivním režimu postupně vypočteny výstupy všech neuronů, protože vícevrstvá síť je acyklická (souvislá) síť. Aktivní režim je ukončen, když je stanoven stav všech neuronů v síti, speciálně výstupních neuronů, které určují výstup sítě, tj. hodnotu funkce sítě pro daný vstup. 2.2.2 Adaptivní dynamika Adaptivní režim vícevrstvé sítě probíhá podobně jako u sítě perceptronů. Požadovaná funkce je opět zadána tréninkovou množinou (2.3). Chyba sítě E(w) vzhledem k této tréninkové množině je definována jako součet parciálních chyb sítě ^(w) vzhledem k jednotlivým tréninkovým vzorům a závisí na konfiguraci sítě w: p E(w) = J2M™)- (2-9) k=i 56 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI aby se síť dostala z oblasti atrakce tohoto lokálního minima a mohla příp. konvergovat k hlubšímu minimu. 2.2.3 Strategie zpětného šíření K realizaci uvedené adaptivní dynamiky (2.11) potřebujeme vypočítat gradient chybové funkce ve vzorci (2.12), což vzhledem ke komplikovanosti chybové funkce není triviální. Nejprve užitím pravidla o derivaci součtu pro (2.9) převedeme tento gradient na součet gradientů parciálních chybových funkcí: dE ^ dEk ES- <2.13, Protože funkce sítě je složena z funkcí jednotlivých neuronů, pro výpočet gradientu parciální chybové funkce je vhodné použít pravidlo o derivaci složené funkce: dEk = dE1dyl_d^_ dwji dyj d£j dwji ' Parciální derivaci „ '' v rovnici (2.14) získáme derivováním vnitřního potenciálu (2.6): |^- = Vi (2.15) a parciální derivaci gl2- získáme derivováním aktivační funkce (2.8), jejíž derivaci lze vyjádřit pomocí funkční hodnoty následujícím způsobem: dyj \je~x^3 dtíj (i + e-A^-)2 A,- A 1 1 + e~xi^i Dosazením (2.15) a (2.16) do (2.14) dostáváme dEk 8Ek (l~ l + l-x3Í)=^y^-y3)- (2.16) dwji dyj Aj%'(1-%')k- (2.17) Pro výpočet parciální derivace —k ve vzorci (2.17) se používá strategie zpětného šíření, jak už název učícího algoritmu backpropagation napovídá. Pokud i G ľ je výstupní neuron, pak uvedenou derivaci lze vypočítat přímým derivováním parciální chybové funkce (2.10): Fi E J± = yJ-dkj jeY, (2.18) 2.2. VÍCEVRSTVÁ SIŤ A BACKPROPAGATION 55 Ü^wW) > E(w(2>) atd., až se v limitě dostaneme do lokálního minima chybové funkce. Ve vícerozměrném váhovém prostoru tento postup přesahuje naši představivost. I když při vhodné volbě rychlosti učení s gradientní metoda vždy konverguje k nějakému lokálnímu minimu z libovolné počáteční konfigurace, není vůbec zaručeno, že se tak stane v reálném čase. Obvykle je tento proces časově velmi náročný (několik dnů výpočtu PC) i pro malé topologie vícevrstvé sítě (desítky neuronů). Ek Obr. 2.2: Gradientní metoda. Hlavním problémem gradientní metody je, že pokud již nalezne lokální minimum, pak toto minimum nemusí být globální (viz obrázek 2.2). Uvedený postup adaptace se v takovém lokálním minimu zastaví (nulový gradient) a chyba sítě se již dále nesnižuje. To lze v naší analogii s učením člověka interpretovat tak, že počáteční nastavení konfigurace v okolí nějakého minima chybové funkce určuje možnosti jedince učit se, resp. jeho inteligenci. Inteligentnější lidé začínají svoji adaptaci v blízkosti hlubších minim. I zde je však chybová funkce definovaná relativně vzhledem požadovanému „inteligentnímu" chování (tréninková množina), které však nemusí být univerzálně platné. Hodnotu člověka nelze změřit žádnou chybovou funkcí. Elektrické šoky aplikované v psychiatrických léčebnách připomínají některé metody adaptace neuronových sítí, které v případě, že se učení zastavilo v mělkém lokálním minimu chybové funkce, náhodně vnáší šum do konfigurace sítě, 58 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI (c) Vypočítej gradient parciální chybové funkce dwk (w^ )) v bodě w(*-1) podle vzorce (2.17) s využitím parciálních derivací -g—t(w(ť_1)) vypočtených v kroku 5b. (d) Přičti E'jí := = E'ji + |^(w(*-OWji v ■1})- 6. { Platí E'i = -g* L(w(í-ji 1})-} Dle (2.12) polož Au,« : = -eE'ji. 7. Dle (2.11) polož (*) í*"1) , A (*) 8. Vypočítej chybu sítě E(w^) pro konfiguraci wW podle vzorců (2.9) a (2.10). 9. Je-li chyba E(w^) dostatečně malá, skonči, jinak pokračuj krokem 3. Ačkoliv vlastní popis učícího algoritmu backpropagation je formulován pro klasický von neumannovský model počítače, přesto je zřejmé, že jej lze implementovat distribuovane. Pro každý tréninkový vzor probíhá nejprve aktivní režim pro jeho vstup tak, že informace se v neuronové síti šíří od vstupu směrem k jejímu výstupu. Potom na základě externí informace učitele o požadovaném výstupu, tj. o chybě u jednotlivých výstupů, se počítají parciální derivace —- (resp. dwk ) tak, že signál se šíří zpět směrem od výstupu ke vstupu. Tento zpětný chod připomíná obrácený „aktivní režim", kdy „vstup" odpovídá požadovanému výstupu, parciální derivace —k reprezentuje „stav" neuronu j a „aktivní dynamika" je dána vzorcem (2.18) pro „vstupní" a (2.19) pro skrytý neuron. Výpočet sítě při zpětném chodu probíhá sekvenčně po vrstvách, přitom v rámci jedné vrstvy může probíhat paralelně. K uvedenému algoritmu ještě připojíme několik implementačních poznámek pro ty, kteří by chtěli učící algoritmus backpropagation programovat na klasickém počítači. Pro obecnou acyklickou architekturu sítě (pro vícevrstvou topologii dáno implicitně) je nutno pro každý neuron sítě j pamatovat množinu neuronů jV, od nichž vede spoj k neuronu j, tj. množinu jeho vstupů (včetně příslušných synaptických vah). To je zvláště potřeba v aktivním režimu (výpočet vnitřního potenciálu podle vzorce (2.6)), který se uplatní i v učícím algoritmu backpropagation (krok 5a). Na druhou stranu pro zpětné šíření v tomto algoritmu není potřeba pro každý neuron sítě j explicitně pamatovat množinu neuronů j~*, ke kterým vede spoj od neuronu j, tj. množinu jeho výstupů. V kroku 5b tohoto algoritmu se sice počítá —k podle vzorce (2.19), ve kterém se sčítá přes neurony r £ j~*, ale to lze obejít tak, že předem pro každý neuron j budeme ^p^ počítat postupně 2.2. VÍCEVRSTVÁ SIŤ A BACKPROPAGATION 57 což odpovídá chybě výstupního neuronu j pro k-tý tréninkový vzor. Pro skrytý neuron j 4 X U Y se při výpočtu -%->*■ znovu uplatní pravidlo o deri-vování složené funkce, kde opět vypočteme derivace, které lze získat přímým derivováním: dEk _ ^ dEk dyr d£r _ dVj ~ ^rt dyr o>6- dyj ~ x—\ dEh = J2 -a-^rS/ril-S/rHj j^XUY. (2.19) rej- °Vr Ve vzorci (2.19) jsme výpočet parciální derivace -r-- pro skrytý neuron j převedli na výpočet parciálních derivací —- u neuronů r G j~*, do nichž vede spoj od neuronu j, a proto mají neuron j jako svůj vstup. Při výpočtu —- tedy můžeme postupovat od výstupních neuronů, pro které lze tuto parciální derivaci počítat podle (2.18), postupně směrem ke vstupním tak, že u skrytých neuronů vypočteme —- podle (2.19), pokud jsoujiž vypočteny parciální derivace 4^*- pro všechny r G j^. Korektnost tohoto postupu opět vyplývá z acykličnosti architektury sítě. 2.2.4 Implementace backpropagation Nyní ještě shrneme adaptivní dynamiku do přehledného algoritmu: 1. Polož diskrétní čas adaptace t := 0. 2. Zvol náhodně «A- G (—1, 1). 3. Zvětši t := t + 1. 4. Polož Ej f := 0 pro každý spoj od i do j. 5. Pro každý tréninkový vzor k = 1, . . . ,p dělej: (a) Vypočítej výstup funkce sítě y(w(*-1), xj,), resp. stavy a vnitřní potenciály všech neuronů (aktivní režim) pro vstup xj, od k-tého tréninkového vzoru podle vzorců (2.6) a (2.8). (b) Zpětným šířením vypočítej pro každý nevstupní neuron j ^ X parciální derivaci —ŽL(w(-ť_ ') parciální chybové funkce k-tého tréninkového vzoru podle stavu neuronu j v bodě w^*-1) pomocí vzorců (2.18) a (2.19) (využij k tomu hodnoty stavů a vnitřních potenciálů neuronů vypočtené v kroku 5a). 60 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI Z uvedeného vyplývá, že v adaptivním režimu, založeném na učícím algoritmu backpropagation, nám jde o to, abychom vhodnou volbou rychlosti učení s, co nejvíce minimalizovali chybovou funkci sítě E(w) (např. nalezli její globální minimum). Při malém s metoda konverguje příliš pomalu (chyba nepatrně klesá) a na druhou stranu pro větší s diverguje (chyba roste). Ladění parametru s připomíná ladění správné frekvence televizního signálu. Proto je potřeba při řízení učícího procesu mít určitou zkušenost s volbou e. Následující doporučení lze formulovat jen velmi nepřesně. Pro větší topologie je lepší začínat s menším e (např. řádově tisíciny, popř. desetitisíciny). Při úspěšné konvergenci lze e nepatrně zvýšit, při zjevné divergenci či oscilaci hodnotu e snížíme (např. exponenciálně). I při velkém vzrůstu chyby po předešlé úspěšné konvergenci bez dlouhodobější změny s, pokračujeme v adaptaci se stejným s, protože metoda někdy přechází ve váhovém prostoru do oblasti lepší konvergence, což se nám potvrdí nebo vyvrátí v dalších tréninkových cyklech. Někdy je při neúspěchu lépe učící proces opakovat od začátku pro novou počáteční konfiguraci. Graf typického vývoje chyby v průběhu adaptace je načrtnut na obrázku 2.3. Na začátku učení se může chyba mírně zvýšit, později se střídá fáze jejího rychlého (přibližně exponenciálního) poklesu s dlouhodobou stagnací, kdy se chyba shora jen velmi pomalu blíží (pokles chyby se přibližně exponenciálně zmenšuje) k nějaké nenulové hodnotě. Obvykle se po dlouhodobém učení za určitých podmínek podaří nalézt globální minimum (chyba je nulová). Ek Obr. 2.3: Typický vývoj chyby v čase při učení pomocí backpropagation. 2.2. VÍCEVRSTVÁ SIŤ A BACKPROPAGATION 59 následujícím způsobem. Pokud při zpětném šíření, kdy postupujeme směrem od výstupu sítě k jejímu vstupu, procházíme neuronem r £ j~* (před- 9Ek ______ 1 (např. K = 1.01) v čase t > 1, pokud by se tím nezměnilo znaménko změny příslušné váhy, tj. AuA. Aio ; ' > 0, jinak jej exponenciálně snížíme e- = e- /2. Při učení neuronových sítí se v aplikacích často opomíjejí známé a propracované účinnější metody nelineární optimalizace [179]. Například Newtonova metoda v dostatečně blízkém okolí minima chybové funkce konverguje velmi rychle. Nicméně tato metoda vyžaduje výpočet druhých derivací, je výpočetně velmi náročná (v každém kroku iterace se počítá inverze matice) a numericky nestabilní. Vhodnějším kandidátem pro minimalizaci chybové funkce neuronové sítě je metoda sdružených gradientů [162, 187], která využívá jen první derivace. Na závěr poznamenejme, že uvedený učící algoritmus backpropagation pro vícevrstvou neuronovou síť lze zobecnit pro cyklickou architekturu, pokud rekurentní síť v aktivním režimu konverguje ke stabilnímu stavu. Tato varianta algoritmu se nazývá rekurentní backpropagation [7, 6, 221, 222, 223, 237]. 2.2.6 Volba topologie a generalizace Velkým problémem modelu vícevrstvé neuronové sítě s učícím algoritmem backpropagation je (kromě minimalizace chybové funkce) volba vhodné topologie pro řešení konkrétního praktického problému. Zřídkakdy jsou podrobněji známy vztahy mezi vstupy a výstupy, aby se toho dalo využít při návrhu speciální architektury. Většinou se používá vícevrstvá topologie s jednou nebo dvěma skrytými vrstvami a očekává se, že učící algoritmus backpropagation zobecní příslušné vztahy z tréninkové množiny a zohlední je ve váhách jednotlivých spojů mezi neurony. I v tomto případě je však potřeba volit počty neuronů ve skrytých vrstvách. Ukazuje se, že tento problém organizační dynamiky úzce souvisí s adaptací a generalizací neuronové sítě. Architektura vícevrstvé sítě, tj. počty skrytých neuronů, by měla odpovídat složitosti řešeného problému, tj. počtu tréninkových vzorů, jejich vstupů a výstupů a struktuře vztahů, které popisují. Je zřejmé, že malá síť nemůže řešit komplikovaný problém. Při učení pomocí algoritmu backpropagation se příliš malá síť obvykle zastaví v nějakém mělkém lokálním minimu a je potřeba topologii doplnit o další skryté neurony, aby adaptace měla 2.2. VÍCEVRSTVÁ SIŤ A BACKPROPAGATION 61 2.2.5 Varianty backpropagation Problémy s minimalizací chybové funkce ^(w) v reálném čase se snaží řešit různé varianty základního modelu backpropagation. Např. problém s volbou hodnot strmostí Xj aktivačních funkcí (2.8) u jednotlivých neuronů j lze řešit tak, že chyba sítě -E^w, A) bude kromě synaptických vah w také funkcí strmostí A. Konfigurace sítě je pak dána vektorem všech vah w a vektorem všech strmostí A. Při učení adaptujeme tuto konfiguraci (tj. včetně strmostí) tak, že chybu sítě minimalizujeme gradientní metodou v prostoru vah a strmostí. Tím zvyšujeme stupeň volnosti adaptace, kdy tvar aktivačních funkcí (tj. míra rozhodnosti jednotlivých neuronů) se může přizpůsobit tréninkové množině a snáze se nalezne globální minimum chybové funkce sítě. Na druhou stranu při zvýšení počtu adaptovaných parametrů roste počet numerických operací a učení se zpomaluje. Adaptace strmostí se technicky realizuje podobně jako u vah (2.11), (2.12). Na začátku adaptace v čase 0 jsou strmosti A(°) nastaveny náhodně, např. blízko jedné. V dalším tréninkovém cyklu v čase t > 0 se hodnoty strmostí AW v nové konfiguraci vypočtou: A« = A^"1) + AA« , kde AA« = -e'— (w^"1), A^1)) (2.21) a 0 < e' < 1 je rychlost učení strmostí, jejíž význam je stejný jako u synaptických vah. Výpočet parciální derivace j^- je opět analogický (viz vzorce (2.13), (2.14) a (2.16)): dE ^dEk dEk dEkdVj dEk Parciální derivaci —k již umíme počítat pomocí strategie zpětného šíření (2.18), (2.19). V průběhu adaptace se obecně může hodnota parametru strmosti aktivační funkce u některého neuronu stát zápornou. Popsaná varianta gradientní metody (2.11), (2.12) se vzhledem ke své jednoduchosti často používá, i když není příliš efektivní. Při malé rychlosti učení e je konvergence této metody pomalá, avšak při větším e metoda diverguje. Její jednoduchá celkem frekventovaná modifikace, která se snaží tento nedostatek odstranit, zohledňuje při výpočtu změny váhy ve směru gradientu chybové funkce navíc předchozí změnu vah, tzv. moment [226]: Aw$ = -e^- (w(*-D) + aAwfrV , (2.23) kde 0 < a < 1 je parametr momentu, který určuje míru vlivu předchozí změny (obvykle se volí např. a = 0.9). Pomocí momentu gradientní metoda 64 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SLTL několik neuronů a adaptivní režim se celý opakuje pro novou architekturu. Pro test kvality generalizace neuronové sítě se počítá chyba sítě vzhledem k tzv. testovací množme, což je část tréninkové množiny, která se záměrně nevyužila při adaptaci. Důmyslnější metody podle potřeby automaticky během adaptace modifikují architekturu a vytváří tak kombinovaný organizačně-adaptivní režim sítě. Jsou možné následující dva odlišné přístupy. V tzv. konstruktivních algoritmech [62, 68, 188, 192] se začíná s malou topologií a v případě, že hodnotu chybové funkce již nelze dále snižovat, se přidávají nové neurony. Příklad takového algoritmu pro kaskádové architektury je v podkapitole 2.4. Naopak při tzv. prořezávání (pruning) [93, 110, 132, 162, 248] se vychází z dostatečné bohaté topologie a odstraňují se spoje (příp. odpovídající skryté neurony), které mají během učení v absolutní hodnotě malou váhu. To je možné díky velké robustnosti funkce sítě. Zanedbání malých vah lze např. zohlednit již v definici minimalizované chybové funkce sítě přidáním členu, který penalizuje všechny váhy v síti úměrně jejich velikosti: j5'(w) = JB(w) + I7£T^L-) (2.24) kde parametr j > 0 mírou vlivu tohoto členu na chybu sítě a E(w) je původní chybová funkce (2.9). 2.3 MADALINE Další historicky důležitým modelem neuronové sítě je MADALINE (Multiple ADALINE), který byl navržen Widrowem a Hoffem [288, 287] (viz podkapitolu 1.1). Základním prvkem v tomto modeluje neuron ADALLNE (ADAptive LINear Element), který je velmi podobný perceptronu. Proto model MADALINE je formálně skoro identický se sítí perceptronu, kterou jsme se zabývali v podkapitole 2.1, i když původně vychází z jiných principů. Organizační dynamika MADALINE (tj. architektura) a značení parametrů sítě je stejné jako u sítě perceptronu (viz obrázek 2.1), avšak místo perceptronu uvažujeme ADALINE. Aktivní dynamika se u tohoto modelu liší tím, že výstupy sítě mohou být obecně reálné a jednotlivé ADALINE realizují lineární funkci, tj. chybí nelineární aktivační funkce. Funkce MADALINE y(w) : Rn —> Rm, která závisí na konfiguraci w = (wi, . . . ,wm), kde wi = (ww, . . ., win),. ■ ; wm = (wm0, . . ., wmn), je tedy dána afinní kombinací vstupů: n %' = Xľ wiiXi i = 1'---'m- (2.25) 8 = 0 2.2. VLCEVRSTVA SLŤ A BACKPROPAGATLON 63 větší stupeň volnosti. Na druhou stranu bohatá architektura sice při učení mnohdy umožní nalézt globální minimum chybové funkce, i když s větším počtem vah roste výpočetní náročnost adaptace. Avšak nalezená konfigurace sítě obvykle příliš zohledňuje tréninkové vzory včetně jejich nepřesností a chyb a pro neučené vzory dává chybné výsledky, tj. špatně generalizuje. Tomuto přesnému zapamatování tréninkové množiny bez zobecnění zákonitostí v ní obsažených se říká přeučení (overfitting). Na obrázku 2.4 jsou graficky znázorněny dvě funkce sítě spolu s tréninkovými vzory (body), ze kterých byly naučeny. Silná čára představuje přeučenou síť, jejíž funkce se přizpůsobila nepřesným tréninkovým vzorům, zatímco tenká čára představuje funkci sítě, která „správně" generalizovala zákonitosti v tréninkové množině. Zdá se tedy, že existuje optimální topologie, která je na jednu stranu dostatečné bohatá, aby byla schopna řešit daný problém, a na druhou stranu ne moc velká, aby správně zobecnila potřebné vztahy mezi vstupy a výstupy. Y' x Obr. 2.4: Graf funkce přeučené sítě (tučně) a sítě se „správnou" generalizací. Existují teoretické výsledky ohledně horního odhadu počtu skrytých neuronů postačujících pro realizaci libovolné funkce z určité třídy (viz třetí část této knihy), avšak pro praktické potřeby jsou příliš nadhodnocené, a tedy nepoužitelné. V praxi se obvykle topologie volí heuristicky, např. v první skryté vrstvě o něco více neuronů než je vstupů a v druhé skryté vrstvě aritmetický průměr mezi počtem výstupů a neuronů v první skryté vrstvě. Po adaptaci se v případě velké chyby sítě příp. přidá, resp. při chudé generalizaci odebere 66 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI směru daném znaménkem t/j. Uvedená situace je načrtnuta na obrázku 2.5, kde nadrovina určená stejným výstupem je znázorněna přerušovanou čarou. V adaptivním režimu je požadovaná funkce MADALINE zadána tréninkovou posloupností, kde reálné vstupy tréninkových vzorů xk jsou generovány náhodně s daným rozdělením pravděpodobností a u každého je dán požadovaný reálný výstup dk: (xt)dt)*=i,2,... kde dt = (dtl)...)dfcm)GRm. (2-29) Chyba j-tého ADALINE vzhledem k tréninkové posloupnosti (2.29) v závislosti na části konfigurace Wj je definována: A; w; = lim--------------------------------------- j = 1, . . ., m , (2.30) p^tx) p což je podle zákona velkých čísel [17] střední hodnota (značíme tučné E) poloviny mocniny rozdílu skutečného stavu j-tého ADALINE a odpovídajícího požadovaného výstupu vzhledem k tréninkové posloupnosti: ^'(wJ) = E 1 2 - (yj(wj,xk)-dkj) j = í,...,m. (2.31) Cílem adaptace je minimalizace chyby Ej(wj) (j = 1, . . ., m), která ve váhovém prostoru díky tvaru funkce (2.25) určuje paraboloid. Za tímto účelem nejprve vypočteme gradient chybové funkce Ej(wj) ze vztahu (2.30) záměnou limity a derivace, dále využijeme pravidlo o derivaci složené funkce a derivujeme (2.25): —J-=lim_-y^xki(yj(wj,xk)-dkj) 0 = 1, ...,n, (2.32) OWji p^co p ^—' J k = l který lze opět vyjádřit jako střední hodnotu: dEi di E[xki(yj(wj,Tck)-dkj)] i = 0,...,n. (2.33) Po dosazení (2.25) do (2.33) a s využitím pravidla o střední hodnotě lineární funkce dostáváme: dE- n -^—L = -E[dkjxki] + y^ wjrE[xkrxki] i = Q,...,n. (2.34) 3l r = 0 2.3. MADALINE 65 Také geometrický význam funkce j-tého ADALINE se nepatrně liší od perceptronu. Uvažujme vstup x = (xi; . . . ,xn). tj. bod [xi; . . . ,xn] v n-rozměrném vstupním prostoru. Nadrovina s koeficienty Wj pro j-tý ADA-LINE daná rovnicí wj0 8 = 1 0 (2.26) rozděluje tento prostor na dva poloprostory, ve kterých má hodnota výstupu yj (2.25) odlišné znaménko. Pro body ležící na této nadrovině je hodnota výstupu nulová. Vzdálenost qj bodu [xi, . . ., xn] od nadroviny (2.26) je dána rovnicí: _ Kq + E"=iwiixj\_______\vj\ Q j — En 8 = 1 ST" , (2.27) Tedy absolutní hodnota \yj\ výstupu j-tého ADALINE závisí lineárně na vzdálenosti bodu od nadroviny ve vstupním prostoru: \V:\ \ E^ Qi (2.28) Body ze vstupního prostoru, které mají stejný výstup, leží na jedné nadrovině rovnoběžné s nadrovinou (2.26), která je od ní ve vzdálenosti Qj ve 'j°+zr=i w3'xi = ° y3 <0/yj > o Qj \Xl, \V}\ V£ľ=i wl Qj Obr. 2.5: Geometrická interpretace funkce ADALINE. 68 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI Existují i různé varianty adaptivní dynamiky MADALINE. Například adaptaci vah můžeme provádět podle gradientní metody (2.36) tak, že limitní hodnotu parciální derivace dw 3 danou vzorcem (2.32) aproximujeme průměrem přes p tréninkových vzorů: tt^- = - y^ xki (yj (wj, Xfc) - dkj) . (2.38) awJi P k=1 Nebo ve Widrowově pravidle můžeme navíc uvažovat moment (viz vzorec (2.23)), tj. pro t > 1 dostaneme w$ = WS_1) - £X*i (%'(wľ_1)-x^) - d*i) + a H*_1) - ^r2)) > (2-39) kde 0 < a < 1 je parametr momentu. 2.4 Sítě s kaskádovou architekturou V této podkapitole uvedeme popis sítí s kaskádovou architekturou, neboli kaskádových sítí, a jejich učícího algoritmu kaskádové korelace (cascade-correlation) navrženého Fahlmanem a Labierem na přelomu osmdesátých a devadesátých let [62]. Ačkoli, striktně bráno, nepatří tento model mezi „klasické", uvádíme ho v této kapitole proto, že je jistým zobecněním per-ceptronových sítí. Organizační dynamika (architektura) kaskádové sítě je znázorněna na obrázku 2.6. Jde o dopřednou síť s jednou vstupní vrstvou n vstupních jednotek, skrytou vrstvou obsahující h perceptronů, a lineární výstupní vrstvou o m jednotkách. Perceptronove jednotky jsou navíc pospojovány laterálními spoji, které jdou jedním směrem, řekněme zleva doprava ve smyslu očíslování skrytých jednotek. Každý perceptron dostává jako vstupní signály i výstupy ze všech předchozích jednotek ve skryté vrstvě. Takže i-tá jednotka ve skryté vrstvě má jako obvykle n vstupů spojených se vstupními jednotkami a dále i — í vstupů napojených na výstupy jednotek j, kde j = 1, . . ., i — 1. Výstupní jednotky jsou spojeny se všemi jednotkami ze skryté i vstupní vrstvy (na obrázku 2.6 nejsou pro přehlednost znázorněny spoje mezi vstupními a výstupními jednotkami). Funkce f : Rn —► Rm realizovaná kaskádovou sítí v aktivním režimu se díky rekurentním vztahům mezi skrytými jednotkami zapisuje jedním vzorcem poměrně nesnadno, ale samotný způsob, jakým síť počítá odezvu na předložený vstup x E R", je jednoduchý. Jednotky ve skryté vrstvě po- 2.3. MADALINE 67 Jeden z možných postupů při minimalizaci chybové funkce Ej(wj) je položit parciální derivace -g—L = 0 rovny nule. Pokud ve vzorcích (2.34) statisticky odhadneme střední hodnoty E[dkjXki], E[xkrxki], dostaneme soustavu lineárních rovnic: n '^2~E[xkrxki]wjr = -~E[dkjxki] i = 0,...,n, (2.35) r = 0 jejímž řešením je konfigurace w^ pro j-tý ADALINE, která minimalizuje chybovou funkci Ej(wj). Obvykle se však k minimalizaci chyby Ej(wj) používá podobně jako u algoritmu backpropagation (viz podkapitolu 2.2) gradientní metoda, u které v tomto případě díky tvaru chybové funkce (paraboloid) nejsou problémy s lokálními minimy. Na začátku adaptace v čase 0 jsou váhy konfigurace w(°) nastaveny náhodně blízko nuly, např. w-' E (—1,1) (j = 1,...,to, i = 0, . . -,n). V diskrétním čase adaptace t > 0 se konfigurace wW mění podle gradientní metody: «,« = wfrV + Aw^ , kde A^.' = -eÄwí*"1)) (2.36) owji a 0 < s < 1 je rychlost učení. V analogii s algoritmem backpropagation bychom měli akumulovat parciální derivace -g—*- v (2.36) (tj. podle (2.32) počítat limitu jejich průměrů) pro celou tréninkovou posloupnost. Avšak Widrow a Hoff navrhli pro MADALINE tzv. Widrowovo ( Widrow-Hoffovo) pravidlo, někdy také nazývané LMS (Least-Mean-Square) pravidlo učení, ve kterém dochází k adaptaci vah po každém tréninkovém vzoru (srovnejte s neakumulovanou implementací algoritmu backpropagation v odstavci 2.2.4). Model MADALINE má tedy diskrétní adaptivní dynamiku, tj. v každém časovém kroku učení t = 1,2,... je síti předložen k-tý vzor (k = t) z tréninkové posloupnosti (2.29), podle kterého jsou adaptovány váhy. Podle Widrowova pravidla změna konfigurace w1-*-1 v čase t > 0 je dána následující rovnicí (srovnejte s (2.36) a (2.32)): w$ = ^-1)-exkl (^(wf-^x*)-dkj) JŽq1;;;;;^ (2-37) Je zajímavé, že adaptivní dynamika (2.37) u MADALINE je formálně totožná s adaptací perceptronů podle pravidla (2.5). Widrow a Hoff dokázali, že adaptivní proces podle (2.37) konverguje z libovolné počáteční konfigurace w(°) ke konfiguraci w*, která minimalizuje chybové funkce Ej(wj) pro j = 1,...,TO. 70 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI stavec 2.2.5). Když už nedochází k výraznému zlepšení chyby sítě, přidáme do sítě další skrytou jednotku a opakujeme gradientní učení. Přidání skryté jednotky spočívá v adaptivním nastavení jejích vstupních vah tak, aby jednotka mohla co nejvíce zlepšit chybu sítě. Nejprve si vytvoříme množinu kandidátů na novou jednotku, z nichž každý je svými vstupy připojen do sítě na všechny vstupní a příslušné skryté jednotky. Výstupy kandidátů zatím do sítě nezapojujeme. V této části učícího algoritmu adaptujeme vstupní váhy kandidátů tak, abychom maximalizovali korelaci mezi jejich výstupem a chybou sítě. To je opět realizováno gradientní metodou, a to tak dlouho, než se korelace přestane významně zvětšovat. Pak vybereme nejúspěšnějšího kandidáta, fixujeme jeho vstupní váhy a připojíme do sítě. Následně pokračujeme gradientním minimalizováním chyby, při kterém adaptujeme všechny váhy výstupních jednotek (tedy i od dosavadních skrytých neuronů, i od právě přidaného). Celý proces končí, dosáhneme-li požadovaného prahu chyby. Motivací právě popsaného postupu je nastavit váhy každého přidávaného neuronu tak, aby neuron mohl co nejvíce snížit celkovou chybu sítě. Proto tedy maximalizujeme jeho korelaci s touto chybou. Ukažme přesněji, jak obě učící fáze probíhají. Celkovou chybu sítě počítáme jako obvykle: .km ť = l .7=1 kde d- ' (resp. y- ') je j-tá složka požadovaného (resp. aktuálního) výstupu sítě po předložení í-tého tréninkového vzoru. Gradient E spočteme takto: ef = (ž/m-4V(í(ť)) (2-43) dE X>N0> (2-44) dw3l ť=1 kde (t'(£(-*-)) je hodnota derivace aktivační funkce výstupní jednotky po předložení vzoru xW, /• je hodnota vstupní (nebo skryté) jednotky j a Wjí je váha spojující vstup i s výstupem j. Při učení kandidátů maximalizujeme korelaci mezi výstupem kandidáta y a chybou sítě. Korelaci počítáme přes všechny tréninkové vzory t následujícím způsobem: ^ = E k £yo_s)(e(o_ě.) t=i (2.45) 2.4. SITE S KASKÁDOVOU ARCHITEKTUROU 69 Obr. 2.6: Kaskádová síť (laterální spoje jsou označeny oblými šipkami) stupně dle svého pořadí i spočtou svou výstupní hodnotu zí podle obvyklé přechodové funkce známé z perceptronů: n i-1 J2w* JXJ + E 7=0 i=i wi(n+j)zj pro i = 1,..., h , (2.40) kde Wij jsou váhy, uje aktivační funkce. Pro každý perceptron i jsou tedy váhy příslušející výstupům od předchozích jednotek zařazeny formálně na konec váhového vektoru, odpovídají vždy pozicím n + í, . . . ,n + i — 1. V další fázi výpočtu potom jednotky ve výstupní vrstvě spočtou lineární kombinace svých vstupů a aplikují přechodovou funkci: pro i = 1, . ., m . (2.41) Zabývejme se nyní adaptivní dynamikou sítě. Algoritmus kaskádové korelace je příkladem konstruktivního či inkrementálního učícího algoritmu. Učení začíná s minimální možnou konfigurací sítě, což v našem případě znamená bez skrytých jednotek. Učení probíhá na dvou časových škálách: v každém velkém cyklu učíme aktuální konfiguraci sítě pomocí lineárního gra-dientního sestupu. Autoři v [62, 115] používají algoritmus qmckprop, který je podrobně popsán v [61]. Jde o jednu ze sofistikovanějších variant algoritmu zpětného šíření, která vychází z Newtonovy gradientní metody (srovnej od- 72 KAPITOLA 2. KLASICKÉ MODELY NEURONOVÝCH SITI měníme váhy u výstupní vrstvy, zatímco algoritmus maximalizující korelaci operuje s vahami přidávaných skrytých neuronů.) Další výhodou může být i to, že algoritmus funguje „hladovým" (greedy) způsobem: každá přidávaná jednotka se snaží ubrat maximální část chyby, jaké je schopna. Ve standardním algoritmu zpětného šíření se všechny jednotky adaptují naráz a pracují také na různých úkolech, což může mít vliv na rychlost algoritmu. • Konečně, část, ve které kaskádová korelace tráví nejvíce času—maximalizace korelace s chybou sítě u skupiny přidávaných jednotek, je velmi vhodná k paralelizaci. Jelikož každý z kandidátů provádí izolovaně svůj gradientní výstup, mohou být umístěni na různých procesorech. Jediná komunikace mezi nimi proběhne až na závěr této učící fáze, kdy je třeba vybrat nejlepšího z nich. 2.4. SITE S KASKÁDOVOU ARCHITEKTUROU 71 kde y (resp. ej) jsou průměry hodnot y^> (resp. e^- ) počítané přes všechny tréninkové vzory t. Analogicky jako u (2.43) spočítáme gradient C: m eW = ^Sj(ef-eW)(7'(^) (2.46) ŕ—E^ľ. (2-47) 1 t=i kde Sj je znaménko korelace mezi hodnotou výstupu kandidáta a chybou sítě na výstupu j. Předchozí vzorce platí pro výpočet gradientu u jednoho kandidáta. V průběhu korelační fáze učení inicializujeme množinu kandidátů různými náhodnými vahami a každého kandidáta pak nezávisle adaptujeme. Pro konkrétní úpravu vah na základě vypočtených gradientů používají autoři metodu quickprop, kterou nyní stručně popíšeme. Uvažujme úpravu váhy w v jedné ze zmíněných fází učení. Podle toho, zda minimalizujeme chybu sítě, nebo maximalizujeme korelaci výstupu jednotky, přiřaďme do hodnoty S^' buď „ nebo -§^~- Úprava váhy A«)W se pak řídí následujícím pravidlem: A«;« eS« pro Au/*"1) = 0 S(0 S(<-i)_S(<) -Au/*"1) je-li Au/*"1) ^ 0 /jAmjC ľ> jinak, Rm zapsat (srovnejte s (2.25)): n Vj =^2wjixi j = í,...,m. (3.1) 8 = 1 7Q 76 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE normě jsou srovnatelné. Za tohoto předpokladu má lineární asociativní síť schopnost tzv. reprodukce, tj. předložíme-li této síti vstup xr (1 < r < p) z tréninkové množiny, pak na něj odpoví příslušným požadovaným výstupem dr. To lze ukázat tak, že do aktivní dynamiky (3.3) dosadíme (3.8) za W, dále využijeme asociativitu a distributivitu maticového násobení (skalárního součinu) a předpoklad ortonormality: (p \ p ^2 dkXk)Xr = ^2dk (xfcXi0= d<- • (3-11) fc=i y k=i Schopnost reprodukce (3.11) lze považovat za nutnou podmínku asociativní paměti. Avšak lineární asociativní síť by také pro vstup xr +6, který je blízko vstupu xr r-tého tréninkového vzoru (tj. norma \\6\\ = vX2ľ=i ^i = ^ je dostatečně malá) měla odpovídat požadovaným výstupem dr. Odpovídající chybu lze vyjádřit jako normu rozdílu skutečného výstupu pro vstup xr + 6 a požadovaného výstupu dr: Er(6) = ||y(xr + 6)-dr|| = ||Wxr + Wč-dr|| = ||WČ|| . (3.12) Pokud budeme navíc předpokládat, že požadované výstupy dr tréninkových vzorů jsou normované, tj. djdr = 1 (r = í,...,p), což např. pro auto-asociativní paměť (kde dr = xr) platí, můžeme chybu Er(8) z (3.12) pomocí trojúhelníkové (||x + y|| < ||x|| + ||y||) a Cauchy-Schwarzovy nerovnosti (lxy| ^ llxll ' l|y||) shora odhadnout: p p Er(6) = \\W6\\ < J2 \\d^l^\\ < J2 Hd*H • HX*H • 11*11 = P6 0 pro 6 -> 0. Na závěr ještě zobecníme pseudohebbovskou adaptivní dynamiku (3.16) lineární asociativní sítě pro heteroasociativní paměť: W = DX+ = D(XTX)-1XT , (3.20) kde D, X jsou matice (3.9). Uvedený maticový zápis adaptivní dynamiky (3.20) není vhodný pro distribuovaný adaptivní režim heteroasociativní sítě. Analogie rekurzivního zápisu (3.14), (3.15) v případě heteroasociativní paměti je založena na Grevilleově větě [86, 154]: w^_wf*-n, (d*-W(*-DxtK (3.21) zj,Zk kde Zk je stejný sloupcový vektor typu n x 1 jako v případě autoasociativní paměti, tj. v jeho definici (3.14) se matice W^_1) počítá podle (3.15) (nikoliv dle (3.21)). Pomocí pseudoinverze (3.17) lze zu vyjádřit zJfe=xJfe-X(*-1)fx(*-1))+xJfe) (3.22) 3.1. LINEÁRNI ASOCIATIVNÍ SIŤ 77 Předpokládejme, že množina vstupních vektorů (tj. i požadovaných výstupů pro autoasociativní paměť) {xi, . . . ,xp} tréninkových vzorů (3.4) je lineárně nezávislá (nutně p < n), a tedy tvoří bázi vektorového prostoru Vp, který je podprostorem Rn. Kvůli ortogonalitě vzorů potřebné k jejich reprodukci vytvoříme během pseudohebbovské adaptace pomocí Gram-Schmidto-va ortogonalizačního procesu ortogonální bázi {z1; . . ., zp} vektorového prostoru Vp. Adaptivní pseudohebbovská dynamika lineární asociativní sítě pak probíhá následujícím způsobem. Na začátku adaptace v čase 0 je matice vah nulová, tj. W(°) = 0. V diskrétním čase adaptace t = 1, . . .,p, kdy je síti předložen k-tý tréninkový vzor (k = t), je nejprve určen sloupcový vektor zj, typu n x 1: zk=Xk-W(k-1^k, (3.14) pomocí kterého je pak adaptována váhová matice: w(k) = w(fc-i). Zfcz{ ZlZk (3.15) Výslednou váhovou matici lze ze vztahu (3.15) opět formálně vyjádřit jako konečný součet matic, který se dá také převést na součin matic (srovnejte s (3.10)): W = w(p) P T s^zkH_ ti z'Zk XX+ , kde X je matice (3.9) a je její pseudoinverze. X+ = (XTX)"1XT (3.16) (3.17) Obr. 3.1: Geometrická interpretace pseudohebbovské strategie. Geometrický význam pseudohebbovské adaptace (3.14), (3.15) v fc-tém kroku je znázorněn na obrázku 3.1. Matematickou indukcí dle k lze ukázat, že vektor W^_1^xj, je ortogonální projekcí vektoru xj, do vektorového 80 KAPITOLA 3. ASOCIATIVNÍ NEURONOVÉ SÍTĚ , n) jsou není spojen sám ze sebou, tj. odpovídající váhy Wjj = 0 (j = 1 nulové. Obr. 3.2: Topologie Hopfieldovy sítě. U Hopfieldovy sítě nejprve popíšeme adaptivní dynamiku, která se řídí Hebbovým zákonem (viz odstavec 3.1.1). Požadovaná funkce sítě je opět specifikována tréninkovou množinou p vzorů (3.25), z nichž každý je zadán vektorem n bipolárních stavů vstupních, resp. výstupních neuronů, které v případě autoasociativní paměti splývají. T = {x, I Xfc (x kl, ■ ,xkn) e{-i,i}n, k = l,...,p} (3.25) Adaptivní dynamika podle Hebbova zákona probíhá v p diskrétních krocích, ve kterých jsou síti postupně předkládány tréninkové vzory, podle nichž se adaptují synaptické váhy. Výslednou konfiguraci sítě lze zapsat následujícím způsobem (srovnejte s (3.6)): k=i ZkjXki 1 < j ^ i n J Výpočet Zfc pomocí (3.14) vyžaduje navíc autoasociativní model sítě, proto se někdy pseudohebbovská adaptivní dynamika (3.20) pro případ heteroaso-ciativní paměti, tj. výpočet W = DX+, aproximuje Widrowovým pravidlem (2.37). Pseudohebbovská adaptivní dynamika (3.20) zaručuje schopnost hete-roasociativní sítě reprodukovat tréninkové vzory (3.4). Při ověřování této vlastnosti budeme pomocí [X]r značit r-tý sloupec matice X: y(xr) = Wxr = DX+[X]r = D[(XTX)-1(XTX)]r = dr . (3.24) 3.2 Hopfieldova síť Dalším důležitým modelem neuronové sítě, který je předmětem velkého zájmu badatelů, je Hopfieldova sít. Tento model byl navržen již McCullochem a Pittsem [189] a později analyzován Amarim [9], W. A. Littlem a G. L. Sha-wem [176]. Avšak teprve díky Hopfieldovi [122], který při analýze stability této sítě využil průhlednou analogii s fyzikální teorií magnetických materiálů, se tento model sítě stal všeobecně známým (viz podkapitolu 1.1), a proto také nese jeho jméno. Hopfieldova síť se používá jako autoasociativní paměť (viz podkapitolu 3.1). V současnosti existuje mnoho teoretických výsledků a variant uvedeného modelu, které se snaží zlepšit jeho vlastnosti. V této podkapitole se omezíme jen na popis a diskusi základního modelu Hopfieldovy sítě. 3.2.1 Základní model Organizační dynamika Hopfieldovy sítě specifikuje na začátku pevnou úplnou topologii cyklické sítě s n neurony, kde každý neuron v síti je spojen s každým, tj. má všechny neurony za své vstupy. Dále všechny neurony v síti jsou zároveň vstupní i výstupní. Architektura Hopfieldovy sítě je znázorněna na obrázku 3.2. Označme £i, . . ., £„ G Z celočíselné vnitřní potenciály a yi,...,yn G { — 1,1} bipolární stavy neuronů. Spoj v síti od neuronu i (i = 1, . . ., n) směrem k neuronu j (j = 1, . . ., n) je ohodnocen celočíselnou synaptickou váhou wjí £ Z. V základním modelu neuvažujeme biasy neuronů, tj. všechny prahy neuronů jsou nulové, a podobně žádný neuron 82 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE síť. Magnetické materiály lze v těchto modelech chápat jako soubor atomic-kých magnetů, tzv. spmů, odpovídajících v Hopfieldově síti neuronům, které jsou uspořádány do pravidelné mřížky reprezentující krystalickou strukturu těchto materiálů, jak je znázorněno na obrázku 3.3. Uvažujeme nejjedno- M M M M M M M M M M M M Obr. 3.3: Model magnetického materiálu. dušší případ atomů, kde každý spin může mít dvě možné magnetické orientace, což v Hopfieldově síti modelujeme neuronovými stavy 1 a —1. Fyzikální model je dále specifikován interakcí a dynamikou spinu. Každý spin je ovlivněn okolním magnetickým polem, které je možné rozdělit na externí, které v Hopfieldově síti odpovídá vstupu, a na interní pole vytvořené ostatními spiny. Příspěvek každého atomu do okolního vnitřního pole je úměrný jeho vlastnímu spinu. Součet těchto příspěvků určuje magnetické pole ovlivňující daný spin, což odpovídá aktivní dynamice Hopfieldovy sítě (3.27). Synap-tické váhy v rovnici (3.27) modelují vzájemné interaktivní síly spinu, které jsou ve fyzikálním modelu symetrické a mohou být různě velké, kladné nebo záporné v závislosti na makroskopických vlastnostech materiálu. Fyzikální model odpovídá asynchronní Hopfieldově síti. K lepšímu pochopení aktivní dynamiky Hopfieldovy sítě (3.27), (3.28) byla Hopfieldem v analogii s fyzikálními ději definována tzv. energetická funkce E(y) sítě, která každému stavu sítě y £ { — 1, l}n přiřazuje jeho potenciální energii podle kvadratické formy: 3.2. HOPFIELDOVA SIŤ 81 v Hopfieldově síti uloženy přímo, ale jsou reprezentovány pomocí vztahů mezi stavy neuronů. Aktivní dynamiku Hopfieldovy sítě popíšeme pro případ sekvenčního synchronního výpočtu. Na začátku aktivního režimu v čase 0 jsou stavy neuronů nastaveny na vstup sítě x = (x\, . . ., xn), tj. y\ = X{ (i = 1, . . ., n). V diskrétním čase t > 0 výpočtu je aktualizován neuron j (ostatní svůj stav nemění), který je vybrán např. systematicky tak, že t = rn + j, kde r je tzv. makroskopický čas, tj. počet period, ve kterých jsou aktualizovány všechny neurony. Nejprve je vypočten celočíselný vnitřní potenciál neuronu j: í(*-i) _ Y^„..J*"1) 8 = 1 jehož znaménko určuje jeho nový bipolární stav: ' 1 ď"1} > 0 r^E^"^ (3-27) (*) y) -i ď-1} { — 1, l}n. Tato funkce kromě konfigurace w závisí na pořadí, ve kterém jsou aktualizovány neurony. Také je možné uvažovat paralelní výpočet Hopfieldovy sítě, kdy v jednom časovém kroku aktivního režimu je aktualizován stav podle (3.27), (3.28) u více neuronů současně. V tomto případě však výpočet nemusí obecně skončit a síť po nějakém čase případně začne střídat dva stavy (viz větu 8.16). Podobně v asynchronním modelu Hopfieldovy sítě místo systematické (sekvenční nebo paralelní) aktualizace neuronů dochází k náhodné a nezávislé aktualizaci u jednotlivých neuronů. 3.2.2 Energetická funkce Jak už bylo v úvodu této podkapitoly řečeno, Hopfieldova síť má svoji přirozenou fyzikální analogii. Některé jednoduché modely magnetických materiálů ve statistické fyzice (např. spinová skla) připomínají Hopfieldovu 84 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE by výstup sítě měl odpovídat tomuto vzoru. Z hlediska energie by každý tréninkový vzor z (3.25) měl být lokálním minimem energetické funkce, tj. stabilním stavem sítě. V jeho blízkém okolí, v tzv. oblasti atrakce, se nachází všechny vstupy blízké tomuto vzoru. Ty představují počáteční stavy sítě, ze kterých se při minimalizaci energetické funkce v aktivním režimu síť dostane do příslušného minima, tj. stabilního stavu odpovídajícího uvažovanému tréninkovému vzoru. Geometricky se tedy energetická plocha rozpadá na oblasti atrakce lokálních minim a příslušná funkce Hopfieldovy sítě přiřadí v aktivním režimu ke každému vstupu náležejícímu do oblasti atrakce nějakého lokálního minima právě toto minimum. Energetická plocha je graficky znázorněna na obrázku 3.4, kde jsou vyznačena lokální minima jednotlivých oblastí atrakce. Obr. 3.4: Energetická plocha. Při učení Hopfieldovy sítě podle Hebbova zákona (3.26) však navíc na energetické ploše vznikají samovolně lokální minima, tzv. nepravé vzory (fantomy), které neodpovídají žádným tréninkovým vzorům. Výstup sítě pro vstup dostatečně blízký takovému fantomu neodpovídá žádnému vzoru, a tudíž nedává smysl. Existují varianty adaptivní dynamiky Hopfieldovy sítě, při nichž se takto vzniklé fantomy dodatečně odučují. Např. Hopfieldovu síť s konfigurací wjí (1 < j,i < n) lze odučit fantom x' = (x'lt . . -,x'n) £ { —1, l}n modifikací Hebbova zákona [124] a získat tak váhy w'-: w'ji = wji ~ x'jx'i 1 < i ť^ * < n • (3.31) Zbavování sítě fantomů lze v neurofyziologické analogii připodobnit k léčení neuróz. Existují teorie, které tvrdí, že zlepšování paměti odučováním fantomů probíhá u člověka ve snu. 3.2. HOPFIELDOVA SIŤ 83 1 n n %) = -2Eľ^«w«- (3-29) j=l i=l Z definice energetické funkce E(y) vyplývá, že stavy sítě s nízkou energií (tj. odpovídající sčítance WjíJ/jí/í součtu (3.29) jsou dostatečné velké, např. kladné), mají větší stabilitu, protože znaménko váhy wjí spoje mezi neurony j a i odpovídá vzájemnému vztahu mezi jejich stavy yj a yi. Víme totiž, že znaménko v případě kladné (resp. záporné) váhy vynucuje souhlasné (resp. rozdílné) stavy těchto neuronů. Obráceně stavy s velkou energií jsou nestabilní ze stejného důvodu. Díky této fyzikální analogii se někdy energetická funkce s opačným znaménkem nazývá stabilita (viz (8.10)), resp. harmonie. Pro větší názornost budeme v následujícím výkladu předpokládat, že energetická funkce je spojitá, i když v uvedeném základním modelu Hopfieldovy sítě uvažujeme pouze diskrétní hodnoty. V aktivním režimu počáteční stav y(°) Hopfieldovy sítě, tj. její vstup, dodá síti energii E(y(0)), která se v průběhu výpočtu sítě ztrácí, tj. energ etická funkce £(yW) > £(y(ť+1)) klesá až do chvíle, kdy se výpočet v čase í* zastaví ve stabilním stavu y(* ), který odpovídá lokálnímu minimu energetické funkce E(y^ >). Je zajímavé, že pokles energetické funkce (3.29) podle aktivní dynamiky (3.27), (3.28) připomíná minimalizaci „chyby" E(y) gradientní metodou. Nový stav y- ' vybraného neuronu j v čase t > 0 aktivního režimu odpovídá opačnému znaménku gradientu v bodě y- ': y] í=i Hopfieldova síť má ve srovnání s vícevrstvou sítí adaptovanou učícím algoritmem backpropagation (viz podkapitolu 2.2) opačný charakter aktivní a adaptivní dynamiky, proto jsme při jejich výkladu postupovali v obráceném pořadí. Zatímco adaptace Hopfieldovy sítě podle Hebbova zákona (3.26) je jednorázovou záležitostí, jejíž trvání závisí jen na počtu tréninkových vzorů, učící algoritmus backpropagation (viz odstavec 2.2.4) realizuje iterativní proces minimalizující chybu sítě gradientní metodou bez záruky konvergence. Na druhou stranu délka aktivní fáze vícevrstvé sítě je dána pouze počtem vrstev (viz odstavec 2.2.1), zatímco aktivní režim Hopfieldovy sítě podle (3.27), (3.28) představuje iterativní proces minimalizující energii sítě diskrétní variantou gradientní metody v obecném případě (např. při paralelním výpočtu) s nejistou konvergencí. Cílem adaptace Hopfieldovy sítě podle Hebbova zákona (3.26) je nalezení takové konfigurace, aby funkce sítě v aktivním režimu realizovala autoasocia-tivní paměť. To znamená, že pro vstup blízký nějakému tréninkovému vzoru 86 KAPITOLA 3. ASOCIATIVNÍ NEURONOVÉ SÍTĚ 3.2.4 Příklad aplikace Hopfieldovy sítě Uvedené obecné principy budeme ještě ilustrovat na příkladě využití Hopfieldovy sítě pro redukci šumu rozpoznávaných znaků, v tomto případě číslic. Obraz cifry je rozložen na matici 12 x 10 černobílých obrazových bodů, které odpovídají 120 neuronům Hopfieldovy sítě tak, že jejich stavy 1,-1 reprezentují po řadě černou a bílou barvu (srovnejte s motivačním příkladem školáka v odstavci 1.3.1). Dále byly vytvořeny vzorové obrazy osmi uvažovaných číslic, které posloužily jako tréninkové vzory při adaptaci Hopfieldovy sítě podle Hebbova zákona (3.26). Naučené síti byl pak předložen vstup odpovídající obrazu cifry, který vznikl 25% šumem vzorového obrazu trojky. Na obrázku 3.5 můžeme sledovat průběh aktivního režimu Hopfieldovy sítě pro tento vstup monitorovaný v makroskopických časových krocích. Hopfieldova síť postupně odstraňuje z obrazu číslice šum, tj. pracuje jako autoasocia-tivní paměť, když vybavuje původní vzorový obraz trojky, který odpovídá stabilnímu stavu sítě. SS 3 333 Obr. 3.5: Příklad aplikace Hopfieldovy sítě. 3.3 Spojitá Hopfieldova síť V této podkapitole popíšeme spojitou variantu analogové Hopfieldovy sítě [46, 123] a její aplikaci při heuristickém řešení problému obchodního cestujícího. Na rozdíl od analogových modelů neuronových sítí, které jsme doposud uvažovali (např. vícevrstvá neuronová síť s učícím algoritmem back-propagation v podkapitole 2.2), kde reálný stav neuronu je spojitou funkcí 3.2. HOPFIELDOVA SÍŤ 85 3.2.3 Kapacita Hopfieldovy paměti Nejprve se budeme zabývat schopností reprodukce Hopfieldovy sítě, která je pro autoasociativní paměť nutnou podmínkou (viz odstavec 3.1.1). V našem případě to znamená, že tréninkové vzory jsou lokálními minimy energetické funkce, resp. stabilními stavy sítě. Schopnost reprodukce závisí na poměru p/n počtu tréninkových vzorů p ku počtu neuronů n, kterým je dána tzv. kapacita Hopfieldovy autoasociativní paměti. Za předpokladu, že stavy neuronů tréninkových vzorů jsou vybrány náhodně se stejnou pravděpodobností, lze pro dostatečně velký počet neuronů n a tréninkových vzorů p vypočítat pravděpodobnost P, že stav daného neuronu v tréninkovém vzoru bude stabilní [109]: /n/2p 1 f —2 ' (3.32) Například pro p = 0.185n (tj. pro kapacitu paměti 0.185) lze očekávat, že počet nestabilních stavů neuronů v tréninkových vzorech nepřevýší 1%. Tento výsledek však neříká nic o tom, zda síť při následném výpočtu, kdy se změní příslušný nestabilní stav neuronu, dospěje ke stabilnímu stavu blízkému k uvažovanému tréninkovému vzoru. Podobná analýza [190, 284] pro reprodukci většiny, resp. všech celých vzorů (na rozdíl od reprodukce jen jednotlivých stavů neuronů v tréninkových vzorech), ukazuje, že maximální počet vzorů, které lze uložit do Hopfieldovy autoasociativní paměti, je úměrný n/logn. Avšak u autoasociativní paměti nejde jen o reprodukci, tj. zapamatování všech tréninkových vzorů, ale též o vybavení těchto vzorů na základě jejich částečné (nepřesné) znalosti. Podrobnější analýza [11, 12, 74, 220] ukazuje, že pro počet tréninkových vzorů p < 0.138n (tj. pro kapacitu paměti nejvýše 0.138) tréninkové vzory odpovídají lokálním minimům energetické funkce Hopfieldovy sítě adaptované podle Hebbova zákona (3.26), tj. Hopfieldovu síť lze principiálně použít jako autoasociativní paměť. Naopak pro p > 0.138n lokální minima příslušející k tréninkovým vzorům zanikají. Pro p < 0.05n (tj. pro kapacitu paměti menší než 0.05) tréninkové vzory odpovídají globálním minimům energetické funkce, která jsou hlubší než lokální minima příslušející fantomům. To znamená, že pro Hopfieldovu autoasociativní paměť s dobrými vlastnosti je k zapamatovaní např. 10 tréninkových vzorů potřeba 200 neuronů, což v úplné topologii cyklické sítě odpovídá řádově 40000 spojů ohodnocených (celočíselnými) synaptickými váhami. I když se v praxi ukazuje, že uvedené teoretické odhady jsou poněkud nadhodnocené, přesto základní model Hopfieldovy autoasociativní paměti má díky své malé kapacitě spíše teoretický význam. V literatuře existuje mnoho modifikací tohoto modelu, které se snaží uvedený nedostatek odstranit. 88 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE j = 1, . . ., n. Po dosazení -J^-(í*) = 0 do soustavy (3.33) dostáváme: Vi = a(Zj) = a I ^2wjiVi I Í = l,...,rc. (3.36) Rovnice (3.36) připomínají stabilní stav diskrétní verze Hopneldovy sítě v aktivním režimu (3.27), (3.28). Aktivní dynamiku (3.33) spojité Hopfieldovy sítě můžeme také zapsat velmi podobnou soustavou diferenciálních rovnic, jejímž řešením je (místo y(í)) vývoj vnitřních potenciálů £j(t) (j = 1, . . ., n) v čase: Tj -£■ = -^ + J2 wJiVi = "6 + J2 wH(T(íi) i = 1, • • •, n • (3-37) 8=0 8=0 Soustava (3.37) má stejné stabilní řešení (3.36) jako soustava (3.33). Podobně jako u diskrétní verze (3.29) můžeme definovat energii spojité Hopfieldovy sítě, která je závislá na stavu sítě, a proto se také spojitě vyvíjí v čase: n n ^ li li li li „y- E(t) = -2J2J2w^y^yi~J2w^y^+ J2 ^(y)^- (3-38) „■__i „■__i „■__i „■__i • * o = 1 8 = 1 .7=1 .7=1 Pro aktivační funkci (3.34) (podobně pro (3.35)) můžeme integrály v rovnici (3.38) explicitně vyjádřit: ^"1(í/)dí/=Tln^i(l-í/J-)1_yi j = l,-..,n. (3.39) o A V následujícím ukážeme, že energie E(t) během aktivního režimu (3.33) (resp. (3.37)) neroste, tj. — < 0: dE lAA dy; 1 v^ v^ dyi j = 1 1 = 1 j = l 1 = 1 n j n j -í>.iM>-'to>f- <«»> i=i i=i S využitím toho, že váhy jsou symetrické, tj. wjí = wíj (1 < i, j < n), a (3.36), (3.37) dostáváme: f = -Žf(í>.^)=-í>ft. <«!> 7=1 \8 = 0 / 7=1 3.3. SPOJITÁ HOPFIELDOVA SIŤ 87 vnitřního potenciálu, bude tato síť příkladem modelu, u kterého je vývoj reálného stavu v aktivním režimu navíc spojitou funkcí času. Aktivní (příp. adaptivní) dynamika je v takových případech obvykle zadána diferenciální rovnicí, jejíž řešení nelze explicitně vyjádřit, proto tyto modely, pokud nepracujeme s jejich diskrétní verzí (v našem případě s Hopfieldovou sítí z podkapitoly 3.2), nejsou vhodné pro simulaci na klasických počítačích. Na druhou stranu jsou výhodné pro analogovou hardwarovou implementaci pomocí elektrických obvodů. 3.3.1 Spojitá aktivní dynamika Předpokládejme model Hopfieldovy sítě s organizační, popř. adaptivní dynamikou popsanou v odstavci 3.2.1. Navíc předpokládáme, že váhy sítě mohou být reálná čísla, a Wjo (1 < j < n) představuje obecně nenulový reálný bias (práh s opačným znaménkem) j-tého neuronu odpovídající formálnímu jednotkovému vstupu i/o = 1- Připomeňme, že Wjj = 0 (j = 1, . . ., n). Pro spojitou Hopfieldovu síť uvažujeme následující aktivní dynamiku. Na začátku aktivního režimu v čase 0 jsou stavy neuronů nastaveny na reálný vstup sítě x = (x\, . . ., xn), tj. yi(0) = X{ (i = 1, . . ., n). Vývoj reálného stavu sítě y(í) v aktivní fázi je spojitou funkcí času t > 0 danou soustavou diferenciálních rovnic (v následujících vzorcích kvůli přehlednosti vynecháváme parametr času t): TJ-dJ = -yj +<7fó) =-%' +(T wlwJiyi\ i = 1, •••,«, (3-33) kde Tj > 0 (j = 1, . . ., n) jsou vhodné časové konstanty, £j (t) je reálný vnitřní potenciál neuronu j, který také závisí na čase t, a a je spojitá aktivační funkce, např. standardní sigmoida (1.9) s oborem hodnot (0, 1): nebo její bipolární tvar — hyperbolický tangens (1.10) s oborem hodnot (-1.1): '1. A l-e-Aí ^) = tgh^j=TT^, (3.35) kde A > 0 je parametr strmosti (srovnejte s (2.7)). Pro A —► oo dostaneme diskrétní výstupy neuronů —1 nebo 1 podobně jako u diskrétní Hopfieldovy sítě (3.28). Výpočet spojité Hopfieldovy sítě končí v čase t*, kdy se síť nachází ve stabilním stavu y(í*), jehož změna v čase je nulová, tj. -§r(t*) = 0 pro 90 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE (3.39) jsou při těchto hodnotách nulové. Dále se proto omezíme již jen na zbylé členy v definici energetické funkce (3.38). Stav yru = 1 (řekneme, že příslušný neuron je aktivní) interpretujeme tak, že r-té město se nachází na okružní cestě u-té v pořadí, a yru = 0 (neuron je pasivní), pokud tomu tak není. > města zastávky Obr. 3.6: Neuronová reprezentace problému obchodního cestujícího. Je zřejmé, že v uvedené neuronové reprezentaci problému obchodního cestujícího ne všechny stavy sítě odpovídají jeho přípustnému řešení, tj. představují skutečně okružní cesty. Přípustnost řešení je potřeba zohlednit v minimalizované účelové funkci. Nejprve požadujeme, aby obchodní cestující navštívil každé město nejvýše jednou, tj. aby v každém řádku byl aktivní nejvýše jeden neuron, jak je naznačeno na obrázku 3.6. Tomu odpovídá minimalizace následujícího výrazu: JV JV N e a = — ^2 ^2 X! Vru Vrv = r=lu=l v =1 v ■£ u 1 n n = -g X! X! -Ä6rs(l-ôuv)yjyi, (3.43) j = i i = i j = (r, u) i = (s, v) 3.3. SPOJITÁ HOPFIELDOVA SIŤ 89 Pomocí (3.36) upravíme derivaci — na tvar, ze kterého je zřejmé, že je nekladná: f = -X>%>(f)3S°. ("ä) J=l ^ / protože Tj > 0 (j = 1, . . ., n) a aktivační funkce 0 rostoucí, tj. cr'iŠj) > 0. Tedy energie E (t) během aktivního režimu (3.33) klesá, tj. — < 0, až do chvíle, kdy se síť vzhledem k omezenosti energetické funkce (3.38) (reálné stavy neuronů jsou z intervalu (0, 1), resp. (—1, 1), a příslušné integrály (3.39) jsou omezené) dostane do jejího lokálního minima, kde ■^ = 0, které podle (3.42) odpovídá stabilnímu stavu sítě -Jp = -J^- = 0. Tím jsme ukázali, že spojitá Hopfieldova síť vždy skončí svůj výpočet ve stabilním stavu. Spojitou Hopfieldovu síť adaptovanou pomocí Hebbova zákona lze v analogii s její diskrétní verzí použít jako autoasociativní paměť. V následujícím výkladu se budeme zabývat ještě jiným nestandardním využitím tohoto modelu. 3.3.2 Problém obchodního cestujícího Ukázali jsme, že během aktivního režimu spojité Hopfieldovy sítě se minimalizuje energie E ve stavovém prostoru. Toho se dá využít při heuristickém řešení optimalizačního problému, jehož minimalizovanou účelovou funkci a případná omezení lze vyjádřit ve tvaru „kvadratické formy" (3.38). Porovnáním příslušné účelové funkce s energetickou funkcí se vyextrahují synaptické váhy spojité Hopfieldovy sítě („adaptivní" režim). V aktivním režimu pak hledáme optimální přípustné řešení daného problému. Tento postup budeme ilustrovat na známém problému obchodního cestujícího [125]. Je dáno N > 2 měst a funkce d : {1, . . ., N}2 —> R, která pro každou dvojici těchto měst 1 < r, s < N určuje vzdálenost d(r, s) z města r do města s, tj. d(r,r) = 0 a d(r,s) = d(s,r) (1 < r, s < N). Problémem obchodního cestujícího je určit pořadí měst nejkratší okružní cesty, při které každé město navštíví právě jednou a skončí ve městě, ve kterém začal. Uvedený problém reprezentujeme pomocí spojité Hopfieldovy sítě s n = N x N neurony, jejichž stavy yru indexujeme číslem města r (í < r < N) a jeho možným pořadím u (1 < u < N) při okružní cestě obchodního cestujícího. Maticové uspořádání neuronů v topologii sítě je naznačeno na obrázku 3.6, kde jednotlivé řádky odpovídají městům a sloupce určují pořadí zastávek obchodního cestujícího v těchto městech. Jako aktivační funkci a uvažujeme standardní sigmoidu (3.34), tj. stavy neuronů yru G (0,1) (1 < r, u < N). Při minimalizaci energetické funkce E v aktivním režimu vynucuje člen s integrály v rovnici (3.38) binární stavy (tj. yru = 1 nebo yru = 0), protože příslušné integrály 92 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE 1 n n = -g E E -Dd(r, s)(6UtV_1 + 6UtV+1)yjyi , j = 1 i = i j = (r, u) i = (s, v) kde D > O je míra vlivu iip při minimalizaci a cílem úpravy v (3.46) je převést Ej) opět na tvar porovnatelný s prvním členem v (3.38). Kvůli jednoduchosti zápisu (3.46) indexy u — í pro u = 1, resp. u + 1 pro u = N, interpretujeme jako u = N, resp. m = 1. Tedy výsledná účelová funkce £oc problému obchodního cestujícího, jejíž minimalizací získáme jeho přípustné optimální řešení, tj. pořadí měst nejkratší okružní cesty, je součtem (3.43), (3.44), (3.45) a (3.46): Ena = E a + En + Er, + Er, = E E i = i i = i j = (r, u) z = (s, ü) (^ - ^<5rs(l - č««) - B6UV(Í - 6rs)- -C(í - 6ji) - Dd(r,s)(6UíV-i + bUyV+i)jyjyi E (CN -?W (3-47) Porovnáním účelové funkce obchodního cestujícího (3.47) s prvními dvěma členy energetické funkce spojité Hopfieldovy sítě (3.38), vyextrahujeme váhy příslušné sítě, které zajistí minimalizaci Eoc během aktivního režimu: Wji = -A6rs(l-6UV) - B6uv(l - 6rs)-C(l-6ji) -Dd(r,s)(6UtV_1+6UtV+1) (3.48) C Wjo = CN—— j = (r, u), i = (s,v), 1 < r, s, u, v < N . Z definice vah (3.48) je zřejmé, že wjí = wíj a Wjj = 0 pro 1 < i, j < n. Při heuristickém řešení problému obchodního cestujícího nejprve nastavíme váhy spojité Hopfieldovy sítě podle (3.48), přitom volíme vhodné reálné parametry A, B, C, D určující stupeň minimalizace jednotlivých členů v Eoc = EA + EB + Ec + ED (např. A = B = D = 500, C = 200 [125]). Aktivní režim začneme v náhodném počátečním stavu sítě v blízkosti nulového vektoru, např. y- E (0, 0.001) (j = 1, . . ., n). Vlastní výpočet spojité Hopfieldovy sítě probíhá podle (3.33), dokud se síť nenachází ve stabilním stavu odpovídajícím lokálnímu minimu energetické funkce (3.38), resp. účelové funkce problému obchodního cestujícího Eoc- Nakonec odečteme výsledek, tj. yru = 1 interpretujeme tak, že obchodní cestující navštíví r-té město na své okružní cestě v M-tém pořadí. 3.3. SPOJITÁ HOPFIELDOVA SIŤ 91 kde A > 0 je míra vlivu E a při minimalizaci a 6rs je Kroneckerovo delta, tj. 6rs = 1, jestliže r = s, a 6rs = 0 pro r ^ s. Cílem úpravy v (3.43) je převést E a na tvar porovnatelný s prvním členem energetické funkce (3.38). Podobně požadujeme, aby obchodní cestující byl při každé zastávce na své okružní cestě nejvýše v jednom městě, tj. aby v každém sloupci na obrázku 3.6 byl aktivní nejvýše jeden neuron. Tomu odpovídá minimalizace následujícího výrazu: JV JV N Eb = yEE E y™y»u = u = lr = l s = 1 s -£ r 1 n n = "2 E E -BSuv(l-Sr,)yjyi, (3.44) j = i i = i j = (r, u) i = (s, v) kde B > 0 je míra vlivu Eb při minimalizaci a cílem úpravy v (3.44) je převést Eb opět na tvar porovnatelný s prvním členem v (3.38). Nakonec ještě požadujeme, aby obchodní cestující na své okružní cestě navštívil právě N měst, tj. aby bylo právě N neuronů v síti (na obrázku 3.6) aktivních. Tomu odpovídá minimalizace následujícího výrazu: Ec = y(^-EÍ>™) =£T-~ (3-45) r=lu=l 1 n n n / -> E E -C(i-^)í/íí/.--E (CN = 1 z = l (r, u) i = (s, v) c Vi kde C > 0 je míra vlivu Ec při minimalizaci. Druhý řádek (3.45) je ve tvaru porovnatelném s prvními dvěma členy v (3.38), člen —— je konstantní a nemá vliv na minimalizaci, proto jej dále v Eq nebudeme uvažovat. Tedy současná minimalizace (3.43), (3.44), (3.45) ve stavovém prostoru vynucuje stavy sítě odpovídající přípustným řešením problému obchodního cestujícího. A nyní ještě v účelové funkci zohledníme požadavek na to, aby cesta obchodního cestujícího byla co nejkratší, tj. aby příslušné přípustné řešení bylo optimální. Tomu odpovídá minimalizace následujícího výrazu: JV JV JV Ed = y EEEd(r' s^™ (ž/s.tI-1 + 2/»,«+i) = (3.46) r=ls=lu=l 94 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE Použijeme též značení j pro množinu všech neuronů, které jsou spojeny s neuronem j. výstupy skryté neurony vstupy Obr. 3.7: Příklad topologie Boltzmannova stroje. Aktivní dynamiku Boltzmannova stroje popíšeme pro případ sekvenčního výpočtu. Na začátku aktivního režimu v čase 0 jsou stavy vstupních neuronů i G X nastaveny na bipolární vstup sítě x = (xi, . . ., xn) G { — 1, l}n a během celého výpočtu jsou fixovány, tj. y\ ' = X{ (i G X) pro t > 0. Stavy ostatních nevstupních neuronů j G V\X jsou na začátku nastaveny náhodně y- G { — 1, 1}. V diskrétním čase t > 0 aktivního režimu je pak náhodně vybrán nevstupní neuron j G V \ X, který je aktualizován (ostatní svůj stav nemění). Podobně jako u Hopfieldovy sítě v odstavci 3.2.1 uvažujeme makroskopický čas r, tj. ts' < t < (r + l)s', kde s' = s — n je počet aktualizovaných (nevstupních) neuronů během jedné časové periody. Nejprve je vypočten reálný vnitřní potenciál neuronu j: Í (í-i) E Wjiy ,(*-!) (3.49) 3.4. BOLTZMANNŮV STROJ 93 Avšak vzhledem k tomu, že nalezené minimum energetické funkce nemusí být globální, obecně není výsledné řešení problému obchodního cestujícího, získané v aktivním režimu spojité Hopfieldovy sítě, optimální a dokonce nemusí být ani přípustné. Vhodnou volbou parametrů A, B, C, D a příp. více pokusy s různým počátečním stavem sítě lze docílit lepší aproximaci optima. Také vhodná strategie volby parametru strmosti A > 0 v aktivační funkci (3.34) může pomoci. Na začátku volíme A dostatečně malé, aby stavy jednotlivých neuronů v síti měly větší stupeň volnosti, a v průběhu aktivního režimu, kdy se síť ve stavovém prostoru dostane do oblastí hlubších minim energetické funkce, můžeme tento parametr zvyšovat a zrychlovat tak konvergenci výpočtu. Obecně však neexistuje návod na efektivní volbu uvedených parametrů, které by zaručily konvergenci ke globálnímu minimu energetické funkce, tj. nalezení skutečného optima problému obchodního cestujícího, protože se jedná o 7V_P-úplný problém. Uvedený postup je heuristikou, která se navíc nevyrovná známým klasickým algoritmům pro nalezení přibližného řešení problému obchodního cestujícího. Spíše ilustruje možnou nestandardní aplikaci neuronových sítí. 3.4 Boltzmannův stroj Boltzmannův stroj je model neuronové sítě navržený Hintonem a Sejnow-skim [1, 111, 112], který je stochastickou variantou Hopfieldovy sítě se skrytými neurony. Název tohoto modelu pochází ze statistické mechaniky, protože pravděpodobnost stavů při tzv. termální rovnováze sítě je dána Boltz-mannovým rozdělením. Boltzmannův stroj lze např. použít jako heteroaso-ciativní paměť (viz podkapitolu 3.1). 3.4.1 Stochastická aktivní dynamika Organizační dynamika Boltzmannova stroje specifikuje na začátku pevnou architekturu cyklické neuronové sítě se symetrickými spoji, tj. topologii sítě tvoří neorientovaný graf. Množina s neuronů V = A U B je disjunktně rozdělena na množinu b skrytých neuronů B a na množinu a = n + m tzv. viditelných neuronů A = X U Y, kde X je množina n vstupních neuronů a Y je množina m výstupních neuronů. Příklad architektury Boltzmannova stroje je znázorněn na obrázku 3.7. Neurony značíme indexy i, j apod., £j představuje reálný vnitřní potenciál a y j G { — 1, 1} bipolární stav, resp. výstup neuronu j. Stav viditelných neuronů budeme označovat Oí G { — 1, l}a, stav skrytých neuronů ß G { — 1, 1}' a stav Boltzmannova stroje y = (Oi,ß) G { — 1, 1}S-Spoj mezi neurony i a j je ohodnocen reálnou symetrickou váhou wjí = Wíj . Pro jednoduchost opět uvažujeme nulové prahy neuronů a Wjj = 0 (j G V). 96 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE PA f /.■■■'" ■■'/l T = 4 ....- -Vj ...■■■■'' ^ / Obr. 3.8: Graf pravděpodobnostní aktivační funkce pro různé teploty T. přičemž poměr obou vlivů závisí na teplotě. S klesající teplotou termální fluktuace mizí a v absolutní nule OK (tj. — 273°C) se vůbec nevyskytují. Naopak při vysokých teplotách termální fluktuace dominují a magnetická orientace jednoho spinu je nezávislá na magnetickém poli, tj. je s ním v rozporu přibližně stejně často jako mu odpovídá. Tento jev lze formálně matematicky popsat pomocí tzv. Glauberovy dynamiky [76], která odpovídá aktivní dynamice Boltzmannova stroje (3.49), (3.50) s tím, že skutečnou teplotu Tr v Kelvinech je ještě potřeba upravit: T = kgTx, kde kg = 1.38 x Í0~23J/K je Boltzmannova konstanta. Pokles teploty v aktivním režimu lze připodobnit ke skutečnému žíhání materiálu při výrobě tvrdého kovu s pravidelnou krystalickou strukturou, při které dochází k postupnému ochlazování, aby se předešlo anomáliím v krystalické struktuře materiálu. Aktivní dynamiku Boltzmannova stroje je také možno interpretovat neu-rofyziologicky. Biologický neuron je kromě vlastního elektrického signálu z dendritů (viz podkapitolu 1.2) ovlivňován jinými okolnostmi. Například impuls generovaný v axonu má po každé různou intenzitu. Navíc dochází ke zpoždění signálu na synapsích, k náhodným fluktuacím apod. Tyto rušivé vlivy můžeme chápat jako šum, který lze v Boltzmannově stroji reprezentovat termálními fluktuacemi, i když v tomto případě parametr T nepředstavuje skutečnou teplotu, ale úroveň šumu. 3.4.3 Rovnovážný stav Podobně jako u Hopfieldovy sítě v odstavci 3.2.2 se definuje energetická funkce Boltzmannova stroje E(y) v závislosti na jeho stavu y: %) = -JEE^«W'- (3-54) jev iej 3.4. BOLTZMANNŮV STROJ 95 Výstup neuronu j v čase t je pak určen stochasticky tak, že neuron j je aktivní s pravděpodobností p{j/W = l} = (T(^-1)), (3.50) resp. pasivní s pravděpodobností P {»?> = -l} = 1 - P {y?> = l} = *(-tf-1'), (3.51) kde a je pravděpodobnostní aktivační funkce: jejíž tvar odpovídá standardní sigmoidě (1.9). 3.4.2 Simulované žíhání Parametr T^T> > 0 v rovnici (3.52), který se může v makroskopickém čase r vyvíjet, se díky fyzikální analogii nazývá teplota a je nepřímo úměrný strmosti pravděpodobnostní aktivační funkce (srovnejte s (3.34)). Je zřejmé, že pro teplotu T —► oo pravděpodobnosti (3.50), (3.51) obou bipolárních stavů jsou shodně ^ a Boltzmannův stroj se v aktivním režimu chová zcela náhodně. Naopak pro T —► 0 je výpočet Boltzmannova stroje podle (3.49), (3.50) deterministický a shodný s aktivním režimem Hopfieldovy sítě (3.27), (3.28). Obvykle na počátku volíme dostatečně velkou teplotu T(°) tak, aby pravděpodobnost (3.50) byla o něco málo vyšší než -| a výpočet měl velký stupeň volnosti. Kvůli konvergenci pak postupně celý systém „chladíme", tj. teplotu pomalu snižujeme. Tomuto postupu se díky fyzikální analogii říká simulované žíhání (simulated annealing) [149]. Např. teplota T(r) = r]cT^> pro cq < t < (c + í)q (c = 0,1,2,...) klesá po q > 0 makroskopických krocích, kde 0 < r\ < 1 volíme blízké 1 nepřímo úměrné volbě q (pro menší q např. r\ = 0.98 a pro větší r\ = 0.9). Nebo se vývoj teploty řídí následující heuristikou [73]: T(o) T(y = -—-------- r>0. (3.53) log(l + r) v ' Graf pravděpodobnostní aktivační funkce pro různé teploty je znázorněn na obrázku 3.8. Uvedená aktivní dynamika Boltzmannova stroje dále rozvíjí fyzikální analogii Hopfieldovy sítě z odstavce 3.2.2 tak, že navíc počítá s teplotou. Spiny v magnetických materiálech jsou totiž kromě magnetického pole ovlivňovány tzv. termálními fluktuacemi, které mají tendenci často a náhodně měnit magnetickou orientaci spinu a omezují tak vliv magnetického pole, 98 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE 3.4.4 Boltzmannovo učení Nyní popíšeme adaptivní dynamiku Boltzmannova stroje pro případ hete-roasociativní paměti. Požadovaná funkce sítě je v adaptivním režimu zadána pomocí diskrétního rozdělení pravděpodobností stavů viditelných neuronů, které každému možnému stavu Oí = (x, d) G { —1, l}n+m vstupních a výstupních (viditelných) neuronů přiřazuje požadovanou nenulovou pravděpodobnost Pd(x, d) > 0. V praxi však obvykle toto pravděpodobnostní rozdělení není explicitně známo a také jeho popis by představoval exponenciálně mnoho (2a, kde a=n+m) nenulových pravděpodobností. Proto se uvažuje tréninková množina xfc = (xki,...,xkn) g {-i,i}" dk = (dkl,...,dkm)e{-i,í}m ' T = < (xfc,dfc) l,...,p , (3.58) která obsahuje jen relevantní vstupy xk (k = 1, . . . ,p) s odpovídajícími požadovanými výstupy dk, kde počet vzorů 0 < p 0 (k = 1, . . . ,p). Při adaptaci Boltzmannova stroje se pak do tréninkové množiny T vnáší s malou pravděpodobností šum, který zajistí nenulovou pravděpodobnost výskytu zbylých stavů viditelných neuronů, které nejsou tréninkovými vzory. Cílem adaptace Boltzmannova stroje je najít takovou konfiguraci sítě w, aby pravděpodobnostní rozdělení pa(oí) stavů Oí G { — 1, l}a viditelných neuronů A = X U Y v termální rovnováze odpovídalo požadovanému rozdělení pravděpodobností Pd(Oí) stavů Oí = (x, d) tréninkových vzorů (3.58). Pomocí (3.56) lze vyjádřit pravděpodobnost Pa(®) stavu Oí G { — 1, l}a viditelných neuronů nezávisle na stavu ß G { — 1, 1}' skrytých neuronů: pA(oc)= Y, PB(a,ß). (3.59) /3GÍ-1.1}" Vhodnou mírou rozdílu mezi pravděpodobnostními rozděleními p a a pd, tj. chybou £, je relativní entropie zvážená pravděpodobností výskytu tréninkových vzorů: Pd(a) ' Pa{ol) £(w)= Y Pä(a)lo&Z^á- (3-60) ae{-l,l}a Chyba £(w) je vždy nezáporná a je nulová, právě když p^ = Pd- Navíc £(w) je funkcí konfigurace w Boltzmannova stroje, protože p^ podle (3.59), (3.56) a (3.54) závisí na synaptických váhách. Můžeme tedy minimalizovat chybovou £(w) ve váhovém prostoru pomocí gradientní metody. 3.4. BOLTZMANNŮV STROJ 97 V průměrném případě se očekává, že energie (3.54) během aktivního režimu klesá, dokud se Boltzmannův stroj nedostane v čase t* do tzv. termální rovnováhy, kdy stav Boltzmannova stroje sice není vzhledem ke stochastickému výpočtu konstantní, ale lokálně kolísá kolem „stabilního" stavu: který odpovídá lokálnímu minimu E. Pravděpodobnost, že se Boltzmannův stroj v termální rovnováze při teplotě T nachází ve stavu y* G { — 1, 1}S, se řídí Boltzmannovým rozdělením ze statistické mechaniky: e-E(y")/T Pß(y*) =-----^------e-E(y)/T • (3-56) ye{-i,i}s Pomocí něj lze vypočítat tzv. rovnovážný stav y* G { — 1, 1}S, který je průměrem stavů zvážených příslušnými pravděpodobnostmi: y*= J2 ^(y)%' i^v- (3-57) ye{-i,i}s Stavy výstupních neuronů y1- (j G Y) rovnovážného stavu pak pro daný vstup určují průměrný výstup. Kromě heteroasociativní paměti lze Boltzmannův stroj použít pro heuristické řešení optimalizačních úloh, pokud optimalizační problém s příslušnou účelovou funkcí (optimalita) a omezením (přípustnost) lze převést na minimalizaci kvadratické formy ve tvaru (3.54) (srovnejte s aplikací spojité Hop-fieldovy sítě při řešení problému obchodního cestujícího v odstavci 3.3.2). V tomto případě váhy Boltzmannova stroje obdržíme porovnáním příslušné kvadratické formy s energetickou funkcí sítě E. Optimální přípustné řešení daného problému se pak snažíme v aktivním režimu získat minimalizací energetické funkce stochastickou variantou gradientní metody (3.49), (3.50) (srovnejte s (3.30)). Hlavním problémem nelineární optimalizace, se kterým jsme se již např. setkali u učícího algoritmu backpropagation (viz odstavec 2.2.2), jsou lokální minima. Cílem nelineární optimalizace je nalézt globální minimum, tj. vyhnout se lokálním minimům. Výhoda Boltzmannova stroje oproti (spojité) Hopfieldově síti spočívá v možnosti přejít při vyšší teplotě (díky stochastickému výpočtu) z lokálního minima E do stavu s vyšší energií, ze kterého případně vede cesta k hlubšímu minimu. Vhodnou strategií při simulovaném žíhání lze najít lepší optimum než při deterministickém výpočtu Hopfieldovy sítě. Také v případě asociativní paměti, kdy globální minima energetické funkce reprezentují tréninkové vzory a lokální minima odpovídají nepravým vzorům (viz odstavec 3.2.2), se tak lze v aktivním režimu vyhnout fantomům. 100 KAPITOLA 3. ASOCIATÍVNI NEURONOVÉ SITE 3.4.5 Učící algoritmus Uvedenou adaptivní dynamiku Boltzmannova stroje shrneme do přehledného algoritmu, který lze realizovat distribuované prostřednictvím specializovaného hardwaru [272] nebo jej můžeme simulovat pomocí klasického počítače metodou Monte Carlo: 1. Polož diskrétní čas adaptace t := 0. 2. Zvol náhodně s rovnoměrným rozdělením w-^ = w\-' G (—1, 1)- 3. Zvětši adaptivní čas t := t + 1. 4. Polož ßt.(t_1) := 0. 5. Pro každý tréninkový vzor k = 1, . . . ,p vykonej g-krát následující akce: (a) Fixuj stavy viditelných neuronů Oí = (x'k,d'k) G { —1, l}n+m, kde pravděpodobnost shody s jedním stavem k-tého tréninkového vzoru je např. P{x'ki = x^i] = 0.9 (i = l,...,n) a P{ď,. = cřfcj} = 0.9 (j = l,...,m). Dále postupuj podle aktivní dynamiky (3.49), (3.50) (pro stavy skrytých neuronů) tak, že pomocí simulovaného žíhání dosáhni termální rovnováhy ve stavu y* s nějakou koncovou teplotou T*. Stav y* bude v makroskopickém aktualizačním čase r = 0 počátečním stavem dalšího výpočtu Boltzmannova stroje. (b) V aktualizačním makroskopickém čase r = 1, . . ., r vykonej následující akce: i. Proveď jeden makroskopický krok výpočtu Boltzmannova stroje při teplotě T*, tj. aktualizuj v náhodném pořadí stavy všech skrytých neuronů podle (3.49), (3.50). ii. Aktualizuj statistiku pro výpočet iŇyf(A) podle aktuálního + +• -l-í*-1) +(*-!) , (r) (V) stavu, tj. QJ> := QJ> + y) y\ . 6. Zprumeruj gT. := -L-^—. { Oji Je odhadem aktuálního y^yf(A). } 7. Polož e-.(ť_1) := 0. 3.4. BOLTZMANNŮV STROJ 99 Na začátku adaptivního režimu Boltzmannova stroje v čase 0 jsou váhy konfigurace w(°) nastaveny náhodně s rovnoměrným rozdělením blízko nuly, např. ti)- = w\; G (—1, 1) (j G V,i E j). Adaptace probíhá v diskrétních časových krocích, které odpovídají tréninkovým cyklům, při nichž se každý tréninkový vzor z T předkládá vícekrát. Nová konfigurace wW v čase t > 0 se vypočte: wf> = wfr1'» + Awf> jEV,i£j, (3.61) kde změna vah Aw'1' v čase t > 0 je úměrná zápornému gradientu chybové funkce (3.60) v bodě wí*"1): Auff = -£7T- (w(ť_1)) 3 ev,iej, (3.62) \J UJ 7^ kde 0 < s < 1 rychlost učení. K realizaci uvedené adaptivní dynamiky (3.61) potřebujeme vypočítat gradient chybové funkce ve vzorci (3.62). Formálním derivováním chybové funkce (3.60) s využitím (3.59), (3.56), (3.54) a interpretací příslušných pravděpodobností dostaneme (podrobné odvození lze najít např. v [109]): dS 1 du);; T (yM(A) -yfyf) jeV,iej. (3.63) Výraz iŇyt(A) v rovnici (3.63) je průměrná hodnota y^yf při termální rovnováze, když jsou stavy Oí = (x, d) vstupních a výstupních (viditelných) neuronů z A = X U Y fixovány: v- _ ,„.s v- PB(a,ß) Pa(ol) V1VUA)= X) Pä(oi) X \:;/ž/j (<%*(<*)> (3-64) ae{-i,i}" ße{-i,i}h kde ifiiot) je výstup neuronu j G V při termální rovnováze Boltzmannova stroje, když jsou stavy viditelných neuronů fixovány vektorem Oí. Podobně člen y'-yf v (3.63) je průměrná hodnota y^y* při termální rovnováze Boltzmannova stroje bez fixace viditelných neuronů: yfyf= J2 PB(y)yjvt- (3-65) ye{-i,i}s Po dosazení (3.63) do (3.62) obdržíme Boltzmannovo pravidlo učení: e Awji = f (yjVi(A) - yfyf) jeV,iej. (3.66) První člen y^y^(A) (viz (3.64)) ve vzorci (3.66) lze interpretovat jako Heb-bovo učení (srovnejte s (3.5)) s fixovanými vstupními a výstupními (viditelnými) neurony a druhý člen —y^yf (viz (3.65)) odpovídá Hebbovu odučování (srovnejte s (3.31)) bez fixace viditelných neuronů. Adaptivní režim konverguje, když se oba tyto členy rovnají pro j G V, i G j■ 102 KAPITOLA 3. ASOCIATIVNÍ NEURONOVÉ SÍTĚ 3.4. BOLTZMANNŮV STROJ 101 8. Vykonej (pg)-krát následující akce: (a) Bez fixace viditelných neuronů, tj. pro náhodný počáteční stav Boltzmannova stroje postupuj podle aktivní dynamiky (3.49), (3.50) (pro stavy všech neuronů) tak, že pomocí simulovaného žíhání dosáhni termální rovnováhy ve stavu y* s nějakou koncovou teplotou T*. Stav y* bude v makroskopickém aktualizačním čase r = 0 počátečním stavem dalšího výpočtu Boltzmannova stroje. (b) V aktualizačním makroskopickém čase r = 1, . . ., r vykonej následující akce: i. Proveď jeden makroskopický krok výpočtu Boltzmannova stroje při teplotě T*, tj. aktualizuj v náhodném pořadí stavy všech neuronů podle (3.49), (3.50). ii. Aktualizuj statistiku pro výpočet j/^j/* podle aktuálního stavu _(*-l) -(*-l) (t) (t) 9. Zprůměruj £>"■ := ß'i'pqr . .(í-i) { Qji Je odhadem aktuálního jňyf ■ } 10. Podle (3.66) vypočítej Aw$ := ^ ($(*_1) ~ Qjľ'^)- 11. Aktualizuj konfiguraci w ■/ := w -~ ' + A id V- o jí jí jí 12. Je-li Am j dostatečně malé, skonči, jinak pokračuj krokem 3. Z uvedeného algoritmuje zřejmé, že adaptivní režim Boltzmannova stroje je výpočetně náročnou záležitostí. Přesto se v praxi ukazuje, že dosažené výsledky Boltzmannova stroje při následné aplikaci jsou velmi dobré [109]. 104 KAPITOLA 4. SAMOORGANIZACE nový koncept. (Přesněji, hledáme takové reprezentanty, že vybereme-li náhodný vstupní vektor z rozdělení pravděpodobnosti odpovídající rozdělení tréninkové množiny, bude mít každý reprezentant stejnou pravděpodobnost, že mu je nejblíže.) Poznamenejme nakonec, že v současné době existuje i řada neurofyzio-logických prací, které experimentálně potvrzují, že některé oblasti v mozku pracují na soutěžním principu. Struktura této kapitoly je následující: nejprve se budeme věnovat problému učení bez učitele (unsupervised learning), někdy též nazývané vektorová kvantizace (VQ), a ukážeme si (klasický) Lloydův algoritmus a nejjednodušší variantu soutěžního učení, v literatuře nazývanou Kohonenovo učení. V další části probereme Kohonenovy samoorganizační mapy a příbuzné metody učící vektorové kvantizace LVQ (learning vector quantization). Na závěr ukážeme síť typu counterpropagation navrženou Hecht-Nielsenem [103] v roce 1986. 4.1 Vektorová kvantizace Termín a základní algoritmy vektorové kvantizace pocházejí z oblasti zpracování a aproximace signálů [85]. Úkolem VQ je aproximovat hustotu pravděpodobnosti p(x) reálných vstupních vektorů x E Rn pomocí konečného počtu jednotek či reprezentantů (v klasické literatuře označovaných jako co-debook vectors) w; £ Rn; (i = 1,...,/í). Máme-li již nějakým způsobem reprezentanty určeny, potom ke každému vektoru x £ Rn přiřadíme jako jeho reprezentanta tu jednotku wc, která je mu nejblíže, tedy: c = arg min {||x — w;||}. (4-1) /=i,...,/i Jedním ze způsobů řešení problému nalezení reprezentantů je minimalizovat chybu VQ definovanou jako: £=y"iix-wcii2p(x)dx, kde 11 • 11 j e euklidovská norma a c j e definováno předpisem (4.1). Nej častěj i se v praxi setkáváme s případem, že hustotu pravděpodobnosti p(x) neznáme a problém máme zadán konečnou tréninkovou množinu vzorů T = {xW; t = 1, . . ., k}. V tom případě vypočteme chybu VQ jako: k t=i Kapitola 4 Samoorganizace V této kapitole se budeme věnovat modelům neuronových sítí, které využívají soutěžní strategie učení (competitive learning). Společným principem těchto modelů je, že výstupní neurony sítě spolu soutěží o to, který z nich bude aktivní. Na rozdíl od jiných učících principů (např. Hebbovského učení) je tedy v určitém čase aktivní jen jeden neuron. První průkopnické práce o soutěžním učení se objevují již v šedesátých letech, např. v Nilssonově knize [208] najdeme popsán princip, který nyní nazýváme Kohonenovým učením. Počátkem sedmdesátých let se soutěžnímu učení věnuje několik autorů, kteří se navzájem ovlivňují, i když jejich práce mají různou motivaci. V roce 1973 navrhl von der Malsburg [186] soutěžní učící algoritmus, který měl modelovat způsob detekování hran v primárním optickém kortexu savců. Jeho algoritmus nebyl lokální — předpokládal, že zvětšení jedné váhy bude mít za následek zmenšení vah ostatních. Tento nedostatek odstranila až Grossbergova práce [88], která se, podobně jako autorův předchozí článek [87] z roku 1972, zabývá adaptivním rozpoznáváním vzorů, které neničí již naučené příklady. Také Willshaw a von der Mal-sburg [292] přicházejí nezávisle s novou verzí soutěžního učení. Jmenujme ještě pro úplnost práci dalšího nestora umělých neuronových sítí Fukushimy, jenž v roce 1975 navrhl model vícevrstvé samoorganizační sítě známé jako kognitron [69]. Asi nejdůležitější neuronovou architekturou vycházející ze soutěžního učení je Kohonenova samoorganizační mapa (Self-Organizing Map), která byla poprvé popsána v roce 1982 [153, 156, 157]. Kohonen se také již od sedmdesátých let zabýval samoorganizačním učením a popsal učící algoritmus nesoucí nyní jeho jméno. I když nebyl jeho prvním objevitelem, má zásluhu na tom, že jako cíl učícího procesu vytkl vytvoření množiny reprezentantů majících stejné pravděpodobnosti výběru, což byl na poli neuronových sítí inQ 106 KAPITOLA 4. SAMOORGANIZACE 4.1.2 Kohonenovo učení Právě uvedený algoritmus je nevýhodný v tom, že ke změnám reprezentantů dochází až po průchodu celou tréninkovou množinou. Proto byla vyvinuta jeho on-line varianta, kterou si nyní popíšeme již v terminologii neuronových sítí. Jde o jednoduchou samo organizační sít, jejíž učící algoritmus se nazývá Kohonenovo učení. Organizační dynamika této sítě je jednoduchá, jde o dvouvrstvou síť s úplným propojením jednotek mezi vrstvami. Vstupní vrstvu tvoří n neuronů, které slouží k distribuci vstupních hodnot x E Rn. Jednotky ve výstupní vrstvě plní funkci výše popsaných reprezentantů. Váhy Wj = (wji, . . ., Wjn), j = 1, . . ., h náležející jedné výstupní jednotce j určují její polohu ve vstupním prostoru. Podívejme se nyní na aktivní dynamiku sítě. Zatímco vstupy x £ R" sítě mohou být libovolná reálná čísla, výstupy yj jsou obvykle jen hodnoty 0 nebo 1, přičemž aktivní (s hodnotou výstupu y j = 1) je vždy právě jeden výstupní neuron — ten, který vyhrál kompetici. Výstup každého neuronu v závislosti na jeho vzdálenosti od vstupního vektoru xW se spočítá takto: (t) í1 J = arg min {||XW-W(||} y) ' = \ .. i=i,...,h (4.5) [ 0 jinak. Principu, který jsme právě popsali, se říká „vítěz bere vše" ("winner takes all") a jeden z mechanismů, kterým se realizuje, je tzv. laterální inhi-bice. Můžeme si představit, že všechny výstupní neurony jsou každý s každým navíc spojeny laterálními vazbami, které mezi nimi přenášejí inhibiční signály. Každý výstupní neuron se tak snaží v kompetici zeslabit ostatní neurony silou úměrnou jeho potenciálu, který je tím větším, čím je neuron blíže vstupu. Výsledkem tedy je, že výstupní neuron s největším potenciálem utlumí ostatní výstupní neurony a sám zůstane aktivním. V literatuře jsou mechanismy laterální inhibice a laterální zpětné vazby zmiňovány poměrně podrobně, jak z hlediska jejího výskytu v mozku [153], tak i její realizace v modelech umělých neuronových sítí [97, 10. kapitola], my se jí však dále zabývat nebudeme. Popišme nyní adaptivní dynamiku naší jednoduché samoorganizační sítě řízenou Kohonenovým učením. Princip je jednoduchý: procházíme celou tréninkovou množinu a po předložení jednoho tréninkového vzoru proběhne mezi jednotkami sítě obvyklá kompetice. Její vítěz změní své váhy podle následujícího vzorce: w(t)=í t4-1) + e(Xt1)-4~1)) i = argmm{||xW-w;||} (4ß) jinak. 4.1. VEKTOROVÁ KVANTIZACE 105 Ač jsou předchozí vzorce zdánlivě jednoduché, uvědomme si, že index c funkčně závisí na vzorech x i jednotkách w. Také z těchto důvodů není lehké explicitně vyjádřit gradient chyby E vzhledem k parametrům w a použít pak obvyklého postupu minimalizace. Proto byly navrženy heuristické iterativní algoritmy hledající přibližné řešení. Nyní uvedeme základní Lloydův algoritmus navržený původně pro jednorozměrné vstupy a později generalizovaný Lindem, Buzem a Grayem [174]. 4.1.1 Lloydův algoritmus Uvažujme tedy problém zadaný tréninkovou množinou T a parametrem h určujícím počet reprezentantů w;, kterými kódujeme danou množinu. Na začátku inicializujeme jednotky w8- náhodně a pak opakujeme následující proces tak dlouho, dokud hodnota chyby VQ neklesne pod nějakou předem stanovenou mez. Projdeme celou tréninkovou množinu a ke každému vstupu xW určíme jemu příslušnou jednotku wc podle vztahu (4.1). Dále pro každou jednotku Wj uvážíme množinu Tj všech vzorů xW, pro něž byl Wj jejich reprezentantem. Tedy Tj = (x(*);i = arg min {||xW - w,||}l . (4.3) I 1=1,...,h J Nyní spočteme těžiště tj množiny Tj: *> = w~\ E xi (4-4) a následně nahradíme Wj hodnotou t j. Takto určíme novou polohu všech jednotek Wj a pokračujeme dalším průchodem tréninkovou množinou. Uveďme nyní přesnější popis Lloydova algoritmu: Vstup: Tréninková množina T = {xW;í = 1, . . .,k}, počet reprezentantů h, požadovaná hodnota chyby e. Výstup: Hodnoty reprezentantů Wj; j = í, . . ., h . Inicializace: Rozmísti Wj náhodně Opakuj: Ke každému vektoru xW G T přiřaď wc dle (4.1). Spočítej chybu E podle (4.2). Je-li E < e, skonči. Pro každé j = 1, . . ., h spočítej t j dle (4.4). Přiřaď Wj = t j. Pokračuj v cyklu. 108 KAPITOLA 4. SAMOORGANIZACE řešení je poměrně časově náročné a navíc, stejně jako přidání šumu k tréninkovým datům, řeší jen polovinu problému. Obě techniky odstraňují vznik málo reprezentovaných oblastí, ale druhou slabinou Kohonenova algoritmu jsou oblasti, kde je reprezentantů více, než by odpovídalo hustotě pravděpodobnosti. Lokální paměť Metoda lokální paměti jednotek navržená Deseinem [58] je založena na myšlence, že při stejné pravděpodobnosti by každý z k reprezentantů měl zvítězit v kompetici zhruba l/k krát. Každá jednotka si tak udržuje přehled o tom, kolikrát již soutěž vyhrála, a pokud je její dosavadní četnost výher příliš vysoká, vypadává (na nějakou dobu) z další kompetice. Formálně přidáme každé jednotce j dva lokální parametry: odhad relativní četnosti výher v kompetici f j a práh b j vypočtený na základě této hodnoty. Učící algoritmus pak vypadá takto: V čase t předložíme síti vzor xW a podle (4.5) vypočítáme odezvu výstupních jednotek. Dále pro každou jednotku j spočítáme novou hodnotu parametru f j: ff = ff-^+ß(y3 -/j*"1)). (4.7) Podle hodnoty f j vypočítáme práh bj jako: bf> = 7(1/N - /W). (4.8) Reálné parametry ß a 7 mají v praxi zhruba tyto hodnoty: ß = 10-4 a j = 10). Po určení prahu každé výstupní jednotky proběhne druhá kompetice, která však probíhá vzhledem k hodnotě: llxi-WíH-fc,-. (4.9) Vítězná jednotka potom změní své váhy podle obvyklého vzorce (4.6). 4.2 Kohonenovy samoorganizační mapy Poněkud složitějším modelem samoorganizační sítě je Kohonenova samoorganizační mapa (Self-Organizing Map) navržená autorem v roce 1982. Vychází částečně z principů popsaných v pracích von der Malsburga a Ama-riho [186, 10]. Organizační dynamika sítě je podobná jednoduché samoorganizační síti popsané v odstavci 4.1.2. Výstupní jednotky jsou však navíc uspořádány do nějaké topologické struktury, nejčastěji to bývá dvojrozměrná mřížka nebo jednorozměrná řada jednotek. Tato topologická struktura určuje, které 4.1. VEKTOROVÁ KVANTIZACE 107 Reálný parametr 0 < 6 < 1 určuje míru změny vah. Na počátku učení je obvykle blízký jedné a postupně se zmenšuje. Geometrický význam popsaného algoritmuje, že vítězný neuron c posune svůj váhový vektor wc o určitou poměrnou vzdálenost směrem k aktuálnímu vstupu. Motivací tohoto přistupuje snaha, aby vítězný neuron, který nejlépe reprezentuje předložený vstup (je mu nejblíže), ještě zlepšil svou relativní pozici vůči němu. Často se v literatuře setkáme s tím, že výše popsaný algoritmus je nazýván k-means clustering (hledání k středů), což je úkol nalézt k reprezentantů minimalizujících sumu čtverců (4.2). Cypkin ukázal [53], že Kohonenův algoritmus najde řešení k středů, je-li hodnota 9 nepřímo úměrná podílu vektorů x ležících blíže k vítěznému reprezentantu než k ostatním. Kohonenovo učení představuje tedy inkrementální (on-line) algoritmus pro řešení problému k středů, a tím i inkrementálně řeší VQ. 4.1.3 Modifikace Kohonenova učení Ačkoliv, jak jsme již zmínili, bylo Kohonenovo učení původně navrženo s úmyslem sestrojit množinu stejně pravděpodobných reprezentantů, přesto tento úkol neplní. Ukazuje se, že algoritmus pracuje dobře jen u problémů, kde hustota pravděpodobnosti je přibližně konstantní v jedné konvexní oblasti vstupního prostoru. Hecht-Nielsen v [105] uvádí jednoduchý příklad ilustrující slabiny tohoto algoritmu. Princip je následující: Uvažujme dvě izolované dostatečně vzdálené oblasti, v nichž se nacházejí vstupní data. Představme si, že na počátku rozmístíme reprezentanty náhodně v jedné z oblastí. Vzor z druhé oblasti „přitáhne" jednoho z reprezentantů, který pak již pokaždé vyhraje kompetici pro vzory z této množiny. Tak dojde k tomu, že celou druhou oblast bude reprezentovat pouze jedna jednotka. Popišme nyní tři možnosti, kterými lze tento typ problému odstranit. Jde o přidání šumu k tréninkové množině, radiální růst a lokální pamefjednotek. Přidání šumu Nejjednodušším, ale také časově nejnáročnějším, přístupem je přidávání náhodných vektorů z rovnoměrného rozdělení k tréninkové množině. Na začátku učení je náhodných tréninkových vzorů více než dat a v průběhu učení jejich podíl klesá, až zbydou jen původní tréninkové vzory. Radiální růst U radiálního růstu začínáme s váhovými vektory blízkými nulovému vektoru 0 = (0,...,0). Všechny tréninkové vzory jsou vynásobeny reálným číslem ß, které je zpočátku také blízké nule. Důsledkem je, že všechny vzory jsou zpočátku blízko všem reprezentantům. V průběhu učení zvětšujeme ß až k jedničce, čímž nutíme váhové vektory vzdalovat se od počátku souřadné soustavy, až nakonec opět učíme původní data. I toto 110 KAPITOLA 4. SAMOORGANIZACE se středem v c, parametrem ho G R určujícím maximální míru posunu jednotek, a šířkou c G R- Jak h0 tak i a se přitom s časem zmenšují. Tento přístup je při implementaci časově náročnější, neboť se v každém kroku musejí projít a změnit všechny váhové vektory Wj v síti. V [156] uvádí autor některé praktické rady pro volbu parametrů učení Kohonenovy sítě. Podle těchto zkušeností není například způsob inicializace jednotek podstatný, zaručí-li se, že jejich hodnoty jsou vesměs různé. Počet kroků algoritmu je obtížné přesně stanovit, ale měl by být alespoň pětsetkrát větší, než je počet jednotek v síti. Typické hodnoty jsou 10 až 100 tisíc iterací. Většinou v průběhu učení rozeznáváme dvě fáze: hrubé učení, které je krátké (typicky 1000 kroků) a vyznačuje se velkými hodnotami parametrů 6 a s. V této fázi dojde ke globálnímu rozmístění jednotek, které jsou potom ve druhé — dolaďovací — části učení relativně málo měněny. Parametr 6 by během první fáze měl typicky klesnout z hodnoty blízké 1 (např. 0,9) až na 0,01 a v průběhu druhé fáze dále klesat k nule. Stejně tak velikost okolí s může být zpočátku velká (srovnatelná s velikostí sítě), na konci první fáze dosáhnout hodnoty 1 a postupně v průběhu druhé fáze klesnout až na 0. Experimenty ukazují, že není podstatné, zda parametry 6 a s klesají lineárně, exponenciálně, či jinak. 4.3 LVQ Prozatím jsme uvažovali využití Kohonenovy mapy pro učení bez učitele. Nyní se budeme zabývat tím, jak lze tuto síť použít pro řešení problému klasifikace dat do několika kategorií. Ukážeme si způsob, kterým označíme výstupní neurony sítě kategoriemi a uvedeme tři algoritmy učící vektorové kvantizace, které se používají pro doučení sítě, jež chceme použít k těmto účelům. Uvažujme tedy data tvaru {(xW, c/W); t = 1, . . ., k}, kde xW G IR a c/W G {Ci, . . . ,Cq}. Každý vstupní vektor xW má přiřazenu jednu z konečného počtu kategorií C'k. Učení Kohonenovy sítě bude mít nyní tři fáze: 1. Učení bez učitele dle (4.11). 2. Označení výstupních neuronů kategoriemi. 3. Doučení sítě jedním z algoritmů LVQ. Nejprve tedy použijeme standardní učící algoritmus Kohonenovy sítě, kterým rozmístíme neurony sítě do vstupního prostoru tak, aby aproximovaly hustotu pravděpodobnosti vzorů. Prozatím jsme nepoužili požadované výstupy ďW z tréninkové množiny. Ty využijeme ve druhé části učení, kdy procházíme tréninkovou množinu a u každého tréninkového vzoru zjistíme, 4.2. KOHONENOVY SAMOORGANIZAŮNÍ MAPY 109 jednotky spolu v síti sousedí, a je důležitá v učícím procesu, jak uvidíme dále. Pro učící proces je důležité zavést pojem okolí Ns(c) velikosti s neuronu c v síti, což je množina všech neuronů, jejichž vzdálenost v síti od neuronu c je menší nebo rovna s: Ns(c) = {j;d(j,c) jinak, kde c = argmin/=i)...h{||xW — w;||} a0£ RasGN jsou popsané parametry učení. Předchozí vztah lze ještě zobecnit. Definujme funkci hc(j), která pro neurony z okolí neuronu c dává hodnotu 6 a pro ostatní neurony je nulová: mí)={:^ Předpis (4.11) lze pak jednodušeji zapsat jako: w$ = WS_1) + Mi)(^ť) - «#-1)) • (4.13) Funkce hc(j) je často definována obecněji, aby přechod mezi nulovými a nenulovými hodnotami byl spojitý, což více odpovídá biologickým interakcím. Typicky používanou funkcí je Gaussova funkce hc(j) = hoe^(~d{J'C)2) (4.14) 112 KAPITOLA 4. SAMOORGANIZACE 4.3.2 LVQ2 Algoritmus LVQ2 je motivován snahou upravit předchozí algoritmus tak, aby explicitně posunoval svou rozhodovací hranici směrem k bayesovské hranici. Algoritmus v jednom kroku posune vždy dva neurony. Podmínky pro jejich určení jsou poměrně přísné: předložíme síti vzor xW a uvažujeme případ, kdy pro dva neurony nejbližší tomuto vzoru (označme je w,' a Wj), platí, že jeden z nich klasifikuje správně a druhý špatně. Nerozlišujeme přitom, který z neuronů w; awj je vzoru nejblíže. Další podmínkou pro změnu vah těchto dvou vybraných neuronů je, aby vzor xW neležel příliš blízko ani jednoho z nich. Chceme, aby se xW nacházelo v okně, které je definováno v okolí nadroviny umístěné ve středu spojnice Wj- a w j. Přesněji, říkáme, že xW padne do okna relativní šířky q, pokud: „,i„{ÍÍ}>s, ,4.17) kde s = jř^-fdi = d(wi,x^),dj = d(wj, xW). Volba správné hodnoty parametru q je kompromisem mezi snahou o co nejužší okno, které umožní přesné umístění hranice, a dostatečnou šířku, která zachytí statisticky významné množství dat. Typicky se používají hodnoty q mezi 0.1 až 0.3 (tedy deset až třicet procent vzdálenosti mezi w8- a Wj). Předpokládejme bez újmy na obecnosti, že například xW a Wj patří do stejné kategorie. Pak provedeme následující změny vah: w(*) = w(*-i)_a(x(t)_w(*-i)) (4-18) wf^wf-^ + ^xW-wf-1)). (4.19) Praktickými pokusy bylo zjištěno, že algoritmus zpočátku skutečně zlepšuje pozici rozhodovací hranice tím, že ji posunuje směrem k bayesovskému rozhraní. Po větším množství kroků však dochází k tomu, že se jednotky Wj ze vzorce (4.18) naopak od tohoto rozhraní začínají vzdalovat. Proto se osvědčilo používat algoritmus LVQ2 pouze po kratší počet iterací, typicky kolem 10 000. Poznámka: Předcházející postup je mírnou modifikací původního algoritmu LVQ2 a bývá autorem přesněji nazýván LVQ2.1. Původně navržený algoritmus LVQ2 pracoval pouze v případě, že jednotka i, označená špatnou kategorií, byla nejbližší vzoru xW. Jelikož je posun jednotky úměrný její vzdálenosti od tréninkového vzoru, byla vždy jednotka Wj změněna více než Wj. To mělo za následek, že se zmenšovala relativní vzdálenost d(wj,Wj), 4.3. LVQ 111 který neuron je mu nejblíže. U něho si pak zapamatujeme, do jaké kategorie tento vzor patřil. Tak se po průchodu tréninkovou množinou u každého výstupního neuronu vytvoří tabulka četností jednotlivých kategorií, které tento neuron reprezentuje. Jelikož musíme každému neuronu j přiřadit právě jednu kategorii, vybereme tu, kterou reprezentoval nejčastěji a označíme ji v j. Výsledkem je tedy rozdělení neuronů do skupin, které odpovídají jednotlivým kategoriím. V další fázi použijeme jeden ze tří následujících algoritmů pro doladění vah výstupních neuronů, které byly postupně navrženy Kohonenem v osmdesátých letech ([155, 157]). 4.3.1 LVQl První varianta algoritmu učící vektorové kvantizace vychází z myšlenky posílit správnou klasifikaci vstřícným posunutím neuronu a naopak, snažit se napravit nesprávnou klasifikaci odsunutím neuronu od daného vstupu. Posunutí se tedy týká vždy jen jednoho výstupního neuronu — toho, který zvítězil v kompetici. Navíc se posunutí děje o malou poměrnou část vzdálenosti neuronu od vstupního vzoru. Přesněji, algoritmus LVQl pracuje takto: Předkládáme postupně síti všechny tréninkové vzory. Ke vzoru (xW, (4-23) kde Zj jsou výstupy jednotek z druhé vrstvy po předložení tréninkového vzoru xW, dr ' je požadovaná odezva r-té jednotky sítě a 0 < r\ < 1 je parametr učení. Je vidět, že ve vzorci (4.23) je u každé jednotky r modifikována pouze ta váha urj, jež je spojena s vítěznou jednotkou z předcházející vrstvy (pro níž je Zj = 1). V průběhu učení je váha upravována tak, aby její hodnota odpovídala průměru těch z hodnot dr, které náležejí do oblasti excitace jednotky j ve druhé vrstvě. Takže po dostatečné době, kdykoliv ve druhé vrstvě zvítězí v kompetici jednotka j, bude výstup sítě tvořit vektor v j = («ij, . . ., umj), jehož hodnota je přibližně průměrem požadovaných odpovědí y odpovídajících těm vstupům x1-*-1, které způsobily, že jednotka j zvítězila v kompetici. Naučenou síť si lze představit jako vyhledávací tabulku, kde vstupní vektor x je porovnán se všemi vektory w, je nalezen jemu nejbližší vektor wc a jako výstupní hodnota se použije odpovídající vektor vc, jenž je průměrem výstupů patřících do oblasti kolem wc. Shrňme nyní statistické vlastnosti naučené sítě. Za prvé, díky samoorga-nizačnímu učení s využitím lokální paměti aproximují vektory Wj hustotu pravděpodobnosti vzorů. Víme, že jednotky ve druhé vrstvě mají stejnou pravděpodobnost vítězství v kompetici, za předpokladu, že vybíráme vstupy náhodně s rozložením odpovídajícím tréninkové množině. Dále, váhy výstupních jednotek jsou adaptovány tak, aby aproximovaly průměrnou výstupní hodnotu patřící těm vstupům, které aktivovaly odpovídající jednotky ve druhé vrstvě. Používáme-li tedy síť counterpropagation k aproximování nějakého zobrazení f : Rn —► Rm, chová se optimálně v tom smyslu, že reprezentanti vstupů jsou zvoleni tak, aby měli stejnou pravděpodobnost výběru, a výstupní hodnoty představují průměr funkčních hodnot v okolí těchto reprezentantů. Ovšem, to, že síť pracuje právě jako vyhledávací tabulka, ukazuje i její slabiny. Typicky je pro dosažení určité přesnosti potřeba mnohem více jednotek, než např. u vícevrstvého perceptronu. Z experimentů však vyplývá, že učení je typicky výrazně kratší než u algoritmu zpětného šíření. Hecht- 118 KAPITOLA 5. SITE S LOKÁLNÍMI NEURONY rické matematiky zabývající se interpolací a aproximací dat začaly studovat tzv. radiální bazické funkce (Radial Basis Functions) jako jeden z nových způsobů řešení aproximačních problémů. Hledáme-li funkci, která bude nejlépe (v nějakém smyslu, například dle kritéria nejmenších čtverců) aproximovat daná data, omezujeme se většinou na funkce vyjádřené v nějakém konkrétním tvaru. Často jde o lineární kombinaci tzv. bazických funkcí, což mohou být například polynomy, nebo v tomto případě radiální funkce. Radiální funkci si můžeme představit jako funkci určenou nějakým významným bodem — středem — která pro argumenty se stejnou vzdáleností od tohoto středu dává stejné funkční hodnoty. Měříme-li vzdálenost pomocí euklidovské metriky a uvažujeme například dvojrozměrný vstupní prostor, pak množiny se stejnou funkční hodnotou tvoří kružnice, proto tedy hovoříme o radiálních funkcích. Základní výsledky týkající se aproximace pomocí radiálních bazických funkcí pocházejí od Powella [230, 231] a Micchelliho [194]. První, kdo navrhl využití této techniky pro vytvoření nového modelu umělých neuronových sítí, byli Broomhead a Lowe ve svém článku [42] z roku 1988. Další podstatný podíl na rozvoji RBF sítí měly práce Moodyho a Darkena [198] a Poggia aGirosiho [227]. 5.1.1 Motivace RBF síť si můžeme představit jako třívrstvou neuronovou síť, kde vstupní vrstva neuronů slouží pouze k přenosu vstupních hodnot. Druhá (skrytá) vrstva sestává z tzv. RBF jednotek, které realizují jednotlivé radiální funkce. Třetí, výstupní vrstva je lineární. Při pohledu zvnějšku je RBF jednotka podobná perceptronu — má také n reálných vstupů x = (xi, . . . ,xn), z nichž každý má přiřazen parametr (váhu) q. RBF jednotka má také jeden reálný výstup y a může mít další parametr b, kterému budeme říkat šířka. Ovšem přechodová funkce RBF jednotky je odlišná: vnitřní potenciál £ se nepočítá jako skalární součin wx, ale je to vzdálenost vstupního vektoru x od středu c (případně ještě dělená šířkou b) , l|x-c|| t = —&—• Výstupní hodnotu y získáme aplikováním aktivační funkce ip na potenciál £: V = f(0 ■ Často používané aktivační funkce ukazuje tabulka 5.1. Vstupní vrstva RBF sítě obsahuje n jednotek, odpovídajících «-rozměrným vstupním hodnotám. Každý spoj mezi i-tou vstupní jednotkou a j-tou jednotkou ve skryté vrstvě má přiřazenu váhu Cjí (j = 1, . . .,h). Tato Kapitola 5 Sítě s lokálními neurony V této kapitole se zabýváme modely dopředných sítí s jednou skrytou vrstvou obsahující tzv. lokální jednotky. Tyto jednotky se chovají v jistém smyslu duálně k perceptronům. Zatímco perceptron globálně rozděluje vstupní prostor na dva podprostory, v nichž má výrazně odlišné hodnoty výstupu, lokální jednotky mají relevantní výstup lokalizován do okolí bodu určeného svými parametry. Tyto modely umělých neuronových sítí jsou výrazně mladší než per-ceptrony, objevují se až koncem osmdesátých let a jsou i méně rozšířené. Teoretické i praktické výsledky však ukazují, že svými vlastnostmi představují důstojnou alternativu klasickým modelům. Díky své výrazné odlišnosti se často dobře uplatní v případech, kdy perceptronové sítě mohou mít potíže. Nejvýznamější představitel této kategorie — RBF sítě — o nichž budeme také hovořit, zvládly například učení některých typických testovacích úloh o dva až tři řády rychleji. Bohužel, ukazuje se, že naopak existují úlohy, na něž tyto sítě nejsou vhodné. Jedním z problémů, s nímž si perceptronové sítě typicky poradí lépe, jsou irelevantní vstupy. Budeme se podrobně zabývat sítěmi typu RBF a sítěmi se semi-lokálními jednotkami. Zvláště RBF sítě jsou zajímavé tím, že jejich učení může probíhat v několika odlišných fázích, v nichž se využijí i jiné neuronové postupy, jako je například samoorganizace. 5.1 Sítě typu RBF Sítě typu RBF, nebo —jak budeme zkráceně uvádět — RBF sítě, představují vícevrstvé neuronové sítě s jednotkami odlišného typu, než jsou například dříve popsané perceptrony. Také motivace jejich zavedení je jiná než u předchozích typů neuronových sítí. Začátkem osmdesátých let se v části nume- 1 17 120 KAPITOLA 5. SÍTĚ S LOKÁLNÍMI NEURONY {{[í, 1], [0, 0]}, {[0, 1], [1, 0]}}. Definujme nyní vhodně vektorové zobrazení g : IR2 —► IR2 (povšimneme si. že obor hodnot má stejnou dimenzi jako definiční obor). Zobrazení g je dvojice vzájemně posunutých Gaussových funkcí: ffl(x) = e-llx-cill2 c1 = [l,l] ff2(x) = e-llx-c=H2 c2 = [0,0]. Z obrázku 5.1 je zřejmé, že transformovaná dichotomie g(x) je lineárně se-parovatelná. -------------------------------1--------------------------------1--------------------------------1--------------------------------1--------------------------------1--------------- 0,0 « 1,0 + 1 r Ô 0,1 □ - \ 1,1 X Obr. 5.1: Lineárně separabilní g obrazy dichotomie XOR. Předchozí příklad nám ukázal geometrický význam funkce jedné RBF jednotky s gaussovskou aktivační funkcí (případně obdobnými funkcemi). Těmto jednotkám se někdy říká lokální (anglicky local units nebo localized receptive fields), neboť jejich výstupní hodnota je významná jen v určitém okolí středu c8-. Tato vlastnost je duální k perceptronu, který se chová globálně tím, že rozdělí svůj vstupní prostor nadrovinou na dva podprostory, v nichž má odlišné hodnoty výstupu. 5.1. SÍTĚ TYPU RBF 119 0,0 0 Gaussova Tabulka 5.1: Aktivační funkce RBF sítí váha reprezentuje i-tou souřadnici středu Cj u j-té RBF jednotky. Výstup j-té jednotky ze skryté vrstvy je spojen s výstupní vrstvou pomocí synapse s vahou Wjs. Výstupní jednotky počítají váženou sumu svých vstupů. RBF síť provádí dvě odlišné transformace. První z nich je realizována RBF jednotkami a je to nelineární transformace z R" do Rh. Druhá transformace vede z tohoto prostoru skrytých jednotek do výstupního prostoru Rm, je lineární a zprostředkovaná výstupními neurony sítě. Empirické výsledky ukazují, že je dobré volit počet skrytých jednotek větší než je dimenze vstupu. To odpovídá i teoretickému výsledku publikovanému v polovině šedesátých let Coverem [51], z něhož plyne, že problém klasifikace, který je transformován do vícedimenzionálního prostoru, zde bude spíše lineárním, než v původním prostoru. Přesněji, mějme dichotomii {CijC'j} podmnožiny X C Rn a vektorovou funkci g = (<7i, • • •, fifft) na X. Pro každý vektor x £ X je g(x) = (<7i(x), . . ., (jfft(x)). Dichotomii {CijC'j} říkáme g-separovatelná, existuje-li vektor u = (m1; . . ., u^) takový, že: u • g(x) > 0 x £ C\ u • g(x) < 0 x e C2 (tedy dichotomie, která je indukovaná na obrazech g(x), je lineárně separo-vatelná.) Coverova věta zhruba říká, že pravděpodobnost, že náhodná dichotomie množiny N bodů z Rn je g-separovatelná, je dána výrazem: v 7 m = 0 v 7 Jinými slovy, čím větší je h, tím blíže má pravděpodobnost p(N, h) k jedničce. Příklad: Někdy stačí i samotná nelinearita zobrazení g k tomu, aby se původní lineárně neseparovatelný problém změnil na lineárně separabilní. Uvažme známý problém logické funkce XOR, který je vlastně dichotomií 122 KAPITOLA 5. SITE S LOKÁLNÍMI NEURONY V případě, zeje matice $ regulární, nalezneme snadno jednoznačné řešení soustavy: w = $-1d. (5.4) Pro obecné funkce ip může být matice $ samozřejmě singulární. Z výsledků Micchelliho a Powella ([194],[231]) ale plyne, že velká třída funkcí — včetně těch, jež jsou uvedeny v tabulce 5.1 — zaručuje, že matice $ je regulární (jsou-li body x8- navzájem různé). Interpolační schéma radiálních bazických funkcí lze snadno rozšířit i na vektorové funkce f : Rn —► Rm, kde f = (/i,...,/m), d = {d\, . . .,dm). Podmínka (5.1) je pak zobecněna na množinu podmínek: fs(xi) = dis Vi=l,...,/i Vs=l,...,m. (5.5) Takže fs má tvar: h J = l kde x G R" a s = l,...,m. Koeficienty Wjs lineární kombinace získáme stejným způsobem jako v (5.4). Postup, který jsme právě uvedli, má nevýhodu v tom, že počet funkcí Lpi se musí rovnat počtu dat, která aproximujeme. V typických úlohách se ale předpokládá, že dat je mnohem více než volných parametrů úlohy. Takto formulováno jde o problém aproximace: Definice 5.2 Mějme množinu X, funkci /(x) definovanou na X a množinu aproximujících funkcí {<,c(v, x); v G P} které spojitě závisejí na parametrech v G P. Dále mějme na množině funkcí na X zavedenu metriku p. Nalezněte hodnotu v* G P takovou, že ^(v*,x),/(x))<^(v,x),/(x)) platí pro všechny v G P. Metrika p je většinou indukována normou, jako je např. Cp norma nebo supremová norma (viz kapitola 13). Parametry v v našem případě reprezentují souřadnice středů Ci, váhy wj, případně další parametry. Uvažujme k zadaných dat {(x^1), ď-1)), . . ., (x*-*), d^')} a h funkcí tpj tak, že platí h < k. Prvním problémem v tomto případě je určení pozic středů Ci (i = 1,...,/í). Ty se většinou umístí buď do pozic některých dat, nebo se využije sofistikovanějších postupů. Podrobněji o tom budeme hovořit v dalším odstavci. Nyní předpokládejme, že jsme již středy nějakým 5.1. SÍTĚ TYPU RBF 121 Shrňme, že co se týče propojení jednotek, je RBF síť obvyklou dopřednou sítí s jednou skrytou vrstvou. Někdy dokonce můžeme u perceptronu i RBF jednotky použít stejnou aktivační funkci (např. Gaussovu), přesto je chování perceptronu a RBF jednotky odlišné. RBF jednotky nám svojí lokalitou více připomenou některé jiné modely umělých neuronových sítí, jako jsou např. samoorganizační sítě. 5.1.2 Interpolace a aproximace Radiální bazické funkce se studují přibližně od začátku osmdesátých let jako jedna z nových metod v oblasti numerické matematiky zabývající se interpolací a aproximací dat. Uveďme nyní přesnější formulaci těchto problémů a ukažme si, jak je lze pomocí RBF řešit. Definice 5.1 Problém přesné interpolace reálné funkce více proměnných lze formulovat následujícím způsobem: Je-li dána množina h různých vektorů {x8-; i = 1, . . ., h} v R" a h reálných čísel {di\ i = 1, . . ., h}, nalezněte funkci f splňující /(x,-) = di Vi=l,...,/í. (5.1) Různé interpolační metody se liší v tom, jaké stanovují další podmínky pro množinu funkcí, do které má / patřit. U RBF zavádíme množinu h radiálních bazických funkcí ipj : Rn —► R, j = í,..., h, tvaru i, . . ., u>ft} lineární kombinace. V tomto případě, je-li h < k, hovoříme o tom, že problém je přespecifiko-vaný. Matice $ již není čtvercová a neexistuje k ní inverzní matice. Řešení se hledá pomocí lineární optimalizace nějakou z metod řešení nejmenších čtverců. Broomhead a Lowe v [42] používají Moore-Penroseovu pseudoinverzi <ř+ (viz 3.17). Připomeňme, že tato matice má vlastnost, že $+$ = Eft, kde Eft jednotková matice h x h. Navíc, řešení w získané jako w = <ř+d má nejmenší normu ||w|| mezi všemi vektory v, které minimalizují výraz ||$+v-d||2. 5.1.3 Třífázové učení Tím, že aproximační schéma popsané v předchozí podkapitole přeložíme do jazyka neuronových sítí, získáme nejen nový úhel pohledu na stejnou věc, ale umožní nám to obohatit původní algoritmus o další „neuronové" prvky. Jedním z nich bude například využití samoorganizace pro nastavení pozic středů c j, o němž se zmíníme dále. Jelikož formálně je síť RBF druhem dopředně sítě, stejně jako například vícevrstvý perceptron, můžeme k jejímu učení použít modifikaci algoritmu zpětného šíření. Analogicky jako u perceptronové sítě lze vyjádřit parciální derivace chybové funkce vzhledem ke všem parametrům sítě a pak je postupně počítat. Jelikož RBF sítě mají jen jednu skrytou vrstvu, je pro ně gradientní algoritmus výrazně jednodušší než pro sítě s více skrytými vrstvami. Algoritmus zpětného šíření zachází se všemi parametry sítě stejným způsobem. V případě této architektury mají ale různé skupiny parametrů různý význam vzhledem k funkci sítě. To bylo motivací k vytvoření učícího algoritmu, který sestává ze tří fází, z nichž v každé se určují hodnoty jiné skupiny parametrů [198, 114]. V průběhu učení postupujeme v síti vzhůru a postupně se zabýváme souřadnicemi středů jednotek, jejich šířkami a naposledy koeficienty lineární kombinace. Celý algoritmus lze popsat takto (viz tab. 5.2): Tréninkovou množinu učení RBF sítě tvoří páry vektorů {(xW, d(*));í = 1, . . ., k} sestávající ze vstupů xW £R"a požadovaných výstupů dW £ Rm. První krok algoritmu určuje pozice středů RBF jednotek, jež jsou reprezentovány vahami mezi vstupní a skrytou vrstvou. Jelikož v této fázi jde o aproximaci hustoty výskytu vzorů, používají se různé techniky samoorga-nizačního učení, které jsme popsali v předchozí kapitole. Druhá fáze nastavuje hodnoty případných dalších parametrů u RBF jednotek. Obvykle (ne však nutně) mají jednotky nastavitelný parametr, který určuje šířku oblasti kolem středu, v níž má jednotka relevantní výstup. 126 KAPITOLA 5. SITE S LOKÁLNÍMI NEURONY w 1 '--.I Obr. 5.2: Jeden krok při nastavování středů kterou označíme E?, má tvar: E2(b1,...,bk) = -J2 11 í llcs-crir P (5.8) Parametr P určuje míru překrývání oblastí patřících jednotlivým jednotkám. V praxi se autoři většinou vyhýbají obecné minimalizaci této chybové funkce a používají jednodušší heuristiky. Často se šířka nastavuje úměrně průměru (euklidovských) vzdáleností q nejbližších sousedů dané jednotky. Hodnota q se přitom často pokládá rovna jedné. Je důležité, že vzorec (5.8) nezávisí na tréninkových vzorech, ale pouze na rozmístění středů Cj. Takže ani při důsledné optimalizaci E2 nemusíme síti ve druhé fázi učení předkládat tréninkové vzory. 5.1. SÍTĚ TYPU RBF 125 Optimální vzorky Autoři Chen, Cowan a Grant [135] navrhli způsob, který také vybírá některé z tréninkových vzorů a přiřazuje pak jejich souřadnice středům. Jejich výběr není náhodný, ale používá se metoda ortogonálních nejmenších čtverců k tomu, aby se minimalizovala chyba sítě. Samoorganizace Vyžadujeme-li, aby středy RBF jednotek lépe zachytily rozmístění tréninkových vzorů, musíme použít složitějších algoritmů. Z formulace problému je zřejmé, že jde o učení bez učitele, kde můžeme použít různé samoorganizační algoritmy popsané v předchozí kapitole. Ať již použijeme jakýkoliv z nich, vždy potřebujeme k učení jen vstupní části tréninkových vzorů. Nejčastěji používaným algoritmem je jednoduché samoorganizační učení (Äľ-means clustering, viz. [198, 199] a 4.1.2), které v tomto konkrétním případě vypadá takto (tabulka 5.3, obr 5.2): (i) rozmísti Cj náhodně po vstupním prostoru (ii) v čase t dělej: (a) nejdi střed cc, který je nejblíže vstupu xW (b) posuň cc k xW podle: cc:=cc + ř?(ť)||x(ť)-cc||, kde 0 < 6(t) < 1 je parametr učení. Tabulka 5.3: Nastavení středů RBF sítě učením bez učitele Druhá fáze učení slouží k nastavení dalších parametrů RBF jednotek, existují-li, či jsou-li adaptovány. (Použijeme-li například rovnoměrné rozmístění středů po vstupním prostoru, nemá adaptace šířek valný smysl.) Soustřeďme se nyní na nejčastěji používané Gaussovy radiální bazické funkce, jež mají tvar: V,.(xM) (5.15) 5.1. SÍTĚ TYPU RBF 127 Učení s učitelem Po naučení vah c jí, případně dalších parametrů RBF jednotek, zbývá nastavit váhy wsr lineární kombinace. To zajistíme minimalizací obvyklé chybové funkce: 1 k .km £s(w) = \ £ ||d« - yW||2 = \ J2 ]>>w - y^yf. (5-9) ť = l ť = l s = l kde yW (respektive t/s ') označuje aktuální výstup sítě (resp. její s-té výstupní jednotky) po předložení vstupního vektoru xW, w = (w)qr, q = 1, . . ., m a r = 1, . . ., h. Položením parciálních derivací E3 podle wqr rovných nule získáme následující vztah pro wqr: qr = YJ($+)jr E^'(x(ť))^ť (5.10) kde k Wjr=E^j(x(t))^(x(t)) (5.11) t=l a <ř+ je Moore-Penroseova pseudoinverze (srovnej (3.17)). Silným nástrojem pro řešení problému lineárních nejmenších čtverců je SVD (Singular Value Decomposition) rozklad. Tato metoda je obecně charakterizována následující větou: Věta 5.3 Buď A G £m,n matice řádu h. Pak existují unitární matice U G Cm'm a V £ Rn>n takové, že A = USVT S = f S0Ä °0 kde S £ Rm'n, Sft = diag(ai, a2, ■ ■ ■, <7ft) a (Ti > (T2 > . . . > (Th > 0 . Čísla (5-2°) kdeí,- = -^. _ Semi-lokální jednotky vznikly motivovány snahou skloubit výhody per-ceptronů a RBF sítí. V praxi se ukazuje, že RBF sítě se učí mnohem rychleji, než vícevrstvé perceptrony, ale jejich nevýhodou je, že mají většinou horší generalizační vlastnosti a nedovedou si dobře poradit s irelevantními vstupními dimenzemi. V několika praktických aplikacích skutečně semi-lokální jednotky ukázaly velmi dobré výsledky, ale z hlediska aproximačních vlastností se ukazuje, že jsou slabším výpočetním prostředkem, než perceptronové i RBF sítě (viz podkapitolu 13.5). 5.2. SÍTĚ SE SEMI-LOKALNIMI JEDNOTKAMI 129 Regularizační techniku použil například Bishop v [36] při řešení problému aproximace sinusoidy na základě dat ovlivněných náhodnou chybou. Autor použil stejné množství RBF jednotek jako tréninkových vzorů a jelikož data byla generována ve stejných intervalech, bylo i rozložení středů a šířky Gaussových funkcí uniformní. Poggio a Girosi [227] využili obecné regularizační schéma k odvození tzv. HyperBF sítí, které mají obecné Greenovy funkce jako své aktivační funkce ve skrytých jednotkách. RBF sítě jsou potom speciálním případem HyperBF funkcí. 5.2 Sítě se semi-lokálními jednotkami Již víme, že RBF jednotky jsou typicky lokální, reprezentují omezenou oblast vstupního prostoru kolem svého středu. Naproti tomu perceptron se sigmoi-dální aktivační funkcí provádí globální rozdělení vstupního prostoru na dva podprostory pomocí nadroviny. Hartman a Keeler se v [95] pokusili vytvořit architekturu sítě, která by byla jakýmsi spojením těchto dvou diametrálně odlišných koncepcí. Svůj model anglicky nazvali, patrně inspirováni vzhledem aktivační funkce, Gaussian bars. My budeme hovořit o semi-lokálních jednotkách. Existuje několik variant sítí se semi-lokálními jednotkami. Nejjednodušším modelem je síť se vstupní vrstvou a vrstvou semi-lokálních jednotek, jejichž výstupy tvoří výstupy celé sítě. Další variantou je obdoba RBF sítě se skrytou vrstvou obsahující semi-lokální jednotky a linární výstupní vrstvou. Ještě další možností, kterou autoři použili v aplikacích, je síť se dvěma vrstvami semi-lokálních jednotek. V následujícím se omezíme na nejjednodušší variantu, neboť nám postačí k popisu odlišností od předchozího modelu. Aktivní i adaptivní dynamiku obdoby RBF sítě se semi-lokálními jednotkami si na základě těchto dvou podkapitol dokážeme snadno odvodit. Abychom objasnili, jak pracuje jedna semi-lokální jednotka, podívejme se nejprve na obvyklou vícerozměrnou Gaussovu funkci z jiného pohledu. Gaussovu funkci s n-rozměrným vstupem x si lze představit jako součin jednorozměrných Gaussových funkcí: 7(x) = exp (- (Eľ=l(g"C'')2)) = O ?(*•■) • (5-16) Každou z jednorozměrných Gaussových funkcí j(xí) si lze představit jako lokální podmínku určující hodnotu v dané dimenzi i. Gaussovská RBF jednotka potom počítá logický součin těchto podmínek pro jednotlivé dimenze. Idea Hartmana a Keelera byla nahradit tuto konjunkci požadující, aby podmínky platili zároveň, logickým součtem. Semi-lokální jednotka bude tedy Cast II Složitost neuronových sítí 134 ctem vrstev jsou silným výpočetním prostředkem, např. počítají symetrické booleovské funkce nebo aproximují analytické funkce apod. Také uvažujeme analogové prahové obvody se standardní sigmoidní aktivační funkcí. Nakonec studujeme možné hierarchie tříd složitosti pro prahové obvody. Je dokázáno, že pro polynomiální počet neuronů jsou třívrstvé neuronové sítě silnější než dvouvrstvé. Osmá kapitola je věnována cyklickým neuronovým sítím. Nejprve je definován formální model, ukázána ekvivalence jeho variant (asynchronní výpočet, fixované vstupy) a prezentována konstrukce prahového obvodu ekvivalentního s konvergentní cyklickou sítí. Dále se zabýváme otázkou zastavení obecné neuronové sítě, jehož algoritmická predikce je těžký problém. Významnou podtřídou cyklických sítí jsou Hopfieldovy sítě se symetrickými spoji, jejichž výpočet se za velmi obecných předpokladů zastaví pro libovolný počáteční stav. Je dokázán exponenciální dolní odhad pro čas výpočtu symetrické sítě v nejhorším případě. Navíc konvergentní výpočet obecné cyklické sítě lze efektivně simulovat pomocí Hopfieldovy sítě, což dokumentuje jejich stejnou výpočetní sílu. V závěru je pak ukázáno, že pravděpodobně neexistuje efektivní algoritmus pro určení počtu stabilních stavů, velikosti oblastí atrakce a pro minimalizaci energie v Hopfieldově síti. V deváté kapitole se zabýváme pravděpodobnostními neuronovými sítěmi, které modelují nedeterministické a nespolehlivé chování neuronů. U tzv. pravděpodobnostních prahových obvodů s přidanými nedeterministické vstupy, které jsou s danými pravděpodobnostmi aktivní, lze pravděpodobnost chyby výstupu obvodu libovolně zmenšit, příp. je možno stejnou funkci počítat pomocí deterministického prahového obvodu. V analogii s deterministickými obvody se definují posloupnosti pravděpodobnostních prahových obvodů s rostoucí pravděpodobností chyby a odpovídající hierarchie tříd složitosti pro konstantní hloubku obvodů. Je ukázáno, že pravděpodobnostní posloupnosti prahových obvodů polynomiální velikosti a hloubky 2, s malými váhami mohou počítat více funkcí než posloupnosti prahových obvodů stejných parametrů. Zavádíme také tzv. Boltzmannovy obvody, jejichž definice je bližší modelům používaným v praktických aplikacích, i když mají v podstatě stejnou výpočetní sílu a deskriptívni složitost jako pravděpodobnostní prahové obvody. Nakonec se zabýváme robustními neuronovými sítěmi, které počítají danou funkci spolehlivě s nespolehlivými neurony. V desáté kapitole studujeme výpočetní sílu (obecně cyklických) neuronových sítí tak, zeje využíváme jako akceptory jazyků. Konečné diskrétní neuronové sítě (tzv. neuromaty) rozpoznávají právě regulární jazyky. Ukazuje se, že neuromaty mají v jistém smyslu větší deskriptívni sílu než regulární výrazy. Speciálně se zabýváme neuronovými akceptory binárních řetězců a charakterizujeme třídu tzv. Hopfieldových jazyků, které jsou rozpoznávány symetrickými neuromaty a tvoří vlastní podtřídu regulárních jazyků. Dále 133 Druhá část knihy formalizuje některé architektury neuronových sítí jako výpočetní modely a zabývá se jejich deskriptívni složitostí a výpočetní sílou. Z hlediska teorie složitosti jsou architektury neuronových sítí dalšími zajímavými výpočetními modely srovnatelnými s konečnými automaty, booleovskými obvody, Turingovými stroji apod. Neuronové sítě mají navíc schopnost učit se z příkladů, proto jsou poslední dvě kapitoly v této části věnovány složitosti problému učení a generalizace i efektivitě učících heuristik. Dosažené teoretické výsledky naznačují výpočetní možnosti neuronových sítí a potvrzují praktické zkušenosti s jejich aplikací (např. časová náročnost učení apod.). Je zřejmé, že efektivita modelů neuronových sítí je základním předpokladem jejich praktické použitelnosti v umělé inteligenci. Vzhledem k tomu, že modely neuronových sítí byly inspirovány nervovými systémy živých organismů, které vykonávají příslušné funkce efektivně, tento přístup by mohl vést ke složitostní definici inteligence: způsob efektivní reprezentace znalostí. Efektivitu můžeme chápat ve trojím smyslu: efektivní vytváření a adaptace této reprezentace (složitost učení), její paměťovou náročnost (deskriptívni složitost) a efektivní vybavování znalostí (výpočetní síla). Teorie složitosti může nejen verifikovat oprávněnost výpočetních modelů neuronových sítí, ale obohacuje i náš pohled na umělou inteligenci. Šestá kapitola formalizuje funkci perceptronu, tj. tzv. lineární prahovou funkci, a zabývá se její reprezentací pomocí vah a prahu. V případě reálného definičního oboru zkoumá jednoznačnost této reprezentace. Pro omezenou doménu ukazuje existenci celočíselné reprezentace pro tzv. separabilní lineární prahovou funkci a v konečné doméně odhaduje její velikost. V případě booleovského (binárního) definičního oboru se hovoří o tzv. booleovských prahových funkcích. Je odhadnut jejich počet a optimální velikost jejich reprezentace. Navíc je ukázáno, že rozhodnout, zda daná booleovská funkce v normální formě je prahová, je obecně těžký problém. V sedmé kapitole se zabýváme složitostí obvodů, které modelují acyklické neuronové sítě. První podkapitola je věnována logickým obvodům, kdy je funkce neuronu omezena jen na konjunkci a disjunkci. Výpočetní síla normálního tvaru logických obvodů (tzv. alternující obvody) je ilustrována při implementaci obecné booleovské funkce a součtu celých čísel. Pozornost je také věnována speciální podtřídě logických obvodů, tzv. klasickým obvodům, u nichž každé hradlo má nejvýše dva vstupy. Ukazuje se, že paralelní výpočet acyklické neuronové sítě je díky hustotě propojení nepatrně rychlejší než u obvodů klasických počítačů. Pro porovnání s Turingovskými výpočty se dále uvažují (uniformní) posloupnosti obvodů, které pro obvody polynomiální velikosti a polylogaritmické hloubky definují třídy složitosti a jejich možné hierarchie. V druhé podkapitole jsou uvedené výsledky zobecněny pro prahové obvody, které modelují acyklické neuronové sítě s perceptrony. Ukazuje, se že prahové obvody polynomiální velikosti s konstantním po- 136 algoritmu, který obecně není efektivní, i když pomocí lineárního programování je jeden perceptron PAC-naučitelný. Poznatky v této části knihy jsou vybrány ze zahraničních monografií, resp. z přehledových prací o složitosti neuronových sítí, které jsou doplněny o nejnovější výsledky dostupné jen v původních článcích. Při její kompozici jsme vycházeli zejména z prací [66, 100, 143, 210, 212, 213, 241, 268, 290]. 135 studujeme výpočetní sílu konečných analogových neuronových sítí, která závisí na deskriptívni složitosti váhových parametrů. Pro racionální váhy lze docílit reálnou simulaci Turingova stroje. V případě reálných vah polynomiální výpočty neuronové sítě odpovídají třídě (neuniformní) složitosti P/poly a v exponenciálním čase lze rozpoznat již všechny jazyky. Existuje nekonečná hierarchie tříd jazyků mezi P a P/poly, které jsou akceptovány sítěmi s rostoucí kolmogorovskou složitostí vah. Také uvažujeme nekonečné (neuniformní) posloupnosti diskrétních cyklických (popř. symetrických) sítí polynomiální velikosti, které rozpoznávají jazyky z třídy PSPACE/poly. Jedenáctá kapitola je věnována složitosti učení neuronových sítí. Nejprve je definován tzv. tréninkový problém a diskutována jeho relevance pro učení acyklických neuronových sítí. Je ukázáno, že tréninkový problém je obecně těžký problém nezávisle na volbě neuronové funkce. Z důkazu je zřejmé, že ani mnohá silná omezení architektur či tréninkových množin nepomohou odstranit nepříznivou složitost tohoto problému. Dále jsou studovány tzv. mělké architektury, pro které je za velmi omezujících předpokladů navržen polynomiální učící algoritmus. Jeho praktická použitelnost závisí na složitosti tréninkového problému pro hluboké architektury, který je však také těžký. Původní důkaz složitosti tréninkového problému je založen na nepravidelnosti architektury sítě. Proto je uveden i alternativní důkaz pro dvouvrstvou perceptronovou síť s regulární architekturou, speciálně jen se třemi neurony, a pro kaskádovou architekturu dokonce jen se dvěma neurony. Tento výsledek je zobecněn pro standardní sigmoidní aktivační funkci neuronu, kterou využívá učící algoritmus backpropagation, což implikuje jeho neefektivitu. Kapitolu uzavírá poznámka o složitosti učení cyklických neuronových sítí. Ve dvanácté kapitole se zabýváme generalizačními vlastnostmi neuronových sítí. Za tímto účelem využíváme známý PAC-model, který je základním rámcem obecné výpočetní teorie učení. Učící algoritmus v tomto modelu by měl na základě příkladů neznámého cílového konceptu s neznámým pevným rozdělením pravděpodobností určit v polynomiálním čase hypotézu z dané třídy konceptů, která by se s velkou pravděpodobností shodovala s cílovým konceptem v uvedené distribuci. Nejprve studujeme tzv. vzorkovou složitost, tj. počet tréninkových vzorů nutných ke správné generalizaci, pomocí tzv. Vapnik-Chervonenkisovy dimenze. Určením její hodnoty pro třídy konceptů reprezentované acyklickými neuronovými sítěmi pro ně získáme polynomiální horní a dolní odhad vzorkové složitosti. Dále charakterizujeme _Pj4C-naučitelnost pomocí polynomiální T/C-dimenze a existence polynomiálního pravděpodobnostního algoritmu pro tréninkový problém. Jako důsledek ukážeme, že mnohé architektury (analogových) acyklických neuronových sítí nejsou za obecně přijímaných předpokladů z teorie složitosti -PAC-naučitelné. V závěru se zabýváme analýzou perceptronového učícího 138 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Nechť naopak platí (6.2) a počítáme J\X\ , . . . , Xn) J\X\ , . . . , Xi—l, X ,ÍCa'_|_l, . . . , Xn) -1 N WjXj — y WjXj — wíx' — N wjxj = wi{xi — x') ■ = 1 J=l j=i + l Definice 6.3 Funkce f : R" ----> {0, 1} se nazývá lineární prahová funkce, jestliže existuje lineární funkce g : R" ----> R taková, že pro všechna x = (xi, . . ., xn) G R" platí /(x) = 1, právě když g (x) > 0, tj. jestliže existují tzv. váhy Wi, . . ., wn £ IR takové, že pro všechna Xi, . . . ,xn £ IR platí: n /(x) = 1, právě když N, wixi > — #(0, • • •, 0). (6-3) 8 = 1 Označme h = —(/(O, . . ., 0) práh a (u>i, . . ., wn; h) reprezentaci /. Ze vztahu (6.3) je zřejmé, že reprezentace určuje jednoznačně lineární prahovou funkci. Na druhou stranu, pro danou lineární prahovou funkci existuje nekonečně mnoho reprezentací, které se však, jak uvidíme, liší jen o násobek. Pro tento účel budeme ještě předtím charakterizovat reprezentace lineární prahové funkce, jejíž funkční hodnota je nezávislá na nějaké její proměnné. Definice 6.4 Řekneme, že lineární prahová funkce f : Rn —> {0, 1} je degenerovaná v i-té proměnné, jestliže pro všechna xi,...,xnERax'ER ptali j[Xi, . . . )xnj — j[Xi, . . ., Xi_i, x ,xz'_)_x5 • • •) xnj. Věta 6.5 Lineární prahová funkce f je degenerovaná v i-té proměnné, právě když pro všechny reprezentace f platí Wi = 0. Důkaz: Nechť / je degenerovaná v i-té proměnné a (w1; . . ., wn; h) je její reprezentace. Navíc nejprve předpokládejme, že existuje vstup Xi, . . . ,xn, pro který je /(«i, . . .,xn) = 0. Pro spor dále předpokládejme, že Wi ^ 0. Položme 7 v—\i— 1 v—\n n — > „-_i WjXj — > •„•,-, WjXj x' = ------Z"J-1 J J-----Z"J-8+1 J J (6.4) a počítejme X^í=i ^j^j + wix' "^ 'Y^i=i+iw3x3 ~ ^- To znamená, že J\Xl) . . . , ä^'—i, X , X{^_i^ . . ., xn ) = 1, což je spor s degenerovaností /, tedy Wi = 0. Pro / = 1 je důkaz podobný (čitatel x' v (6.4) volíme např. o 1 menší). Obrácená implikace je triviální. □ Kapitola 6 Lineární prahová funkce 6.1 Reálná doména V této podkapitole budeme formalizovat funkci formálního neuronu (1.3), tj. perceptronu s reálnými vstupy (viz podkapitolu 2.1) a s aktivační funkcí ostrou nelinearitou (1.7). Budeme ji nazývat lineární prahová funkce. Nejprve si však připomeneme definici lineární funkce více proměnných a jako jednoduché cvičení ukážeme, zeji lze zapsat pomocí afinní kombinace těchto proměnných. Definice 6.1 Reálná funkce f : Rn —> IR s n reálnými proměnnými x\, . . ., xn se nazývá lineární, jestliže je lineární ve všech svých proměnných, tj. existují reálné koeficienty w1; . . ., wn takové, že pro každé Xi, . . . ,xn G IR, x'^Raí R je lineární, právě když existují reálné koeficienty wi, . . ., wn takové, že pro všechna x\, . . ., xn G IR platí: n f(Xl ,...,xn) = /(0,..., 0) + J2 wixi ■ (6-2) 8 = 1 Důkaz: Předpokládejme nejprve, že / je lineární. Ukážeme indukcí dle n, že platí (6.2). Pro n = 1 položme x' = 0 v (6.1) a dostáváme /(«i) = /(0) + W\Xi. Dále předpokládejme, že tvrzení platí pro n — 1. Definujeme lineární funkci fo(xi, . . ., xn_i) = /(«i, . . ., xn_i, 0). Víme, že / je lineární, tedy využijeme (6.1) pro x' = 0 a i = n a dostáváme f(xi, . . ., xn) = fo(xi, . . ., i„_i) + wnxn, což lze dle indukčního předpokladu pro /o přepsat f(xi, ...,xn) = /o(0, . . .,0) + J2"=iwixi + wnxn = /(0, . . .,0) + J2"=iwixi- 1 Q7 140 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Lemma 6.7 Pro každou lineární prahovou funkci f : R" —> {0, 1} existuje lineárni prahová funkce g : Rn+1 ----> {0, 1} s nulovým prahem taková, že pro všechna Xi, . . . ,xn G R platí f(xi, . . . ,xn) = g(xi,..., xn, 1). Důkaz: Nechť / je lineární prahová funkce s reprezentací (w1; . . ., wn; h). Zřejmě (w1; . . ., wn, — h, 0) je reprezentace g, protože g(xi,..., xn, 1) = 1, právě když Ya=i wixi -h>0,tj. f(xlt ...,xn) = í. D 6.2 Omezená doména V předchozí podkapitole jsme uvažovali obecně v absolutní hodnotě libovolně velké reálné vstupy neuronů, avšak v praktických aplikacích je obvykle vstupní prostor omezený a také vstupy neuronů jsou v neuronové síti tvořeny omezenými výstupy jiných neuronů. Proto budeme v této podkapitole analyzovat lineární prahovou funkci a její reprezentaci pro případ omezeného definičního oboru. Uvidíme, že na rozdíl od obecného reálného definičního oboru má lineární prahová funkce v omezené doméně bohatší prostor svých reprezentací. Pro tento účel nejprve zavedeme pojem separability lineární prahové funkce a definujeme váhu reprezentace, což je jednoduchá míra deskriptívni složitosti reprezentace. Definice 6.8 Řekneme, že reprezentace (wi, . . . ,wn; h) lineární prahové funkce f je é-separabilní v definičním ob oru L^jn C lRn pro kladne reálne 6 G R+, jestliže pro všechna (x\, . . ., xn) G Sn platí: n f(x\,..., x„) = 0 , právě když 2_. wixi < h — 6 . (6-7) 8 = 1 Lineární prahová funkce je separabilní v definičním oboru Sn C Rn, jestliže má v této doméně 6-separabilní reprezentaci pro nějaké 6 G R+. V absolutní hodnotě maximální váhu \w\ = maxi<8 0, pak f má 6-separabilní reprezentaci v Sn s váhou (6/X)\w\. 6.1. REÁLNA DOMÉNA 139 Věta 6.6 Soubory {w\, . . ., wn: h) a (v\, . . ., vn; r) jsou reprezentace jedné lineární prahové funkce f, právě když existuje kladné reálné číslo fi G R+ takové, že h = fir a Wi = fiV{ pro i = 1, . . ., n. Důkaz: Nechť (w1; . . ., wn; h) a (i;!, ...,«„; r) jsou reprezentace lineární prahové funkce /. Nejprve pro jednoduchost předpokládejme, že / není degenerovaná a h, r jsou nenulové. Prahy h a r mají stejná znaménka, protože h > 0, právě když /(0, . . ., 0) = 0, právě když r > 0. Ukážeme, že pro Wi > 0 (1 < i < n) existuje právě jedno reálné ti G R takové, že /(0,..., 0, xí, 0,..., 0) = 1, právě když xí > ti . (6.5) Položme ti = h/wi. Potom /(0, . . ., 0, X{, 0, . . ., 0) = 1, právě když WíXí > h, tj. Xi > ti. Jednoznačnost ti dokážeme sporem. Nechť tedy existuje reálné S{ ^ ti takové, že /(0,..., 0, xí, 0,..., 0) = 1, právě když xí > Si . (6.6) Bez újmy na obecnosti nechť např. Si < ti. Podle (6.5) to znamená, že /(0, . . ., 0, Si, 0, . . ., 0) = 0. Na druhou stranu z (6.6) vyplývá, že /(0, . . ., 0, Si, 0, . . ., 0) = 1, což je spor. Podobně lze ukázat, že pro Wi < 0 (1 < i < n) existuje jediné ti = h/wi takové, že /(0, . . ., 0, Xí, 0, . . ., 0) = 1, právě když Xí < ti. Tedy máme t\,...,tn pro /jednoznačné a na její reprezentaci nezávislé, tj. h/wi = r/vi pro i = l,...,n. Položme /j, = h/r > 0 a dostáváme, že h = [ir a »,■ = (h/r)vi = ijlví pro i = 1, . . ., n. Pokud h = 0 nebo r = 0, pak jsou oba prahy nulové, tj. h/wi = r/vi = 0, a podobně lze ukázat, že např. pro »,■ > 0 (1 < i < n — í) existuje právě jedno reálné ti G R takové, že /(0, . . ., 0, X{, 0, . . ., 0, —1) = 1, právě když Xi > ti. V tomto případě polož fi = wn/vn > 0 atd. Pokud / je degenerovaná v i-té proměnné, pak podle věty 6.5 jsou odpovídající váhy nulové, tj. Wi = V{ = 0, a pro ostatní váhy použijeme předchozí postup. Obrácená implikace je jednoduchá, protože X2ľ=i wixi ^ h> právě když Ya=i Vvixi > /"r> právě když Ya=i vixi > r- D Pokud budeme dvě reprezentace, které jsou násobkem, považovat za ekvivalentní, pak se množina všech reprezentací rozpadá na třídy této ekvivalence a každá lineární prahová funkce s reálným definičním oborem odpovídá podle věty 6.6 právě jedné takové třídě. Na závěr této podkapitoly ještě zopakujeme formální úpravu, kterou jsme používali v první části této knihy (srovnejte s (1-1), (1-2) a (1-3)) a pomocí níž se lze omezit na reprezentace s nulovým prahem. 142 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Uvažujme případ, kdy chceme dokázat nějakou vlastnost o váhách lineární prahové funkce v obecné omezené doméně Sn C (—a,a)n. Podle věty 6.11 můžeme pomocí $ transformovat definiční obor Sn na S^ C (0, l)n a tuto vlastnost dokázat pro váhy / o $_1, protože pro každou reprezentaci /o$_1 existuje reprezentace / se stejnými váhami, pro níž příslušný výsledek platí. Pro jednoduchost se proto dále omezíme na definiční obory, které jsou obsaženy v (0, l)n. Podobně zjednodušíme situaci tím, že budeme uvažovat jen kladné váhy. K tomu nás opravňuje následující věta. Věta 6.12 Necht Sn C (0, l)n je omezená doména, f je lineární prahová funkce v Sn a 1 < i < n. Pak existuje omezený definiční obor S^ C (0, l)n a bijekce $ : Sn —> S^ taková, že f o $_1 je lineární prahová funkce v S^ a (u>i, . . . ,wn; h) je reprezentace f, pravé když (wi, . . ., Wi-i, -Wi,wi+i, ...,wn;h- wí) (6.12) je reprezentace /o$_1. Důkaz: Definujme bijekci $(«1, . . ., xn) = (xi, . . ., Xi_i, l — Xi, iCj+i, . . . ,xn) a označme S^ obor hodnot $. Důkaz dále pokračuje podobně jako důkaz věty 6.11. G Při implementaci funkce neuronu nelze pracovat s neomezenou přesností reprezentace, proto se v následujícím výkladu budeme zabývat celočíselnou reprezentací a její váhou. Ukážeme, že separabilní lineární prahové funkce mají celočíselnou reprezentaci. Definice 6.13 Reprezentaci (w1; . . ., wn; h) lineární prahové funkce nazveme celočíselnou reprezentací, jestliže Wi G Z pro i = 1, ... ,n a h G Z jsou celá čísla. Věta 6.14 Každá lineární prahová funkce f s 6-separabilní reprezentací v omezeném definičním oboru Sn C (0, l)n s váhou \w\ má celočíselnou reprezentaci s váhou nejvýše ((n + l)/é)|w|. Důkaz: Nechť / je lineární prahová funkce s é-separabilní reprezentací v omezené doméně Sn C (0, l)n s váhou |u>|. Podle lemmy 6.9 potom pro / v Sn existuje (n + l)-separabilní reprezentace (w1; . . ., wn; h) s váhou ((n + í)/6)\w\. Bez újmy na obecnosti můžeme předpokládat, že Wi > 0 pro i = 1, . . ., n. Pro Wi < 0 lze totiž použít větu 6.12 a pokračovat v následujícím důkazu. Nakonec pomocí stejné věty obdržíme celočíselné váhy pro původní lineární prahovou funkci a její doménu. Nyní již uvažujme celočíselné váhy Vi G Z a práh r G Z takové, že Wi — 1 < ví < Wi pro i = l, . . . ,n & h — n — í < r < h — n. Dokážeme, že (i>i, . . ., vn; r) je celočíselná reprezentace / v Sn. Nechť (x\, . . ., xn) G Sn. 6.2. OMEZENA DOMÉNA 141 Důkaz: Nechť (w\, . . . ,wn;h) je A-separabilní reprezentace v Sn s váhou |u>|, tj. f(xi, . . . ,xn) = 0, právě když Yľi—iwixi < h — \. Položme fi = 6/X > 0 a aplikujeme větu 6.6. To znamená, že f(xi, . . . ,xn) = 0, právě když Yľi=i lJiWixi ^ ßh — 6 a (ßWi, . . ., fíwn; fíh) je é-separabilní reprezentace v Sn s váhou (i5/A)|u>|. D Důsledek 6.10 Pro každé 6 G R+ má separabilní lineární prahová funkce 6-separabilní reprezentaci. Nyní dokážeme větu, která nám umožní omezit se na domény, které jsou podmnožinou n-rozměrné krychle (0, l)n. Věta 6.11 Necht"E.n C (—a, a)n (a > 0) je omezená doména a f je lineární prahová funkce v Sn. Pak existuje omezený definiční obor "E!n C (0, l)n a vzájemné jednoznačné zobrazení $ : Sn —> S^ takové, že /o$_1 je lineární prahová funkce v S^ a (w1; . . . ,wn;h) je reprezentace f, pravé když w1,...,wn;- -+> ^ (6-8) je reprezentace f o $ ľ. Důkaz: Zavedeme lineární transformaci / : (—a, a) —> (0, 1} tak, že l(x) = i(- + 1). Pomocí ní definujeme bijekci $ : Sn ----> (0, 1} po složkách $(«!, . . ., xn) = (l(xi), . . ., l(xn)) a označíme S^ obor hodnot $. Nyní nechť (wi, . . . ,wn]h) je reprezentace /. Pak pro každé (x'1; . . ., x'n) G S^ je f o<^-1(x'1,...,x'n) = 1, právě když /(/"Ví). • • •. I'1«)) = /«2*í - 1),..., a(2x'n - 1)) = 1, (6.9) právě když X2i=i wia(^x'i — 1) > /i, t j. " 1 f h " \ E^>2b + ľffl' ■ (6-10) 8=1 \ 8=1 / Tedy / o $_1 je lineárni prahová funkce v S^ s reprezentací (6.8). Nechť naopak (6.8) je reprezentace /o$_1. Pak pro každé (xi, . . ., xn) G Sn je f(xi, . . .,xn) = 1, právě když (/ o «ř-1) o $(«i, . . .,xn) = 1, právě když(/o$-1)(/(xi),...,/(a;n)) = l,tj. g^d + i)^!^»! (6.11) a po úpravě Yľi=i wixi ^ h- Tedy (u>i, . . ., wn; h) je reprezentace /vH, 144 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Definice 6.18 Váha lineární prahové funkce v konečném oboru je minimální váha její celočíselné reprezentace. V následujícím výkladu budeme odhadovat váhu lineární prahové funkce. Za tímto účelem nejprve zavedeme pojem jádra lineární prahové funkce a pro konečnou doménu ukážeme jeho existenci. Definice 6.19 Necht f je lineární prahová funkce v omezené doméné Sn C (0,l)n. Řekneme, že K C Sn je jádro / v Sn, jestliže obsahuje \K\ = n + í prvků a existuje reprezentace (w\, . . . ,wn;h) pro f v Sn taková, že pro všechna (xi, . . ., xn) £ K platí Yľi-i wixi £ V1 ~ 1) M- Věta 6.20 Každá nedegenerovaná lineární prahová funkce v konečné doméné má jádro. Důkaz: Nechť / je nedegenerovaná lineární prahová funkce v konečné doméně S„. Podle věty 6.16 je / separabilní a podle důsledku 6.10 má 1-separabilní reprezentaci, která je řešením následující soustavy |S„| nerov-nic s n + 1 neznámými w\, . . . ,wn, h: TV™-/ -h~í pro f(xi'-■■'x^ = ° (x, x)p* (Qu) =i Prostor řešení soustavy (6.14), který odpovídá všem 1-separabilním reprezentacím /, je tedy v (n + l)-rozměrném euklidovském prostoru En+\ neprázdným průnikem poloprostorů ohraničených nadrovinami YjXlWl-h=\-1 izff%\\';;:xxn\~=\ (*i>--->*«)esn (6.15) =1 s proměnnými w\, . . . ,wn,h. Navíc / je nedegenerovaná, proto v En+\ existuje řešení soustavy (6.15) odpovídající průniku právě n + í nadrovin. To znamená, že následující soustava n+í rovnic s n+í neznámými w\, . . ., wn, h má řešení: n '^2-Ski'Wi - h = tk k=í,...,n+í (6.16) 8 = 1 pro nějaké sk = (skl, . . .,skn) eS„aít = f(skl, . . .,skn)-í £ {-1,0} (k = 1, . . ., n + 1). Pro řešení w\, . . ., wn, h soustavy (6.16) platí, že Yľi=i wiski £ {h — 1, h} pro k = 1, . . ., n + 1, a tedy množina K = {sk \ k = 1, . . ., n + 1} tvoří jádro / v Sn. □ Nyní budeme pomocí jádra definovat objem lineární prahové funkce, o kterém ukážeme, že souvisí s její deskriptívni složitostí. 6.3. KONEČNÁ DOMÉNA 143 Pro f(xi, . . ., xn) = 1 platí ^i=1 Ki,íi > h. Z toho vyplývá, že Yľi-i^i + l)xi ^ ^) protože Ví + 1 > to,-. Po úpravě dostáváme Yľi—i vixi ^ h — Yľi—i xií co^ implikuje Yľi—i vixi > h — n, protože Xi G (0, 1). Odtud Tll=i vixi ^ r> protože h — n > r. Naopak /(«i, . . ., xn) = 0 díky (n + 1)-separabilitě reprezentace (w1; . . ., wn: h) implikuje Yľi=i wixi < h — n — í, z čehož vyplývá, že Yľi=i vixi < r> protože V{ < Wi a h — n — 1 < r. Nakonec váha reprezentace (i>i, . . ., vn; r) je menší než ((n + í)/6)\w\, protože ví < Wi pro i = 1, . .., n. □ Důsledek 6.15 Každá lineární prahová funkce separabilní v omezeném definičním oboru má celočíselnou reprezentaci. Důkaz: Aplikuj větu 6.11 na tvrzení o celočíselných váhách ve větě 6.14. Ü Důsledek 6.15 znamená, že pokud budeme podobně jako v podkapitole 6.1 považovat dvě reprezentace, které určují jednu separabilní lineární prahovou funkci, za ekvivalentní, pak v příslušném rozkladu množiny separa-bilních reprezentací na třídy ekvivalence, má každá taková třída celočíselného reprezentanta. 6.3 Konečná doména V této podkapitole se dále omezíme na konečnou doménu, pro kterou má lineární prahová funkce celočíselnou reprezentaci, protože je v ní separabilní. Díky tomu můžeme v konečné doméně definovat váhu lineární prahové funkce jako nejmenší váhu její celočíselné reprezentace. Věta 6.16 Každá lineární prahová funkce je v konečné doméné separabilní. Důkaz: Nechť / je lineární prahová funkce v konečném oboru Sn C Rn s reprezentací (wi, . . . ,wn;h). Položme E WiXi 1 /(x) = 0, x = (xi,..., xn) e Sn > . (6.13) Pak pro x = (xi, . . ., xn) G Sn platí, že /(x) = 0, právě když Yľi—i wixi ^ max{E*-i wixi I /(x) = 0} = h — 6. Tedy (w1; . . ., wn; h) je é-separabilní reprezentace / v S„. □ Důsledek 6.17 Každá lineární prahová funkce v konečném definičním oboru má celočíselnou reprezentaci. Důkaz: Tvrzení je přímým důsledkem věty 6.16 a důsledku 6.15. □ 146 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Determinanty A8- (i = 1, . . ., n) jsou řádu n + 1 a obsahují prvky z (—1,1), proto jejich absolutní hodnoty lze pomocí (6.20) odhadnout |A8| < (\/n + l)n+1 = (n + 1) 2 . Absolutní hodnota determinantu |A| soustavy (6.16) odpovídá objemu V. Tedy \wí\ < (n + 1) 2 /V. □ Důsledek 6.23 Každá lineární prahová funkce f v konečné doméně Sn C (0, l)n s objemem V má celočíselnou reprezentaci s váhou nejvýše (n+l^/V. Důkaz: Podle věty 6.22 existuje 1-separabilní reprezentace / v Sn s váhou nejvýše (n + 1) 2 jy a aplikací věty 6.14 získáme celočíselnou reprezentaci s váhou nejvýše ((n + l)/l)(n + 1) 2 jy = (n -\- 1) 2 jy, D 6.4 Booleovská doména V této podkapitole se budeme zabývat tzv. booleovskými prahovými funkcemi, které modelují funkci perceptronu s binárními vstupy. 6.4.1 Booleovská prahová funkce Nejprve učiníme jednoduchá pozorování o tom, které z klasických booleovských funkcí jsou prahové funkce (srovnejte s obrázky 1.13 a 1.7). Dále nahlédneme triviální vlastnosti negace booleovské prahové funkce a ukážeme existenci tzv. rozhodující reprezentace. Definice 6.24 Lineární prahová funkce v booleovské doméně {0, l}n se nazývá booleovská prahová funkce. Podobně je možné pro bipolární logiku uvažovat doménu { — 1, l}n. Následující věty pro booleovskou prahovou funkci platí i pro tento definiční obor, protože lze využít transformaci domény { — 1, l}n na {0, l}n podle věty 6.11. Definice 6.25 Připomeňme následující značení booleovských funkcí f : {0, l}n ----> {0, 1}. Konjunkce AN D(x\, . . ., xn) = x\ A . . . A xn = 1, právě když Xi = 1 pro všechna i = í,...,n. Disjunkce OR{x\, . . ., xn) = x\ V . . . V xn = 1, právě když existuje 1 < i < n takové, že Xi = 1. Negace booleovské proměnné NOT(x) = x = 1, resp. funkce f(xi, . . .,xn) = 1, právě když x = 0, resp. f(xi, . . . ,xn) = 0. Vylučovací disjunkce (parita^) XOR(xi, . . .,xn) = X\ © • • • © xn = 1, právě když počet i takových, že Xi = 1, je lichý, tj. \{i I Xi = 1}| je liché číslo. Konsenzuální (Většinová^) funkce MAJORITY(xi, . . ,,i„) = 1, právě když je aspoň polovina i takových, že Xi = 1, tj. \{i j Xi = 1}| > n/2. 6.3. KONEČNÁ DOMÉNA 145 Definice 6.21 Nechť f je lineární prahová funkce v omezené doméně Sn C (0,l)n a K = {sk £ Sn |sfc = (skl,...,skn), 1 < k < n + 1} je jádro f v S„. Absolutní hodnotu determinantu ab s si,i »n+1,1 si, 1 ■sn + l,n -L (6.17) nazveme objemem jádra K. Objem lineární prahové funkce / v Sn je definován jako maximální objem jádra přes všechny jádra f vSn. Geometricky lze objem jádra chápat jako objem rovnoběžnostěnu v (n + 1)-rozměrném euklidovském prostoru En+i, jehož strany jsou umístění vektorů z jádra (rozšířených o jednotkovou (n + l)-ní souřadnici) v počátku. V následujícím výkladu ukážeme vztah mezi objemem lineární prahové funkce a její váhou. Věta 6.22 Každá lineární prahová funkce f v konečné doméně Sn C (0, l)n s objemem V má 1-separabilní reprezentaci s váhou nejvýše (n + 1) 2 jy. Důkaz: Tvrzení ukážeme pro nedegenerovanou /, zatímco důkaz pro degenerovanou / probíhá obdobně (navíc dle analogie věty 6.5 pro konečnou doménu jsou některé váhy nulové). Tedy podle věty 6.20 má / jádro v Sn s objemem V. Podle důkazu této věty existuje 1-separabilní reprezentace (u>i, . . ., wn; h), která je řešením soustavy n + 1 rovnic (6.16) (pro / degenerovanou v k proměnných uvažujeme obdobnou soustavu n — k + 1 rovnic a stejný počet nenulových neznámých). Její váhy lze vyjádřit pomocí Crame-rova pravidla Wi = A;/A pro i = 1, ., n, kde A «i,i si, -1 At Sil Sn + 1,1 ' ' ' Sn + l,n — 1 Sl,í-1 íl s1,í + 1 Si,: Sn+1,1 ■ ■ ■ Sn+1,1-1 tn+1 Sn+1,1+1 ' ' ' sn+l,n ~ 1 (6.18) (6.19) Dále využijeme Hadamardovu nerovnost z lineární algebry, která shora odhaduje absolutní hodnotu determinantu matice pomocí součinu norem jejích řádků, tj. ^1,1 ' ^ i,p ab s ^p,i p i\E: (6.20) 148 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Důkaz: (i) Platí, že f(xi,...,xn) = 1, tj. f(xi, . . .,xn) = O, právě když ^2i=iwixi < ^> tj- díky celočíselné reprezentaci ^I=1 idjI; < /í — 1, což lze upravit Eí=i ~wixi > í — h. (ľ) Booleovská prahová funkce má konečnou doménu, a tedy podle důsledku 6.17 existuje její celočíselná reprezentace. Tvrzení pak plyne z (i). (ii) Platí, že /(«!, . . ., £,_!, Xi, xi+1, ...,xn) = í, právě když Ej=i wjxj + Wi(l - Xi) + E"=i+i «W > MJ- Ej=i wjxj - wixi + E"=i+i WJXJ > h — W{. (ii') Aplikuj (ii) pro i = 1, . . ., n. (iii) Tvrzení je přímým důsledkem (i) a (ii'). n Je zajímavé, že podle (iii) z lemmy 6.27 dostaneme s využitím věty 6.26 de Morganovy vzorce, tj. AND{x\, . . ., xn) = OR{x\, . . ., xn) resp. OR(xi, . . ., xn) = AND(xi, . . ., xn), nebo v případě konsenzuální funkce M A JO RITY (x! ,...,xn) = MAJ O RITY {xi ,...,xn) pro lichá n. Definice 6.28 Reprezentace (wi, . . . ,wn; h) booleovské prahové funkce se nazývá rozhodující, jestliže pro všechna x\,...,xn £ {0,1} platí Ya=i wixi i1 h. Lemma 6.29 Každá booleovská prahová funkce f s celočíselnou reprezentací (wi, . . ., wn; h) s váhou \w\ má rozhodující celočíselnou reprezentaci s váhou 2\w\. Důkaz: Platí, že f(xi, . . ., xn) = 1, právě když ^i=1 «iii; > h, tj. Eí=i 2wiXi > 2/í > 2/í — 1. Na druhou stranu f{x\, . . ., xn) = 0, právě když Ei=i ^wixi < 2/i, což je díky sudému číslu na levé straně nerovnosti ekvivalentní s Ei=i ^wixi < 2/í —1. Tedy (2u>i, . . ., 2wn; 2/í —1) je celočíselná rozhodující reprezentace / s váhou 2|u>|. □ 6.4.2 Váha booleovské prahové funkce V následujícím výkladu se budeme zabývat velikostí reprezentace booleovské prahové funkce a také určíme počet booleovských prahových funkcí n proměnných. Uvedené otázky si matematici kladli již v 60. letech a výsledky jejich výzkumu z tohoto období jsou shrnuty v práci [200]. Nejprve zpřesníme horní odhad váhy v důsledku 6.23 pro booleovskou prahovou funkci, a tím shora omezíme velikost absolutní hodnoty váhy perceptronu s binárními vstupy. 6.4. BOOLEOVSKÁ DOMÉNA 147 Věta 6.26 Konjunkce AND(x\, . . ., xn), disjunkce OR{x\, . . ., xn), negace NOT(x) a konsenzuální funkce MAJORITY(xi, . . . ,xn) jsou booleovské prahové funkce, zatímco vylučovací disjunkce XOR(xi, . . ., xn) pro n > 2 není booleovská prahová funkce. Důkaz: Soubory (1, . . ., 1; n), (1, . . ., 1; 1), (—1; 0) a (1, . . ., 1; n/2) jsou po řadě reprezentace funkcí AND, OR, NOT a MAJORITY. Důkaz neexistence reprezentace pro XOR{x\, . . ., xn) probíhá sporem indukcí dle n > 2. Nejprve pro n = 2 předpokládejme, že XOR{x\, X2) je booleovská prahová funkce s reprezentací (wi,W2',h). Z XOR(Í,0) = XOR(0, 1) = 1 plyne Wi > h a u>2 > h, což implikuje Wi + w2 > 2/i. Na druhou stranu pro XOR(l,l) = 0 obdržíme Wi + w2 < h. Tedy h > 2/i, tj. h < 0, což je ve sporu s XOR(0,0) = 0. Nechť dále n > 2 a XOR(xi, . . ., xn_i) není booleovská prahová funkce. Pro spor předpokládejme, že (w1; . . ., wn; h) je reprezentace XOR(xi, . . ., xn). Potom XOR(xi, . . . ,xn_i) = 1, právě když XOR(xi, . . ., xn-i,0) = 1, právě když Ei=i wixi ^ h. To znamená, že XOR(xi, . . ., i„_i) je booleovská prahová funkce s reprezentací (wi, . . ., wn_i, h), což je spor s indukčním předpokladem. □ Následující lemma ukazuje, že booleovská prahová funkce je po negaci proměnných, resp. funkční hodnoty, opět booleovská prahová funkce se stejnou váhou. To znamená, že u perceptronu s binárními vstupy lze negovat vstupy i výstup, aniž bychom ztráceli efektivní neuronovou implementaci. Lemma 6.27 (i) Necht f je booleovská prahová funkce s celočíselnou reprezentací (wi, . . . ,wn;h), pak negace f je booleovská prahová funkce s celočíselnou reprezentací (—Wi,...,—wn;í — h). (i') Nechť f je booleovská prahová funkce, pak negace f je booleovská prahová funkce. (ii) Nechť f je booleovská prahová funkce s reprezentací (wi, . . . ,wn; h) a 1 < i < n, pak funkce f(xi,...,Xi-i,Xi,Xi+i,...,xn) je booleovská prahová funkce s reprezentací (u>i, . . ., u>í_i, — Wi, idí+i, . . . ,wn; h—Wi). (ii') Nechť f je booleovská prahová funkce s reprezentací (wi, . . . ,wn; h), pak funkce /(ži, . . ., xn) je booleovská prahová funkce s reprezentací (-wi, ..., -wn;h - Ya=i wi)- (iii) Nechť f je booleovská prahová funkce s celočíselnou reprezentací (u>i, . . . ,wn; h), pak negace /(ži, . . ., xn) je booleovská prahová funkce s celočíselnou reprezentací (wi, . . ., wn; í — h + Ei=i ^')- 150 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Nechť (6.23) neplatí pro nějaké dva vstupy (a\, . . ., a„_i) ^ (bi, . . ., &n-i) E {0, l}n_1, které se liší v i-té proměnné, tj. Yll=i wjaj = X2ľ=i wj^j a ai ť^ ^' pro nějaké 1 < i < n — 1. Zvolme e > 0 tak, že e < mm 3=1 3=1 >0 I x, x'G {O,!}"-1 } . (6.24) Z (5-separability původní reprezentace vyplývá, že (wi, . . . ,wí_i,wí + e, Wi+i, . . ., »n-i; 0) je také reprezentace /. Navíc pro ní platí (6.23) pro vstupy (ai, . . ., an_i), (&i, . . ., &n-i), protože příslušné zvážené sumy se v nerovnici (6.23) liší o e. Díky volbě e v (6.24) se platnost (6.23) pro další dvojice vstupů nezmění. Celý postup se opakuje, dokud (6.23) neplatí pro všechny dvojice vstupů. Nechť tedy reprezentace (u>i, . . ., u>n-i; 0) funkce / splňuje (6.23). Potom pro každé k = 0, . . . ,2n_1 můžeme volit váhu wn tak, aby počet vstupů [Xi, . . ., xn_ i, 1) G {0, l}n, pro které booleovská prahová funkce f k s n proměnnými, zadaná reprezentací (u>i, . . ., u>n_i, u>„ , 0), nabývá hodnotu 0, byl právě k, tj. (xi,...,xn_i,i) e {o,i}" n-l E 8 = 1 WiXi + w(nk'> <0 (6.25) pro 0 < k < 2™ . Tím získáme z jedné booleovské prahové funkce / s n — 1 proměnnými 2n_1 + 1 různých booleovských prahových funkcí f k (k = 0, . . .,2n_1) s n proměnnými. Počet různých voleb / je C(n — 1) a každá z nich určuje jiná fu, protože fk(xi, . . . ■ i„_i, 0) = f(xi, . . ., xn_i) se liší pro nějaké (xi, . . ., xn-i, 0) G {0, l}n. Odtud dostáváme rekurentní vztah pro dolní odhad C(n) > (2n_1 + l)C(n — 1), který lze indukcí dle n rozepsat: n-l C(n) > u (2Í + !) > 2llí:řÍi • (6-26) 8 = 0 D Tt(rt-l) , -i g Dolní odhad ve větě 6.31 lze např. vylepšit na 2 2 +ib tak, že v jejím důkazu využijeme pozorování, že C(8) > 244 [202]. Následující věta však ukazuje, že kvadratický exponent v uvedeném dolním odhadu nelze již řádově zvýšit. Věta 6.32 Počet různých nedegenerovaných booleovských prahových funkcí n proměnných je méně než 2(n+1) . 6.4. BOOLEOVSKÁ DOMÉNA 149 Věta 6.30 (Muroga, Toda, Takasu [201]) Každá booleovská prahová funkce f má celočíselnou reprezentaci s váhou nejvýše (n + 1) 2 /2n. Důkaz: Podle důkazu věty 6.22 pro konečnou doménu (opět pro jednoduchost uvažujeme jen nedegenerovaný případ) existuje 1-separabilní reprezentace (wi, . . ., wn; h), jejíž váhy Wi = Aj/A (i = 1, . . ., n) a práh h = An+i/A lze vyjádřit pomocí determinantů (6.18) a (6.19). Položme fi = |A| > 0 a ví = nwi (i = 1, . . ., n), r = iih. Podle věty 6.6 je (ví, . . ., vn: r) reprezentace /. Navíc \ví\ = |Aj| a \r\ = |An_|_i| jsou celá čísla, protože prvky Sjk G {0, 1}, tj G { — 1, 0} (1 < j < n + 1, 1 < k < n) v determinantu (6.19) jsou z množiny { — 1, 0, 1}. Tedy (vi, . . ., vn; r) je celočíselná reprezentace /. Absolutní hodnotu váhy \ví\ (i = 1, . . ., n) lze vyjádřit: \v% I = abs «1,8-1 íl s1,í + 1 sn+l,l ••• Sn+1,1-1 *n+l «n+1,8 + 1 ••• «n+l,n —1 (6.21) Nejprve vynásobíme i-tý sloupec determinantu (6.21) číslem —1, pak prvních n sloupců vynásobíme dvěma a přičteme k nim poslední sloupec: 2"|íJí| = abs 2si.i -1 2s„ + 1,1 -2íi - 1 -2tn+l — 1 2si,„-l -1 2sn+l,n — 1 —1 (6.22) Nyní prvky determinantu v (6.22) jsou z množiny { — 1, 1}. Pomoci Ha-damardovy nerovnosti (6.20) dostaneme 2n|i;í'| < (n + 1) 2 , tj. \ví\ < («+1)^/2". ü Dále odhadneme zdola počet booleovských prahových funkcí n proměnných. Věta 6.31 (Yajima, Ibaraki [293]) Existuje aspoň 2 leovských prahových funkcí n proměnných. '("-D různých boo- Dukaz: Pro dolní odhad stačí uvažovat reprezentace booleovských prahových funkcí s nulovým prahem. Označme C(n) počet různých booleovských prahových funkcí n proměnných, které mají reprezentaci s nulovým prahem. Díky negaci NOT(x) a konstantní jednotkové funkci je C(í) = 2. Dále uvažujme booleovskou prahovou funkci / s n — 1 proměnnými, která má podle věty 6.16 é-separabilní reprezentaci (wi, . . ., u>n-i;0) pro nějaké 6 > 0. Tuto reprezentaci upravíme tak, aby pro každé dva různé vstupy (xi, . . ., aľ„_i) ^ (x'i, . . ., x'n_i) G {0, l}""1 platilo, že ^2W:X: ^ Z/ (6.23) 152 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE Důkaz: Chceme dokázat, že neexistuje celočíselná reprezentace / s váhou menší než 2k. Nechť tedy (wi, . . ., wn; h) je libovolná celočíselná reprezentace /. Podle věty 6.12 můžeme předpokládat kladné váhy W{ > 0 (i = 1, . . ., n). Ukážeme, že w^+i > 2k. Za tímto účelem definujme následující vstupy aJ-,bJ-e{0)l}n(i = l)...)A)pro/: fc+i (0,...,0,1,0,...,0,1,...,1,0,...,0 (6.30) fc+i (1,...,1,0,0,...,0,1,...,1,0,...,0). (6.31) S využitím reprezentace (6.29) funkce / dostaneme, že f(sLj) = 1 (j = 1, . . ., k), protože odpovídající zvážená suma 2J + (2* — 1 — X^Zg 28) = 2k, a f(bj) = 0(j = í,...,k), protože YtZo ^ + (2* - 1 - EÍ="o 27) = 2* - 1. Tedy pro reprezentaci (w1; . . ., wn: h) platí, že n-j wj+1 + ^2 Wi>h j = í,...,k, (6.32) i = k + 2 protože f(sLj) = 1, a i n~i '^2wi+ ^2 wí < h j = í,...,k , (6.33) 8 = 1 i = k + 2 protože f(hj) = 0. K nerovnosti (6.32) přičteme nerovnost (6.33) vynásobenou — 1 a obdržíme: i wj+1>^2wi j = í,...,k. (6.34) 8 = 1 Víme, že váhy Wj jsou celá kladná čísla, tedy např. w\ > 1. Indukcí pomocí (6.34) lze nahlédnout, že Wj+Í > 2J pro j = 1, . . ., k, speciálně w^+i > 2k. Ü Bez důkazu uvedeme ještě jeden příklad booleovské prahové funkce s váhou větší než 1.61n, což je více než ve větě 6.35. Věta 6.36 Nechť r\ = F? = 1 a Fn = Fn_2 + Fn_i pro n > 3 jsou Fi-bonacciho čísla. Pak booleovská prahová funkce s reprezentací (Fi,...,Fn; Fn+i) má váhu aspoň (1 y 5)n/v5- 6.4. BOOLEOVSKÁ DOMÉNA 151 Důkaz: Podle důkazu věty 6.20 odpovídá každá nedegenerovaná booleovská prahová funkce v (n + l)-rozměrném euklidovském prostoru reprezentací En+i aspoň jednomu průniku n + í nadrovin. Každé dvě takové (rovnoběžné) nadroviny (6.15) odpovídají jednomu možnému vstupu, což v případě binárního vstupu představuje 2n+1 nadrovin. Počet uvedených průniků nadrovin lze tedy shora odhadnout pomocí 2 ) < ^__ < 2(»+Da . (6.27) Tedy existuje méně než 2í-n+1> různých nedegenerovaných booleovských prahových funkcí n proměnných. □ Odhad ve větě 6.32 lze opět vylepšit na 2n -°(ni°gn)j pokud v nerovnosti (6.27) odhadneme faktoriál pomocí Stirlingova vzorce. Nakonec z vět 6.31, 6.32 dostáváme odhad počtu perceptronů s n binárními vstupy, které počítají různé funkce. Důsledek 6.33 Existuje právě 2®(n ) booleovských prahových funkcí n proměnných. Důsledek 6.34 Existuje booleovská prahová funkce n proměnných s váhou \w\ takovou, že 2— <\w\<[-^------, (6.28) tj. na reprezentaci jedné váhy booleovské prahové funkce je v nejhorším případě potřeba aspoň íl(n) bitů a stačí O(nlogn) bitů. Důkaz: Kdyby všechny booleovské prahové funkce n proměnných měly váhu |id| < 2~š-, tj. na reprezentaci jedné váhy by u nich stačilo n-^- bitů, pak by n(n-l) . jich bylo méně než 2 2 , což je ve sporu s větou 6.31. Horní odhad váhy udává věta 6.30. □ Argument v důkazu důsledku 6.34 neposkytuje žádný příklad booleovské prahové funkce s velkou váhou. Následující věta popisuje takový příklad booleovské prahové funkce s váhou vyšší než 1.41". Věta 6.35 Nechť n je liché číslo a označme k = ^-5—. Pak booleovská prahová funkce f s n proměnnými, zadaná reprezentací (1,2,4,...)2*-1,2*,2*-1)...,4,2,1:2*), (6.29) má váhu 2 . 154 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE _ i—1 00 X d t--X S (D Í X! "7 1-1 ^^^^ ľ--. Ö e ^ X! "7 CO x ^ (M X ^ M 2 1-1 i i i ^ ^ ^ i ^^ r^^r^n « n «i n n h ...... { — 1, l}n potenční množiny V(M) = {a C M} do množiny n-rozmérných bipolárních vektorů {-1,1}": $(a) = n bljt , n bij, , n &ni «cm. (6.35) \j€a j£a j£a j Konečné definujme bipolar ní funkci F : { — 1, l}n —> { — 1, 1}: "Hr1 *l!::!ío ~<-u>", <«.»> kde k = max{i | x • $(a8) ^ 0, 1 < i < n), jehož existenci lze ukázat. V tabulce 6.1 je příklad uspořádání V(M) s minimální změnou určující zobrazení $ pro případ n = 8, m = 3 & M = {1,2,3}. Tedy například F(í, 1,1, 1,1,1,1,1) = 1 (k = 1) nebo F(-í, 1,1, -1,-1,1,1,-1) = -1 (k = 7) apod. Věta 6.38 (Hástad [96]) Funkce F z definice 6.37 je booleovská prahová funkce n proměnných s váhou \w\, pro kterou platí: "-1-1°*" \w\ > l-_l_e7(l°g2 n+31ogn+8-8nč)(log2 n_logn+y> (g.gy) kde ß = log | = 0.585 a j = In § = 0.288. 156 KAPITOLA 6. LINEÁRNI PRAHOVÁ FUNKCE prahová, právě když neexistuje řešení následující soustavy 2" lineárních ne-rovnic s n + 1 neznámými Wi, . . ., wn, h, které tvoří reprezentaci /: í>--{< Ž ^/S;:::;S):J (*i.-.*»)É{o,ir. (6.39) z' = l Soustava (6.39) tvoří soubor k = 2" konvexních množin v euklidovském prostoru Ed dimenze d = n + 1. Proto podle věty 6.40 nemá řešení, právě když existuje podsystém n + 2 řádků této soustavy, který nemá řešení. Nedeterministický algoritmus uhádne těchto n + 2 řádků a pomocí lineárního programování ověří v polynomiálním čase [145], zda příslušný podsystém nemá řešení. Důkaz, že LIN SEP je co — NP-ťěžký problém, probíhá standardním postupem [72], tj. polynomiální redukcí známého co — 7V_P-úplného problému, v našem případě problému tautologie DN F — TAUT, na problém LIN SEP. Problém tautologie DNF - TAUT (TAUTology Problem): instance: Booleovská funkce g : {0, l}m —> {0, 1} s m proměnnými v disjunktivní normální formě. otázka: Je g tautologie, tj. pro všechna ohodnocení booleovských proměnných je hodnota g = 1? Je všeobecně známo, že DN F — TAUT je co — N P-úplný problém [47]. Nechť tedy g : {0, l}m ----> {0, 1} je instance DNF — TAUT. V polynomiálním čase zkonstruujeme odpovídající instanci fg : {0, l}n —> {0, 1} problému LIN SEP s n = m + 2 proměnnými takovou, že g je tautologie, právě když f g je booleovská prahová funkce: 2) = (j(x)Aím+2)V(j;m+iAa;m+2)V(a;m+iAj;m+2), (6.40) kde x G {0, l}m a xm+ii%m+2 £ {0, 1}. Zřejmě fg po rozepsání konjunkce fif(x) A xm+2 v (6.40) je v disjunktivní normální formě, protože g je v disjunktivní normální formě. Nechť tedy nejprve g je tautologie. Potom formuli (6.40) můžeme díky g = 1 upravit: 7áí(x) xm + l, xm + 2) = xm + 2 V (xm + l A Xm + 2) V (xm + i A Xm + 2) = = xm+1y Xm+2, (6.41) a tedy např. (0, . . ., 0, —1, 1; 0) je reprezentace fg, která dosvědčuje, že fg je lineární prahová funkce. Naopak nechť g není tautologie, tj. existuje a G {0, l}m takové, že g(&) = 0. Potom ale podle (6.40) platí, že fg(a, Xm+i,Xm+2) = (xm+i A Xm+2) V (žm+i A žm+2) = = XOR(xm+i,xm+2 ), (6.42) 6.4. BOOLEOVSKÁ DOMÉNA 155 Dolní odhad váhy F ve větě 6.38 je jen o faktor 2°(n > menší než horní odhad váhy booleovské prahové funkce ve větě 6.30. Důsledek 6.39 Pro reprezentaci jedné váhy booleovské prahové funkce n proménných je v nejhorším případe potřeba a stačí 0(nlogn) bitů. Důsledek 6.39 znamená, že při implementaci libovolného perceptronu s n binárními vstupy stačí na reprezentaci jeho n vah 0(n2logn) bitů, přitom obecně nelze tento odhad zlepšit. 6.4.3 Problém lineární separability Věta 6.26 ukazuje několik příkladů klasických booleovských funkcí, které jsou prahové. V tomto odstavci ukážeme, že rozhodnout algoritmicky, zda daná booleovská funkce v normální formě je prahová, je obecně těžký problém. Tento výsledek má své důsledky v teorii učení neuronových sítí (viz podkapitolu 11.1). Problém lineární separability LINSEP (LINear SEParability Problem): instance: Booleovská funkce / : {0, l}n —> {0, 1} s n proměnnými v disjunktivní normální formě. otázka: Je / booleovská prahová funkce? Důkaz příslušného tvrzení o složitosti problému LINSEP využívá klasickou větu z geometrie euklidovských prostorů o průniku konvexních množin. Věta 6.40 (Helly [107]) Nechť {Qi, . . .,Qk} je konečný soubor k různých konvexních množin v euklidovském prostoru E^ dimenze d a nechť k > cř+1. Potom k f j Qf = 0 , pravé když 8 = 1 d+1 (3 1 < ň < 12 < • • • < id+i {0, l}m (obecně C : En ----> {0, l}m, kde Sn C Rn), která ke každému vstupu x £ {0, l}n (n = l-X"^ přiřadí výstup C(x) G {0, l}m (m = \Y\). Řekneme, že dva obvody jsou ekvivalentní, pokud počítají stejnou funkci. Jak jsme již uvedli, pro jednotlivé třídy hradlových funkcí dostáváme modely neuronových sítí s různou aktivní dynamikou. V této kapitole se nejprve zaměříme na nejjednodušší případ logických obvodů, které se nej-častěji studují v teorii booleovské složitosti a které mohou také posloužit jako metodický základ pro následný výklad prahových obvodů, které jsou bližší modelu vícevrstvého perceptronu. 7.1 Logické obvody Pokud jsou funkce hradel v obvodu omezeny jen na základní logické funkce (AND, OR, NOT z definice 6.25), hovoříme o tzv. logickém obvodu. Díky větě 6.26 představuje logický obvod jednoduchou diskrétní acyklickou neuronovou síť s binárními stavy neuronů. V této podkapitole budeme nejprve zkoumat výpočetní sílu a deskriptívni složitost (tj. velikost a hloubku) logického obvodu pro výpočet obecné booleovské funkce, popř. součtu celých čísel. Kvůli hardwarové realizaci se také tradičně uvažuje tzv. klasický obvod, který navíc u každého hradla předpokládá omezený počet vstupů (nejvýše 2). Avšak toto omezení již není v souladu s modely neuronových sítí, jejichž základní charakteristikou, korespondující s neurofyziologickou skutečností, je velká hustota propojení neuronů. Budeme se zabývat porovnáním deskriptívni složitosti těchto modelů. Nyní zformalizujeme uvedené pojmy. Definice 7.3 Řekneme, že obvod C = (V, X, Y, E, £) (viz definici 7.1) je logický obvod, jestliže T = {AND, OR, NOT, 0, 1} je třída jeho hradlových funkcí, kde 0, 1 jsou označení pro příslušné konstantní funkce. Logický obvod se nazývá klasický obvod, jestliže počet vstupů každého jeho hradla je nejvýše 2. Alternující obvod je logický obvod, u něhož zobrazení £ přiřazuje všem Kapitola 7 Složitost obvodů Acyklická neuronová síť (viz odstavec 1.3.2) odpovídá v teorii booleovské složitosti obecnému obvodu, který se skládá z tzv. hradel reprezentujících neurony. Obecně uvažujeme dostatečně širokou třídu hradlových funkcí, abychom pokryli co nejvíce modelů acyklických neuronových sítí. Nejprve uvedeme formální definici obvodu a jeho výpočtu. Definice 7.1 Obvod je pětice C = (V, X,Y, E,£), kde V je konečná množina hradel, X (X ílľ = IJ je konečná množina n = \X\ vstupů a Y C V množina m = \Y\ výstupů, (VUX,E) je acyklický orientovaný graf s množinou vrcholů V U X a množinou hran E C (V U X) x V, který spolu s X a Y tvoří architekturu (topologii,) A = (V, X, Y, E) obvodu, a zobrazení £ : V —> T je konfigurace, která každému hradlu přiřadí jeho funkci z dané třídy T hradlových funkcí (navíc požadujeme, aby funkce výstupních hradel měly binární obor hodnot). Počet hradel obvodu s = \V\ (nepočítáme vstupy) se nazývá velikost obvodu. Řekneme, že hradlo (resp. vstup) obvodu se nachází v i-té vrstvě (i > 0), pokud délka (počet hran) nejdelší orientované cesty od vstupu k tomuto hradlu je i hran. Počet nevstupních vrstev, tj. délka nejdelší orientované cesty od vstupu k výstupu, určuje hloubku obvodu d. Pokud neuvedeme jinak, předpokládáme, že poslední vrstva se skládá z výstupních hradel Y. V definici 7.1 můžeme tedy obecný obvod C interpretovat jako acyklickou neuronovou síť s množinou (nevstupních) neuronů V, které počítají libovolné funkce z třídy hradlových funkcí T předepsané pomocí £. Množina X obsahuje vstupní neurony, množina Y představuje výstupní neurony a E je množina spojů neuronů. Víme, že acyklickou neuronovou síť lze vždy strukturovat do vrstev (např. vícevrstvá neuronová síť), a podobně uvažujeme rozdělení obvodu na d + 1 vrstev (tj. včetně vstupní vrstvy) a výpočet po- 1 KQ 162 KAPITOLA 7. SLOŽITOST OBVODŮ Důkaz: Při normalizaci logického obvodu C = (V, X, Y, E, £) přesuneme všechna hradla, která počítají negaci, do vstupní vrstvy následujícím způsobem. Nejprve ke každému vstupu X{ (i = 1, . . ., n) přidáme podle definice alternujícího obvodu jeho negaci X{, tj. X' = X U {x\, . . ., x„}. Dále zrušíme všechna hradla g s funkcí 1(g) = NOT, tj. V = V \ {g G V \ 1(g) = NOT}. Poté ke každému hradlu g G V přidáme do stejné vrstvy hradlo g, které bude počítat jeho negaci, aniž by přímo počítalo funkci NOT, tj. V' = V U {g \ g G V}. Při výpočtu výstupu hradla g jsou totiž díky de Morganovým vzorcům (viz poznámku k lemmě 6.27) případně potřeba jen negace vstupů obvodu a dále výstupy hradel z předchozích vrstev, které však již také obsahují hradla počítající negace podobným způsobem, tj. bez použití funkce NOT. Podle toho novým hradlům přiřadíme následující funkce: '(Ä) AND 1(g) = OR OR £(g) = AND 1 1(g) = 0 ( ' 0 1(g) = l, zatímco funkce původních hradel se nemění, tj. £'(g) = 1(g) pro g £ V. Také musíme přizpůsobit architekturu obvodu. Ke každé hraně (g\,g2) G E pro gi, g2 G VUX přidáme hranu (gi, g2)■ Navíc pokud současně (gi, g),(g,g2) G E pro 1(g) = NOT a gi, 32 G V U X, pak v upravené topologii budou příslušná hradla spojena hranami (gi,c/2) a (gi,g2)- Tak získáme množinu hran Ě = (E n ((V U X) x V)) U u {(ji,j2)|(ji,S2)e£;ji,j2É^ui}u (7.2) U (91,92) (91,92) (gi,g),(g,g2)eE gev 1(g) = NOT ji,S2ěVUX Tím získáme logický obvod C = (V, X', Y', E, £') velikosti nejvýše 2s, který má negace jen na vstupu a je ekvivalentní s C. Avšak v alternujícím obvodu se navíc vrstvy hradel počítající AN D střídají s vrstvami hradel OR. Tomu přizpůsobíme C tak, že vypustíme každé hradlo gi G V, které je spojeno s hradlem 32 G V se stejnou funkcí £(g2) = £(gi). Hrany (h,gi) G E, které vedou k hradlu gi, pak můžeme díky asociativitě operací AND a OR přesměrovat k hradlu 32, tj. V = V'\{g1\(g1,g2)eĚ,£(g1)=£(g2)} (7.3) E' = (Ěn((V'UX')xV'))U 3(vi,vi+1) eĚ £(vi) = £(vk) } (h,Vi)eĚ,i = l,...,k-l \ . (7.4) hev'ux',vkev' U <(h,vk)eĚ 7.1. LOGICKÉ OBVODY 161 hradlům v jedné vrstvě buď funkci AND, nebo funkci OR, a to střídavě po vrstvách, přitom hradla s funkcí NOT jsou formálně v X, tj. každý vstup Xi (i = 1, . . . ,n) je navíc sdružen s přidaným vstupem X{ odpovídajícím jeho negaci. Příklad logického obvodu je na obrázku 7.1. Obr. 7.1: Příklad logického obvodu. 7.1.1 Alternující obvody Ukážeme, že obecný logický obvod lze převést na normální tvar, tj. na alternující obvod, za cenu nejvýš zdvojnásobení velikosti. Věta 7.4 Pro každý logický obvod C velikosti s a hloubky d existuje ekvivalentní alternující obvod C' velikosti nejvýše 2s a hloubky nejvýše d+1. 164 KAPITOLA 7. SLOŽITOST OBVODŮ velikosti si, hloubky d\ a C'2 '■ {O, l}m —> {O, l}m je funkce alternujícího obvodu C'2 velikosti s2, hloubky cř2 a hradla z poslední vrstvy C\ a hradla z první vrstvy C2 počítají stejné funkce. Potom složené zobrazení C2 o C\ : {0, l}n —> {0, l}m lze počítat alternujícím obvodem velikosti Si + s2 o- hloubky di + cř2 — 1. (ii) inverze: Každé zobrazení C : {0, l}n ----> {0, l}m, které lze počítat alternujícím obvodem C hloubky 2 s p hradly AN D v první vrstvé a m hradly OR ve druhé vrstvé, lze počítat alternujícím obvodem C" hloubky 2 a velikosti npm + m, který má hradla OR v první vrstvé a hradla AN D ve druhé vrstvé. Tvrzení platí 1 při záméné AN D a OR. Důkaz: (i) Alternující obvod, který počítá složené zobrazení C2 o C\, vznikne spojením obvodů C\ a C2 tak, že díky stejným hradlům první vrstva C2 splyne s poslední vrstvou C\ podobně jako v (7.3) a (7.4), čímž se součet hloubek zmenší o 1. (ii) Uvažujme příslušnou disjunktivní normální formu (s p monomy) booleovské funkce n proměnných, kterou počítá jedno z m výstupních hradel alternujícího obvodu C. Pomocí distributivního zákona ji převedeme na konjunktivní normální formu s np klauzulemi, kterou realizujeme alternujícím obvodem hloubky 2 a velikosti np + 1. Alternující obvod C" se skládá z m takových obvodů, tedy C" má požadovanou velikost npm + m. Příklad konstrukce obvodu C je na obrázku 7.3 □ A A Obr. 7.3: Inverze alternujícího obvodu z obrázku 7.2. 7.1. LOGICKÉ OBVODY 163 Nyní všechny cesty od vstupu k výstupu střídají hradla AN D a OR, avšak nemusí začínat stejných hradlem. Abychom tento nesoulad v alternujícím obvodu odstranili, první vrstvu v tomto případě chápeme formálně jako dvě vrstvy. Tím získáme výsledný alternující obvod C' = (V, X', Y', E', £') velikosti nejvýše 2s a hloubky nejvýše d + 1, který je ekvivalentní sC. Ü Definice 7.1, 7.2 (logického) obvodu jsou formálně poměrně komplikované, a proto formální důkaz věty 7.4 je zbytečně dlouhý, ačkoliv jeho myšlenka je celkem jednoduchá. Proto se dále tam, kde to nebude na úkor srozumitelnosti, omezíme pouze na neformální důkaz. Příklad alternujícího obvodu, který je podle věty 7.4 ekvivalentní s obecným logickým obvodem na obrázku 7.1, je znázorněn na obrázku 7.2. Díky této větě se v následujícím výkladu budeme většinou zabývat logickými obvody, které jsou alternující. A A Obr. 7.2: Alternující obvod ekvivalentní s logickým obvodem na obrázku 7.1. Zformulujeme lemmu, která představí dvě triviální techniky (kompresi a inverzi), které se uplatní při konstrukcích alternujících obvodů. Předtím si ještě uvědomíme, že alternující obvod s jedním výstupním hradlem (\Y\ = 1) hloubky 2 lze chápat jako normální formu příslušné booleovské formule, kdy vstupy včetně jejich negací odpovídají literálům, hradla první vrstvy počítají OR (klauzule) v případě konjunktivní normální formy, resp. AN D (monomy) při disjunktivní normální formě. Lemma 7.5 (i) komprese: Nechť n,m',m G N jsou přirozená čísla. Dále předpokládejme, že C\ : {0, l}n —> {0, l}m je funkce alternujícího obvodu C\ 166 KAPITOLA 7. SLOŽITOST OBVODŮ Tedy x, © yi a x, © yi (1 < i < n) lze vyčíslit v prvních dvou vrstvách alternujícího obvodu. Dále (x{ © yi) © c8-+i (1 < i < n) můžeme opět podle (7.7) počítat ve třetí a čtvrté vrstvě tak, že třetí vrstvu s hradly OR vytvoříme z třetí vrstvy obvodu pro c;, resp. q, pomocí komprese podle (i) z lemmy 7.5. Tak obdržíme alternující obvod velikosti 0(n2) a hloubky 4 pro výpočet požadovaného součtu, který má ve čtvrté výstupní vrstvě n + 1 hradel AN D (pro výpočet Zi, i = 1, . . ., n + 1), každé se dvěma vstupy od hradel OR (pro výpočet {xí © yi) V Cj+i a (a^- © t/i) V cí+i, 1 < i < n) ze třetí vrstvy, které mají nejvýše n vstupů (xí © yi a fij, resp. a;» © t/i a eý- pro j = i, . . ., n). Pomocí inverze podle (ii) z lemmy 7.5 můžeme třetí a čtvrtou vrstvu vyměnit tak, že nový obvod má n + 1 výstupních hradel OR ve čtvrté vrstvě pro výpočet zí (i = 1, . . ., n + 1) a 0(n ) hradel AN D hradel ve třetí vrstvě pro výpočet fjj Aeik (1 < i < n, i < j,k < n) a (x{ ®y{) AeHj, resp. (x~®~y7)Afij a (a;; © t/j) A (a;i © j/8). Výsledný alternující obvod velikosti 0(n3) a hloubky 3 pro výpočet požadovaného součtu dostaneme pomocí komprese druhé a třetí vrstvy s hradly AN D podle (i) v lemmě 7.5. □ 7.1.2 Implementace booleovské funkce Alternující obvod s jedním výstupním hradlem (\Y\ = 1) budeme využívat k výpočtu obecné booleovské funkce / : {0, l}n —> {0, 1} s n proměnnými, které odpovídají vstupům obvodu. Ukážeme jednoduché pozorování, že pomocí alternujícího obvodu exponenciální velikosti a hloubky 2, tj. pomocí dvouvrstvé neuronové sítě s exponenciálním počtem neuronů (negace na vstupu lze dle lemmy 6.27 realizovat neurony v první vrstvě), můžeme již počítat každou booleovskou funkci. Věta 7.7 Každou booleovskou funkci f s n proměnnými lze počítat alternujícím obvodem ve likosti 2n_1 + 1 a hloubky 2. Důkaz: Alternující obvod, který počítá funkci / bude přímočarou realizací její efektivnější normální formy. Tj., pokud počet vstupů x G {0, l}n, pro které je /(x) = 1, je menší než počet těch, pro které je /(x) = 0, pak jako alternující obvod implementujeme disjunktivní normální formu. V tomto případě hradla v první vrstvě odpovídají méně než 2n_1 monomům (AND) a výstupní hradlo počítá OR. V opačném případě implementujeme konjun-ktivní normální formu a opět počet hradel v první vrstvě, které odpovídají klauzulím (OR), je menší nebo roven 2n_1 a navíc potřebujeme jedno výstupní hradlo AND. D Horní odhad velikosti obvodu ve větě 7.7 nelze pro alternující obvody hloubky 2 zlepšit. Věta 7.8 (Lupanov [180]) Každý alternující obvod C hloubky 2, který počítá funkci XOR(xi, . . ., xn), musí být velikosti aspoň 2n_1 + 1. 7.1. LOGICKÉ OBVODY 165 Dále ukážeme konstrukci alternujícího obvodu pro součet dvou přirozených čísel. Věta 7.6 (Wegener [282, 283]) Součet dvou n-bitových přirozených čísel lze počítat alternujícím obvodem velikosti 0(n2) a hloubky 4, resp. velikosti 0(n3) a hloubky 3. Důkaz: Budeme počítat součet z = x + y dvou přirozených čísel x,y G N. Označme x\ . . . xn, y\ . . . yn G {0, í}" a z\ . . . zn+i G {0, l}n+1 po řadě binární reprezentace čísel x, y a z. Nechť dále c8- G {0, 1} (i = 1, . . ., n) je i-tý přenosový bit ve výsledku Z{. Nejprve zkonstruujeme alternující obvod pro výpočet c\ . . . c„. Pro tento účel definujme booleovské funkce cji = X{ A yi (1 < i] < n), tj. cji = 1, právě když i-té bity sčítanců generují přenosový bit, a pi = X{ V yi (1 < i < n), tj. pi = 1, právě když i-té bity sčítanců předávají přenosový bit dál. Pomocí nich definujeme funkce fij = Pi A Pi+i A . . . A pj-i A g j 1 n, protože, kdyby s < n, pak by C(s,n) < 2°(n > podle (7.11), což je ve sporu s (7.12). Pro s > n ze vztahu (7.11) vyplývá C(s, n) < 2°02) a porovnáním s (7.12) dostaneme 2o02) > 22", tj. s = fi(2f). ü Techniku důkazu věty 7.9 lze použít pro podobný dolní odhad u klasických obvodů, který je znám již ze 40. let [236]. Avšak uvedený argument neposkytuje žádný příklad booleovské funkce, jejíž implementace by vyžadovala velký alternující obvod. Doposud se totiž např. nepodařilo najít booleovskou funkci, která by potřebovala k výpočtu své funkční hodnoty klasický obvod aspoň kvadratické velikosti. Na druhou stranu každou booleovskou funkci lze počítat alternujícím obvodem hloubky 3, jehož velikost se shoduje s uvedeným dolním odhadem ve větě 7.9. To znamená, že každou booleovskou funkci lze počítat třívrstvou neuronovou sítí s exponenciálním počtem neuronů, což je optimální velikost, pokud neurony mohou počítat pouze AN D nebo OR. Věta 7.10 (Redkin [233]) Každou booleovskou funkci f s n proměnnými lze počítat alternujícím obvodem velikosti 0(2~) a hloubky 3. Důkaz: Pro jednoduchost předpokládejme, že n je sudé. Pro lichá n je důkaz podobný [260]. Pro konstrukci alternujícího obvodu pro výpočet / použijeme standardní techniku rozděl a panuj. Funkci / rozepíšeme jako disjunkci 2~ funkcí h(bi, . . . ,bjk) : {0, l}n ----> {0, 1} s n proměnnými x\, . . ., xn: f(x1,...,xn) = \J h(b1,...,b^)(x1,...,xn). (7.13) (ii,...,i.j)e{o,i}í Funkce h(b\, . . ., bs.) se od sebe navzájem liší vektorem ^ parametrů (&!,..., &f) £ {0,1}*: h(bi,...,b*)(xi,...,x„) = /\(xí = bi) A 8 = 1 A /(&i,..., b^,x^+1,...,xn). (7.14) Nyní popíšeme alternující obvod hloubky 3, který počítá /. Ve třetí vrstvě je výstupní hradlo OR, které bude realizovat disjunkci (7.13). Druhá vrstva se skládá z 2~ hradel AND, která vyhodnocují všechny funkce h(b\, . . ., bs.) ((&i, . . .,bs.) G {0, 1}~) pomocí jejich konjunktivních normálních forem (viz důkaz věty 7.7). Za tímto účelem první vrstva obsahuje 2~ hradel OR, která odpovídají všem možným klauzulím nad ^ proměnnými x jl+i, . . ., xn ze vstupní vrstvy. Každé hradlo ve druhé vrstvě je pak spojeno jen s relevantními hradly z první vrstvy, tj. počítá konjunkci těch klauzulí, které se vyskytují v normální formě odpovídající funkce h(b\, . . ., &«.). Dále je každé hradlo 7.1. LOGICKÉ OBVODY 167 Důkaz: Nejprve předpokládejme, že hradla v první vrstvě alternujícího obvodu C počítají AN D a na výstupu je hradlo OR. Tedy pro každý vstup (&!,..., bn) £ {0, l}n takový, že XOR(bi, . . ., bn) = 1, existuje v první vrstvě hradlo AN D s výstupem 1. Toto hradlo závisí na všech vstupech Vi = {% k=l I'=1>"->"> (7-9) protože, kdyby např. nezáviselo na vstupu Vj pro nějaké 1 < j < n, pak by Jv O R( x i, . . ., Xj _i, 0 , Xj_i_i, . . ., xn J = XOR(xi,..., a?j _ i, 1 ,xj+i, ...,xn), (7.10) což je spor s definicí funkce XOR. Navíc víme, že počet vstupů (b\, . . . ,bn) G {0, l}n, pro které XOR(b1; ...,&„) = 1, je 2n~1, tedy počet hradel AND v první vrstvě musí být 2n_1, což spolu s výstupním hradlem určuje velikost 2n_1 + 1 alternujícího obvodu C. Případ, kdy hradla v první vrstvě alternujícího obvodu C počítají OR a na výstupu je AND, je analogický. Např. z uvedeného obvodu vytvoříme alternující obvod C stejné velikosti, který počítá XOR{x\, . . ., xn), tak, že podle de Morganových vzorců zaměníme všechna hradla AN D a OR a vstupy Xi & Xi (i = I, . . . ,n). Pro dolní odhad velikosti C aplikujeme stejný argument jako v předchozím případě. ü Dolní odhad velikosti alternujícího obvodu ve větě 7.8 platí jen pro hloubku obvodu 2. Následující věta zobecňuje tento odhad pro neomezenou hloubku. Věta 7.9 Existují booleovské funkce n proměnných, které pro výpočet funkční hodnoty vyžadují alternující obvod velikosti Í2(2~). Důkaz: Označme C(s, n) počet alternujících obvodů velikosti s, které mají n vstupů. Nejprve odhadneme C(s, n) shora. Počet orientovaných acyklických grafů na s vrcholech (tj. počet matic sousednosti minimálně s nulovou hlavní diagonálou) je menší než 2S _s. Počet různých připojení n vstupů k takovému orientovanému grafu s s vrcholy je 3ns, protože pro každý vstup i = 1, . . ., n a pro každý vrchol v grafu buď Xi, nebo Xi je spojen s v nebo s ním i-tý vstup není spojen. Počet různých voleb výstupu v tomto grafu je s a počet možných přiřazení funkcí AND nebo OR jeho vrcholům je 2S. Z toho dostáváme C(s, n) < 2s2-sTss2s = s2sVs . (7.11) Na druhou stranu chceme najít nejmenší s, aby počet alternujících obvodů s n vstupy velikosti s byl větší nebo roven počtu všech booleovských funkcí n proměnných, tj. C*(s,n)>22\ (7.12) 170 KAPITOLA 7. SLOŽITOST OBVODŮ že u alternujících obvodů lze oproti klasickým obvodům nepatrně redukovat hloubku. Navíc také zkonstruujeme klasický obvod pro součet celých čísel. Nejprve však zformulujeme jednoduchou lemmu o výpočtu asociativní operace pomocí klasických obvodů. Lemma 7.11 Nechť o : {0, l}2 ----> {0, 1} je asociativní binární operace, kterou lze počítat klasickým obvodem C velikosti s a hloubky d. Pak pro každé přirozené číslo n > 2 složenou n-ární operaci ii o i2 o • • • o i„ lze počítat pomocí klasického obvodu velikosti (n — í)s a hloubky d\logn\. Důkaz: Tvrzení ukážeme indukcí dle n. Pro n = 2 dostaneme přímo předpoklad lemmy. Obecně pro n > 2 aplikujeme opět princip rozdél a panuj. Složenou n-ární operaci o můžeme díky asociativitě rozložit: X\ o • • • o xn = (x\ O • • • O XyiL^) o (xpj+1 o • • • o xn) . (7.15) Uzávorkované členy na pravé straně rovnice (7.15) lze dle indukčního předpokladu počítat dvěma klasickými obvody C\ velikosti si = ([^J — l)s s hloubkou di = cřflog |_^-J~| a C2 velikosti s2 = ([§1 — l)s s hloubkou d'2 = cř[~log[~2.]]. Klasický obvod pro výpočet a^o- • -oxn získáme podle (7.15) spojením C\ a C2 s kopií obvodu C tak, že výstupy C\ a C2 jsou vstupem C, y V A A Obr. 7.5: Klasický (alternující) obvod pro výpočet funkcí XOR a XOR s hradly AN D v první vrstvě. 7.1. LOGICKÉ OBVODY 169 AND z druhé vrstvy reprezentující h(b\, . . ., &«.) navíc podle (7.14) spojeno se vstupy Xi pro 68- = 1 a s negacemi vstupů x~i pro &8- = 0 (1 < i < j). Tím je zajištěno konzistentní vyhodnocení funkční hodnoty / podle (7.13) a (7.14). Velikost popsaného alternujícího obvodu je 2Í+1 + 1 = 0(2Í). Příklad uvedené konstrukce pro XOR(xi, X'2, x3, x^) je na obrázku 7.4. Ü XOR(xl,x2,x3,rA) Obr. 7.4: Alternující obvod hloubky 3 pro XOR(xi, X'2, x3, x^). 7.1.3 Klasické obvody Jak jsme již v úvodu této podkapitoly konstatovali, v teorii booleovské složitosti se tradičně studují klasické obvody, které jsou speciálním případem logických obvodů (viz definici 7.3) a díky omezenému počtu vstupů u hradel jsou vhodné k hardwarové realizaci např. klasických počítačů. Na druhou stranu alternující obvody jsou kvůli velké hustotě propojení bližší modelům neuronových sítí. V tomto odstavci se pokusíme o jejich srovnání a uvidíme, 172 KAPITOLA 7. SLOŽITOST OBVODŮ kompresi dle (i) z lemmy 7.5 k redukci hloubky na [log n] + 1 a k zmenšení velikosti na An — 2. Po odečtení tří ušetřených hradel určených k výstupu negace má výsledný alternující obvod požadovanou velikost An — 5. □ Nyní ukážeme konstrukci, jak z obecného logického obvodu vytvořit ekvivalentní klasický obvod kvadratické velikosti a hloubky zvětšené o logaritmický faktor. Věta 7.13 Pro každý logický obvod s n vstupy, velikosti s a hloubky d existuje ekvivalentní klasický obvod velikosti s2 + sn a hloubky cř[log(s + n)~\. Důkaz: Každé hradlo AN D, resp. OR s k vstupy můžeme díky asociativitě konjunkce a disjunkce podle lemmy 7.11 nahradit klasickým podobvodem velikosti k — 1 a hloubky [log k~\. Zřejmě k < s + n, tedy velikost výsledného klasického obvodu je s(k — 1) < s2 + sn a jeho hloubka je cř[logfc] < d\log(s + n)]. D Na druhou stranu u klasického obvodu je možné redukovat hloubku, pokud uvolníme omezení na počet vstupů hradel. Věta 7.14 Pro každý klasický obvod velikosti s a hloubky d existuje ekvivalentní alternující obvod velikosti 22 s + s a hloubky [t-] + 1 pro libovolné přirozené číslo 6 G N. Důkaz: Daný klasický obvod rozdělíme horizontálně na \j~\ pásů hloubky 6. Booleovská funkce, kterou počítá hradlo na výstupu pásu, závisí nejvýše na 26 hradlech z předchozích pásů, protože u klasického obvodu je počet vstupů u každého hradla nejvýše 2. Normální formu této funkce 26 proměnných však můžeme realizovat pomocí alternujícího podobvodu hloubky 2 a velikosti 22 +1 (viz větu 7.7). Nahrazujeme postupně všechny pásy v obvodu pomocí těchto alternujících podobvodu tak, že střídáme implementace konjunktivní a disjunktivní normální formy, abychom mohli použít kompresi podle dle (i) v lemmě 7.5 k redukci hloubky na [|]+1. Tomu odpovídá velikost výsledného alternujícího obvodu 22 s + s. □ Ačkoliv se může nárůst velikosti u alternujícího obvodu ve větě 7.14 zdát nepřípustně velký, pro vhodné 6 dostaneme redukci hloubky v rámci polynomiální velikosti. Důsledek 7.15 (Chandra, Stockmeyer, Vishkin [131]) Pro každý klasický obvod velikosti s a hloubky d existuje ekvivalentní alternující obvod velikosti 2 v losss -\- s a hloubky \-,—:-----] + 1 pro libovolné přirozené číslo k £ N. Důkaz: Ve větě 7.14 položme 6 = [lo^s j. D 7.1. LOGICKÉ OBVODY 171 který počítá binární operaci o. Velikost výsledného obvodu je si + S2 + s = (n — í)s a jeho hloubka je ma^di.ďj) + d = ď2 + d = cř[log[2-] + log 2] = cř[logn]. Ü Příklad použití lemmy 7.11 je konstrukce klasického (resp. alternujícího) obvodu pro výpočet parity. Věta 7.12 Funkci XOR(xi, . . ., xn) (n > 2) lze počítat klasickým obvodem velikosti 6n — 9 a hloubky 2 [log n\, resp. alternujícím obvodem velikosti An —b a hloubky [log n] + 1. Důkaz: Na obrázku 7.5, resp. 7.6, je klasický obvod s 6 hradly hloubky 2, který počítá funkci y = XOR(xi, X'2) a její negaci y = XOR(xi, x2). Funkce XOR je asociativní, a tedy dle lemmy 7.11 paritu XOR(xi, . . .,xn) lze počítat klasickým obvodem velikosti 6(n — 1) a hloubky 2[logn~|. Navíc tento obvod počítá i negaci XOR(xi, . . .,xn), proto lze ušetřit odpovídající výstupní hradlo a dvě hradla s ním spojené. Tedy velikost výsledného klasického obvodu je 6n — 9. V případě alternujícího obvodu střídáme při konstrukci podle lemmy 7.11 obvod na obrázku 7.5 s obvodem na obrázku 7.6. Díky tomu můžeme využít y V A A Obr. 7.6: Klasický (alternující) obvod pro výpočet funkcí XOR a XOR s hradly OR v první vrstvě. 174 KAPITOLA 7. SLOŽITOST OBVODŮ C s 0(m + log n) vstupy, protože součet n m-bitových čísel lze reprezentovat pomocí 0(m + log n) bitů, což dle lemmy 7.16 odpovídá 0(m + logn) hradlům C. Z toho vyplývá, že velikost C\ je 0(n(m + logn)). Nakonec musíme ještě sečíst dvě čísla s reprezentací 0(m + log n) bitů na výstupu C\. Pro tento účel vytvoříme podle věty 7.6 alternující obvod C£ velikosti 0((m + log n)2) a hloubky 4, který převedeme na ekvivalentní klasický obvod Ci hloubky O(logn) pomocí metody z důkazu věty 7.13. Obvod C i má v tomto případě velikost 0((m + log n)3), protože každé z 0((m + log n)2) hradel AND ve druhé vrstvě obvodu C^1 může mít až 0(m + log n) vstupů. Výsledný klasický obvod hloubky O(logn) pro součet n m-bitových čísel vznikne spojením obvodů C\ a C i- Jestliže m = íž(logn), pak velikost C\ je 0(nm) a velikost C2 je 0(m ). Pokud naopak m = O(logn), pak velikost C\ je 0(n\ogn) a velikost C2 je 0(log n) = 0(n\ogn). Tedy velikost výsledného obvodu je 0(nm + m3 + n log n). □ Velikost obvodu ve větě 7.17 lze snížit na 0(nm + m2 log m + n log n), pokud za C2 v jejím důkazu vezmeme alternující obvod velikosti 0(n\ogn) a konstantní hloubky pro součet dvou n-bitových čísel popsaný v [259]. 7.1.4 Posloupnosti logických obvodů V předchozích odstavcích jsme se zabývali konečnými logickými obvody s n vstupy, které mohou realizovat booleovskou funkci n proměnných. Ty však vzhledem k pevnému počtu vstupů nelze považovat za obecné algoritmy, u nichž délka vstupu není předem omezená (např. vstupní páska Turin-gova stroje). Proto se uvažuje nekonečná posloupnost logických obvodů, kde každé délce vstupu odpovídá právě jeden logický obvod s příslušným počtem vstupů. Míry složitosti (velikost, hloubka) u tohoto výpočetního modelu jsou funkcí délky vstupu. Definice 7.18 Definujeme nekonečnou posloupnost logických obvodů C = (Co, C\, C2, ■ ■ ■), v níž logický obvod Cn = {Vn,Xn,Yn, En,ln) (n > 0) má \Xn\ = n vstupů. Velikost posloupnosti C je taková funkce S : N ----> N na přirozených číslech, že velikost logického obvodu Cn v této posloupnosti je pro každé n > 0 menší nebo rovna S(n). Podobné hloubka posloupnosti C je funkce D : N —> N, pro níž hloubka Cn je menší nebo rovna D(n) pro každé n > 0. Posloupnost logických obvodů budeme při studiu její složitosti podobně jako u Turingova stroje využívat k rozpoznávání jazyků nad binární abecedou {0, 1}, které odpovídají problémům daným množinou slov s kladnou odpovědí. Avšak tento výpočetní model nemá podle definice 7.18 obecně konečný popis, proto posloupnosti logických obvodů rozhodují již všechny 7.1. LOGICKÉ OBVODY 173 Z důsledku 7.15 vyplývá, že modely diskrétních acyklických neuronových sítí mající neomezený počet vstupů neuronů mohou v aktivním režimu za cenu nejvýše kvadratického nárůstu velikosti 2 Vlosss + s = 0(s2) urychlit (paralelní) čas výpočtu o faktor O(loglogn) oproti obvodům, které využívají klasické počítače. Ve větě 7.6 jsme ukázali konstrukci alternujícího obvodu polynomiální velikosti a konstantní hloubky pro součet dvou přirozených čísel. Tento výsledek zobecníme pro součet n celých čísel pomocí klasického obvodu polynomiální velikosti a logaritmické hloubky. Pro tento účel nejprve dokážeme následující lemmu: Lemma 7.16 Existuje klasický obvod velikosti 16n a hloubky Jh který pro vstup tří n-bitových přirozených čísel a. b, c vypočítá dvé přirozená čísla d, e taková, žea + b + c = d + e. Důkaz: Postupujeme podobně jako v důkazu věty 7.6. Zde di . . .dn+i G {0, l}n+1 jsou přenosové bity a e\ . . . e„ představuje výsledek součtu a + b + c bez těchto bitů. Tedy cřn+i = 0 a di = (üi V bi) A (bi V Ci) A (at V c,) l 0 s využitím jen logaritmického prostoru logický obvod Cn implementující funkci /„. Konfigurace polynomiálního výpočtu Turingova stroje M kódujeme pomocí vrstev obvodu Cn, které jsou spojeny (stejnými) logickými podob vody realizujícími přechodovou funkci M. Na druhou stranu výpočet L-uniformní posloupnosti obvodů pro daný vstup lze realizovat v polynomiálním čase, protože odpovídající Turingův stroj Mq pro konstrukci příslušného obvodu Cn pracuje v logaritmickém prostoru, tj. nejvýše v polynomiálním čase. □ Věta 7.20 ukazuje, že posloupnost logických obvodů, tj. posloupnost diskrétních acyklických neuronových sítí, lze považovat za univerzální výpočetní prostředek. V tomto modelu lze také přirozeně definovat třídu problémů (jazyků), které jsou „prakticky" řešitelné, tj. rozhodnutelné v polynomiálním čase. Dále se budeme zabývat _L-uniformními posloupnostmi logických (alternujících i klasických) obvodů s omezenou hloubkou. To je motivováno především praktickými potřebami, protože _L-uniformita implikuje polynomiální velikost obvodu, která je nutnou podmínkou při hardwarové realizaci obvodu. Navíc omezená hloubka obvodu, která odpovídá paralelnímu času výpočtu, zajišťuje efektivitu jeho výpočtu. Tomu také odpovídá neurofy-ziologická skutečnost, protože nervová soustava se skládá z několika vrstev neuronů a počet neuronů není neomezený. Za tímto účelem definujeme následující třídy složitosti. Definice 7.21 (Cook [48]) Označme NCk (k > í), resp. ACk (k > 0), třídu jazyků rozpoznatelných L-uniformní posloupností klasických, resp. alternujících, obvodů (polynomiální velikosti S(n) = 0(nc), kde c je konstanta) polylogaritmické hloubky D(n) = 0(log n). Dále definujeme tzv. Nickovu třídu NC (Nick's Class), resp. třídu AC: NC = (J NCk (7.18) k>i AC = (J ACk. (7.19) k>0 Nickovu třídu v definici 7.21 pojmenoval S. A. Cook podle Nicka Pippengera, který objevil vztah mezi NC a složitostí turingovských výpočtů [224]. Následující věta ukazuje vztah mezi uvedenými třídami složitosti a naznačuje možnou hierarchii těchto tříd, která je znázorněna na obrázku 7.7. 7.1. LOGICKÉ OBVODY 175 jazyky včetně nerekurzivních, tj. těch, které nejsou algoritmicky rozhodnutelné (např. Turingovým strojem). Z tohoto důvodu se navíc požaduje, aby posloupnost obvodů byla tzv. uniformní. Definice 7.19 Posloupnost logických obvodů C s jedním výstupem, tj. \Yn\ = 1 pro n > 0, rozpoznává jazyk L C {0,1}*, značíme L = L(G), jestliže pro každý vstup x £ {0, l}n výstup C„(x) = 1, právě kdyžx £ L. Dále řekneme, že posloupnost logických obvodů je uniformní, resp. _L-uniformní, jestliže existuje algoritmus (např. Turingův stroj), resp. algoritmus pracující v logaritmickém prostoru, který pro každé n > 0 zkonstruuje logický obvod Cn z této posloupnosti. Věta 7.20 (i) Pro každý jazyk L C {0, 1}* existuje (obecně neuniformní) posloupnost C logických obvodů exponenciální velikosti S(n) = 0(2") a konstantní hloubky D(n) = 0(1), která rozpoznává L = L(C). (ii) Jazyk L C {0, 1}* je rekurzivní, právě když existuje uniformní posloupnost C logických obvodů, která rozpoznává L = L(C). (iii) Jazyk L C {0, 1}* je algoritmicky rozhodnutelný (Turingovým strojem) v polynomiálním čase, tj. L G P, právě když existuje L-uniformní posloupnost C logických obvodů, která rozpoznává L = L(C). Důkaz: (i) Pro každou délku slova n > 0 uvažujeme booleovskou funkci fn : {0, l}n —> {0, 1} s n proměnnými takovou, že pro každé slovo x G {0, l}n délky n je /n(x) = 1, právě když x£í. Funkce fn (n > 0) lze dle věty 7.7 realizovat logickými obvody exponenciální velikosti a konstantní hloubky, které tvoří výslednou posloupnost rozpoznávající L. (ii) Nechť nejprve L je rekurzivní jazyk, tj. existuje Turingův stroj M, který rozhoduje L = L(M). Logický obvod Cn pro vstup délky n v posloupnosti C, která rozpoznává L = L(C), lze algoritmicky zkonstruovat tak, že podobně jako v důkazu (i) realizujeme funkci fn, jejíž hodnoty získáme výpočtem Turingova stroje M pro všechny vstupy délky n. Obráceně předpokládejme, že L = L(C) je rozpoznáván uniformní posloupností C alternujících obvodů. Tedy existuje Turingův stroj Mq, který pro každé n > 0 zkonstruuje logický obvod Cn z posloupnosti C. Algoritmický test, zda xéí, probíhá tak, že pomocí Mq je nejprve sestrojen obvod C|x|, kde |x| je délka slova x, a pak je podle definice 7.2 vypočten výstup C|x| pro vstup x, který je 1, právě když xéí. 178 KAPITOLA 7. SLOŽITOST OBVODŮ Vzhledem k tomu, že NC = AC (viz (iii) ve větě 7.22), podobné úvahy o efektivních paralelních obvodech lze přenést i na diskrétní acyklické neuronové sítě. Při studiu problému NC-P se také uvažují úplné problémy vzhledem k tzv. AC -redukci. Definice 7.23 Řekneme, že problém (jazyk) B C {0, 1}* je AC-redukovatel-ný na problém A C {0, 1}* a značíme B {0, 1}*, které lze počítat L-uniformní posloupností alternujících obvodů (polynomiální velikosti) polylogaritmické hloubky, takové, že pro každé x G {0, 1}* platí x G B, pravé když /(x) G A. Problém A je P-těžký, jestliže pro každý problém B G P platí B {0,1}* tak, že f(x\...xn) = (code(C„) ), kde code(C'n) G {0, 1}* je nějaký binární kód alternujícího obvodu Cn. Zobrazení / lze realizovat posloupností Cj alternujících obvodů konstantní hloubky 7.1. LOGICKÉ OBVODY 177 Obr. 7.7: Hierarchie tříd složitosti AC a NC. Věta 7.22 (i) Pro každé k > í platí mkluze NCk C ACk. (ii) Pro každé k>0 platí mkluze ACk C NCk+1. (iii) NC = AC. (iv) NC C P. Důkaz: (i) Klasický obvod je speciálním případem obecného logického obvodu, který lze podle věty 7.4 převést na ekvivalentní alternující obvod téměř stejné hloubky. (ii) Podle věty 7.13 můžeme z obecného logického obvodu Cn polynomiální velikosti S(n) a hloubky D(n) = 0(log n) vytvořit ekvivalentní klasický obvod C'n polynomiální velikosti 0(S2(n) + nS(n)) a hloubky 0(log n), která je zvětšená jen o logaritmický faktor [log(S,(n) + n)~\ = O(logn), protože S(n) je nejvýš polynom. (iii) Tvrzení je přímým důsledkem (i) a (ii). (iv) Tvrzení plyne z (iii) věty 7.20, v níž chybí omezení na hloubku. □ Platnost či neplatnost obrácené inkluze v tvrzení (iv) věty 7.22 je jedním z hlavních otevřených problémů paralelní teorie složitosti. Rovnost NC = P by znamenala, že každý prakticky řešitelný problém by se také dal pouze s polynomiálním hardwarem počítat v polylogaritmickém paralelním čase. Jinými slovy každý polynomiální algoritmus by bylo možné efektivně zpa-ralelnit. Všeobecně přijímaná hypotéza NC 7^ P tuto možnost vylučuje. 180 KAPITOLA 7. SLOŽITOST OBVODŮ Definice 7.29 Prahový obvod C = (V, X, Y, E, €) je obvod (viz definici 7.1), jehož třídu T hradlových funkcí tvoří obecně lineární prahové funkce. Pokud neuvedeme jinak, budeme vždy uvažovat jen booleovské prahové funkce. To znamená, že zobrazení £ přiřadí každému hradlu s k vstupy celočíselnou (obecně reálnou) reprezentaci (w1; . . ., w^; h) příslušné booleovské prahové funkce. V prahovém obvodu podobně jako u logického obvodu studujeme míry deskriptívni složitosti jako je velikost, hloubka a navíc maximální váha a váha obvodu. Na maximální váhu můžeme klást jistá omezení a získáme tak speciální podtřídy prahových obvodů. To odpovídá paměťové náročnosti při implementaci diskrétní acyklické neuronové sítě, kdy na reprezentaci každé váhy v síti máme jen omezený počet bitů. Definice 7.30 Maximální váha wmax v prahovém obvodu je hodnota největší váhy booleovské prahové funkce, kterou hradlo v obvodu počítá. Váha prahového obvodu \w\ je součet všech absolutních hodnot váhových parametrů v obvodu. Prahové obvody s jednotkovými váhami mají maximální váhu 1 a prahové obvody s malými váhami mají maximální váhu omezenou polynomem vzhledem k počtu vstupů obvodu, tj. na reprezentaci jedné váhy stačí O(logn) bitů. Je zřejmé, že 1 < wmax < \w\. Navíc pro obecný prahový obvod velikosti s se souvislou topologií platí, že s — í < \w\ < s2wmax. Podobně jako u alternujících obvodů (viz definici 7.3) budeme někdy předpokládat, že každý vstup X{ (i = 1, . . ., n) prahového obvodu je navíc sdružen s přidaným vstupem X{ odpovídajícím jeho negaci. To nám umožní omezit se na obvody s kladnými váhami pomocí analogie věty 7.4. Věta 7.31 Pro každý prahový obvod (s jednotkovými, resp. malými váhami) velikosti s, hloubky d a maximální váhy wmax existuje ekvivalentní prahový obvod (s jednotkovými, resp. malými váhami) velikosti 2s, hloubky d a maximální váhy wmax, který má jen kladné váhy. Důkaz: Pomocí (n) v lemmě 6.27 lze záporné váhy nahradit negací odpovídajících vstupů hradel a ty lze přesunout do vstupní vrstvy podobným způsobem jako v důkazu věty 7.4 s využitím (ni) z lemmy 6.27. □ 7.2.1 Implementace funkcí Pomocí prahových obvodů je možno efektivně počítat symetrickou booleovskou funkci, jejíž hodnota nezávisí na pořadí vstupů. Věta 7.32 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) Každou symetrickou booleovskou funkci f s n proměnnými lze počítat prahovým obvodem (s jednotkovými váhami) velikosti 2n + í a hloubky 2. 7.2. PRAKOVÉ OBVODY 179 tak, že konstantní výstupní hradla reprezentují kód Cn a zbylá hradla zkopírují vstup. Posloupnost Cj je díky _L-uniformitě posloupnosti C také L-uniformní. Navíc x £ B, právě když /(x) £ CVP, a tedy B 0), třídu jazyků rozpoznatelných L-uniformní posloupností alternujících obvodů (polynomiální velikosti S(n) = 0(nc), kde c je konstanta) konstantní hloubky D(n) = k. Zřejmě AC° = \J ACl (7.20) k>0 a AC[ Q AC\ C ACl Q ■ ■ ■ Je izv- hierarchie AC°. Je zřejmé, že ACl ^ AC\, protože ACl se skládá jen z konjunkcí, popř. jen disjunkcí vybraných vstupů nebo jejich negací. Podle věty 7.6 víme, že součet dvou n-bitových čísel lze realizovat pomocí alternujícího obvodu hloubky 3 a polynomiální velikosti. Na druhou stranu každý alternující obvod hloubky 2 vyžaduje pro výpočet (prvního bitu) takového součtu aspoň 2n_1 hradel [259], což lze ukázat pomocí podobného argumentu jako v důkazu věty 7.8. Z toho vyplývá, že AC\ ^ AC\. Ve skutečnosti třídy celé hierarchie AC° lze oddělit. Věta 7.27 (Sipser [257]) Pro každé k>0 platí nerovnost AC% g AC%+1. Podle věty 7.12 víme, že parita je v NC1, ale podle věty 7.8 není v AC\, což lze zobecnit pro AC°. Tento výsledek implikuje jedinou dosud známou separaci tříd v hierarchii na obrázku 7.7. Věta 7.28 (Fürst, Saxe, Sipser [70, 282]) XOR e NC1 \ AC0. 7.2 Prahové obvody V předchozí podkapitole jsme se zabývali logickými obvody, které lze chápat jako diskrétní acyklické neuronové sítě s funkcí neuronu omezenou jen na konjunkci a disjunkci, tj. na jednoduché booleovské prahové funkce (viz větu 6.26). V této podkapitole zobecníme tento výpočetní model tak, že hradla v tzv. prahovém obvodu budou počítat obecnou booleovskou prahovou funkci (viz podkapitolu 6.4). Tím dosáhneme věrnější model diskrétní acyklické neuronové sítě. 182 KAPITOLA 7. SLOŽITOST OBVODŮ právě když zvážená suma vstupů bude větší nebo rovna číslu, které má následující binární reprezentaci: c1c2...cp+1í £—0, . m+p + l — k Podobně druhé hradlo v tomto páru bude aktivní, právě když zvážená suma vstupů bude menší nebo rovna (tj. záporná zvážená suma větší nebo rovna) číslu s následující binární reprezentací: CiC2 ...Cp + il 1__J, • m-\-P-\-l — k Z toho vyplývá, že v první vrstvě je vždy aspoň 2P+1 hradel aktivních a to z každého páru aspoň jedno. Pokud navíc yk = 1 s přenosovými bity C\ . . .cp+i £ {0, 1}P+1, pak v odpovídajícím páru jsou obě hradla aktivní, tedy celkově v první vrstvě je právě 2P+1 + 1 hradel aktivních. Pro výpočet yk stačí spojit všechna hradla z první vrstvy s jedním výstupním hradlem ve druhé vrstvě, které je aktivní, právě když je aktivní aspoň 2P+1 + 1 hradel v první vrstvě, tj. má jednotkové váhy a práh 2P+1 + 1. Tedy máme prahový obvod pro výpočet yk velikosti 2P+2 +1 = O(n), hloubky 2 a maximální váhy ^m+p+i-k < 2m_1 pro k > p+ 2. Podobným způsobem lze sestrojit prahové obvody stejných parametrů pro výpočet t/i, . . ., yp+\. Výsledný prahový obvod pro součet n m-bitových čísel má velikost 0(nm + n log n), hloubku 2 a maximální váhu 2m_1. □ Analogii věty 7.33 lze dokázat i pro malé váhy za cenu nepatrného nárůstu velikosti a hloubky prahového obvodu. Věta 7.34 (Hofmeister, Hohberg, Köhling [117]) Součet n m-bitových celých čísel lze počítat prahovým obvodem velikosti 0(nm+m2 +nlogn), hloubky 5 a maximální váhy O(n). Důkaz: Požadovaný výsledek ukážeme pro přirozená čísla, zatímco důkaz pro celá čísla je podobný. Sčítance nejprve uspořádáme donx ra bitového pole, které rozdělíme na [m/[logn + 1J] bloků s n řádkami a [log n + 1J sloupci. Součet každého bloku, příp. zleva doplněný nulami, se skládá z 2[logn + lJ bitů, z nichž první polovina jsou přenosové bity a druhá polovina tvoří výsledek součtu bloku. Spojením přenosových, resp. součtových, bitů od všech těchto bloků dostaneme přenosové, resp. součtové, bity hledaného součtu. Součtem přenosových a součtových bitů získáme výsledný součet. Uvedený součet jednoho bloku lze podle věty 7.33 realizovat pomocí prahového obvodu velikosti 0(n log n), hloubky 2 a maximální váhy O(n). Tedy 7.2. PRAHOVÉ OBVODY 181 Důkaz: Hodnota symetrické booleovské funkce závisí jen na počtu proměnných s hodnotou 1. Uvažujme množinu Nf = {rii, . . ., nk} (0 < k = \Nf \ < n) všech takových počtů jednotkových vstupů, pro které hodnota /je 1, tj. 1 f(xi,...,xn) = 1 ^^2,xí = rí, 0 < rí < n \ . (7.21) i=i J První vrstva prahového obvodu pro výpočet / se skládá z k = \Nf\ párů hradel. V j-tém páru (j = 1, . . ., k) je první hradlo aktivní, tj. jeho výstup je 1, právě když Yľi—i xi — nj> a druhé hradlo je aktivní, právě když Yľi—i xi — rij, tj. Yľi—i ~xi — ~ni (resP- Yľi—i xi — n — nj)- Z toho vyplývá, že v první vrstvě je vždy aspoň k hradel aktivních a to z každého páru aspoň jedno. Pokud navíc f(xi, . . ., xn) = 1, tj. Yľi=i xi = nj Pro nějaké n j G N f, pak v j-tém páru jsou obě hradla aktivní, tedy celkově v první vrstvě je právě k + 1 hradel aktivních. Stačí tedy spojit všechna hradla v první vrstvě s jedním výstupním hradlem ve druhé vrstvě, které je aktivní, právě když je aktivní aspoň k + 1 hradel z první vrstvy, tj. má jednotkové váhy a práh k + 1. □ Velikost (obecného) prahového obvodu pro výpočet symetrické booleovské funkce ve větě 7.32 lze snížit na 0{\/n) [259], pokud uvažujeme hloubku 3, pro níž je tato velikost již téměř optimální (dolní odhad pro hloubku 3 je fi(ri2-£) pro£> 0 [258]). Podobnou technikou jako v důkazu věty 7.32 ukážeme analogii věty 7.17 o součtu čísel pro prahové obvody nejprve s neomezenými váhami. Díky tomu, že hradla počítají booleovskou prahovou funkci a mají neomezený počet vstupů, součet čísel lze realizovat s konstantní hloubkou obvodu. Věta 7.33 (Hofmeister, Hohberg, Köhling [117]) Součet n m-bitových přirozených čísel lze počítat prahovým obvodem hloubky 2, velikosti 0(nm + nlogn) a maximální váhy 2m_1. Důkaz: Označme xnXi2 ■ ■ ■ Xim G {0, l}m (i = 1, . . ., n) binární reprezentaci i-tého čísla na vstupu a yi . . .yp+iyp+2 ■ ■ -Vm+p+i £ {0, l}m+í'+1 binární reprezentaci výsledného součtu těchto čísel na výstupu, kde p = [log n\. Nejprve zkonstruujeme prahový obvod pro výpočet yy. pro k > p+2. Hodnota yk závisí na xiík_p_1xiík_p . . . xiym £ {0, i}™+p+2-£ pro i = 1, . . ., n, jejichž součet je c1...cp+1ykyk+1...ym+p+1 £ {0, i}™+2p+3-^ kde Cl...Cp+1 e {0, 1}P+1 jsou přenosové bity tohoto součtu. Každé hradlo z první vrstvy prahového obvodu bude spojeno s xíj pomocí váhy 2m_J pro 1 < i: < n, k—p—í < j < m. Pro každou možnou hodnotu přenosových bitů ci . . . cp+i G {0, 1}P+1 uvažujeme pár hradel. První hradlo v tomto páru bude aktivní, Nf 184 KAPITOLA 7. SLOŽITOST OBVODŮ Předchozí výsledky naznačují, že prahové obvody polynomiální velikosti a konstantní hloubky představují silný výpočetní prostředek. Následující věta, kterou uvedeme bez důkazu, ukazuje, že pomocí nich lze počítat analytické funkce, tj. např. odmocninu, sinus, kosinus, logaritmus atd. To ukazuje na velkou výpočetní sílu diskrétních vícevrstvých neuronových sítí s polynomiálním počtem neuronů a konstantním počtem vrstev, které odpovídají neurofyziologické skutečnosti. Věta 7.37 (Reif, Tate [234]) Necht analytická funkce má konvergentní rozvoj do Taylorovy řady f(x) = ^2n=0 cn(x — xo)n v intervalu \x — xo\ < s, kde 0 < £ < 1 a koeficienty cn = j°- G Q jsou racionální čísla, tj. an,bn G Z jsou celá čísla, a navíc \an\, \bn\ < 2" . Pak existuje algoritmus, který pro každé n > 0 zkonstruuje v polynomiálním čase prahový obvod s jednotkovými váhami polynomiální velikosti a konstantní hloubky, který pro binární reprezentaci x\ . . .xn G {0, l}n čísla x počítá funkční hodnotu f(x) s přesností 2~n pro libovolnou konstantu c > 1. Hradlo prahového obvodu s neomezenými váhami počítá booleovskou prahovou funkci. Pokud však uvažujeme malé, popř. jednotkové váhy, pak podle věty 6.38 nelze pomocí jednoho hradla s omezenými váhami realizovat všechny booleovské prahové funkce. Ty však lze počítat pomocí prahového obvodu s omezenými váhami polynomiální velikosti a konstantní hloubky. Věta 7.38 Booleovskou prahovou funkci f s n proměnnými lze počítat prahovým obvodem velikosti 0(n2 log n), s malými váhami a hloubkou 6, resp. s jednotkovými váhami a hloubkou 8. Důkaz: Nechť (w1; . . .wn; h) je reprezentace booleovské prahové funkce /. Podle lemmy 6.7 můžeme předpokládat, že h = 0, a z věty 6.30 vyplývá, že na reprezentaci jedné váhy Wi (i = 1, . . ., n) stačí O(nlogn) bitů. První vrstva prahového obvodu bude realizovat součiny konstantních bitů reprezentace váhy Wi s odpovídajícím binárním vstupem Xi G {0, 1} pro i = 1, . . ., n tak, že pro nulový bit reprezentace váhy zavedeme hradlo s konstantním nulovým výstupem a pro jednotkový bit reprezentace váhy Wi uvažujeme hradlo s výstupem Xi, které jen kopíruje vstup Xi, tj. je s ním spojeno jednotkovou váhou a má jednotkový práh. Tomu odpovídá 0(n2logn) hradel v první vrstvě prahového obvodu, jejichž výstupy představují n binárních reprezentací součinů WiXi pro i = 1, . . .,n, z nichž každá se skládá z O(nlogn) bitů. Pro součet těchto n 0(n logn)-bitových čísel využijeme prahový obvod velikosti 0(n2log n), hloubky 5 a maximální váhy O(n) z věty 7.34, resp. prahový obvod s jednotkovými váhami velikosti 0(n2 log n) a hloubky 7 z věty 7.36. Výstup prahového obvodu je realizován hradlem, které odpovídá znaménkovému bitu uvedeného součtu, protože ten pro h = 0 představuje 7.2. PRAHOVÉ OBVODY 183 pro součet 0(m/ log n) bloků je potřeba prahový obvod velikosti O(nm). Pro součet 0(m + logn) přenosových a součtových bitů použijeme alternující obvod z věty 7.6, tj. prahový obvod s jednotkovými váhami velikosti 0((m + logn)2) a hloubky 4. Spojením uvedených obvodů dostaneme prahový obvod velikosti 0(mn-\-(m-\-\ogn)2), hloubky 6 a maximální váhy 0(n). Jestliže m = O(logn), velikost obvodu je 0(n\ogn + log n) = 0(n\ogn), a pro m = íž(logn) ji lze vyjádřit 0(nm + m2). Tedy celkově má uvedený prahový obvod požadovanou velikost 0(nm + m2 + nlogn). Navíc z důkazu věty 7.33 víme, že zvážená suma prahových hradel ve druhé vrstvě je buď rovna prahu, neboje o 1 menší. Proto můžeme konjunkci gi (podobně disjunkci pi) z důkazu věty 7.6 počítat již ve druhé vrstvě jedním hradlem spojeným se vstupy obou operandů této konjunkce. Práh tohoto hradla je součtem prahů příslušných dvou hradel, které původně ve druhé vrstvě realizovaly operandy gi. Tím ušetříme třetí vrstvu a získáme výsledný prahový obvod hloubky 5. □ Jako důsledek věty 7.34 dostaneme efektivní prahový obvod s malými vahami pro násobení dvou čísel. Důsledek 7.35 Součin dvou n-bitových přirozených čísel lze počítat prahovým obvodem velikosti 0(n2), hloubky 6 a maximální váhy 0(n). Důkaz: Počítáme součin z dvou přirozených čísel x, y G N. Nechť yi, ■ ■ ■ ,y„ G {0, l}n je binární reprezentace čísla y. Tj. můžeme psát n n z = xy = x J2 Zn-lm = J2 T~l(X ■ Vi) ■ (7-22) 8=1 8=1 Součiny (x ■ t/j) v součtu (7.22) pro i = 1, . . ., n lze počítat jednou vrstvou 0(n2) hradel AND, tj. prahových hradel s jednotkovými váhami. Součet (7.22) n n-bitových čísel lze pak podle věty 7.34 realizovat pomocí prahového obvodu velikosti 0(n2), hloubky 5 a maximální váhy O(n). Tedy výsledný prahový obvod s malými váhami pro požadovaný součin má velikost 0(n2) a hloubku 6. □ Ještě bez důkazu uvedeme analogii věty 7.34 a důsledku 7.35 pro prahové obvody s jednotkovými váhami. Věta 7.36 (Parberry, Pippenger, Paterson [212, 213]) Součet n m-bitových celých čísel lze počítat prahovým obvodem s jednotkovými váhami velikosti 0(nm+m2 log log log n j loglogn + n log n) a hloubky 7. Součin dvou n-bitových přirozených čísel lze počítat prahovým obvodem s jednotkovými váhami velikosti 0(n ) a hloubky 8. 186 KAPITOLA 7. SLOŽITOST OBVODŮ 7.2.2 Analogové prahové obvody Doposud jsme se zabývali prahovými obvody, které odpovídají diskrétním neuronovým sítím. V tomto odstavci zobecníme tento model na tzv. analogové prahové obvody, jejichž hradla počítají spojitou funkci složenou z lineární a aktivační (přenosové) funkce. Ve shodě s aplikacemi modelů neuronových sítí můžeme uvažovat různé aktivační funkce. V této kapitole se např. omezíme na standardní sigmoidu (1.9), kterou využívá učící algoritmus backpropagation (viz podkapitolu 2.2). Ačkoliv hradla analogového prahového obvodu počítají reálné funkce, výstupy obvodu zůstávají binární, a proto je potřeba specifikovat, jakým způsobem je zaokrouhlíme. Definice 7.42 Analogový prahový obvod C = (V, X, Y, E, í) je obvod (viz definici 7.1), kde třída T hradlových funkcí obsahuje funkce složené z lineární a aktivační (přenosové) funkce. Přesněji zobrazení £ přiřadí každému hradlu j E V s k vstupy x\, . . ., Xk obecně reálné váhy a práh £(j) = (u>i, . . ., Wk', h) lineární funkce £j = ^J=1 W{X{ — h. Pokud neuvedeme jinak, omezíme se vždy na celočíselné hodnoty w1; . . ., uij., h £ Z. Každé nevýstupní hradlo s k vstupy pak počítá reálnou funkci k y = 0: J l Yn-i wixi >h + 6 [ ü .Lí'=i wixi < h-b . Zformulujeme bez důkazu větu, která ukazuje, že analogové prahové obvody konstantní velikosti a hloubky 2 počítají více booleovských funkcí než diskrétní prahové obvody stejných parametrů. To znamená, že analogová dvouvrstvá síť s malým konstantním počtem neuronů, která se obvykle používá v praxi, může být silnějším výpočetním prostředkem než její diskrétní verze. Věta 7.43 (Maass, Schnitger, Sontag [183]) Booleovskou funkci Fn : {0, l}2n —> {0, 1}, definovanou jako paritu dvou konsenzuálních funkcí: rn(xi, • • •, xn, ?/i,..., yn) = MAJORITY(xl,...,xn) e MAJORITY(yi,...,yn), (7.27) 7.2. PRAHOVÉ OBVODY 185 hodnotu booleovské prahové funkce /. Výsledný prahový obvod má tedy velikost 0(n2log n), hloubku 6 v případě malých vah, resp. hloubku 8 pro jednotkové váhy. Ü Dále budeme implementovat obecnou booleovskou funkci pomocí prahového obvodu. Podobně jako pro alternující obvody (viz větu 7.9) ukážeme nejprve dolní odhad velikosti prahového obvodu. Věta 7.39 (Siu, Roychowdhury, Kailath [259]) Existují booleovské funkce n proměnných, které pro výpočet funkční hodnoty vyžadují prahový obvod velikosti Í2(2~). Důkaz: Technika důkazu je stejná jako ve větě 7.9. Počet různých prahových funkcí s + n proměnných je dle věty 6.32 nejvýše 2(s+n+1) , a tedy počet možných přiřazení těchto funkcí s hradlům lze shora odhadnout 2s(s+n+1) . Potom horní odhad (7.11) pro počet C(s,n) obvodů velikosti s s n vstupy můžeme pro prahové obvody přepsat následujícím způsobem: C(s, n) < 2'2-'Tss2s(s+n+1^ = s2<>+n+i)2+s2-sT.s _ ^ 2^ Navíc podmínka (7.12) implikuje s > n. Tedy (7.23) lze upravit na C(s, n) < 2°(s ) a porovnáním se vztahem (7.12) dostaneme 2°0 ) > 22", tj. s = fi(2f). D Dolní odhad ve větě 7.39 lze vylepšit na íl(2~/^/n). Tvrzení zformulujeme bez důkazu obecně pro vektorovou booleovskou funkci. Věta 7.40 (Horne, Hush [126]) Existují vektorové booleovské funkce f : {0, l}n ----> {0, l}m s n proměnnými a m výstupy, které pro výpočet funkční hodnoty vyžadují prahový obvod velikosti fž(m2~/\/n — logm). Na druhou stranu podle věty 7.10 lze booleovskou funkci n proměnných počítat prahovým obvodem velikosti 0(2~) a hloubky 3, dokonce s jednotkovými váhami (viz větu 6.26), což je v případě jednotkových vah optimální velikost [126]. Následující věta, kterou zformulujeme bez důkazu, ukazuje, že uvedenou velikost prahového obvodu pro výpočet booleovské funkce lze pro neomezené váhy a hloubku 4 vylepšit tak, že je podle věty 7.40 také optimální. V práci [181] je popsána konstrukce prahového obvodu, která je optimální pro vektorové booleovské funkce. Věta 7.41 (Lupanov [180]) Booleovskou funkci n proměnných lze počítat prahovým obvodem velikosti 0(2~/\/n) a hloubky Jf. 188 KAPITOLA 7. SLOŽITOST OBVODŮ Obr. 7.8: Hierarchie tříd složitosti AC, NC a TC. Třídy složitosti TCk (k > 0) pro prahové obvody můžeme zařadit do hierarchie tříd složitosti pro alternující a klasické obvody. Obrázek 7.8 je rozšířením hierarchie těchto tříd z obrázku 7.7. Např. třídy TC = NC splývají, tedy pro TC můžeme uplatnit stejné výsledky jako pro NC (viz odstavec 7.1.4). Věta 7.46 (i) TC° ^ AC°. (ii) Pro každé k > 0 platí mkluze ACk C TCk. (iii) Pro každé k>0 platí mkluze TCk C NCk+1. (iv) NC = AC = TC. Důkaz: (i) Podle věty 7.32 je XOR e TC° a na druhou stranu XOR <£ AC° podle věty 7.27. Proto TC° ^ AC°. (ii) Alternující obvody jsou podle věty 6.26 speciálním případem prahových obvodů. 7.2. PRAHOVÉ OBVODY 187 lze počítat analogovým prahovým obvodem velikostí 5, hloubky 2 a maximální váhy 0(1), se separací £1(1 jn2) na výstupu. Na druhou stranu funkci Fn nelze počítat prahovým obvodem (s neomezenými váhami) konstantní velikosti a hloubky 2. Výsledek ve větě 7.43 lze zobecnit pro neomezenou hloubku [56]. Dolní odhad na velikost prahového obvodu, který počítá tzv. unární mocninu Fn(Xjy) = h (Eľ=i^')2>Eľ=iž/^e{o,i}n, ž/e{o,i}"2 (72g) 1 0 jinak, je íž(logn), zatímco pomocí analogového prahového obvodu ji lze počítat s £1(1) separací jen se dvěma hradly. 7.2.3 Třídy složitosti a jejich hierarchie Podobně jako v případě logických obvodů uvažujeme nekonečné posloupnosti prahových obvodů pro různé délky vstupu. Pomocí nich pak definujeme třídy složitosti pro prahové obvody. Definice 7.44 Označme UCk, resp. TCk, resp. WCk, (k > 0) třídu jazyků rozpoznatelných L-uniformní posloupností prahových obvodů (polynomiální velikosti S(n) = 0(nc), kde c je konstanta) polylogaritmické hloubky D(n) = 0(log n) s jednotkovými, resp. malými, resp. neomezenými, váhami. Dále definujeme třídy složitosti: UC = {J UCk (7.29) k>0 TC = (J TCk (7.30) k>0 WC = (J WCk. (7.31) k>0 Následující věta ukazuje, že tři typy tříd složitosti prahových obvodů v definici 7.44 podle velikosti vah ve skutečnosti splývají. Proto se dále můžeme omezit např. na prahové obvody s malými váhami. Věta 7.45 (Parberry, Schnitger [214]) Pro každé k > 0 platí rovnost UCk = TCk = WCk. Důkaz: Každé prahové hradlo s neomezenými váhami lze podle věty 7.38 nahradit prahovým podobvodem polynomiální velikosti a konstantní hloubky, s jednotkovými, resp. malými váhami. □ 190 KAPITOLA 7. SLOŽITOST OBVODŮ Věta 7.50 (Maass, Schnitger, Sontag [183]) Pro každé k > 1 nost TC°k(a) = TC°. Pokud navíc připustíme zvýšení hloubky prahového obvodu o konstantní faktor, pak ekvivalence mezi prahovými a analogovými obvody v rámci polynomiální velikosti platí i pro neomezené váhy a neomezenou hloubku [55]. V hierarchii TC° je první inkluze ostrá, tj. TC® C TC^- To odpovídá známému argumentu Minského a Paperta (viz podkapitolu 1.1), že jednovrstvá neuronová síť nemůže počítat složitější funkce. Méně známým faktem je novější a hlubší analogický výsledek pro dvouvrstve neuronové sítě, pomocí kterých nelze s polynomiálním počtem neuronů a s polynomiálními váhami (vzhledem k počtu vstupů) počítat některé funkce (např. booleovský skalární součin), které lze počítat třívrstvou neuronovou sítí s polynomiálním počtem neuronů a s polynomiální velikostí vah. To odpovídá separaci TC% 5 TC^, kterou v závěru této kapitoly dokážeme. Za tímto účelem zformulujeme nejprve několik pomocných vět. Věta 7.51 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) Definujme booleovský skalární součin jako funkci IP : {0, l}2n —> {0, 1}: n IP(xi,...,xn,yi,...,yn ) = 0(*i A Vi) (7.33) 8 = 1 a označme odpovídající jazyk IP = {(x,y) G {0, l}2n | IP(x, y) = 1, n > 1}. Pak IP £ TCl Důkaz: V první vrstvě prahové obvodu je n hradel počítajících konjunkci XiAyi pro i = 1, . . ., n. Další dvě vrstvy počítají jejich paritu podle věty 7.32. Tedy výsledný prahový obvod (s jednotkovými váhami) pro IP má velikost O(n) a hloubku 3. □ Definice 7.52 Necht A, B C {0, l}n jsou dvě disjunktní množiny, tj. A D B = 0. Množinu Q nazveme e-diskriminátorem A nad B, jestliže Q protíná větší procento A než B, tj. \A\ \B\ -£- {7M) Dále označme doplněk A = {0, l}n \ A. Řekneme, že množina Q je e-diskriminátorem A, jestliže je e-diskrimmátorem A nad A. Navíc necht C je prahový obvod s n vstupy a jedním výstupem, pak definujeme jazyk L(C) = {xe{o,i}n|C(x) = i}. 7.2. PRAHOVÉ OBVODY 189 (iii) Booleovskou prahovou funkci lze počítat pomocí klasického obvodu velikosti 0(n3log n) a hloubky O(logn), což lze ukázat stejným způsobem jako v důkazu věty 7.38, kdy pro součet n O (n logn)-bitových čísel použijeme klasický obvod z věty 7.17. Tedy každé hradlo v prahovém obvodu lze nahradit klasickým podobvodem polynomiální velikosti a logaritmické hloubky, čímž nám vzroste hloubka obvodu o logaritmický faktor. (iv) Tvrzení je přímým důsledkem (iii). □ V dalším výkladu se zaměříme na prahové obvody polynomiální velikosti a konstantní hloubky. Ty odpovídají věrně modelům vícevrstvých neuronových sítí, které při praktických aplikacích obvykle mají dvě až tři vrstvy s přiměřeným počtem neuronů. Nejprve opět zavedeme třídy složitosti, které vytváří možnou hierarchii prahových obvodů s konstantní hloubkou a uvedeme bez důkazu jejich vztah pro různé velikosti vah. Definice 7.47 Označme UCk, resp. TCk, resp. WCk, (k > 1), třídu jazyků rozpoznatelných L-uniformní posloupností prahových obvodů (polynomiální velikosti S(n) = 0(nc), kde c je konstanta) konstantní hloubky D(n) = k s jednotkovými, resp. malými, resp. neomezenými, váhami. Zřejmě TC° = (J TC°k = UC° = WC0 (7.32) k>i a TC[ C TC*20 C TCl C ... je tzv. hierarchie TC°. Věta 7.48 (i) (Goldmann, Hástad, Razborov [80]) Pro každé k > 1 platí inkluze WC°k C TC°k+1. (ii) Pro každé k > 1 platí inkluze TCk C UCk+1. Zavedeme také analogickou hierarchii tříd pro analogové prahové obvody. Definice 7.49 Označme TCk(u) (k > 1) třídu jazyků rozpoznatelných L-uniformní posloupností analogových prahových obvodů (polynomiální velikosti S(n) = 0(nc), kde c je konstanta) konstantní hloubky D(n) = k s malými váhami. Ačkoliv podle věty 7.43 jsou analogové prahové obvody silnějším výpočetním prostředkem než prahové obvody, následující věta, kterou uvedeme bez důkazu, ukazuje, že v rámci polynomiální velikosti obvodu mezi nimi není rozdílu dokonce při stejné hloubce. Příslušné hierarchie z definic 7.47 a 7.49 splývají. 192 KAPITOLA 7. SLOŽITOST OBVODŮ Věta 7.56 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) Každý prahový obvod hloubky 2 a váhy \w\, který -počítá IP : {O, l}2n —> {O, 1}, má velikost aspoň íl(2%/\w\2). Důkaz: Nechť C\ je prahový obvod velikosti s, hloubky 2 a váhy |u>|, který počítá IP n {0, 1} n. Podle (i) a (n) z lemmy 6.27 existuje prahový obvod C'2 velikosti s, hloubky 2 a váhy |u>|, který počítá IP a jehož výstupní hradlo má kladné váhy. Z něho dále vytvoříme ekvivalentní prahový obvod C, kde uvedené výstupní hradlo ve druhé vrstvě má jednotkové váhy. Jeho spoj s kladnou celou váhou v > 1 nahradíme v spoji s jednotkovými váhami, které vedou od v kopií odpovídajícího hradla, přidaných do první vrstvy. Prahový obvod C má pak velikost s|u>|. Výstupní hradlo v C je spojeno s m = 0(s|u>|) prahovými podobvody Cj (j = 1, . . ., m), resp. jednotlivými hradly Cj v první vrstvě obvodu C, která počítají booleovské prahové funkce. Podle lemmy 7.53 existuje 1 < k < m takové, že L(Ck) je 1/m-diskriminátor L(C) = IP n {0, l}2n. Nechť {w\, . . ., W2n, h) je příslušná celočíselná reprezentace Ck. Označme Xr Yr } X\ . ..xn e{o,i}n ^WiXi = r j> i=i J (7.40) 2/1 • ■ yne{o,i}n ^1%+iž/i > r \ i=i ) (7.41) pro celé číslo r G Z. Zřejmě platí M L{Ck) = U (Xp x Yh~p) p = -\w\ (7.42) Počítejme < < \L(Ck)C\L(C)\- L(Ck)C\L(C) < l»l ___ J2 \(xpxYh_p)nip\-\L(ck)niP\ p = -\w\ l»l ___ \L(ck)niP\- J2 \(xPxYh_p)niP\ p = -\w\ \w\ \w\ J2 \(xpxYh_p)niP\- J2 \(xP x Yh_p) nJp\ p = — \w I p = — \w I < (7.43) < (7-44) 7.2. PRAHOVÉ OBVODY 191 Lemma 7.53 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) Nechť C je prahový obvod s jedním výstupním hradlem, které je spojeno přes jednotkové váhy s m prahovými podobvody C\, . . ■, Cm. Pak existuje 1 < k < m takové, že L(Ck) je í/m-diskrimmátor L(C). Důkaz: Nechť C má n vstupů a jeho výstupní hradlo má práh h. Tedy pro každé x G L(C) aspoň h podobvodů Cj (1 < j < m) má pro x výstup 1, tj. x G L(Cj). Z toho vyplývá, že m X) |i(Ci) n i(C)| > A|i(C)|. (7.35) i=i Podobně, pro každé x G L(C) nejvýše h — 1 podobvodů Cj (1 < j < m) má pro x výstup 1, tj. x G L(Cj), a proto ££(1. (7.37) \L(C)\ \L(C)\ Podle (7.37) tedy musí existovat podobvod Ck (1 < k < m) takový, že \L(Ck)nL(C)\ L(Ck)nL(C) >l/m, (7.38) \HC)\ \L(C)\ tj. L(Ck) je 1/řTí-diskriminátor L(C). Lemma 7.54 (Lindsey [25]) Pro všechna X,Y C {0, l}n \\(X x Y)r\IP\- \(X x Y)nlP\\ < \/2n\X\ ■ \Y\. (7.39) Lemma 7.55 \lP C\ {0, l}2n| = 2n"1(2n - 1). Důkaz: Označme T(n) = \IP n {0, l}2n| a F(n) = \TP n {0, l}2n|. Zřejmě T(l) = 1 (IP(Í, 1) = 1) a F(í) = 3 (IP(Í, 0) = IP(0,1) = /P(0, 0) = 0). Obecně T(n) = 3T(n-l) + F(n-l) aF(n) = 3F(n-l)+T(n-l) pro n > 1, protože IP(Xi,l,yi,0) = /P(x', 0, y', 1) = /P(x', 0, y', 0) = IP(^,y') a n, 7_P(x', 1, y', 1) = 77J(x', y') pro x', y' G {0, l}""1. Dokážeme indukcí dle že T(n) = 2n"1(2n-l) a F(n) = 2n"1(2n + l). Víme, že T(l) = 1 a F(í) = 3. Nechť tedy tvrzení platí pro n — í (n > 1). Potom dle indukčního předpokladu T(n) = 3T(n - 1) + F(n - 1) = 3 • 2n"2(2n"1 - 1) + 2n"2(2n"1 + 1) = 2n"1(2n - 1) a podobně pro F(n). D 194 KAPITOLA 7. SLOŽITOST OBVODŮ Věta 7.56 implikuje podobnou separaci pro nepolynomiální váhy. Např. pro všechna 0 < s < 4 každý prahový obvod hloubky 2 a váhy 2£n, který počítá IP, má velikost aspoň íl(2^-^-). Další separace hierarchie TC není známa, ani zda dojde ke zhroucení této hierarchie v TC^ = TC°. Tento kolaps by znamenal, že třívrstvé neuronové sítě jsou v rámci polynomiálního počtu neuronů schopny již počítat vše, co lze realizovat pomocí vícevrstvých neuronových sítí s konstantním počtem vrstev. Uvažuje se i slabší hypotéza, že AC° C TC*3 [138], avšak je známo jen to, že každou funkci z AC° lze počítat prahovým obvodem hloubky 3 a velikosti nlogC" [5]. 7.2. PRAHOVÉ OBVODY 193 M __ < J2 \\(xPxYh_p)niP\-\(xpxYh_p)niP\\< p = -\w\ M __________ < J2 \J^n\XP\-\Yh.p\<(2\w\ + l)2^. (7.45) P = -\w\ V řádcích (7.43), (7.44) jsme za L(Ck) dosadili (7.42). V řádku (7.45) jsme aplikovali lemmu 7.54 a využili faktu, že \Xp\ < 2" a |Yft-p| < 2" pro — \w\ < p < \w\. Navíc L(C'k) je 1/m-diskriminátor L(C), tj. l/m < \L(Ck)C\L(C)\ L(Ck)nL(C) \L{C)\ a pomocí lemmy 7.55 obdržíme \L{C)\ (7.46) l/m < \L(Ck)nL(C)\ 2«-i(2" + 1) L(Ck)r\L(C) l(2n - 1) < < \L(Ck)C\L(C)\- L(Ck)C\L(C) )2n-l (7.47) Čitatel ve výrazu (7.47) je díky lemmě 7.53 kladný, a proto pomocí vztahu (7.45) dostáváme l/m < (2H + l)2^r 2|w| + l (7.48) 22n-l 2t"1 ' Z toho vyplývá, že 0(s|u>|) = m > 2~~ľ/(2\w\ + 1) = íl(2~/\w\). Tedy velikost prahového obvodu C\, který počítá 7_Pn{0, l}2n, je s = Í2(2'2/|w|2). ü Důsledek 7.57 TC[ C TC*2° C TC%. Důkaz: Funkci XOR (£ TC® nelze podle věty 6.26 počítat jednou vrstvou prahových hradel, ale můžeme ji podle věty 7.32 počítat pomocí prahového obvodu (s jednotkovými váhami) polynomiální velikosti a hloubky 2, tj. XOR e TC*20. Tedy TC^ <= TC?Ž. Podobně podle věty 7.51 je IP G TC3, ale na druhou stranu podle věty 7.56 každý prahový obvod hloubky 2 a polynomiální váhy nc (c je konstanta), který počítá IP, má velikost íl(2i/n2c) větší než polynomiální, tj. IP <£TC%. Tedy TC% g TC%. □ 196 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE Dále definujeme deskriptívni míry složitosti neuronové sítě. Počet neuronů s = \V\ v síti se nazývá velikost a součet absolutních hodnot všech vah \w\= J2 HhJ)\ (8-1) i, jev určuje váhu neuronové sítě N. Maximální váha wmax je v absolutní hodnotě největší váha v neuronové síti. Je zřejmé, že 1 < wmax < \w\ a navíc díky souvislosti topologie platí, že s — 1 < |id| < s2wmax. Následující definice formalizuje výpočet cyklické neuronové sítě, při kterém neurony počítají booleovské prahové funkce (viz podkapitolu 6.4), tj. reprezentují perceptrony. Definice 8.2 Necht N = (V, X, Y, A, w, h) je cyklická neuronová síť a označme X = {1, . . ., n} množinu n vstupních neuronů. Dále popíšeme výpočet N pro vstup x = (xi, . . . ,xn) G {0, l}n. Za tímto účelem definujeme binární stav y- ' G {0, 1} a celočíselný vnitřní potenciál f v £ Z neuronu j G V v diskrétním čase výpočtu t = 0,1,2,.... V počátečním čase 0 inicializujeme stavy vstupních neuronů na vstup sítě a zbylé neurony podle množiny iniciálně aktivních neuronů: [ xj j g x y(p=\ 1 jeA (8.2) [o jev\(xuA). V čase t > 0 je určen vnitřní potenciál každého neuronu podle stavů neuronů v síti: íj0 = E^Í°- (8-3) iev V čase t > 1 jsou pak aktualizovány stavy neuronů j G at z množiny at C V: *'={; $::;^ >-. a ostatní neurony svůj stav nemění, tj. y.'=y. ' pro j (jL at. Řekneme, že neuron j G V je v čase t aktivní, pokud y-' = 1, v opačném případě je pasivní. Podle volby at (t > 1) rozlišujeme režimy výpočtu N. Pokud volba at je deterministická a centrálně řízená, hovoříme o synchronním výpočtu. Naopak v případě náhodné distribuované aktualizace neuronů se jedná o asynchronní výpočet. Neuronová sít pracuje v sekvenčním režimu, jestliže \ctt\ < 1 pro všechna t > 1 a nachází se v paralelním režimu, pokud \ctt\ > 2 pro nějaké t > 1. Dále uvažujeme plně paralelní režim, kdy at = V pro Kapitola 8 Cyklické neuronové sítě 8.1 Formální model V této podkapitole budeme formalizovat výpočetní model diskrétní cyklické neuronové sítě (viz odstavec 1.3.2), který odpovídá jejímu aktivnímu režimu. Na rozdíl od prahových obvodů v kapitole 7, které modelovaly výpočet diskrétní acyklické neuronové sítě, připouštíme v topologii tohoto modelu existenci cyklu stejně jako u Hopfieldovy sítě (viz podkapitolu 3.2) nebo u Boltz-mannova stroje (viz podkapitolu 3.4). Tedy výpočet nemusí obecně skončit. Formální definice cyklické sítě a jejího výpočtu jsou podobně jako u obvodů (srovnejte s definicemi 7.1, 7.2) relativně nepřehledné, i když principy modelu jsou celkem jednoduché a přirozené. V některých důkazech se na ni budeme odvolávat, abychom upřesnili neformální postupy. Definice 8.1 Cyklická neuronová síť je šestice N = (V, X,Y, A,w, h), kde V je konečná množina neuronů, X C V je množina n = \X\ vstupních neuronů, Y C V je množina výstupních neuronů, AC V\X je množina ini-ciálně aktivních (nevstupních) neuronů, zobrazení w : V x V —> Z přiřazuje každé uspořádané dvojici neuronů (i,j) G V x V celočíselnou váhu w(i,j) = Wji G Z a zobrazení h : V----> Z určuje u každého neuronu j maxJÉy 'MJ2iev \wb>J)\ + IMÍ)D- Aktualizaci takto fixovaných neuronů budeme postupně uvolňovat v pořadí odpovídajícím systematickému synchronnímu výpočtu. Obr. 8.1: Synchronizace asynchronního výpočtu. Neurony Vj slouží k zachování správného pořadí aktualizace a jsou tedy v tomto pořadí zapojeny do cyklu, tj. w'(vj+i, Vj) = —1 pro j = í,..., s 8.1. FORMÁLNI MODEL 197 všechna t > í, produktivní výpočet, při kterém at obsahuje aspoň jeden nestabilní neuron, tj. pro všechna t > 1 existuje j G at takové, že y- ' ^ y- , výpočet s fixovanými vstupy, tj. at f~l X = 0 pro všechna t > 1, a systematický výpočet, kdy je po řade aktualizováno všech s = \V\ neuronů, tj. at = {j} pro j 0 (ts < t < (r + l)s). V předchozí definici se uvažuje obecně nekonečný výpočet, avšak smysluplné výpočty cyklické neuronové sítě končí a stavy výstupních neuronů určují jejich výsledek. Definice 8.3 Nechť N = (V, X, Y, A, w, h) je cyklická neuronová síť, u níž probíhá výpočet na vstup x G {0, 1}". Definujeme stav yj G {0, l}m podmnožiny J = {ji, . . ., jm) C V jejích neuronů v čase t > 0: yS° = (»J?.-••.!£!) (8-5) a označíme y(*) = y(y\ Produktivní výpočet N je ukončen (zastaví se, dosáhl stabilního stavu, konverguje^) v čase t* > 0, jestliže y1-* > = y1-* +c> pro všechna c > 1. Nejmenší takové t* se nazývá čas výpočtu a y-y je výstup N pro vstup x. Definice 8.4 Cyklická neuronová síť N2 je /(í)-ekvivalentní se sítí Ni, jestliže pro všechny vstupy x a každý výpočet Ni na x, který skončí v čase t, existuje výpočet N2 na vstup x, který skončí v čase f(t) se stejným výstupem. Neuronová síť N2 je ekvivalentní se sítí Ni, jestliže je s ní t-ekvivalentní. Asynchronní model neuronové sítě, v němž neurony aktualizují své stavy v náhodném pořadí, je výpočetně ekvivalentní se zdánlivě silnějšími modely pracujícími v systematickém sekvenčním či plně paralelním režimu. To nám umožní se v následujícím výkladu většinou omezit na synchronní výpočty. Věta 8.5 (Orponen [211]) Nechť N = (V, X.Y, A.w, h) je jednoduchá cyklická neuronová síť velikosti s, která v sekvenčním režimu realizuje synchronní systematické výpočty, jejichž ukončení je signalizováno aktivitou speciálního neuronu. Pak existuje asynchronní sekvenční neuronová síť N' = (V, X', Y', A', w', h') velikosti As + 1, která je (6t + 2)-ekvivalentní s N. Důkaz: Nechť očíslování neuronů V = {1, . . ., s} určuje pořadí aktualizace synchronního systematického sekvenčního výpočtu N. Každému neuronu z N budou odpovídat čtyři neurony v N', tj. V' = {pj, qj, Uj, Vj \j G V^jUJz}. Stavy neuronů pj budou během asynchronního výpočtu reprezentovat stavy původních neuronů j £ ľ a stavy neuronů qj jsou jejich negacemi. Podle 200 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SÍTÉ a h2(i) = 1 pro i G X. Zbylé váhy a prahy se nemění, tj. W2(i,j) = wi(i,j) a h2(j) = h1(j) pro i G V a j G V \ X. D Nyní ještě porovnáme výpočetní sílu konvergentních cyklických neuronových sítí a acyklických sítí (prahových obvodů). Standardní technika použitá při simulaci cyklické neuronové sítě pomocí prahového obvodu pochází od Savage [247]. Věta 8.7 (Goldschlager, Parberry [81, 215]) Pro každou cyklickou neuronovou sít N = (V, X, Y, A, w, h) velikosti s a váhy \w\, která se v plně paralelním režimu zastaví v čase t* pro všechny vstupy, existuje ekvivalentní prahový obvod C = (V, X', Y', E, í) velikosti st*, váhy \w\t* a hloubky t*. Důkaz: Prahový obvod C simuluje výpočet neuronové sítě N tak, že každému časovému kroku výpočtu N odpovídá jedna vrstva C, která se skládá z neuronů V. Stav neuronů sítě N v čase t je roven stavům neuronů v í-té vrstvě. Architektura N určuje spojení sousedních vrstev. Následuje formální popis konstrukce C. Označme X = {1, . . ., n). V = {{j,t)\jev,\2, h2) bez fixovaných vstupů tak, že upravíme váhy a prahy sítě N\. Zrušíme spoje vedoucí ke vstupům, které by mohly během výpočtu způsobit jejich změnu, tj. u>2(j, i) = 0 pro j G V, i G X a j ^ i. Dále přidáme zpětnou vazbu ke vstupním neuronům, která spolu s prahem fixuje stav vstupů, tj. w2(!, i) = 1 202 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE Problém splnitelnosti booleovské formule SAT (SATisfiability Problem): instance: Booleovská formule / v konjunktivní normální formě. otázka: Je / splnitelná, tj. existuje ohodnocení booleovských proměnných takové, že hodnota / je 1? Je všeobecně známo, že SAT je 7V_P-úplný problém [47]. Nechť tedy /je instance SAT. V polynomiálním čase zkonstruujeme odpovídající instanci N f problému SN N takovou, že /je splnitelná, právě když Nf má stabilní stav. Nejprve podle důkazu věty 7.7 vytvoříme prahový obvod C f lineární velikosti vzhledem k délce /, který ji vyhodnocuje. Obvod C f lze chápat jako neuronovou síť, když jeho vstupy odpovídající booleovským proměnným / budeme považovat za vstupní neurony, které navíc během výpočtu sítě fixujeme pomocí věty 8.6. V neuronové síti Nf výstupní neuron v obvodu C f ještě připojíme přes jednotkovou váhu w(v.c) = 1 k dalšímu neuronu c, který má nulový práh h(c) = 0 a zápornou jednotkovou zpětnou vazbu w(c,c) = —1. Z toho plyne, že c je stabilní (aktivní), právě když v je aktivní. Tedy N f je stabilní, právě když neuron v je aktivní, tj. existuje vstup, pro který výstup Cf je 1, a to je, právě když / je splnitelná. □ Důsledek 8.10 Problém SN N je N P-úplný, i když se omezíme na cyklické neuronové sítě s maximální váhou 1 a (i) buď počet vstupů každého neuronu je nejvýše 2 a všechny končící výpočty se zastaví v polynomiálním čase, (ii) nebo všechny končící výpočty se v plně paralelním režimu zastaví v konstantním čase. Důkaz: V důkazu věty 8.9 jsou při konstrukci Nf použity jen jednotkové váhy. (i) Navíc obvod C f je logický obvod, ke kterému existuje podle věty 7.13 ekvivalentní klasický obvod polynomiální velikosti, a všechny končící výpočty Nf mění stav každého neuronu nejvýše jednou. (ii) Obvod Cf má konstantní hloubku, která odpovídá paralelnímu času výpočtu Nf v plně paralelním režimu. □ Možná zajímavější otázka než existence stabilního stavu je problém, zda daná cyklická neuronová síť skončí svůj výpočet pro daný vstup. Avšak tento problém je ještě těžší. 8.2. ZASTAVENI CYKLICKÝCH SÍTI 201 v 2S různých stavech, její výpočet se po nějakém čase začne opakovat. Posloupnost různých stavů výpočtu, které se opakují, se nazývá cyklus. Stejný termín se používá pro grafový cyklus v topologii neuronové sítě, avšak z kontextu by mělo být snadné rozlišit, co máme v danou chvíli na mysli. Ukážeme příklad neuronové sítě, která se dostane do cyklu dané délky. Věta 8.8 Pro každé přirozené číslo s £ N existuje cyklická neuronová síť, která při libovolném režimu produktivního výpočtu vstoupí do cyklu délky 2s stavů. Důkaz: Definujme neuronovou síť N = (V, X,Y, A,w,h), jejíž architektura je cyklus délky s, tj. V = {í,..., s}, X = Y = A = 0, w(j,j + 1) = 1 pro 1 < j < s a w(s, 1) = —1, h(j) = 1 pro 1 < j < s a /í(1) = 0. Zřejmě neurony N jsou všechny na začátku pasivní, v čase 1 je aktivní neuron 1, který způsobí aktivitu neuronu 2 v čase 2 atd. V čase i jsou tedy aktivní neurony 1, . . ., i. Nakonec v čase s jsou všechny neurony aktivní. Dále výpočet pokračuje podobně tak, že neuron 1 je v čase s + 1 pasivní a způsobí pasivitu neuronu 2 v čase s + 2 atd. V čase s + i jsou tedy aktivní neurony i+ 1, . . ., s. Nakonec v čase 2s jsou všechny neurony pasivní a neuronová síť N se nachází v počátečním stavu, tedy výpočet se po 2s stavech opakuje. Vzhledem k tomu, že během popsaného výpočtu je vždy nestabilní právě jeden neuron, tvrzení platí pro libovolný režim produktivního výpočtu. □ Pro většinu praktických aplikací má smysl uvažovat jen výpočty, které končí ve stabilním stavu. Proto je užitečné se ptát, zda daná cyklická neuronová síť má stabilní stavy. Zformulujeme problém existence stabilního stavu neuronové sítě a ukážeme, že pravděpodobně (tj. pokud N P ^ P) neexistuje efektivní algoritmus pro jeho řešení. Problém stabilního stavu neuronové sítě SN N (Stable Configuration Problem in Neural Networks): instance: Cyklická neuronová síť N. otázka: Existuje stabilní stav N? Věta 8.9 (Alon [8], Godbeer, Lipscomb [77], Porat [229]) SN N je N P -úplný problém. Důkaz: Zřejmě SN N G N P, protože nedeterministický algoritmus v polynomiálním čase uhádne a ověří stabilní stav zadané neuronové sítě. Důkaz, že SN N je 7V_P-těžký problém, probíhá standardním postupem [72], tj. polynomiální redukcí známého 7V_P-úplného problému, v našem případě problému splnitelnosti booleovské formule SAT, na problém SNN. 204 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE metrické, tj. pro každé i, j G V platí w(i,j) = w(j,i) (při výpočtu váhy sítě uvažujeme váhu každého symetrického spoje jen jednou) a architekturu (V, E) tvoří neorientovaný graf. Dále N se nazývá semijednoduchá (zobecnění pojmu jednoduché sítě z definice 8.1), jestliže má jen nezáporné zpětné vazby, tj. pro každý neuron j G V platí w(j,j) > 0. Neuronová síť N je v normálním tvaru, jestliže reprezentace všech neuronů (tj. odpovídajících booleovských prahových funkcí) jsou rozhodující (viz definici 6.28) a mají nulový práh. V definice 8.12 je symetrická síť zavedena jako speciální případ cyklické neuronové sítě, která má podle definice 8.2 binární stavy neuronů z množiny {0, 1}, zatímco v popisu Hopfieldovy sítě v podkapitole 3.2 předpokládáme bipolární stavy neuronů z množiny { — 1, 1}. Poznámka k definici 6.24 však ukazuje, že oba přístupy jsou ekvivalentní. Navíc pro symetrické neuronové sítě platí analogie věty 8.5 o asynchronní simulaci synchronního výpočtu v sekvenčním režimu, kterou zformulujeme bez důkazu. Věta 8.13 (Orponen [211]) Nechť N = (V, N, Y, A, w, h) je jednoduchá Hopfieldova síť velikosti s, která v sekvenčním režimu realizuje synchronní systematické výpočty v čase t*. Pak existuje asynchronní sekvenční Hopfieldova síťN' = (V',N',Y',Ä,w',ti) velikosti 81ogť* + 6s + 81ogs+10, která je 38í-ekvivalentní s N. Také pro symetrické sítě lze ve větě 8.13 odstranit předpoklad o jednoduchosti sítě a využít konstrukci z důkazu věty 8.16 pro paralelní verzi této věty [211]. Věta 8.14 (Hopfield [122]) Každý produktivní sekvenční výpočet jednoduché Hopfieldovy sítě N v normálním tvaru velikosti s, s váhou \w\ a maximální váhou wmax, skončí v čase 1\w\ = 0(s2wmax) = 0(2S). Důkaz: Nechť N = (V, N, Y, A, w, h) je Hopfieldova síť a uvažujeme její produktivní sekvenční výpočet. Pro něj definujeme stabilitu ß(t) sítě N v čase t, jejíž hodnota s opačným znaménkem odpovídá energii Hopfieldovy sítě z odstavce 3.2.2: ß(t) = ß(y(t)) = \ E »N0 = \ E E^V • (s-10) jev jeviev Dále uvažujeme neuron v Q V a určíme jeho příspěvek ke stabilitě ß(t) v čase t, tj. členy součtu (8.10) pro j = v a i = v: ^E-^^ + lE^^^- (8-11) iev jev 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 203 Problém zastavení neuronové sítě H N N (Halting Problem in Neural Networks): instance: Cyklická neuronová síť N s n vstupy; vstup x G {0, l}n. otázka: Zastaví se N v plně paralelním režimu na vstup x? Věta 8.11 (Lepley, Miller [169]) HNN je P SP AC E-úplný problém. Důkaz: Zřejmě HNN G PSPACE, protože výpočet cyklické neuronové sítě pro daný vstup lze pomocí Turingova stroje simulovat v polynomiálním prostoru. Tvrzení, že HNN je PSPACE-těžký problém, dokážeme tak, že každý problém v PSPACE redukujeme na HNN v polynomiálním čase [72]. Nechť tedy A G PSPACE je problém řešitelný Turingovým strojem v polynomiálním prostoru. Potom také komplement A G co — PSPACE = PSPACE je řešitelný Turingovým strojem M v polynomiálním prostoru, tj. A = L(M), protože třída PSPACE je uzavřená na doplňky. Bez újmy na obecnosti předpokládejme, že M má jednu pásku omezenou polynomem p(n) vzhledem k délce vstupu n. Dále M se zastaví na všechny vstupy a v prvním bitu pásky píše 1, právě když přijímá vstup. Nechť x G {0, l}n je instance A, tj. vstup pro M. Zkonstruujeme v polynomiálním čase odpovídající cyklickou neuronovou síť Nx se vstupem x, která simuluje výpočet M nad x tak, že x G i, právě když Nx se zastaví na vstup x. Neuronová síť Nx se skládá z p(|x|) podsítí konstantní velikosti, jejichž stavy reprezentují konfiguraci M, tj. každá taková podsíť odpovídá jednomu bitu pásky, popř. kóduje polohu hlavy a stav M. Propojení těchto bloků implementuje lokálně přechodovou funkci M. Neurony odpovídající bitům pásky, na nichž je na začátku výpočtu M vstup x, jsou vstupní. Neuron v odpovídající prvnímu bitu pásky, jehož aktivita signalizuje x G A, je spojen s další podsítí, která vstoupí do cyklu, právě když neuron v je aktivní. Tedy x G A, právě když při výpočtu M nad x je v prvním bitu pásky 0, tj. při výpočtu 7VX nad x je neuron v pasivní a to je, právě když 7VX se zastaví na vstup x. Ü 8.3 Symetrické neuronové sítě Jedním z nejznámější modelů neuronových sítí je Hopfieldova síť (viz v podkapitolu 3.2), která se také díky symetrickým spojům často nazývá symetrická neuronová síť. Její popularita je způsobena faktem, že za určitých předpokladů se její sekvenční výpočet, na rozdíl od obecné cyklické sítě, zastaví pro každý vstup. V této podkapitole nejprve toto tvrzení i analogickou větu pro paralelní režim formálně dokážeme. Definice 8.12 Nechť N = (V,X,Y,A,w,h) je cyklická neuronová síť. Řekneme, že N je symetrická (Tíopfieldova^ síť, jestliže má všechny spoje sy- 206 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE a tedy stačí volit váhu wvv = 4|u>|. Výsledná ekvivalentní Hopfieldo-va síť N' = (V, X, Y, A', w', h') v normálním tvaru má pak váhu 2|w| + 4|w| + 4|w| = 10|w|. Dále důkaz probíhá podobně jako důkaz věty 8.14, avšak pro semijedno-duchou síť N' musíme nepatrně upravit definici stability (8.10): /3'w=E^'(ŕ))2 + ^E E ^ť)^ť)- («-i4) jev jev\{j] Opět lze ukázat, že příspěvek neuronu v G V ke stabilitě ß'(t) v čase t je yh Cv ■ Navíc při důkazu ß'(t) > ß'(t — 1) + 1 pro případ, kdy yv =0 pro nestabilní neuron v, platí, že £v = £v + wvv > £o , protože wvv > 0 díky semijednoduchosti sítě, a proto ß'(t) > ß'(t - 1) +^*_1) > ß'(t - 1) + 1. Z definice stability (8.14) pro N' s váhou 10|u>| je také zřejmé, že pro každé t > 1 je — 10|u>| < ß'(t) < 10|u>| omezená, a proto každý produktivní výpočet musí skončit v čase nejvýše 20|u>| = 0(s2wmax) = 0(2S). □ Předpoklady v důsledku 8.15 nelze již dále zeslabit. Příkladem nesemi-jednoduché symetrické sítě, která se nezastaví v sekvenčním režimu, je např. jeden neuron s nulovým prahem a se zápornou jednotkovou zpětnou vazbou. Naopak např. jednoduchá neuronová síť, která se skládá ze dvou neuronů s jednotkovými prahy, které jsou spojeny jednotkovou váhou, a v níž je právě jeden z těchto neuronů iniciálně aktivní, je příkladem sítě, která se nezastaví v plně paralelním režimu. Avšak pro plně paralelní režim výpočtu lze ukázat analogickou slabší větu, která tvrdí, že Hopfieldova síť (která nemusí být semijednoduchá) se může dostat do cyklu délky nejvýše 2. Věta 8.16 (Poljak, Sura [43, 228]) Každý plně paralelní výpočet Hop-fieldovy sítě N velikosti s, váhy \w\ a maximální váhy wmax, se v paralelním čase AQ\w\/s = 0(swmax) = 0(2S) buď zastaví, nebo bude případně střídat dva různé stavy. Důkaz: Nechť N = (V, X,Y, A,w,h) je Hopfieldova síť váhy |u>| pracující v plně paralelním režimu. Zkonstruujeme symetrickou neuronovou síť N' = (V1, X', Y', A', w', h'), která v sekvenčním systematickém výpočtu simuluje výpočet N. Architekturu sítě N' tvoří bipartitní graf se dvěma disjunktními množinami vrcholů V' = V\ U Ví {V\ C\Vi = 0), které jsou kopiemi V, tj. Ví = {(j, l)|;eV}ay2 = {(i, 2) | j e V}. Množiny vstupů X' = {(j, 1) | j G X} a iniciálně aktivních neuronů A' = {(j, 1) \ j E A} odpovídají příslušným neuronům ve V\, zatímco z hlediska konvergence sítě nás výstupy nezajímají, proto Y' = 0. Propojení neuronů mezi V\ a Vj je stejné jako propojení v rámci V a také prahy odpovídají: u/((i,l),(j,2)) = U/((j,2),(i,l)) = w(i,j) j,ieV (8.15) ti((j,l)) = ti((j,2)) = h(j) jev. 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 205 Výraz (8.11) lze díky symetrii a jednoduchosti N sečíst: ^^íž/f)ž/W = ž/Wď). (8.12) Tedy příspěvek neuronu v G V ke stabilitě ß(i) v čase t je yv 'Q, '. Nechť v čase t > 1 produktivního výpočtu je aktualizován nestabilní neuron v E V. Dokážeme, že se tím zvýší stabilita sítě aspoň o 1, tj. ß(t) > ß(t — 1) + 1. Nejprve uvažujme případ, kdy yv ' = 0, a tedy £,; ' > hv, resp. £i > 1 díky normálnímu tvaru N. Příspěvek neuronu v ke stabilitě ß(t — 1) v čase t — 1 je tedy 0. Avšak v čase t je yv = 1 a odpovídající příspěvek ke stabilitě je tedy ^ť) = ^ť_1). Proto ß{t) = ß(t - 1) + ^ť_1) > ß(t — 1) + 1. Obdobně pro případ, kdy yv ' = 1, a tedy £,; ' < hv, resp. £i, < — 1 díky normálnímu tvaru N. Příspěvek neuronu v ke stabilitě ß(t — 1) v čase t — 1 je tedy Q '. Avšak v čase t je yv ' = 0 a odpovídající příspěvek ke stabilitě je tedy 0. Proto ß(t) = ß(t - í) - ((vt~1) > ß(t-l) + l. Z definice stability (8.10) je zřejmé, že pro každé t > 1 je — |u>| < ß(t) < \w\ omezená. Z ß(t) > ß(t — l) + l pak vyplývá, že produktivní výpočet musí skončit v čase nejvýše 2|u>|, což lze dle poznámky k definici 8.1 shora odhadnout pomocí 0(s2wmax). Navíc dle věty 6.30 platí wmax < (s + 1) 2 /2s a z toho vyplývá 0(s2wmax) = 0(2S), což také odpovídá počtu všech různých stavů sítě N. □ Ve větě 8.14 lze předpoklad jednoduchosti sítě zeslabit a předpoklad o normálním tvaru sítě lze odstranit úplně za cenu lineárního nárůstu času. Důsledek 8.15 Každý produktivní sekvenční výpočet semijednoduché Hop-fieldovy sítě velikosti s, s váhou \w\ a maximální váhou wmaX) skončí v čase 20\w\ = O(s2wmax) = O(2s). Důkaz: Nejprve převedeme Hopfieldovu síť do normálního tvaru. Podle lemmy 6.29 lze reprezentaci každého neuronu sítě nahradit rozhodující reprezentací dvojnásobné váhy, a tedy vzniklá síť N = (V, X, Y, A, w, h) má váhu 2|u>|. Podobně jako v lemmě 6.7 upravíme síť tak, aby její prahy byly nulové. Za tímto účelem přidáme k síti další iniciálně aktivní neuron v s velkou zpětnou vazbou, která fixuje jeho aktivitu. Neuron v spojíme se všemi neurony j E V pomocí váhy WjV = —hj, která odpovídá příslušnému prahu s opačným znaménkem, a prahy všech neuronů v síti položíme rovny 0. Bez újmy na obecnosti můžeme dále předpokládat, že ^2ieV \wji\ > \hj\ pro každé j E V, protože v opačném případě by stav neuronu j byl konstantní. Z toho vyplývá, že největší možný vliv sítě na neuron v lze shora omezit E \hi I < E E K'l < 2(2H) = 4hl , (8.13) j g v jev i£V 208 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE přidávají čítačové neurony ck řádu k (3 < k < p), které reprezentují odpovídající bity čítače. Ke každému čítačovému neuronu ck přísluší dva řídící neurony uk, vk řádu k (3 < k < p), které slouží k inicializaci (čítačových i řídících) neuronů nižších řádů ve chvíli, kdy se aktivuje neuron ck. To znamená, že V = {c1; c2} U {ej,, «j,, vk | 3 < k < p} a velikost čítače bude tedy 3p - 4 = 0{p). Navíc položme X = Y = A = 0. čítačové neurony řídící neurony Obr. 8.2: Symetrický 3-bitový čítač. Každý čítačový neuron ck (3 < k < p) je spojen (symetrickými spoji) se všemi neurony nižšího řádu pomocí jednotkové váhy, tj. w(ck,Cj) = 1 pro j = 1, . . ., k — 1 a w(ck, Uj) = w(ck, Vj) = 1 pro j = 3, . . ., k — 1, a jeho práh odpovídá počtu těchto spojů, tj. h(ck) = 3(fc — 1) — 4 = 3k — 7. Také řídící neuron uk (3 < k < p) je spojen se všemi neurony nižšího řádu pomocí záporné váhy s dostatečně velkou absolutní hodnotou, která u každého takového neuronu vyruší všechny kladné váhy jejich vzájemných spojů, včetně spojů s čítačovým neuronem ck, tj. např. fc-i fc-i <){uk,Cj) = -J2\w(cj,Ci)\ -J2\w(cj,Ui)\ -J2\w(cj,Vi)\ (8.17) 8=3 8=3 pro j = í, ... ,k — í a fc-i fc-i w(uk,Uj) ^2\w{uj,Ci)\ -^2\w(uj,Ui)\ -^2\w(uj,Vi)\ (8.18) 8=3 8=3 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 207 Symetrická síť N' má váhu 2|u>|, protože každá váha v N odpovídá nejvýše dvěma stejným váhám v N'. Hopfieldova síť N' simuluje síť N následujícím způsobem. Na začátku jsou nastaveny vstupní a iniciálně aktivní neurony z V\. V průběhu výpočtu jsou nejprve systematicky aktualizovány neurony z V2 a pak neurony z V\ a potom opět neurony z V2 atd. Během sekvenčního výpočtu se tedy střídá aktualizace neuronů z V\ a Ví- Z definice N' je zřejmé, že ť>0. (8.16) Navíc N' je jednoduchá, protože případné nenulové zpětné vazby w(j,j) ^ 0 (Í G V) v # odpovídají v N' spojům s váhami w'((j, 1), (j, 2)) = w(j,j). Tedy dle důsledku 8.15 popsaná sekvenční simulace sítě TV (přesněji její produktivní verze) se zastaví v čase st* < 20(2|u>|) = 40|u>|. Kvůli jednoduchosti zápisu nechť např. í* je sudé. Potom dle (8.16) platí y^ ' = y^ ' = y^ ' (ť*+l) (s(i*+l)) (ť*+2ť+l) ni'- j ^ n t^ a yv = y^ = y^ pro paralelní cas t > 0. lo znamená, ze Hopfieldova síť N v plně paralelním režimu v čase t* = 40|w|/s = 0(swmax) (st*) (st*) vstoupí do cyklu délky 2, nebo se popř. zastaví, pokud y^ ; = y^ . Ü Ještě zformulujeme bez důkazu postačující podmínku, kdy Hopfieldova síť konverguje v plně paralelním režimu ke stabilnímu stavu. Věta 8.17 (Goles-Chacc, Fogelman-Soulié, Pellegrin [82]) Nechť N = (V, X, Y, A, w, h) je Hopfieldova síť velikosti s, s jednotkovými váhami, tj. pro každé j,i G V je Wjí £ { — 1,0, 1}, jejíž stabilita (viz (8.10)) je pozitivně definitní kvadratická forma, tj. pro každý nenulový stav y sítě N je ß(y) > 0- Potom každý výpočet Hopfieldovy sítě N v plně paralelním režimu konverguje ke stabilnímu stavu. Věty 8.14, 8.16 a důsledek 8.15 poskytují exponenciální horní odhad 0(2S) času výpočtu Hopfieldovy sítě velikosti s v sekvenčním nebo paralelním režimu, který odpovídá počtu všech různých stavů této sítě. Následující věta ukazuje pro plně paralelní režim výpočtu Hopfieldovy sítě, že v nejhorším případě nelze tento čas zlepšit. Věta 8.18 (Goles-Chacc, Olivos [84, 83]) Pro každé přirozené číslo p £ N existuje Hopfieldova síť velikosti O(p) a maximální váhy 2°(p>, která se zastaví v plně paralelním režimu v čase Í2(2P). Důkaz: Idea důkazu spočívá v konstrukci p-bitového čítače realizovaného pomocí symetrické neuronové sítě N = (V, X, Y, A, w, h), který postupně počítá od 0 do 2P. Na obrázku 8.2 je ve vyznačeném rámečku načrtnut základní 2-bitový čítač s čítačovými neurony c\ a C2- K němu se postupně 210 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE konstrukcí čítače, který navíc počítá ve všech možných pořadích aktualizace neuronů. Uvedené výsledky o exponenciálním času výpočtu Hopfieldovy sítě uvažují nejhorší případ. Avšak v praxi symetrická neuronová síť obvykle konverguje velmi rychle ke stabilnímu stavu. Dá se ukázat [161], že pokud Hopfieldova síť velikosti s vznikla adaptací podle Hebbova zákona (3.26) pomocí (s/4) Ins náhodných vzorů, pak tyto vzory jsou s velkou pravděpodobností obklopeny oblastmi atrakce (viz odstavec 3.2.2), které zahrnují i stavy sítě lišící se od těchto vzorů více než v 0.024s stavech neuronů. V uvedených oblastech atrakce pak konverguje Hopfieldova síť v čase O(loglogs) produktivního sekvenčního výpočtu ke stabilnímu stavu. V závěru této podkapitoly porovnáme ještě výpočetní sílu Hopfieldových sítí a obecných cyklických neuronových sítí. Je zřejmé, že Hopfieldovy sítě jsou obecně díky odlišným konvergenčním vlastnostem slabším výpočetním modelem. Proto se omezíme na neuronové sítě, které se zastaví pro každý vstup. Nejprve uvažujeme nejjednodušší příklad takového modelu, kterým jsou acyklické neuronové sítě, tj. prahové obvody. Věta 8.19 (Parberry [212], Wiedermann [289]) Pro každý prahový obvod C velikosti s, hloubky d a maximální váhy wmax, který má n vstupů, existuje ekvivalentní Hopfieldova sít velikosti s + n a maximální váhy (2wmaxs)d -\-1, která počítá stejnou funkci v plné paralelním režimu v čase d. Důkaz: Idea důkazu spočívá v tom, že u prahového obvodu C, který považujeme za speciální případ neuronové sítě (vstupy obvodu formálně chápeme jako vstupní neurony sítě, které podle věty 8.6 fixujeme), každou orientovanou hranu nahradíme neorientovanou (symetrickou) hranou. Navíc váhy na cestách směrem od vstupů k výstupům upravíme tak, aby šíření informace ve vzniklé Hopfieldově síti probíhalo stejně jako v původním prahovém obvodu C jen jedním směrem. Za tímto účelem nejprve podle lemmy 6.29 upravíme váhy v obvodu tak, aby reprezentace booleovských prahových funkcí u všech hradel byly rozhodující. Maximální váha obvodu je pak 2wmax. Dále váhy a prahy neuronů v j-té vrstvě obvodu vynásobíme (2wmaxs)d~:> > 0 pro j = 1, . . ., d. Podle věty 6.6 tak nezměníme funkci hradel. Navíc pro reprezentaci (u>i, . . ., wk; h) booleovské prahové funkce u hradla v j-té vrstvě (1 < j < d), které má k < s vstupů, platí k WiXi — h 8 = 1 pro každý vstup (x\, . . ., xk) G {0, í}k. Na druhou stranu součet absolutních hodnot vah spojů, které v obvodu vychází z tohoto hradla, je menší než 2wmaxs(2wmaxs)d~J_1 = (2wmaxs)d~3. Nyní nahradíme orientované hrany > (2wmaxs)d-i (8.22) E 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 209 k k-1 k-1 w{uk,Vj) = -^2\w(vj,Ci)\ -^2\w(vj,Ui)\ -^2\w(vj,Vi)\ (8.19) i = l z'=3 z'=3 pro j = 3, . . ., k — 1. Podobně řídící neuron Vk (3 < k < p) je spojen se všemi neurony nižšího řádu pomocí kladných vah, které jsou o 1 menší než absolutní hodnota vah u odpovídajících spojů s uk, tj. w(vk, Cj) = \w(uk, Cj)\ — 1 pro j = 1, . . .,k- 1, w(vk,Uj) = \w(uk,Uj)\ - 1 a w(vk,Vj) = \w(uk,Vj)\ - 1 pro j = 3, . . ., k — 1. Navíc čítačový neuron ck je spojen s řídícím neuronem uk tak, aby aktivace ck způsobila aktivaci uk, tj. k-1 k-1 k-1 w(ck,Uk) = 1 + Xľ \W(Uk,ci)\ + E \w(uk,Ui)\ + ^2 \w(uk,Vi)\ (8.20) i = l z'=3 z'=3 a h(uk) = 1. Podobně řídící neuron uk je spojen s řídícím neuronem vk tak, aby aktivace uk způsobila aktivaci vk, ale na druhou stranu, aby neurony nižšího řádu neovlivnily stav neuronu vk, tj. např. h(vk) = w(uk,vk) = k-1 k-1 k-1 = í + ^2\w(vk,Ci)\ + ^2\w(vk,Ui)\ + ^2\w(vk,Vi)\ . (8.21) z' = l z'=3 z'=3 Nyní je lehké nahlédnout, že základní 2-bitový čítač postupně počítá 3 kroky od 00 do 11, tj. čas jeho výpočtu je T(2) = 3. V obecném případě, když jsou aktivovány všechny (čítačové i řídící) neurony řádu menšího než k, tj. proběhl výpočet od 0 do 2fc_1, dochází k aktivaci čítačového neuronu ck, který v dalším kroku aktivuje řídící neuron uk. Ten v příštím kroku způsobí pasivitu všech neuronů řádu nižšího než k a aktivuje řídící neuron vk, který kompenzuje vliv uk na neurony nižších řádů a umožní tak (po přerušení trvajícím 3 kroky) jejich opětovný výpočet od 0 do 2fc_1. To znamená, že čas výpočtu čítače řádu fcje T(k) = 2T(k —1) + 3. Nakonec v p-bitovém čítači budou aktivní všechny neurony a Hopfieldova síť N se nachází ve stabilním stavu. Indukcí lze ukázat že celková doba výpočtu N je 2P -\-2P~1 — 3 = Í2(2P). Váha základního 2-bitového čítače je W{2) = 3. Pro k > 3 součet absolutních hodnot vah (8.17), (8.18), (8.19) spojů neuronu uk (podobně vk) s neurony nižšího řádu odpovídá řádově 0(W(k — 1)), kde W(k — 1) je váha (k — l)-bitového čítače. To znamená, že také w(ck, uk) = 0(W(k — 1)) podle (8.20) a w(uk,vk) = 0(W(k - 1)) podle (8.21). Tedy váha fc-bitového čítače je W(k) = 0(W(k - 1)) a výsledná váha N je W(p) = 2°^). Zřejmě maximální váha Hopfieldovy sítě N je 2°(p\ □ Exponenciální dolní odhad Í2(2P) času výpočtu Hopfieldovy sítě velikosti O(p) v sekvenčním režimu [92] lze ukázat podobně jako v důkazu věty 8.18 212 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE Každý další krok výpočtu N bude simulován pomocí 6 kroků Nu (oscilátor generuje posloupnost stavů 110011). Z uvedeného vyplývá požadovaný čas simulace. Pomocí oscilátoru vytvoříme hodiny, které mají dva synchronizační neurony a, b pro řízení výpočtu Njj. Neuron a během výpočtu generuje posloupnost stavů 0180(111110)s-1 a neuron b sekvenci 0810(000010)s_1. K převodu signálů oscilátoru na stavy neuronů a, b slouží symetrická podsíť Nt načrtnutá na obrázku 8.3, kde parametr W }e např. třikrát větší než celková váha N. Navíc váhy a prahy čítače je potřeba uzpůsobit tak (např. vynásobit 6W), aby neurony Nt díky symetrickým spojům nemohly zpětně ovlivnit jeho výpočet. 2W -2W Obr. 8.3: Synchronizační hodiny Nt. Na začátku jsou všechny neurony Nt pasivní. V prvním kroku je aktivován neuron a, který zůstává aktivní, dokud pomocný neuron p3 není aktivován. Ve druhém krokuje aktivován oscilátor c2, který v dalším kroku způsobí aktivaci pomocného neuronu pí. Po krátké dočasné stabilitě Nt proběhne další aktualizace až v šestém kroku, kdy je oscilátor pasivní, což v sedmém kroku umožní předání aktivace z pomocného neuronu pí na neuron p2- To způsobí aktivaci synchronizačního neuronu b v osmém kroku a další předání aktivity z neuronu p2 na neuron ps. Pasivita p2 a aktivita p% implikují pasivitu obou synchronizačních neuronů a, b y devátém kroku včetně pasivity všech pomocných neuronů pi,p2,P3- Tím se podsíť Nt dostane opět do počátečního stavu a její výpočet se opakuje s tím, že vzhledem k jinému stavu 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 211 obvodu neorientovanými spoji Hopfieldovy sítě. Ze vztahu (8.22) pak vyplývá, že spoje ve vzniklé Hopfieldově síti, které původně vystupovaly z prahových hradel, nemohou díky malým váhám ovlivnit booleovskou prahovou funkci odpovídajících neuronů, která závisí jen na spojích, které původně vstupovaly do těchto hradel. Nakonec fixujeme vstupní neurony pomocí zpětné vazby s váhou a prahem velikosti (2wmaxs)d + 1, což je maximální váha této sítě. Vlastní výpočet Hopfieldovy sítě potom v d krocích simuluje po vrstvách výpočet původního prahového obvodu C. □ Důsledek 8.20 Hopfieldovy sítě mají stejnou výpočetní sílu jako obecné cyklické neuronové sítě, které se zastaví pro každý vstup. Důkaz: Hopfieldovy sítě jsou speciálním případem obecných cyklických sítí. Na druhou stranu podle věty 8.7 ke každé cyklické síti, která se zastaví na každý vstup, existuje ekvivalentní prahový obvod a podle věty 8.19 k němu dále existuje ekvivalentní Hopfieldova síť. Ü Konstrukce Hopfieldovy sítě, která je ekvivalentní s obecnou konvergentní cyklickou neuronovou sítí, uvedená v důkazu důsledku 8.20, využívá přechod k ekvivalentnímu prahovému obvodu, který nemusí být efektivní. Např. velikost Hopfieldovy sítě závisí na délce výpočtu původní obecné neuronové sítě, která může být dle věty 8.18 (platí tím spíš pro obecné sítě) exponenciální. Proto v závěru této podkapitoly ukážeme analogickou přímou konstrukci, která zohledňuje deskriptívni složitost výsledné Hopfieldovy sítě. Věta 8.21 (Orponen [209]) Pro každou cyklickou neuronovou síť N velikosti s, která se v plně paralelním režimu zastaví pro každý vstup, existuje (6í + 3) -ekvivalentní Hopfieldova síť N h velikosti O (s2) pracující v plně paralelním režimu. Důkaz: Konstrukce ekvivalentní Hopfieldovy sítě Nh je založena na realizaci orientovaných spojů pomocí symetrických podsítí [94], jejichž činnost je synchronizována hodinami, které využívají Hopfieldova čítače z důkazu věty 8.18. Nejprve tedy upravíme tento čítač pro naše potřeby. Vzhledem k tomu, že daná obecná cyklická neuronová síť N vždy konverguje ke stabilnímu stavu, lze délku jejího výpočtu omezit počtem všech jejích možných stavů 2S — 1 (vyjma počátečního), protože jinak by se zacyklila. Ke zpomalení jejího výpočtu budeme využívat čítačový neuron C2 řádu 2 (viz důkaz věty 8.18) jako oscilátor, a proto k realizaci hodin pro celý její výpočet potřebujeme (s + l)-bitový čítač skládající se z O(s) neuronů, který počítá od 0 do 2S+1. Je snadné nahlédnout, že oscilátor C2 v průběhu výpočtu tohoto čítače generuje své stavy 0011110011(110011)s_1, kde prvních 9 kroků Nh (oscilátor generuje posloupnost stavů 0011110011 včetně počátečního stavu) slouží k realizaci prvního kroku N a k počáteční inicializaci hodin. 214 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE 8.4 Stabilní stavy Hopfieldovy sítě Podobně jako u obecných neuronových sítí (viz větu 8.9) se budeme zabývat problémem existence stabilních stavů v Hopfieldově síti. Při využití Hopfieldovy sítě jako asociativní paměti odpovídají některé stabilní stavy sítě naučeným tréninkovým vzorům (viz odstavec 3.2.2), a proto je otázka počtu stabilních stavů důležitá. Věty 8.14, 8.16 a 8.17 formulují velmi obecné předpoklady, za kterých má symetrická síť aspoň jeden stabilní stav. Analogie věty 8.9 pro nesemijednoduché Hopfieldovy sítě ukazuje, že problém existence stabilního stavu v obecné symetrické síti je 7V_P-úplný [64]. Také otázka počtu stabilních stavů v Hopfieldově síti je obecně těžký problém i pro síť s malými váhami. Problém dvou stabilních stavů Hopfieldovy sítě SHN (Two Stable Configurations Problem in Hopfield Networks): instance: Hopfieldova síť N s malými váhami. otázka: Existují aspoň dva různé stabilní stavy N? Věta 8.22 (Lipscomb [77]) SHN je N P-úplný problém. Důkaz: Díky poznámce k definici 8.12 můžeme v tomto důkazu u Hopfieldovy sítě předpokládat bipolární stavy neuronů z množiny { — 1, 1}. Zřejmě SHN G N P, protože nedeterministický algoritmus v polynomiálním čase uhádne a ověří dva stabilní stavy zadané Hopfieldovy sítě. Při důkazu, že SHN je 7V_P-těžký problém, redukujeme v polynomiálním čase 7V_P-úplný problém nezávislé množiny grafu IN DSET [146] na problém SHN. Problém nezávislé množiny grafu IN DSET (Graph INDependent SET Problem): instance: Neorientovaný graf G = (V, E); přirozené číslo k G N. otázka: Obsahuje G nezávislou množinu velikosti k, tj. množinu k vrcholů takovou, že žádné dva z nich nejsou spojené hranou? Nechť tedy (G = (V, E);k) je instance IN DSET. V polynomiálním čase zkonstruujeme odpovídající instanci Nq = (V', X, Y, A, w, h) problému SHN takovou, že G obsahuje nezávislou množinu velikosti k, právě když Nq má aspoň dva různé stabilní stavy. Neurony V' = V U V'j odpovídají vrcholům V a jejich neuspořádaným dvojicím V2 = {{i, j} \ i ^ j; i, j G V}. Dále formálně položme X = Y = A = 0. Nechť neorientovaný graf G má p = |V| vrcholů a označme da(j) = \{i G V \ {i,j} G E}\ počet hran spojených s vrcholem j G V (tj. stupeň vrcholu). Volme celá čísla a,ß,y,6 G Z tak, aby 0 < a < 2/3 (8.23) 8.3. SYMETRICKÉ NEURONOVÉ SÍTĚ 213 oscilátoru bude dočasná stabilita Nt během dalšího výpočtu kratší a celý cyklus hodin bude dále trvat jen 6 kroků. Nyní se již budeme zabývat vlastní simulací výpočtu neuronové sítě N. Každou orientovanou hranu (i, j) sítě N s váhou Wjí nahradíme v Njj cestou neuronů i, f jí, gji, j, kde neuron f ji je navíc spojen se synchronizačním neuronem a u hodin Nj< a neuron g ji se zpětnou vazbou je spojen s neuronem b. Váhy a prahy těchto spojů jsou vyznačeny na obrázku 8.4. Díky volbě W neurony f jí, g jí nemají na synchronizační neurony a, b vliv. 1 2|iüji| + l Obr. 8.4: Symetrická implementace orientovaného spoje s váhou Wjí. Simulace přenosu signálu z neuronu i do neuronu j trvá v obecném případě 6 kroků (na začátku díky inicializaci hodin 9 kroků) výpočtu Nh- Na začátku tohoto cyklu jsou neurony a, b, f jí, gji pasivní. V prvním kroku dojde k přesunu stavu m neuronu i do neuronu f jí a také se aktivizuje neuron a. V dalším kroku se přesune stav yi z neuronu f ji do neuronu gji a neuron f ji je díky aktivitě a pasivní. Další dva kroky se stavy synchronizačních neuronů a, b kvůli dočasné stabilitě Nj< nemění (tj. a je aktivní a & je pasivní), neuron f ji je pasivní a neuron gji díky zpětné vazbě uchovává stav y^. V pátém kroku cyklu je aktivován neuron b, který v posledním šestém kroku cyklu umožní aktualizaci neuronu j pomocí vstupu yi (původně z neuronu i) s váhou Wjí. Zároveň jsou neurony a, b, f jí, gji pasivní a celý cyklus se opakuje pro přesun nového signálu od neuronu i k neuronu j. Ke každé hraně (i,j) sítě N, kterých je nejvýše 0(s2), budou v Hopfieldově síti N h navíc 2 neurony f jí, gji, tedy výsledná velikost N h bude včetně hodin s čítačem nejvýše 0(s2). □ 216 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SITE j Ukážeme, že stavy y? = —1 pro j G V a t/:? = 1 pro j G V2 tvoří triviální stabilní stav y^, Hopfieldovy sítě NG. Nejprve uvažujme neuron j £ ľ a jeho stav y? = —1, který je stabilní, právě když vnitřní potenciál £? < h(j) je menší než práh, tj. podle (8.26) a (8.27) to znamená, že dG(j)(—ß)(—1)+ (p — 1)(—6)1 < —a + ßdG(j) + 6(p — 1). Po úpravě získáme nerovnost a < 2(p — 1)6, pro jejíž platnost podle (8.25) stačí, aby 2(p — k)6 + 1 < 2(p — 1)6, což je ekvivalentní s 1 < 2(k — 1)6 a to pro k > 2 platí, protože 1 < 2<5 podle (8.24). Na druhou stranu stav y? = 1 neuronu j G V2 je stabilní, právě když vnitřní potenciál £? > /í(j) je větší nebo roven prahu, tj. podle (8.26) a (8.27) to znamená, že 2(—6)(—1) > —7, což platí, protože podle (8.24) je 26 > 0 a -7 < 0. Dále nahlédneme, že stabilní neuron j G V2 je pasivní, právě když jsou jeho sousední neurony ii, i2 G V^ aktivní. Pro pasivní neurony ij, i2 je podle (8.24) vnitřní potenciál £j = 2(—6)(—l) > —7, což implikuje nestabilitu pasivního stavu neuronu j. Podobně, pokudje jeden z neuronů i1; i2 aktivní a druhý pasivní, pak podle (8.24) je vnitřní potenciál £j = (—<5)(—1) + (—<5)1 = 0 > —7 a pasivní neuron j je nestabilní. Konečně pro aktivní neurony i\, i2 je podle (8.24) vnitřní potenciál £j = 2(—6)1 < —7, což znamená stabilitu pasivního neuronu j. Nyní již předpokládejme nejprve, že Na má aspoň dva různé stabilní stavy. To znamená že existuje stabilní stav y-y, ^ y^, Hopfieldovy sítě Nq, který se liší od triviálního stabilního stavu, tj. ý* = 1 pro j £ ľ nebo ý* = — 1 pro j G V'2- Určitě existuje aktivní neuron v G V (tj. y* = 1), protože v opačném případě ý* = — 1 pro nějaký neuron j G V-? a ten je stabilní, právě když jeho sousední neurony i £ V jsou aktivní. Pro tento neuron v označme a = \{i G Ví I w(i, v)^0;yt = l}\ab=\{ieV\ w(i, v) ^ 0; yf = 1}| počty s ním spojených aktivních neuronů po řadě z V2 a z V. Víme, že vnitřní potenciál ^J > /í(i>) neuronu v je větší nebo roven jeho prahu, protože je aktivní, což lze psát jako b(-ß)l + (dG(v) - b)(-ß)(-l) + a(-6)l + (p-l- a)(-6)(-l) > > -a + ßdG(v) + 6(p - 1). (8.28) Po úpravě nerovnosti (8.28) obdržíme a > 2a6 + 2bß. Ze vztahu (8.24) je 2a6 > 0, a proto podle (8.23) z předchozího vyplývá, že b = 0. Tedy 8.4. STABILNÍ STAVY HOPFIELDOVY SÍTĚ 215 0 < 7 < 26 (8.24) 2(p-fc)<5< a <2(p-k)6+l, (8.25) tj. např. a = 2(p — k), ß = p — k + 1, j = 6 = 1. Potom definujeme následujícím způsobem malé váhy a prahy Hopfieldovy sítě NG: ( -ß {i,j}£E;i,j£V w(i,j) = w(j, i) = t -6 j = {i, u] (y*) v N menší než k? Věta 8.24 (Floréen, Orponen [65]) ARH N je N P-těžký problém. Dokonce se dá ukázat [65], že (za předpokladu P ^ N P) neexistuje polynomiální algoritmus, který aproximuje poloměr atrakce stabilního stavu Hopfieldovy sítě velikosti s s přesností s1_£ pro libovolné pevné 0 < s < 1. Hopfieldovy sítě se kromě asociativních pamětí využívají k heuristickému řešení těžkých optimalizačních úloh jako např. problém obchodního cestujícího (viz odstavec 3.3.2), který je 7V_P-úplný. Cílem výpočtu je minimalizace energetické funkce (3.29), která s opačným znaménkem odpovídá stabilitě Hopfieldovy sítě (8.10). Úspěch tohoto úsilí závisí podstatně na volbě počátečního stavu, který by měl ležet v oblasti atrakce stabilního stavu s co nejmenší energií, resp. největší stabilitou. Ukážeme však, že volba takového počátečního stavu je těžký problém. Problém minimalizace energie Hopfieldovy sítě MEHN (Minimum Energy Problem in Hopfield Networks): instance: Hopfieldova síť N; celé číslo k G Z. otázka: Existuje počáteční stav y(°) sítě N, ze kterého N konverguje ke stabilnímu stavu y(* ) s energií menší než k, tj. se stabilitou ß(y<-t ') > kl Věta 8.25 (Wiedermann [289]) MEHN je N P-úplný problém. Důkaz: Zřejmě MEHN G N P, protože nedeterministický algoritmus v polynomiálním čase uhádne stabilní stav zadané Hopfieldovy sítě a ověří, zda jeho stabilita je větší než dané k. Důkaz 7V_P-těžkosti MEHN probíhá podobně jako v důkazu věty 8.9 polynomiální redukcí instance / problému SAT na instanci (N; k) problému MEHN. K výstupnímu neuronu v příslušného obvodu C f je připojen neuron c, v tomto případě pomocí dostatečně velké 8.4. STABILNÍ STAVY HOPFIELDOVY SÍTĚ 217 dostáváme a > 2a6, což podle (8.25) implikuje a < p — k, protože a je celé číslo. Potom počet stabilních pasivních neuronů z Vj spojených s neuronem v G V lze zdola odhadnout p — 1 — a > p—í — (p — k) = k — 1. Ty mají aspoň k — í aktivních sousedních neuronů z V, což spolu s aktivním neuronem v G V činí aspoň k aktivních neuronů z V. Označme I C. V množinu těchto aktivních neuronů, tj. |7| > k. Tvrdíme, že 7 je nezávislá množina vrcholů grafu G. Nechť naopak existují dva vrcholy i, j G I, které jsou v G spojené hranou, tj. {i,j} G E. Víme, že odpovídající neurony i, j v Na jsou aktivní, tj. iŘ = yf = 1, a stabilní, což např. pro neuron j znamená, že jeho vnitřní potenciál rf > h(j). Vnitřní potenciál kromě příspěvků od pasivních neuronů z Ví a V obsahuje aspoň jeden příspěvek od aktivního neuronu ii G I C V, tedy po dosazení (p - l)(-í)(-l) + (dG(j) - !)(-/?)(-!)) + (-/?)1 > >-a + ßdG(j) + 6(p-l). (8.29) Po úpravě (8.29) dostáváme a > 2ß, což je ve sporu s (8.23). Tedy I je nezávislá množina grafu G velikosti aspoň k. Nechť naopak graf G obsahuje nezávislou množinu velikosti aspoň k a označme I C V takovou maximální nezávislou množinu G. Definujeme stabilní stav yy, ^ yv, Hopfieldovy sítě Ng, který se liší od triviálního stabilního stavu y^,: * _ í i i e i nebo i e y-2 \ {{*') «} \i,u£ I; i ^ u] ,g 3Q. J \ — 1 jinak. ^ ' ' Tedy Hopfieldova síť má aspoň dva stabilní stavy yv,, yy,. n V důkazu věty 8.22 měla Hopfieldova síť Na nekladné váhy, a proto tvrzení této věty platí i pro třídu symetrických sítí s nekladnými malými váhami. Pro Hopfieldovy sítě s nezápornými váhami je problém SHN _P-úplný (viz definici 7.23). Také se dá ukázat [64], že problém existence tří stabilních stavů v Hopfieldově síti s nulovými prahy (bez omezení na váhy) je 7V_P-úplný. Přestože určit počet stabilních stavů pro konkrétní danou symetrickou síť je v nejhorším případě těžké, existuje asymptotický odhad 1.05 x 2° 2874s pro počet stabilních stavů jednoduché Hopfieldovy sítě s nulovými prahy, jejíž váhy jsou nezávislé náhodné veličiny distribuované kolem nuly s Gaussovým rozdělením pravděpodobností [190, 269]. Další důležitou otázkou u Hopfieldových asociativních pamětí je velikost oblastí atrakce stabilního stavu (viz odstavec 3.2.2). Velikost těchto oblastí měříme pomocí tzv. poloměru atrakce. Definice 8.23 Nechť N = (V,X,Y,A,w,h) je Hopfieldova síť. Hammin-gova vzdálenost H(yy ,y'v) dvou stavů yy, y'v sítě N je počet různých stavů 220 KAPITOLA 8. CYKLICKÉ NEURONOVÉ SÍTÉ 8.4. stabilní stavy hopfieldovy šité 219 váhy w(v, c) = W s odpovídajícím prahem h (c) = W. Příslušnou Hopfieldo-vu síť Nf s váhou |u>| vytvoříme z tohoto obvodu pomocí věty 8.19. Potom / je splnitelná, právě když existuje počáteční stav sítě Nf, ze kterého síť konverguje ke stabilnímu stavu, v němž jsou oba neurony v a c aktivní, tj. stabilita tohoto stavu je díky volbě např. w(v, c) = W = k + \w\ + 1 větší než k. Ü 222 KAPITOLA 9. PRAVDĚPODOBNOSTNÍ NEURONOVÉ SITE pro vstup x, je aspoň í — e, a naopak pro každé x ^ L pravděpodobnost, že výstup obvodu Cp je aktivní pro vstup x, je nejvýše s. Pro pravděpodobnostní analýzu prahových obvodů budeme používat následující lemmu, kterou uvádíme bez důkazu. Lemma 9.2 Označme B [m, N, p) pravděpodobnost, že z N nezávislých náhodných Bernoulliho pokusu je nejméně m neúspěšných, když pravděpodobnost neúspěchu v jednom pokusu je p. (i) (Chernoff [136]) Je-li m > N p, pak , ÍNp\m fN-Np\N-m , s B(m,N,p)<^ (-7—f) . (9.1) (ii) (Angluin, Valiant [21]) Pro každé 0 < ß < 1 B(Np(í +ß),N,p) 2)=\ i + ^ Pro k sudé. (9-3) Rozpoznávání jazyka pomocí prahových obvodů s velkou pravděpodobností chyby, např. e = 0.4, není příliš spolehlivé, avšak opakováním výpočtu takového obvodu lze dosáhnout libovolně malé pravděpodobnosti chyby. Věta 9.3 Nechť 0 < A < s < \ jsou dvě libovolná reálná čísla. Potom každý jazyk L = L(Cp,s), e-rozpoznávaný pravděpodobnostním prahovým obvodem Cp hloubky d a velikosti s, lze X-rozpoznat pravděpodobnostním prahovým obvodem Cp hloubky d + 1 a velikosti 2 log A log(%(l - £)) 8 + 1, (9.4) tj.L = L(Cp',X). Důkaz: Pravděpodobnostní prahový obvod Cp se bude skládat z N kopií obvodu Cp, které mají stejný deterministický vstup a jejich výstupní hradla budou spojena s výstupním prahovým hradlem obvodu Cp , které Kapitola 9 Pravděpodobnostní neuronové sítě Je známo, že biologické neurony jsou relativně nespolehlivé výpočetní jednotky, např. ve srovnání s elektrickými prvky klasických obvodů. Přesto náš mozek je schopen celkem spolehlivě vykonávat velmi přesné činnosti. Tato kapitola se snaží naznačit příčiny tohoto jevu studiem (acyklických) pravděpodobnostních neuronových sítí. V následujících podkapitolách budeme uvažovat tři různé typy pravděpodobnostního chování. 9.1 Pravděpodobnostní prahové obvody Nejprve definujeme tzv. pravděpodobnostní prahové obvody, které se liší od deterministických prahových obvodů z podkapitoly 7.2 tak, že navíc mají náhodné vstupy, které jsou s danou různou pravděpodobností aktivní. Pravděpodobnostní prahové obvody s n deterministickými vstupy budeme také využívat k rozpoznávání jazyků L C {0, l}n binárních slov délky n. V tomto případě výstup obvodu s určitou pravděpodobností chyby signalizuje, zda deterministická část vstupu patří do příslušného jazyka. Definice 9.1 Řekneme, že obvod Cp = (V U Xp, X,Y, E,£p) je pravděpodobnostní prahový obvod, jestliže každé prahové hradlo » É ľ počítá booleovskou prahovou funkci s reprezentací £p(v) a každé tzv. náhodné vstupní hradlo xp G Xp, které se nachází ve vstupní vrstvě, je aktivní s pravděpodobností 0 < £p(xp) < 1. Řekneme, že pravděpodobnostní prahový obvod Cp s n = \X\ deterministickými vstupy a jedním výstupním hradlem e-rozpoznává jazyk L C {0, 1}" a značíme L = L(CP,e), kde 0 < e < -^, jestliže pro každé x G L pravděpodobnost, že výstup obvodu Cp je aktivní 991 224 KAPITOLA 9. PRAVDĚPODOBNOSTNÍ NEURONOVÉ SITE Důkaz: Pravděpodobnostní prahový obvod Cp je zkonstruován z obvodu Cp tak, že přidáme dvě nová náhodná vstupní hradla xp. xp2, která jsou aktivní s pravděpodobností po řadě pi = p a ±-a- 3 p^ = ^r~fí—• (9-8) í — p — a Zřejmě díky (9.7) platí 0 < pi,P2 < 1- Obě hradla x\, x\ připojíme k výstupnímu prahovému hradlu v obvodu Cp tak, aby výstup vzniklého obvodu Cpl byl aktivní, právě když xp je aktivní a současně v nebo xv2 je aktivní. Bez újmy na obecnosti předpokládáme |/i(i>)| < \w\, protože v opačném případě by hradlo v realizovalo konstantní funkci. Potom můžeme definovat odpovídající váhy nových spojů w(xp, v) = 2|u>|, w(xp2, v) = |u>| a práh výstupního hradla v obvodu Cpl navíc zvýšíme na h (v) + 2\w\. Tím zajistíme uvedenou funkci obvodu a Cp má požadovanou velikost s + 2, váhu 4|u>| a hloubku d. Nyní tedy výstup obvodu Cp je aktivní, právě když x\ je aktivní a zároveň výstup Cp nebo x2 je aktivní. Tedy pro x£i bude díky nezávislosti aktivity x\ a podle principu inkluze a exkluze výstup Cp aktivní s pravděpodobností aspoň Pi(P2 + ß-P2ß)=1-^^-a). (9.9) Podobně pro x ^ L bude výstup Cpl aktivní s pravděpodobností nejvýše l — a — p(0 —a) , „ . Pi(P2 + a - p2a) = ----2 _ P_ a ' . (9.10) Položme í — a — p(ß — a) 6 ~ 2-ß-a ' Opět díky (9.7) platí 0 < s < \, protože zp> | plyne e < \ (9.11) 1 1 — a , P< -------7,<-a------ (9.12) a+ß ß-a v ' implikuje e > 0. Nakonec podle (9.9) a (9.10) pravděpodobnostní prahový obvod Cp (e, 1 — e)-separuje L, tj. obvod Cp e-rozpoznává L. □ Dále ukážeme, že pravděpodobnostní výpočet prahového obvodu lze nahradit deterministickým za cenu zvýšení velikosti a hloubky obvodu. Věta 9.6 (Parberry, Schnitger [215]) Pro každé ^ < s < \ každý jazyk L = L(Cp,e) C {0, l}n e-rozpoznávaný pravděpodobnostním prahovým obvodem velikosti s a hloubky d lze rozpoznat prahovým obvodem C velikosti 9.1. PRAVDĚPODOBNOSTNÍ PRAHOVÉ OBVODY 223 bude podle věty 6.26 počítat konsenzuální funkci M A JO RITY. Je zřejmé, že výpočet obvodu Cp pro daný deterministický vstup proběhne ./V-krát a výstupní hradlo obvodu Cpl bude aktivní, právě když aspoň N/2 těchto výpočtů skončí s výstupem 1. Využijeme (i) z lemmy 9.2 tak, že za neúspěšný pokus považujeme chybný výpočet jedné z N kopií obvodu Cp v obvodu Cpl, který nastane s pravděpodobností p = s. Potom podle (9.1) pravděpodobnost B(N/2, N, e), že aspoň N/2 těchto výpočtů je chybných, lze shora odhadnout následujícím způsobem: í N \ N BÍ^-,N,sj <(4£(l-£))- . (9.5) Tedy podle (9.5) volíme N tak, aby (4e(l -e))N/2 < A, tj. pomocí 0 < s < i dostáváme: #>, ^°fA „, (9.6) - log(4e(l - e)) což zajistí to, že pravděpodobnostní prahový obvod Cp A-rozpoznává stejný jazyk L = L(CP , A) jako obvod Cp. Navíc Cp má zřejmě hloubku d + 1 a velikost TVs+ 1. □ Také je možné uvažovat následující obecnější definici rozpoznávání jazyka pomocí pravděpodobnostního prahového obvodu, kde pravděpodobnost správného přijetí a zamítnutí vstupního slova není obecně symetrická. Definice 9.4 Řekneme, že pravděpodobnostní prahový obvod Cp s n deterministickými vstupy a jedním výstupním hradlem (a, /3)-separuje jazyk L Q {0, l}n a značíme L = L(CP, a, ß), kde 0 < a < ß < 1, jestliže pro každé xé£ pravděpodobnost, že výstup obvodu Cp je aktivní pro vstup x, je aspoň ß, a naopak pro každé x ^ L pravděpodobnost, že výstup obvodu Cp je aktivní pro vstup x, je nejvýše a. Zřejmě pravděpodobnostní prahový obvod e-rozpoznává jazyk L, právě když ho (e, 1 — e)-separuje. Platí i opak, totiž že každý separovaný jazyk lze také rozpoznat za cenu nepatrného zvýšení velikosti a váhy pravděpodobnostního prahového obvodu. Věta 9.5 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) Pro každý jazyk L = L(Cp,a,ß) C {0, l}n (et, ß)-separovaný (0 < a < ß < í) pravděpodobnostním prahovým obvodem Cp velikosti s, váhy \w\ a hloubky d existuje pravděpodobnostní prahový obvod Cpl velikosti s + 2, váhy 4\w\ a hloubky d, který (í — a — p(ß — a))/(2 — ß — a)-rozpoznává L pro každé p splňující \ 0) má \Xn\ = n deterministických vstupů a jeden výstup, tj. \Yn\ = 1. Řekneme, že posloupnost Cp e(n)-rozpoznává jazyk L C {0, 1}*, a značíme L = L(CP, s(n)), kde s : N —> (0, -j) je reálná posloupnost, jestliže obvod Cp e(n)-rozpoznává jazyk L n {0, l}n pro každé n > 0. Definujeme RTCfc (k > 1^ ťnrf« jazyků L C {0, 1}* e(n)-rozpoznatelných L-uniformní posloupností pravděpodobnostních prahových obvodů (polynomiální velikosti S(n) = rí0^1)^ konstantní hloubky D(n) = k s malými váhami a chybou ^) = \-^ky (9-17) Nakonec definujeme třídu složitosti RTC° = (J RTC°k. (9.18) k>0 Ukážeme, že pravděpodobnostní prahové obvody počítají např. booleovský skalární součin (viz větu 7.51) s menší hloubkou než deterministické prahové obvody. Věta 9.8 (Hajnal, Maass, Pudlák, Szegedy, Turán [91]) IP e RTC?Ž . Důkaz: Konstruujeme pravděpodobnostní prahový obvod Cp, který má v nulté vrstvě n náhodných vstupních hradel xp, . . ., xpn, které jsou s pravděpodobností i aktivní, a 2n deterministických vstupů Xi, . . . ,xn, y\, ■ ■ ■ ,yn spolu s jejich negacemi X\, . . ., xn, ýi, . . . ,ýn, které lze příp. podle (n) z lem-my 6.27 odstranit. První vrstva se skládá z 2n prahových hradel m1; . . ., un, i>i, . . ., vn, kde podle věty 6.26 Ui (1 < i < n) počítá konjunkci Xi A yi A xP a ví (1 < i < n) počítá disjunkci XiWyiW xp. Všechna hradla v první vrstvě jsou připojena pomocí jednotkových vah w(uí,v) = w(ví,v) = 1 k výstupnímu prahovému hradlu v s prahem h(v) = n. Pro daný vstup obvodu Cp označme k = |7|, kde I = {i G {1, ...,n) \ Xi = yi = 1}, počet odpovídajících shodných jednotkových deterministických vstupů. Cílem výpočtu obvodu je pak určit paritu k. Pro všechna i G 7 9.1. PRAVDĚPODOBNOSTNÍ PRAHOVÉ OBVODY 225 "(ľS^ + 1lnS + 1 (9-13) a hloubky d+í, tj. L = L(C). Důkaz: Nechť Cp má n deterministických vstupů a np náhodných vstupních hradel x\, ...,xpn , z nichž xP (1 < i < np) je aktivní s pravděpodobností Pi = £p(xP). Pro r = (ri,...,rn ) G {0, l}np označme C(r) prahový obvod, který vznikne z Cp náhradou každého náhodného vstupního hradla xP (1 < i < rip) hradlem s konstantní funkcí r8-. Zvolme konstantu c tak, že c je nejmenší sudé přirozené číslo, pro které platí: C>FW (9-14) Dále volíme náhodně a nezávisle cn binárních vektorů r j = (rji, . . ., rjn ) G {0, l}nr pro j = í,...,cn tak, že pravděpodobnost, že rji = 1 (1 < i < rip), je pi. Potom prahový obvod C je konstruován podobně jako v důkazu věty 9.3, tj. skládá se z cn obvodů C(ri), . . ., C(rcn), které mají stejných n deterministických vstupů a jsou připojeny k jednomu výstupnímu prahovému hradlu, které podle věty 6.26 počítá konsenzuální funkci M A J O RITY. Zřejmě C má požadovanou velikost a hloubku. Pro každý vstup x G {0, l}n obvodu C pravděpodobnost, že výstup C{yj) je chybný, je nejvýše s, protože Cp e-rozpoznával L = L(Cp,e). Uvažujme libovolný pevný vstup x G {0, l}n obvodu C. Volbu ri,...,rcn lze interpretovat jako N = cn Bernoulliho pokusů, kde neúspěch znamená, že výstup C(yj) je chybný pro vstup x, a tedy jeho pravděpodobnost je nejvýše i < p = e < \. Potom podle (n) z lemmy 9.2 pravděpodobnost, že aspoň polovina z prahových obvodů C(ri), . . ., C(rcn) má chybný výstup pro vstup x, tj. 0 < ß = l/(2e) - 1 < 1, je nejvýše B (Np(í + ß), N,p) = B (y, cn, e) < e"*(i/(20-i)2— , (9.15) což lze díky (9.14) dále shora striktně odhadnout S(y,cn)£)<2-". (9.16) Tedy pro náhodnou volbu ri, . . ., rcn pravděpodobnost, že výstup prahového obvodu C je chybný pro vstup x, je ostře menší než 2_n. Avšak počet možných deterministických vstupů je 2n, a proto pravděpodobnost, že výstup C je chybný pro nějaký vstup, je pro tuto volbu jistě ostře menší než 1. Z toho vyplývá, že musí existovat aspoň jedna volba r1; . . ., rcn, při které C rozpoznává L. Ü 228 KAPITOLA 9. PRAVDĚPODOBNOSTNÍ NEURONOVÉ SITE RTC'l, kde s(n) = \ — n b a b, c jsou konstanty. Podle věty 9.6 existuje obecně neuniformní posloupnost prahových obvodů polynomiální velikosti 8e(n)ln2 nS(n) + 1 = 0 (n2b+c+1) (9.21) (l-2e(n))2 a hloubky k + 1, rozpoznávající jazyk L. □ 9.3 Boltzmannovy obvody Pravděpodobnostní prahové obvody nejsou typickým představitelem neuronových sítí, které se využívají v aplikacích. Nejznámějším pravděpodobnostním modelem neuronových sítí je Boltzmannův stroj (viz podkapitolu 3.4), jehož neurony jsou aktivní s pravděpodobností, která se vypočte ze zvážené sumy vstupů pomocí spojité pravděpodobnostní aktivační funkce. Pro jednoduchost se budeme zabývat jeho acyklickou verzí, tj. BoHzmannovým obvodem, který se skládá z tzv. Boltzmannových hradel. Definice 9.11 Boltzmannův obvod CB = (V,X,Y,E,£B) je obvod, kde V je množina Boltzmannových hradel a zobrazení lB přiřadí každému hradlu j E V s k vstupy x\, . . . ,Xk celočíselné váhy a práh £B(j) = (»i, . . . ,Wk',h) lineární funkce £j = X2i=i wixi ~ h- Boltzmannovo hradlo j £ V je aktivní, tj. y j = í, s pravdepodobností Pj(£j), kde aj : Z ----> (O, 1) je pravděpodobnostní aktivační funkce, např. standardní sigmoida (1.9): se strmostí \j > 0. Boltzmannův obvod CB s n = \X\ vstupy se využívá k e-rozpoznávání jazyka L = L(CB ,e) C {0, l}n stejným způsobem jako pravděpodobnostní prahový obvod (viz definici 9.1). Ukážeme, že Boltzmannovy obvody nejsou o moc silnější výpočetní prostředek než pravděpodobnostní prahové obvody. Věta 9.12 (Parberry, Schnitger [215]) Každý jazyk L = L(CB,e) C {0, l}n e-rozpoznávaný BoHzmannovým obvodem CB velikosti s, hloubky d a váhy \w\ lze e-rozpoznat pravděpodobnostním prahovým obvodem Cp velikosti (6|w| + 4)s, hloubky 2d a váhy (4|w|2+ 10|w| + 4)s, tj. L = L(Cp,s). Důkaz: Každé hradlo j Boltzmannova obvodu CB nahradíme pravděpodobnostním prahovým podobvodem Cp(j), který realizuje jeho funkci. Podobvod Cp(j) pro Boltzmannovo hradlo j s k vstupy j/i, . . ., yu ohodnocenými váhami wB, . . ., wB a prahem hB se především skládá s q < 2\w\ + 1 dvojic 9.2. PRAVDĚPODOBNOSTNÍ TŘÍDY SLOŽITOSTI 227 jsou podle předcházející konstrukce výstupy odpovídajících hradel v první vrstvě rovny příslušnému náhodnému vstupu, tj. yUi = yVi = xP. Podobně pro všechna i ^ I, tj. X{ = 0 nebo y^ = 0, platí yUi = 0 a yVi = 1. Tedy výstupní prahové hradlo v ve druhé vrstvě má r = 2\{i £ I \ xP = 1}| a n — k jednotkových vstupů. To znamená, že v je aktivní, právě když r > k, tj. aspoň -r z k náhodných vstupních hradel i £ J musí být aktivních, u nichž pravděpodobnost aktivity je -r. Tedy můžeme využít (ni) z lemmy 9.2, protože pravděpodobnost, že výstup v obvodu Cp je 1, je B(-^,k,^), a dostá a- váme, že pravděpodobnostní prahový obvod Cp (-j, 5 + l/v27rfc)-separuje, resp. díky k < n (|, | + l/V27rn)-separuje IP n {0, l}n. Zřejmě Cp má jednotkové váhy, velikost O(n) a hloubku 2. Tedy podle věty 9.5 existuje pravděpodobnostní prahový obvod s malými váhami, velikosti O(n) a hloubky 2, který e(n)-rozpoznává IP pro 1-h-p(h + -7t—h) 1 1 2 ,/2^ 2 kde P="" Vn"" '' (9-20) které splňuje (9.7). Nakonec pomocí (i) z lemmy 6.27 získáme posloupnost pravděpodobnostních prahových obvodů velikosti O(n). s malými váhami a hloubky 2, která (i — 1) neuniformní verze tříd složitosti TC%, RTC%. Po- tom pro každé k > 1 platí RTC't Q TC't Důkaz: Nechť Cp = (Cg , C'p, C\, . . .) je obecně neuniformní posloupnost pravděpodobnostních prahových obvodů polynomiální velikosti S(n) = 0(nc) a konstantní hloubky k, e(n)-rozpoznávající jazyk L = L(CP, s(n)) G 230 KAPITOLA 9. PRAVDĚPODOBNOSTNÍ NEURONOVÉ SÍTĚ Důkaz: Každé hradlo j pravděpodobnostního obvodu Cp nahradíme v obvodu CB Boltzmannovým hradlem jB. Nechť nejprve j je náhodné vstupní hradlo, které je aktivní s pravděpodobností 0 < p < 1. Odpovídající Boltz-mannovo hradlo jB s prahem —1 nebude mít žádné vstupy a pro jeho pravděpodobnostní aktivační funkci platí, že |. Odpovídající Boltz-mannovo hradlo jB má stejné váhy w1; . . ., wj, a práh h a pro jeho pravděpodobnostní aktivační funkci a j platí, že 1 — 6/s a 0. (9.26) Zřejmě hradlo jB počítá stejnou funkci jako j s pravděpodobností chyby nejvýše 6/s. Boltzmannův obvod CB se pak chová jinak než původní pravděpodobností obvod Cp s pravděpodobností nejvýše 6/s pro každé hradlo, tj. celkově s pravděpodobností menší než 6. Odtud pravděpodobnost chyby při rozpoznávání L je menší než s + 6, tj. L = L(C ,s + 6). □ Věty 9.12, 9.14 ukazují, že z hlediska výpočetní síly jsou Boltzmannovy obvody velmi podobné pravděpodobnostním prahovým obvodům. Také můžeme uvažovat jejich cyklické verze (viz kapitolu 8), tj. Boltzmannovy stroje a pravděpodobnostní cyklické neuronové sítě. Pro jejich konvergentní plně paralelní režim pak můžeme použít techniku z věty 8.7 k vytvoření ekvivalentních obvodů a následně opět pomocí vět 9.12, 9.14 ukázat, že Boltzmannovy stroje jsou z hlediska výpočetní síly velmi podobné pravděpodobnostním cyklickým neuronovým sítím. 9.4 Robustní neuronové sítě Je známo, že neuronové sítě jsou robustní, tj. při poškození několika neuronů síť nemusí nezbytně ztratit svoji funkčnost. V této podkapitole se pokusíme naznačit možné příčiny tohoto jevu. 9.3. BOLTZMANNOVY OBVODY 229 prahových hradel «(£!■), f (£?') (srovnejte s technikou důkazu věty 7.32), které odpovídají všem možným celočíselným hodnotám zvážených sum £'• vstupů (bez prahu): k - ih < 3 = !>*!/.■< ih • (9-23) 8 = 1 K oběma hradlům «(£'■), «(£'•) z každé dvojice, které mají práh /ip(«(£'•)) = -hp(v(^)) = £j + 1, jsou připojeny vstupy yi,...,yk pomocí vah wp(yi, u(£í-)) = —wp(yi,v(Sí'-)) = wf a přidané náhodné vstupní hradlo xP(£.'j) pomocí váhy wp(xp(£t'A, «(£'■)) = —wp(xp(£t'A,v(£t'A) = 1, které je aktivní (%p(£,j) = 1) s pravděpodobností £'• +1 a hradlo v(£í-) je aktivní, právě když £'• +xp(^'A < £í- + 1. To znamená, že je vždy jedno hradlo z každé z q dvojic aktivní a navíc obě hradla z dvojice «(£!■), «(£!•) jsou zároveň aktivní, tj. xp(^'-) = 1, s pravděpodobností {0, 1} je booleovská funkce a C je obvod s n vstupy a jedním výstupem. Řekneme, že C chybuje při výpočtu /, jestliže existuje vstup x G {0, l}n takový, že C(x) ^ /(x). Dále řekneme, že C je (ß, e)-robustní pro f, kde 0 0, protože pravděpodobnost, že výstupní hradlo je poškozeno, je e. Intuitivně e ve výrazu ß + e odpovídá pravděpodobnosti chyby výstupního hradla a fi je pravděpodobnost poškození zbytku obvodu. Ukážeme, že pro každý spolehlivý prahový obvod existuje větší ekvivalentní prahový obvod, který je robustní, protože kopíruje několikrát výpočet původního obvodu. Věta 9.16 (Berman, Parberry, Schnitger [35]) Každou funkci f, kterou lze počítat prahovým obvodem C velikosti s a hloubky d s hradly, které mají počet vstupů omezen q, je možné počítat pomocí (ß,e)-robustniho prahového obvodu C pro f velikosti ^(in. + ln^+l (9.27) a hloubky 2d + 1 pro libovolné 1 < e < —^— (9.28) a n > 0, kde 4(g+l)- 2(q+l) ß=o r1, n"1' (9-29) 2e(q + 1) Důkaz: Konstruujeme robustní prahový obvod C' tak, že každý spoj v obvodu C nahradíme tzv. kabelem, který se skládá z m spojů, a tedy každé hradlo v s k < q vstupy nahradíme podobvodem Cv s k vstupními kabely a jedním výstupním kabelem. Řekneme, že spoj v kabelu je korektní, jestliže vždy přenáší stejný signál jako původní odpovídající spoj v C. Dále řekneme, že kabel je korektní, jestliže nejvýše 6m jeho spojů není korektních, kde 0 < 9 < 1 je kladné reálné číslo. Podobvod Cv se skládá ze dvou vrstev. První vrstva obsahuje m kopií hradla v tak, že j-té hradlo má i-tý vstup od j-tého spoje i-tého vstupního kabele (1 < j < m, 1 < i: < k). Druhá vrstva se skládá z m hradel, které počítají konsenzuální funkci M A J O RITY se vstupy od všech hradel 234 KAPITOLA 9. PRAVDĚPODOBNOSTNÍ NEURONOVÉ SITE 9.4. ROBUSTNÍ NEURONOVÉ SITE 233 Výstupní hradlo obvodu C", které počítá M A JO RITY, pak chybuje s pravděpodobností menší než fi + s, a tedy prahový obvod C" je (ß, e)-robustní pro /. Celkový počet hradel v C" je 2ms + 1. Ü Podle věty 9.16 může libovolný prahový obvod s nespolehlivými hradly počítat dostatečně spolehlivě danou funkci za cenu nárůstu velikosti o logaritmický faktor. Navíc přesnost takového obvodu může být zvýšena na libovolnou konstantu při lineárním nárůstu původního obvodu. Robustnost neuronových sítí lze pomocí věty 9.16 ilustrovat jen pro funkce, které lze počítat pomocí obvodů, které mají hradla s malým počtem vstupů. Pokud např. poškodíme každé desáté hradlo, dostáváme spolehlivý prahový obvod praktické velikosti. Důsledek 9.17 Každou funkci, kterou lze počítat klasickým obvodem velikosti s a hloubky d, je možné počítat O.í-robustním prahovým obvodem velikosti 90s Ins + 270s + 1 a hloubky 2d + 1. Důkaz: Ve větě 9.16 položme q = 2, e = 0.1 a např. /j, = 0.1. □ Částečné zobecnění důsledku 9.17 pro hradla s neomezeným počtem vstupů lze najít v [35, 91]. 236 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ 10.1 Neuromaty Nejprve definujeme konečný diskrétní neuronový akceptor, kterému budeme díky zřejmé souvislosti s konečnými automaty říkat neuromat. Definice 10.1 Neuromat ('neuronový akceptorj N = (V, inp, out, A,w, h) je cyklická neuronová sít (viz definice 8.1, 8.2) pracující v plně paralelním režimu s jedním vstupním neuronem inp G V a jedním výstupním neuronem out G V. Navíc platí, že v příslušné architektuře (V, E) nevede do vstupního neuronu inp žádná hrana a všechny orientované cesty vedoucí z inp do out jsou délky aspoň k + í, kde k > 1 je přirozené číslo nazývané zpoždění. Neuromat se využívá k rozpoznávání jazyka L C {0, 1}* nad binární abecedou následujícím způsobem. Nechť x = X\ . . .xn G {0, l}n je binární vstupní slovo (vstup neuromatu), které je formálně zprava doplněno libovolnými bity xn+i (i > 1). Stav vstupního neuronu inp (včetně počátečního stavu) je v každém časovém kroku výpočtu neuromatu aktualizován podle bitů vstupního slova, tj. yirj = xi+i pro t > 0. Označme A^(x) = y^ ' stav výstupního neuronu out v čase n + k při výpočtu neuromatu N pro vstup x G {0, l}n. Potom množina Lk(N) = {xG {0, 1}* | A^(x) = 1} je jazyk rozpoznávaný neuromatem N s časovým zpožděním k, speciálně L(N) = Li(N) je jazyk rozpoznávaný neuromatem N. Ukážeme, že konstantní časové zpoždění při rozpoznávání jazyka pomocí neuromatu lze odstranit za cenu jen lineárního nárůstu jeho velikosti. Proto se v následujícím výkladu můžeme omezit na neuromaty, které odpovídají na vstupní slovo jeden časový krok po jeho načtení. Věta 10.2 (Šíma [268]) Pro každý neuromat N = (V, inp, out, A, w, h) velikosti s se zpožděním k > 2 existuje neuromat N' = {V, inp', ouť, A', w', h') velikosti 2k(s — 1) + 2 s jednotkovým zpožděním, který rozpoznává stejný ja-zyk, tj. Lk(N) = L(N'). Důkaz: Myšlenka důkazu spočívá v konstrukci neuromatu N', který k — í kroků dopředu simuluje výpočty neuromatu N pro všechna možná (k — 1)-bitová pokračování vstupu a přeruší ty neplatné výpočty, které nesouhlasí se skutečným vstupem zpožděným k — í kroků. Za tímto účelem se neuromat N' kromě vstupního a výstupního neuronu inp', ouť skládá z 2k podsítí Nxb (x G {0, í}k~ľ, b G {0, 1}), z nichž každá simuluje výpočet N pro jedno možné (k — l)-bitové pokračování x G {0, í}k~ľ vstupního slova. Příslušné neurony v těchto podsítích označíme stejně jako v N a navíc je indexujeme odpovídajícími k bity, tj. V' = {vk \v G V-{inp},k £ {0, í}k} U {inp', out'} . (10.1) Kapitola 10 Výpočetní síla neuronových sítí V této kapitole porovnáme obecně cyklické (diskrétní i analogové) neuronové sítě s klasickými modely výpočtů jako jsou konečné automaty a regulární výrazy dané deskriptívni složitosti [2, 137] a Turingovy stroje omezené časové a prostorové složitosti (příp. s orákuly) [26]. Za tímto účelem budeme neuronové sítě využívat jako tzv. neuronové akceptory jazyků (nad binární abecedou). Abychom mohli hovořit o složitosti, musí být délka vstupního slova obecně neomezená. Uvažujeme v zásadě dva typy vstupního protokolu. U konečných neuronových sítí máme jeden vstupní neuron, který obvykle postupně během výpočtu čte bity vstupního slova. Pro tento typ vstupního protokolu budeme v následujících dvou podkapitolách uvažovat po řadě diskrétní nebo analogový model sítě. Jinou možností je nekonečná posloupnost neuronových sítí, kde každé délce vstupu odpovídá právě jedna síť s příslušným počtem vstupních neuronů. Proto třetí podkapitola je věnována posloupnostem neuronových sítí. Pro oba typy vstupního protokolu stav výstupního neuronu určuje, zda vstupní slovo patří do daného jazyka. U některých důkazů vět vzhledem k jejich technické náročnosti nastíníme v této kapitole jen základní ideu bez detailů a některé vynecháme s odkazem na původní práce. Také se omezíme jen na deterministické modely neuronových sítí, přitom analogickou analýzu pro pravděpodobnostní neuronové sítě lze nalézt např. v [253]. oqc; 238 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ nulovým stavům žádný vliv na out1. Zbylá polovina těchto neuronů vx (w(v, out) ^ 0) v podsítích Nx má stejné stavy, protože vzdálenost mezi inp a out v N je aspoň k +1, a tedy posledních k vstupních bitů nemohlo ovlivnit výstup. Z toho vyplývá, že pro zachování funkce ouť stačí vynásobit odpovídající práh h(ouť) pomocí 2fc_1, tj. h'(ouť) = 2k~1h(ouť). Uvedeným způsobem je dosaženo správné rozpoznávání jazyka Lk(N) pomocí neuromatu N' o k — 1 kroků dopředu. Navíc velikost neuromatu N' je 2k(s — 1) + 2. □ Věta 10.3 (Kleene [150]) Neuromaty a konečné automaty jsou výpočetné ekvivalentní, tj. neuromaty rozpoznávají pravé regulární jazyky. Důkaz: Neuromat lze chápat jako konečný automat, jehož stavy jsou reprezentovány stavy nevstupních neuronů příslušné sítě a přechodová funkce je popsána pomocí booleovských prahových funkcí těchto neuronů. Počáteční stav konečného automatu je dán množinou iniciálně aktivních neuronů a koncové stavy odpovídají stavům sítě s aktivním výstupním neuronem. Obráceně každé hraně stavového grafu konečného automatu odpovídá jeden neuron, který kontroluje, zda její ohodnocení souhlasí se stavem vstupního neuronu. Aktivita neuronů odpovídajících hranám, které vstupují do daného stavu, podmiňuje aktivaci neuronů, které odpovídají hranám vystupujícím z tohoto stavu. Jeden iniciálně aktivní neuron na začátku aktivuje neurony, které reprezentují hrany vycházející z počátečního stavu. Výstupní neuron je pak disjunkcí neuronů odpovídajících hranám, které vstupují do koncových stavů. Podobnou podrobněji popsanou konstrukci neuromatu lze najít v důkazu věty 10.5. □ V důkazu věty 10.3 je naznačena konstrukce neuromatu ekvivalentního s konečným automatem, která k m-stavovému deterministickému automatu (ve stavovém grafu automatu z každého vrcholu vychází nejvýše 2 hrany) vytvoří neuromat velikosti O(m). Následující věta zlepšuje tento výsledek tak, že pro malé váhy je již optimální. Na druhou stranu předpokládá obecnější vstupní protokol než v definici 10.1. Vstupní bity jsou neuromatu předkládány prostřednictvím vstupního neuronu postupně — jeden bit během časové periody, která trvá obecně déle než jeden krok. Tuto větu uvádíme bez důkazu, který není konstruktivní. Jiří Wiedermann (osobní komunikace) navrhl pro uvedený obecnější vstupní protokol následující deterministickou konstrukci. Přechodová funkce konečného automatu závisející na stavu a vstupním bitu, které lze kódovat O(logm) bity, je realizována pomocí neuronové sítě pro výpočet obecné vektorové booleovské funkce / : {0,l}O(1°sm) ----> {0,l}O(1°sm). Neuromat má v tomto případě podle věty 7.41 velikost 0(\/mlog m). Věta 10.4 (Indyk [139]) Ke každému m-stavovému (deterministickému) konečnému automatu existuje 5í-ekvivalentní neuromat velikosti 0(y/m) 10.1. NEUROMATY 237 Chceme, aby v každém čase t > 0 výpočtu N' byl stav yijb neuronu i>xj (b G {0, 1}) roven stavu yv ' neuronu v G V u neuromatu N v čase t + k — 1 po zpracování dalších k — 1 bitů x G {0, í}k~ľ vstupu. Toho dosáhneme následujícím způsobem. Na začátku výpočtu N' jsou následující neurony iniciálně aktivní: A' = {vxb e V | ^-^(x) = i, x e {o, i}*-1, b e {o, i}} , (10.2) kde yv '(tí) je stav neuronu v v čase k — 1 při výpočtu neuromatu N na vstup x. V obecném kroku podsíť Nxj, pro x G {0, í}k~1, b G {0, 1} počítá svůj nový stav z předchozího stavu podsítě Nax (o. G {0, 1}). Proto neurony Nax jsou připojeny k neuronům NXb pomocí vah, které odpovídají původním váhám v N, tj. w'(uax,vxt>) = w(u,v) pro x G {0, í}k~1, a, b E {0,1} a u, v G V \ {inp}. Podsíť Nxi, má konstantní vstup b, který je v případě b = 1 zohledněn tak, že prahy h (v) všech neuronů i>xj v této síti jsou zmenšeny o příslušné vstupní váhy w(inp,v) (viz (10.5)). Vstupní bit yinpi = c G {0, 1} neuromatu N' indikuje, že všechny výpočty Nax pro a ^ c jsou neplatné. Proto vstupní neuron inp' zruší tyto výpočty tak, že vynuluje všechny stavy neuronů v Nax pomocí následujících vah a prahů: w'(inp', vo*) = h(v)-í- Y^ w(u,v) x G {0, l}fc_1 (10.3) u£V)w(u)v)>0 w'(inp',vlx) = -w'(inp',v0x) xe{0,l}M (10.4) h'(vaX'b) = h(v) + aw'(inp',vax'b) - bw(inp,v) (10.5) x'GÍO,!}*"2; a,&G{0,l} pro všechny v G V\{inp}. Definice vah (10.3) zajistí vynulování stavů všech neuronů v podsítích N0x (x G {0, í}k~1), pokud vstupní neuron inp' je aktivní. Podobně váhy (10.4) spolu s členem aw''(inp', vaxij) u prahů (10.5) vynulují stavy všech neuronů v podsítích Níx (x G {0, í}k~1), pokud vstupní neuron inp' je pasivní. Tedy všechny neurony v 2fc_1 podsítích Nax (x G {0, í}k~1), u nichž a nesouhlasí s předchozím vstupním bitem, mají nulové stavy. To také umožňuje podsíti 7Vxj realizovat správný výpočet, protože vliv jedné z neplatných podsítí, buď Nox, nebo Nix, které jsou připojeny k NXb, je díky nulovým stavům potlačen. Neurony vx G V v podsítích Nx, jejichž odpovídající neuron v G V je v N spojen s výstupním neuronem out, jsou také připojeny k výstupnímu neuronu ouť sítě N' prostřednictvím příslušných vah, tj. w'(vx, ouť) = w(v,ouť) pro v G V a x G {0, í}k. Víme, že polovina z nich nemá díky 240 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ disjunkci, a tedy je aktivní, právě když je aktivní aspoň jeden z jeho vstupů. Jeho práh je h(out) = 1. Příklad neuromatu, který rozpoznává regulární jazyk [(1(0 + 0(1 + 0)))*], je na obrázku 10.1, kde jsou také vyznačeny typy neuronů. Obr. 10.1: Neuromat rozpoznávající regulární jazyk [(1(0 + 0(1 + 0)))*]. Dolní odhad na velikost neuromatu odpovídajícího regulárnímu výrazu v nejhorším případě ukážeme standardním způsobem. Definujeme regulární výraz OLm (m > 1) popisující regulární jazyk Lm = [CKm], který lze upravit na výraz délky \Oím\ = O(m): /m — 3 OLr J2 (l(e + 0))8'10 + (l(e + O))™-^! + 0) (10.6) , 8 = 0 (10 + l(e + 0)(10 + + l(e + 0)(- --1(6 + 0)(10 + l(e + 0)2(1 + 0)) • • ■)))* kde symbol e značí prázdné slovo. Dále označme ± VY E^+o))1' (10.7) 10.1. NEUROMATY 239 s malými váhami. Na druhou stranu pro většinu m-stavových konečných automatů každý ekvivalentní neuromat s malými váhami má velikost Q,(-\/m). 10.1.1 Neuromaty a regulární výrazy Vzhledem k tomu, že naznačenou konstrukci neuromatu v důkazu věty 10.3 lze použít i pro nedeterministické automaty, budeme se v následujícím výkladu zabývat porovnáním neuromatu s regulárními výrazy, které také popisují regulární jazyky a navíc v sobě skrývají nedeterminismus, tedy jsou pro naše účely přirozenější. Nejprve dokážeme analogii věty 10.4 pro regulární výrazy, tj. ukážeme optimální konstrukci neuromatu z regulárního výrazu. Věta 10.5 (Šíma [267]) Pro každý regulární výraz OL délky m = |o:|, který popisuje regulární jazyk [cx], lze zkonstruovat neuromat N velikosti O (ni) s malými váhami, který rozpoznává stejný jazyk L(N) = [o:]. Na druhou stranu existují regulární výrazy CXm (m > 1) délky \otm\ = O(m) takové, že každý neuromat Nm (s neomezenými váhami), který rozpoznává regulární jazyk Lm = [otm] = L(Nm) má velikost aspoň íl(m). Důkaz: Princip konstrukce neuromatu N z regulárního výrazu CX je podobný jako u konstrukce odpovídajícího nedeterministického automatu. Neuromat N se skládá z neuronů, z nichž každý odpovídá jednomu výskytu symbolu 1 nebo 0 v regulárním výrazu CX. Podle toho rozlišujeme neurony typu 1 nebo 0. Navíc N má vstupní neuron inp, výstupní neuron out a inicializační neuron init, který je jediný iniciálně aktivní. Architektura sítě odpovídá struktuře regulárnímu výrazu, tj. pro každou orientovanou cestu z init do out skládající se po řadě z neuronů typu x\ . . . xn £ {0, 1}* slovo x\ . . . xn £ [cx] je z regulárního jazyka [a] daného regulárním výrazem Oí. Naopak pro každé takové slovo z \oť\ existuje příslušná orientovaná cesta z init do out v topologii N. Je zřejmé, že regulární operace spojení (•) odpovídá prosté cestě, sjednocení (+) znamená větvení a iterace (*) je reprezentována cykly. Všechny hrany na uvedených cestách mají jednotkové váhy. Navíc vstupní neuron je připojen ke každém neuronu typu 1 nebo 0. Výpočet neuromatu probíhá tak, že počáteční aktivita neuronu init se šíří po všech cestách v síti, které souhlasí se vstupním slovem. Za tímto účelem neurony daného typu kontrolují, zda vstupní bit souhlasí s uvedeným typem. To znamená, že neuron j typu 1 je aktivní, právě když je vstupní neuron inp aktivní a současně je aktivní aspoň jeden z k neuronů typu 1 nebo 0 nebo init, které jsou k němu připojeny. Tomu odpovídá váha w(inp,j) = k a práh h(j) = k + 1. Podobně neuron j typu 0 je aktivní, právě když je vstupní neuron inp pasivní a současně je aktivní aspoň jeden z k neuronů typu 1 nebo 0 nebo init, které jsou k němu připojeny. Tomu odpovídá váha w(inp,j) = — k a práh h(j) = 1. Nakonec výstupní neuron out realizuje 242 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ strojem M v polynomiálním prostoru, tj. A = L(M). Dále nechť x G {0, 1}* je instance A, tj. vstup pro M. Podobně jako v důkazu věty 8.11 zkonstruujeme v polynomiálním čase odpovídající neuromat Nx, který simuluje výpočet M nad x, tak, že x G A, právě když je neuron out na konci této simulace aktivní, tj. L(NX) ^ 0, a tedy Nx G NEP. D Je známo [141, 142], že problém prázdného jazyka pro konečné automaty i regulární výrazy je řešitelný nedeterministicky v logaritmickém prostoru (je dokonce 7V_L-úplný), zatímco dle věty 10.7 je tento problém pro neuromaty díky NL C PSPACE [26] dokazatelně těžší, což také potvrzuje věta 10.6. Rozdíl v deskriptívni síle neuromatů a regulárních výrazů lze také ilustrovat na duálním problému, zda popisovaný jazyk L neobsahuje všechna slova, tj. zda L ^ {0, 1}*. Tento problém je pro regulární výrazy P SP AC E-úplný [2]. To ukazuje, že negace regulárního výrazu může způsobit exponenciální nárůst jeho délky, zatímco podle (i) z lemmy 6.27 lze u neuromatů jednoduše negovat booleovskou prahovou funkci výstupního neuronu out při zachování jeho velikosti. Jako důsledek věty 10.7 je možné ukázat, že problém ekvivalence dvou neuromatů je P S P AC E-úplný [268]. V tomto případě je doplňkový problém co—NEP, který je také PSPACE-úplný, redukován na problém ekvivalence dvou neuromatů tak, že druhý neuromat rozpoznává prázdný jazyk. 10.1.2 Neuronové akceptory binárních řetězců V následujícím výkladu se zaměříme na speciální podtřídy regulárních výrazů a neuromatů. Nejjednodušším případem regulárních výrazů jsou binární řetězce, tj. odpovídající regulární jazyky obsahují jedno slovo. Pro rozpoznávání binárního řetězce lze zkonstruovat menší neuromat než v obecném případě (viz větu 10.5), který je optimální nejen vzhledem ke své velikosti, ale i z hlediska popisu vah. Věta 10.8 (Wiedermann [267]) Pro každý binární řetězec b G {0, l}n existuje jeho neuronový akceptor velikosti 0(\/n) a maximá lni váhy 0(2^™), který má 0(\/n) hran, a tedy na reprezentaci jeho vah stačí Q(n) bitů. Důkaz: Uvedeme jen základní myšlenku důkazu, zatímco technické detaily lze najít v [268]. Vstupní slovo x G {0, l}n se postupně načítá do vyrovnávací paměti velikosti p = ^/n neuronů. Při zaplnění této paměti, tj. načtení p bitů vstupu, dochází ke srovnání odpovídajících p bitů řetězce b a vstupu x. Synchronizace je řízena pomocí hodin s p „minutovými" neurony, z nichž je aktivní právě jeden neuron odpovídající příslušným p bitům řetězce b, a s p „sekundovými" neurony, které po každých p krocích (lze např. využít podobný cyklus jako v důkazu věty 8.8) aktualizují minutové neurony tak, že aktivují následující minutový neuron. Ten odpovídá aktuálním p bitům 10.1. NEUROMATY 241 množinu 2m — 1 prefixů jazyka Lm, tj. \Pm\ = Í2(2m). Dá se ukázat [267], že pro každé dva různé prefixy X!,x2 G Pm (x! ^ x2) jazyka Lm existuje doplnění x G {0, 1}* takové, že X!X G Lm a současně x2x ^ Lm. Z toho vyplývá, že neuromat Nm, který rozpoznává Lm = L(Nm), musí mít Í2(2m) různých stavů, do kterých se dostane, když jsou na vstupu prefixy z Pm, které mohou být doplněny o x. Tedy neuromat Nm má aspoň fž(m) binárních neuronů. □ Podle věty 10.5 by mohlo se zdát, že neuromaty a regulární výrazy jsou v rámci polynomiální deskriptívni složitosti regulárních jazyků ekvivalentní. Avšak následující věta ukazuje, že neuromaty jsou v jistém smyslu silnější, protože k danému neuromatů nelze vždy zkonstruovat odpovídající regulární výraz polynomiální délky. Věta 10.6 Pro každé m > 1 existuje regulární jazyk Lm = L(Nm), který je rozpoznáván neuromatem Nm velikosti O (ni), takový, že každý regulární výraz OLm, který jej popisuje Lm = [CKm]; má délku \otm\ = Í2(2m). Důkaz: Myšlenka důkazu spočívá v tom, že regulární jazyk Lm (m > 1) obsahuje všechna slova délky právě 0(2m). Neuromat Nm, který rozpoznává Lm = L(Nm), využívá k určení délky vstupního slova např. m-bitového čítače z věty 8.18 velikosti O(m) (konstrukce neuronového čítače s nesymetrickými spoji je ještě jednodušší). Na druhou stranu vzhledem ke konečnosti Lm odpovídající regulární výraz OLm (Lm = [0!m]) minimální délky neobsahuje iteraci (*). Proto při generování slov jazyka Lm z regulárního výrazu OLm se tento výraz čte jen zleva doprava. To znamená, že OLm má délku aspoň jako délka slov z Lm, tj. \am\ = íl(2m). D Deskriptívni sílu neuromatů ve srovnání s regulárními výrazy lze ještě ilustrovat na složitosti problému prázdného jazyka, který je rozpoznáván zadaným neuromatem: Problém prázdného jazyka zadaného neuromatem NEP (Neuroma- ton Emptyness Problem): instance: Neuromat N. otázka: Je L(N) ^ 0 neprázdný? Věta 10.7 NEP je P SP AC E-úplný problém. Důkaz: Zřejmě NEP G PSPACE, protože vstupní slovo x G {0, 1}* neuromatů N lze díky PSPACE = N PSPACE nedeterministicky hádat postupně po jednotlivých bitech a v polynomiálním prostoru lze simulací výpočtu N pro x ověřit, zda x G L(N). Tvrzení, že NEP je PSPACE-těžký problém, dokážeme redukcí libovolného problému v PSPACE na NEP v polynomiálním čase. Nechť tedy A G PSPACE je problém řešitelný Turingovým 244 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ řetězec x G {O, l}2 existuje přirozené číslo rao > O takové, že buď (Vra > ra0 V!Xmv2 G L), a nebo (Vra > ra0 V!Xmv2 (ji L). Věta 10.11 (Šíma [264]) Regulární jazyk je Hopfieldův, právě když splňuje Hopfieldovu podmínku. Speciálně pro každý regulární jazyk L = [o:], který splňuje Hopfieldovu podmínku a je zadaný regulárním výrazem Oí, lze zkonstruovat Hopfieldův neuromat N velikosti 0{\Oí\), který L = L(N) rozpoznává. Důkaz: Nechť tedy nejprve L = L(N) je Hopfieldův jazyk rozpoznávaný symetrickým neuronovým akceptorem N. Neuromatu N předložíme vstupní slovo vixm° (m0 > 1), kde vi G {0, 1}* a x £ {0, l}2 jsou libovolné binární řetězce. Pro dostatečně velké mo Hopfieldova síť v čase t* > 0 vstoupí podle věty 8.16 v plně paralelním režimu do cyklu délky menší nebo rovno 2. V důkazu této věty totiž kopie inp\ G Vi a inp2 G V2 vstupního neuronu inp mají pak díky opakujícímu se vstupnímu 2-bitovému řetězci x konstantní stavy, tj. x = y^piy^p2 (resp. x = y^p2y^pi) pro t > t*. Proto je lze nahradit případnou úpravou prahů h'(j,í) = h(j) — yinp2w(inp,j) a h'(j,2) = h(j) — yi„Plw(inp, j) pro j G V. Díky nejvýše dvoustavovému cyklu pro každé v2 G {0, 1}* buď (Vra > rao vixmV2 G L), a nebo (Vra > rao vixmV2 (j L). Tedy L splňuje Hopfieldovu podmínku. Obráceně nechť L = \oť\ je regulární jazyk zadaný regulárním výrazem (X splňující Hopfieldovu podmínku. Podle věty 10.5 zkonstruujeme nejprve obecný neuromat N' velikosti 0(|Oí|), který rozpoznává L = L(N'), a ten budeme transformovat na ekvivalentní Hopfieldův neuromat. Pokud regulární výraz Oí obsahuje jen iterace nejvýše 2-bitových binárních řetězců, pak podle důkazu této věty architektura neuromatu N' obsahuje cykly délky nejvýše 2 s jednotkovými váhami, tj. odpovídá prahovému obvodu, který může mít některé jednotkové zpětné vazby a příp. symetrické jednotkové spoje. V tomto případě lze Hopfieldův neuromat N bez problémů vytvořit z N' pomocí techniky z důkazu věty 8.19. Hlavní problém tedy spočívá v realizaci obecných iterací pomocí symetrických spojů. Uvažujme podsíť I neuromatu N', která odpovídá pozitivní iteraci ß+ (iterace ß* lze převést na e + ß+) nějakého podvýrazu ß regulárního výrazu Oí. Po aplikaci věty 8.19 každá cesta vedoucí skrz I je ohodnocena klesající posloupností vah, které zamezí zpětnému šíření signálu. Avšak díky iteraci má být signál propagován z libovolného výstupu podsítě I zpět ke každému vstupu I. Na jednu stranu váha takového spoje musí být dostatečně malá, aby se zabránilo zpětnému šíření signálu. Na druhou stranu by tato váha měla být dostatečně velká, aby ovlivnila neuron na vstupu podsítě I. Tyto dva požadavky jsou zřejmě ve sporu. Dále uvažujme jednoduchý cyklus C v podsíti I, který se skládá z orientované cesty procházející skrz I a jedné zpětné hrany vedoucí z konce této 10.1. NEUROMATY 243 řetězce b, které se mají porovnat s příslušnými p bity vstupu x. Vlastní porovnání probíhá pomocí dvou komparačních neuronů, k nimž jsou připojeny minutové neurony a neurony vyrovnávací paměti. Váha spoje od minutového k prvnímu komparačnímu neuronu představuje zápornou dekadickou hodnotu odpovídajícího binárního p-bitového podřetězce slova b a váhy od neuronů vyrovnávací paměti jsou mocniny dvojky od nuly až do řádu p — 1, které převádí odpovídající binární p-bitový podřetězec vstupu x do dekadické soustavy. První komparační neuron s nulovým prahem je pak aktivní, právě když dekadické číslo příslušející k části vstupu x je větší nebo rovno dekadickému číslu reprezentující podřetězce slova b. Podobně pracuje druhý komparační neuron s relací menší nebo rovno. Konjunkce těchto dvou komparačních neuronů zajistí správně porovnání x s b. Zřejmě uvedený neuronový akceptor má O(p) neuronů a spojů s maximální váhou 0(2P). □ Piotr Indyk (osobní komunikace) navrhl využití neuromatu z věty 10.8 při konstrukci cyklické neuronové sítě s 0(2~) neurony a spoji, která počítá libovolnou booleovskou funkci n proměnných (srovnejte s větou 7.10, jejíž důkaz využívá 0(2") hran). V tomto případě je 2n-bitový vektor funkčních hodnot zakódován do 2~ vah po 2"-bitových podřetězcích. Prvních ^ bitů vstupu určuje výběr příslušné váhy (tj. odpovídajícího podřetězce vektoru funkčních hodnot). Dále jsou postupně generovány všechny 2~-bitové řetězce, dokud se nějaký z nich neshoduje s touto váhou, a z něho je extrahován bit v pozici, která se rovná dekadické hodnotě posledních 2. bitů vstupu. 10.1.3 Hopfieldovy jazyky V závěru této podkapitoly se budeme zabývat speciální třídou tzv. Hopfiel-dových neuromatu se symetrickými spoji, která definuje Hopfieldovy jazyky. Definice 10.9 Hopfieldův neuromat (^symetrický neuronový akceptorj je neuromat (viz definici 10.1) založený na Hopfieldově síti (viz definici 8.12). Jazyk rozpoznatelný symetrickým neuronovým akceptorem se nazývá Hopfieldův jazyk. Ralph Hartley a Harold Szu [94] si všimli, že Hopfieldovy neuromaty vzhledem k odlišným konvergenčním vlastnostem symetrických neuronových sítí (srovnejte věty 8.8 a 8.16) jsou slabším výpočetním prostředkem ve srovnání s konečnými automaty, resp. obecnými neuromaty, a proto nemohou rozpoznávat obecně všechny regulární jazyky. V následujícím výkladu charakterizujeme třídu Hopfieldových jazyků, která je vlastní podtřídou regulárních jazyků, pomocí tzv. Hopfieldovy podmínky. Definice 10.10 Řekneme, že regulární jazyk L splňuje Hopfieldovu podmínku, jestliže pro každý prefix a sufix vi,V2 G {0,1}* a 2-bitový 246 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ Podobně celý proces transformace je proveden pro všechny iterace v regulárním výrazu Oí. V tomto případě některé iterace mohou být částí jiných iterací a velikost vah ve vnitřní iteraci vyžaduje úpravu vah tak, aby mohla být vtělena do vnější iterace. Je také možné, že neuron id musí posílit obě iterace ve stejném místě. Počet jednoduchých cyklů v regulárním výrazu Oí je 0(|Oí|), proto velikost výsledného Hopfieldova neuromatu N zůstává řádu 0(\a\). Navíc L = L(N) je Hopfieldův jazyk. Obr. 10.2: Hopfieldův neuromat pro regulární jazyk [(1(0 + 0(1 + 0)))*]. Na obrázku 10.2 je předchozí konstrukce ilustrována na příkladě Hopfieldova neuromatu rozpoznávajícího regulární jazyk [(1(0 + 0(1 + 0)))*] (srovnejte s obecným neuromatem na obrázku 10.1). Podrobněji komentujeme jednoduchý cyklus neuronů i>j, vc, v^. Všimněme si klesající posloupnosti vah 10.1. NEUROMATY 245 cesty (tj. z výstupu I) na její začátek (tj. ke vstupu I). Nechť typy neuronů v cyklu C odpovídají pozitivní iteraci a+ binárního řetězce a £ {0, 1}*, jehož délka |a| > 2. Navíc nejprve pro spor předpokládejme, že a = x* pro nějaké x G {0, l}2 a k > 1. V Hopfieldově podmínce nechť v2 je sufix slova z L odpovídající orientované cestě v N' z C do out. Podobně nechť vi je prefix slova z L odpovídající orientované cestě v N' z init do C takový, že pro každé m > 0 platí vixmfcV2 £ L a vixmfc+1V2 ^ L. Takový prefix ví existuje, protože v opačném případě by bylo možné cyklus C realizovat 2-bitovou iterací. Avšak to je ve sporu s Hopfieldovou podmínkou, a proto a ^ xk. Tedy řetězce ap pro p > 2 obsahují podřetězec tvaru beb, kde b, c, b £ {0, 1} a b ^ b. Odtud řetězec a má tvar buď a = a.ibcba.2 pro ai, a2 G {0, 1}*, nebo a = cb&2b (např. a = 10101). Kvůli jednoduchosti zápisu se dále omezíme jen na první případ, zatímco druhá varianta je podobná. Tedy dále uvažujme a = a.ibcba.2 s minimální délkou |a2|. Nejprve posuneme klesající posloupnost vah v C tak, aby začínala s největší váhou v neuronu vc, jehož typ právě odpovídá c v a. Za tímto účelem váhy v N' musí být opět pomocí techniky z důkazu věty 8.19 upraveny tak, aby zapojení C v rámci N' zůstalo konzistentní. Např. to znamená, že váha spojů z výstupu 7 v C do vstupů I je dostatečně veliká, aby realizovala odpovídající iterace. Nyní nám jde o to, jak realizovat propagaci signálu z neuronu i>j (typ i>j odpovídá & v a) do neuronu vc. Dále předpokládejme, že b = 1, zatímco pro b = 0 probíhá důkaz podobně. Abychom posílili malou váhu w(vi,, vc), přidáme k síti nový neuron id, který se zpožděním jednoho kroku kopíruje vstupní neuron inp, a volíme dostatečně velkou váhu w(id,vc). Zřejmě, neuron i>j, který kontroluje, zda je vstupní neuron inp aktivní (6 = 1), a nový neuron id, který kopíruje vstup, jsou současně aktivní a oba díky součtu vah u>(i>j, vc) + w(id, vc) umožní propagaci signálu z ví do vc. Na druhou stranu ve chvíli, kdy je následující neuron v^ (b = 0) aktivní, je neuron id pasivní, což zabrání zpětné aktivitě neuronu vc. Avšak neuron vc může být kromě k ľj připojen i k neuronu vj,i (typu &') v podsíti I vně cyklu C, který odpovídá některému symbolu b' = b = 1 v regulárním výrazu Oí. Tato situace ve výrazu ß např. odpovídá symbolu c spojenému se sjednocením nějakých podvýrazů začínajících symbolem b' = 1 a b = 0. V takovém případě by současná aktivita neuronů i>j/ a id způsobila nesprávnou zpětnou aktivitu neuronu vc. Abychom tomu zabránili, vytvoříme kopii vci neuronu vc (c' = c), která se chová stejně jako neuron vc. Tedy stejné neurony, které jsou připojeny k vc, jsou připojeny k neuronu vci a hrany, které původně vedly z uc k i>j/, jsou pro všechna příslušná b' přepojeny tak, že vychází jen z vci. Předchozí postup aplikujeme pro všechny jednoduché cykly C v podsíti I odpovídající pozitivní iteraci ß+. Tyto cykly nejsou nutně disjunktní, ale dekompozice a = a.ibcba.2 s minimální |a2| zajistí konzistentní syntézu. 248 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ složitosti těchto parametrů (racionální, reálné, kolmogorovská složitost) získáme různou výpočetní sílu analogového neuronového akceptoru. Na rozdíl od neuromatu (viz definici 10.1) budeme uvažovat nepatrně obecnější vstupní protokol, kde k vstupnímu a výstupnímu datovému neuronu zavedeme dva neurony, které budou signalizovat jejich platnost. Definice 10.13 Analogová neuronová síť N = (V,X,Y,yv!x,w,h) je obdobou diskrétní cyklické neuronové síté (viz definici 8.1), kde místo množiny iniciálné aktivních neuronů je dán obecné reálný počáteční stav yv(x G Rs~n (s = \V\, n = \X\) nevstupních neuronů, váhy w : V x V —> R a prahy h : V----> R jsou obecné reálná čísla. Také výpočet analogové neuronové síté je podobný jako u diskrétní cyklické neuronové síté (viz definici 8.2), kde aktualizace binárního stavu neuronu j £ at C V podle (8.4) v čase t > 1 je upravena pro obecné reálný stav následujícím způsobem (srovnejte s (7.2/f)): yľ = ° £«W }-hA > (10.8) kde a : R —> R je spojitá aktivační funkce. Např. můžeme volit saturovanou lineární funkci (1.8): °--,n-* (lo.io) ,« = ( J * = o,-,«-i (1(m) av,np \ 0 t > n. v ' IQ.2. KONEČNÉ ANALOGOVÉ NEURONOVÉ SÍTÉ 247 (7,5, 1) v tomto cyklu, která začíná a končí v neuronu vc. Dále neuron id umožňuje propagaci signálu z vj, do vc. Navíc byla vytvořena kopie vci neuronu vc, protože neuron vc byl původně připojen k neuronu vj,i (b' = b). □ Z věty 10.11 vyplývá, že např. regulární jazyky [(000)*], [(1010)*], které nesplňují Hopfieldovu podmínku, nejsou Hopfieldovými jazyky. Podle věty 8.16 mají Hopfieldovy neuromaty během výpočtu tendenci konvergovat k nejvýše dvěma stavům s vyšší stabilitou (resp. nižší energií). Tyto dva stavy pak nestačí k zapamatování informace (i když konečné) o načtené části vstupu, která je potřebná ke správnému rozpoznání vstupního slova. Intuitivně lze z důkazu věty 10.11 říci, že potenciálně nekonečná vstupní slova Hopfieldových jazyků dodávají Hopfieldovým neuromatům energii (viz (3.29)), tj. porušují jejich stabilitu (viz (8.10)), a zvyšují tak počet dosažitelných stavů s vyšší energií, které kódují konečnou informaci o rozpoznávaném slově. Dalším důsledkem této věty jsou uzáverové vlastnosti třídy Hopfieldových jazyků. Důsledek 10.12 Třída Hopfieldových jazyků je uzavřená na sjednocení, spojení, průnik a doplnék a není uzavřená vůči iteraci. Důkaz: Uzavřenost Hopfieldových jazyků vůči sjednocení a spojení je přímým důsledkem věty 10.11. Hopfieldův neuromat pro doplněk Hopfieldova jazyka získáme negací booleovské prahové funkce výstupního neuronu out pomocí (i) z lemmy 6.27. Z toho vyplývá, že třída Hopfieldových jazyků je také uzavřena na průnik. Nakonec jednoprvkový jazyk {000} je Hopfieldův, zatímco jeho iterace [(000)*] nesplňuje Hopfieldovu podmínku, a proto dle věty 10.11 není Hopfieldovým jazykem. □ Analogii věty 10.7, tj. PSP AC E-úplnost problému prázdného jazyka (podobně i problému ekvivalence neuromatu), lze ukázat také pro Hopfieldovy neuromaty. Za tímto účelem se simuluje výpočet Turingova stroje s polynomiálním prostorem (který bez újmy na obecnosti vždy končí) pomocí Hopfieldovy sítě využitím technik z důkazů vět 8.11 a 8.21. 10.2 Konečné analogové neuronové sítě V podkapitole 10.1 jsme formalizovali diskrétní konečný neuronový akceptor, který rozpoznává jen regulární jazyky. V této podkapitole zobecníme tento model pro spojité aktivační funkce. Získáme tak univerzální výpočetní prostředek. Za tímto účelem upravíme definici 8.2 výpočtu cyklické neuronové sítě tak, aby odpovídala aktivní dynamice analogové neuronové síté. Také budeme uvažovat obecně reálné váhy a prahy a podle deskriptívni 250 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ vstupního stavu, protože vstupní protokol z definice 10.14 lze pomocí jednoduché podsítě převést v čase 0(n) na vstupní stav. Dále bez újmy na obecnosti předpokládáme, že Turingův stroj místo k > 1 pásek používá p = 2k > 2 zásobníků, kde každá dvojice zásobníků reprezentuje obsah jedné pásky rozdělený pozicí čtecí/zapisovací hlavy M na dvě části. Vstupní slovo je tedy na začátku v jednom ze zásobníků. Přechodová funkce M čte vrcholové prvky zásobníků a podle nich a stavu, ve kterém se nachází, s každým zásobníkem případně realizuje jednu ze zásobníkových operací a příp. změní svůj stav. Možné zásobníkové operace jsou odstranění vrcholového prvku a vložení nového prvku (1 nebo 0) na vrchol zásobníku. Je zřejmé, že fc-páskový Turingův stroj lze simulovat pomocí Turingova stroje s p zásobníky v reálném čase. Analogový neuronový akceptor N, který simuluje Turingův stroj M s p zásobníky, má pro každý zásobník tři neurony, které reprezentují obsah zásobníku, vrcholový prvek a informaci o tom, zda je zásobník prázdný. Řídící konečný automat lze implementovat podobně jako ve větě 10.3. Obsah zásobníku &! . . .bg G {0, l}3 (včetně vstupního slova na začátku) je kódován neuronovým racionálním stavem v intervalu (0, 1) l~l Q pomocí kódovací funkce (10.14): Í(61...69) = X;^1. (10.16) 8 = 1 Tedy vrcholový prvek zásobníku odpovídá ve čtyřkové soustavě první platné číslici stavu příslušného neuronu tak, že bity 1, 0 jsou reprezentovány po řadě čtyřkovými ciframi 3, 1. Navíc předpokládáme 6(e) = 0 pro prázdný zásobník. Tato funkce, na rozdíl např. od binárního kódu, umožňuje jednoduchou neuronovou implementaci zásobníkových operací v konstantním čase a dostatečnou rozlišitelnost různých stavů, protože ne každý neuronový stav z (0, 1) reprezentuje obsah zásobníku, ale naopak obor hodnot funkce 6 tvoří Cantorovu množinu. To znamená, že např. možné hodnoty (1 nebo 0) na vrcholu zásobníku vymezují obory hodnot funkce 6 tak, že mezi nimi je „díra", tj. <5(lb') e (|, 1) a <5(0b') £ {\,\) pro každé b' e {0,1}*. Následující prvky zásobníku dále omezují možné hodnoty kódu. Nakonec ještě nastíníme neuronovou implementaci zásobníkových operací. Nechť z £ (0, 1) je stav neuronu kódujícího obsah zásobníku Z. Operace načtení vrcholového prvku top(z) = a(4z - 2) e {0,1} (10.17) lze realizovat pomocí spojité neuronové funkce (10.8), (10.9). Podobně můžeme vypočítat vložení prvku b G {0, 1} na vrchol zásobníku Z: push(z, b) = Z- + ^±i = , (£ + 2^+i) G {0; 1} (1(U8) 10.2. KONEČNÉ analogové neuronové síté 249 Podobně v případě končícího výpočtu neuron out v čase t* při aktivitě vout signalizuje, zda vstupní slovo x patří do jazyka L: »& = í; x.Gř,ť=ť* (10.12) om y 0 jinak v ' ^1 = {J )Zal (10-13) Pokud neuron vou% není nikdy aktivní, výpočet akceptoru N neskončí. Tedy množina vstupních slov L = L(N), pro které skončí výpočet s aktivním výstupním neuronem out, je jazyk rozpoznávaný analogovým neuronovým akceptorem N. Navíc řekneme, že L = L(N) je rozpoznáván v čase T : N —> N, pokud všechny končící výpočty nad vstupem délky n skončí v čase t* < T(n). 10.2.1 Racionální váhy Ukážeme, že konečné analogové neuronové sítě s racionálními váhami jsou z hlediska výpočetní síly i efektivity ekvivalentní Turingovým strojům. Nejprve však ještě navíc zavedeme vstupní protokol analogového neuronového akceptoru, který je alternativou k definici 10.14. Definice 10.15 Řekneme, že analogový neuronový akceptor N = (V,inp,Y, w,h) rozpoznává jazyk L(N) pomocí vstupního stavu, jestliže vstupní slovo x = Xi . . .xn G {0, l}n je kódováno racionálním iniciálním stavem vstupního neuronu inp pomoci kódovací funkce 6 : {0, 1}+ —> (0, 1), tj. yfn}p = <5(x). Budeme používat následující kódovací funkce: %) = E^ř1 (10.14) 8 = 1 A ^ V- 10p2 - 1 + 4p(Xi - 1) Mx) = 2^--------(Tö^)i--------- p^2- (10-15) Věta 10.16 (Siegelmann, Sontag [255]) Nechť L = L(M) C {0,1}* je jazyk rozpoznávaný Turingovým strojem M v čase T(n). Pak existuje analogový neuronový akceptor N konstantní velikosti, s racionálními váhami a prahy (a tedy i stavy), který rozpoznává jazyk L = L(N) v čase T(n) + 0(n) a pomocí vstupního stavu s kódovací funkcí 6 v čase 0(T(n)), resp. s 6p v reálném čase T(n). Důkaz: Nastíníme jen základní myšlenky důkazu. Omezíme se jen na konstrukci analogového neuronového akceptoru, který rozpoznává L pomocí 252 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ s reálnými váhami a prahy v čase 0(T(n)) a dále CIRCU IT(S(n)), resp. T — CIRCUIT(S(n)), třídu jazyků rozpoznatelných (neuniformní) posloupností logických, resp. prahových, obvodů (viz definici 7.19) velikosti 0(S(n)). Navíc definujeme následující složitostní třídy jazyků: NET-P = (J NET(nk) (10.20) k>0 NET-EXP = \J NET(2kn) (10.21) k>0 CIRCUIT-P = [J CIRCUIT(nk) (10.22) k>0 CIRCUIT- EXP = \JCTRCUIT(2kn). (10.23) k>0 Věta 10.20 (Siegelmann, Sontag [254]) Nechť T : N —► N, S : N —> N jsou funkce na přirozených číslech takové, že T(n), S(n) > n pro každé přirozené číslo n £ N. Potom pro každé n £ N platí následující mkluze: (i) NET(T(n)) C CIRCUIT (T3 (n)) CIRCUIT(S{n)) C NET(nS2(n)). (ii) N ET {T {n)) C T - C IRC U IT {T2 {n)) T-CIRCUIT(S(n)) C NET(nS3{n) log 5(n)). Důkaz: Nastíníme jen základní myšlenky důkazu, zatímco technické detaily lze najít v [254]. (i) Nejprve nechť N je analogový neuronový akceptor konstantní velikosti s reálnými váhami a prahy, který v čase T(n) rozpoznává jazyk L = L(N) C {0, 1}+. Pro každé přirozené číslo n G N vytvoříme kopii Nn akceptoru N stejné velikosti, která bude mít jen racionální váhy (resp. prahy) vzniklé zaokrouhlením původních vah (resp. prahů) N na 0(T(n)) platných bitů, její aktivační saturovaná lineární funkce (10.9) bude navíc také zaokrouhlovat svoji hodnotu na T(n) platných bitů (tj. síť Nn bude mít pouze racionální stavy s přesností T(n)) a odpovídající výstup Nn se bude v čase t < T (n) shodovat s výstupem N. Analogovou neuronovou síť Nn pak transformujeme na ekvivalentní logický obvod Cn pomocí Savageovy techniky [247] (viz důkaz věty 8.7 pro prahové obvody) tak, že spojitou funkci neuronu sítě Nn realizujeme pomocí speciálního logického podobvodu C"n. Počet podobvodů C"n v obvodu Cn bude jen 0(T(n)), protože Nn má konstantní velikost. Dále podobvod C"n bude počítat funkci (10.8) s 0(1) racionálními vstupy a váhami přesnosti 0(T(n)) bitů pomocí analogie (ni) 10.2. KONEČNÉ ANALOGOVÉ NEURONOVÉ SÍTÉ 251 a odebrání prvku z vrcholu zásobníku Z: pop(z) = 4z- (2top(z) + 1) = N, S : N —> N jsou funkce na přirozených číslech. Označme NET(T(n)) třídu jazyků rozpoznatelných analogovými neuronovými akceptory (viz definici 10.14) konstantní velikosti, 254 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ třídy polynomiálních a logaritmických poradních funkcí. Také budeme někdy hodnoty poradních funkcí formálně chápat jako přirozená čísla, která vzniknou interpretací binárních řetězců z {O, 1}* jako čísel ve dvojkové soustavě. Definujeme třídu jazyků C/T = {{x e {o, i}* | (x, /(|x|)) ei}|ie£,/ef}. (10.24) Podobně se definuje třída jazyků Pre f — ĹjT, kde navíc pro poradní funkce platí, že pro každé n < m je f (n) prefixem f (m). Dále řekneme, že množina Q C {O, 1}* je řídká, jestliže existuje polynom p(n) takový, že počet slov v Q délky nejvýše n je nejvýše p(n), tj. pro každé přirozené číslo n je |{xe<3| |x| {0, 1}* | (Bpolynom p)(Vn) |/(«)| < p(n)} log = {/:N^{0,1}*| (3c> 0)(Vn) |/(n)| < c • logn} 256 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ vstupem např. nějakého univerzálního Turingova stroje. Budeme používat následující definici kolmogorovské složitosti (nekonečných) binárních řetězců. Definice 10.25 Necht U je nějaký pevný univerzální Turingův stroj, který pro kód code(M) G {0, 1}* libovolného Turingova stroje M a jeho vstup x simuluje výpočet M nad x s výstupem U(code(M),x). Nechť dále f, g : N —> N jsou funkce na přirozených číslech. Řekneme, že (nekonečný) binární řetězec Oí G {0, 1}°° U {0, 1}* má kolmogorovskou složitost Oí G K[f(n),g(n)\, jestliže existuje nekonečný binární řetězec ß G {0,1}°° (kód programu) takový, že pro nekonečně mnoho n G N a pro všechna m > f (n) univerzální Turingův stroj U v čase g (n) vypočte prvních n bitů Oí pomocí prvních m bitů ß, tj. U(ß\ . . .ßm,n) = a-\_. . .an. Podobně se definuje kolmogorovská složitost K[f(n)], avšak bez omezení na čas výpočtu U. Dále definujeme odpovídající složitostní třídy (nekonečných) binárních řetězců K[T,Q\ = {J K[f,g] (10.27) K[T] = \jK[f] (10.28) pro třídy funkcí T, Q C {/ : N ----> N}. Chápeme-li v souladu s definicí 10.21 poly a log jako třídy funkcí na přirozených číslech, pak např. K[log,poly] je třída (nekonečných) binárních řetězců, jejichž prefixy lze v polynomiálním čase vygenerovat z logaritmicky dlouhých prefixů jiných nekonečných binárních řetězců. Nebo K[n + 0(1),poly] = {0, 1}°° U {0, 1}* jsou již všechny binární řetězce, protože vstup pro univerzální Turingův stroj U může obsahovat kopírovací program konstantní délky 0(1). Dále např. K[n — 0(1)] představuje třídu tzv. kolmogorovských náhodných posloupností, které již nelze kompresovat více než o konstantní počet bitů, nebo A'[0(1)] je třída rekurzivních binárních řetězců. Definici 10.25 využijeme při definici kolmogorovské složitosti vah analogového neuronového akceptoru Definice 10.26 Nechť 6 : {0, 1}* U {0, 1}°° ----> (0, 1) je kódovací funkce (srovnejte s (10.14)), která (příp. nekonečnému) binárnímu řetězci Oí G {0, 1}*U{0, 1}°° přiřadí reálné číslo z intervalu (0, 1) např. pomocí následujícího předpisu: \a\ «(a) = E|- (10-29) 8 = 1 Zřejmě zobrazení 6 není prosté, nicméně definujeme inverzní zobrazení 6q : (0, 1) —> {0, 1}* U {0, 1}°°, tj. binární reprezentaci reálného čísla x G (0, 1) 10.2. KONEČNÉ ANALOGOVÉ NEURONOVÉ SÍTÉ 255 V důkazu věty 10.20 využíváme při konstrukci analogové neuronové sítě pouze jednu reálnou váhu a ostatní váhy jsou racionální. Na druhou stranu vyžadujeme nekonečnou přesnost váhy, což je prakticky nesplnitelný předpoklad, díky kterému podle důsledku 10.23 analogové neuronové sítě představují silnější výpočetní prostředek než jsou Turingovy stroje, které nerozpoznávají všechny jazyky. Nicméně např. ve fyzice dynamické chování systému pružin a závaží závisí na pevnostních a třecích konstantách, jejichž zaokrouhlení na libovolný počet míst může za dostatečně dlouhý čas ovlivnit dynamiku uvedeného systému. Nelze vyloučit, že kvantové jevy v biologických nervových systémech vykazují podobné vlastnosti. Na závěr tohoto odstavce ještě uvedeme bez důkazu větu, která dosvědčuje, že také analogové neuronové sítě s diferencovatelnou aktivační funkcí hyperbolickým tangens (1.10), s níž je manipulace technicky náročnější než se saturovanou lineární funkcí (10.8), simulují Turingovy stroje. Věta 10.24 (Kilián, Siegelmann [148]) Existuje analogová neuronová síť N = (V, 0, out, yv , w, h) velikosti s, s reálnými váhami a aktivační funkcí hyperbolickým tangens: která nemá vstupy a má jeden výstup out G V, a dále existuje rekurzivní kódovací funkce 6(M, x) G Rs pro libovolný Turingův stroj M a jeho vstup x taková, že M se zastaví na vstup x, právě když stav výstupního neuronu V out > f v nějakém čase t* výpočtu sítě N s počátečním stavem y^ = 6(M, x). Naopak výpočet M na vstup x neskončí, právě když stav výstupního neuronu y0^t < \ v každém čase t výpočtu sítě N s počátečním stavem y^ = í(M,x). 10.2.3 Kolmogorovská složitost vah V tomto odstavci se omezíme na polynomiální výpočty analogových neuronových akceptoru. Podle věty 10.16 neuronové sítě s racionálními váhami pak rozpoznávají právě jazyky z třídy P a podle důsledku 10.23 sítě s reálnými váhami řeší problémy z třídy P' j poly. Ukážeme, že mezi P a P j poly je hierarchie tříd složitosti, kterou lze přirozeně definovat tak, že klademe jistá omezení na množství informace zakódované v reálných váhách analogových neuronových akceptoru pracujících v polynomiálním čase. Množství informace ve váhových parametrech sítě budeme měřit pomocí kolmogorovské složitosti [172]. Intuitivně kolmogorovská složitost nějakého objektu odpovídá deskriptívni složitosti programu, který tento objekt vygeneruje, je-li 258 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ charakterizuje třídu N ET — P(K[log, poly]) = Pre f — P/log = P/log jazyků rozpoznatelných v polynomiálním čase analogovými neuronovými akceptory s váhami logaritmické kolmogorovské složitosti (s polynomiálním omezením na čas jejich generování) pomocí známé složitostní třídy P'/log. Věta 10.29 (Balcázar, Gavaldä, Siegelmann [27]) Necht T, Q C {/ : N ----y N} jsou třídy funkcí uzavřené na O(-) a T < Q. Pak NET- P(K[f,poly]) C NET - P(K[G, poly]). (10.31) Věta 10.29 dosvědčuje existenci hierarchie složitostních tříd mezi P a P/poly definovanou polynomiálními výpočty analogových neuronových akceptorů s váhami dané kolmogorovské složitosti. Například můžeme uvažovat posloupnost tříd funkcí Tk = 0(fk), kde f\ = log a fk+i = log/j, pro k > 1. pro kterou lze snadno ukázat, že Tk+i < Tk. Dostaneme tak hierarchii složitostních tříd NET - P(K[Tk+1,poly]) C N ET - P(K[Tk,poly]) (k > í), v níž jsou všechny inkluze ostré. 10.3 Posloupnosti neuronových sítí V předchozích dvou podkapitolách jsme uvažovali diskrétní a analogové konečné neuronové sítě. V této podkapitole budeme v analogii s posloupnostmi obvodů (viz odstavec 7.1.4) uvažovat obecně neuniformní nekonečné posloupnosti diskrétních cyklických neuronových sítí, kde každé délce vstupu odpovídá právě jedna síť s příslušným počtem vstupních neuronů. Posloupnosti cyklických neuronových sítí budeme využívat k rozpoznávání jazyků. Také definujeme příslušné složitostní třídy pro polynomiální velikost cyklických sítí, resp. Hopfieldových sítí (popř. s malými váhami). Definice 10.30 Definujeme nekonečnou posloupnost cyklických neuronových sítí N = (No, Ni, N2, ■ ■ ■), v níž neuronová síť Nn = (Vn, Xn,Yn, An, wn,hn) (n > 0) má \Xn\ = n vstupů. Velikost posloupnosti N je taková funkce S : N ----> N na přirozených číslech, že velikost sítě Nn v této posloupnosti je pro každé n > 0 menší nebo rovna S(n). Řekneme, že posloupnost cyklických neuronových sítí s jedním výstupem, tj. \Yn\ = 1 pro n>0, rozpoznává jazyk L = £(N) C {0, 1}*, jestliže pro každý vstup x £ {0, l}n síť Nn konverguje v plně paralelním režimu s výstupem 1, právě když x£i. Označme PNETS třídu jazyků rozpoznatelných posloupnostmi cyklických neuronových sítí polynomiální velikosti S(n) = 0(nc), kde c je konstanta, dále označme P H N ET S, resp. P H N ET SW, třídu jazyků rozpoznatelných posloupnostmi Hopfieldových sítí polynomiální velikosti, resp. s malými váhami. 10.2. KONEČNÉ ANALOGOVÉ NEURONOVÉ SÍTĚ 257 tak, že vybereme např. libovolný prvek 6q (x) £ 6~ľ(x) ze vzoru 6~1(x), protože prvky 6~ľ(x) mají (až na malou aditivní konstantu) stejnou kol-mogorovskou složitost. Řekneme, že reálná váha w £ IR má kolmogorovskou složitost w £ K[f(n),g(n)], jestliže binární reprezentace její desetinné části u)' £ (0,1) má kolmo gorovskou složitost 6^ (u/) G K[f(n),g(n)]. Dále pro třídu funkcí T C {/ : N —> N} definujeme třídu NET — P\K[T,poly]) jazyků rozpoznatelných analogovými neuronovými akceptory s váhami kolmogorovské složitosti K\T,poly] v polynomiálním čase. Před tím, než zformulujeme bez důkazu příslušné věty ohledně polynomiálních výpočtů analogových neuronových akceptorů s reálnými váhami dané kolmogorovské složitosti, definujeme ještě požadované vlastnosti tříd funkcí na přirozených číslech a jejich hierarchie. Definice 10.27 Nechť T, Q C {/ : N —> N} jsou třídy funkcí na přirozených číslech. Řekneme, že T je třída rozumných poradních funkcí, jestliže splňuje následující tři podmínky: 1. T Q poly. 2. T je uzavřená na 0(), tj. pro libovolné funkce f,g : N —> N když g = 0(f) a f £ T, pak g £ T. 3. Pro každý polynom p a libovolnou funkci f G T existuje g G T, jejíž hodnotu g(n) lze počítat Turingovým strojem v polynomiálním čase vzhledem k n a platí, že složená funkce f op < g. Dále definujeme hierarchii tříd funkcí tak, že T < Q, jestliže existuje funkce g G Q vyčíslitelná v polynomiálním čase a g = o(n) taková, že pro každý polynom p a libovolnou funkci f E J7 platí f o p(n) = o(g(n)). Připomeňme, že f = o(g), právě když pro každé e > 0 existuje no tak, že pro všechna n > no platí f (n) < sg(n). Věta 10.28 (Balcázar, Gavaldä, Siegelmann [27]) Nechť T C {/ : N ----y N} je třída rozumných poradních funkcí, pak NET- P(K[T, poly]) = Pre f - PjT. (10.30) Dá se např. snadno ukázat, že poly (podobně log) tvoří třídu rozumných poradních funkcí. Proto důsledek 10.23 je speciálním případem věty 10.28, tj. N ET — P(K\poly, poly]) = Pref — P/poly = P/poly = NET — P, protože kolmogorovská třída složitosti K\poly,poly] již zahrnuje všechny reálné váhy. Podobně věta 10.16 v případě polynomiálních výpočtů je také speciálním případem věty 10.28, tj. NET — P(K[0(í),poly]) = P, protože racionální váhy mají konstantní kolmogorovskou složitost. Věta 10.28 ale také např. 260 KAPITOLA 10. VÝPOČETNÍ SÍLA NEURONOVÝCH SÍTÍ Pro P f poly C PHNETSW konstruujeme Hopfieldovu síť -/V|x|, která simuluje Turingův stroj M pracující v polynomiálním čase T(n) = 0(nc) (c je konstanta) pro vstup (x,/(|x|)) polynomiální délky. Podobně jako v důkazu věty 10.31 nejprve pomocí techniky z důkazu věty 8.11 vytvoříme odpovídající obecnou cyklickou neuronovou NL, síť polynomiální velikosti s, jejíž váhaje omezená nějakou konstantou W závisející na M a která se zastaví v polynomiálním čase 0(T(n)). Ze sítě NĽ, vytvoříme pomocí věty 8.21 0(í)-ekvivalentní Hopfieldovu síť 7Vixi velikosti 0(s2). Z důkazu této věty maximální váha podsítě Nj< je konstantní O(W) = 0(1), a proto maximální váha /Vixi je dána maximální váhou použitého čítače. V tomto případě díky polynomiálnímu výpočtu N! , můžeme použít čítač s 0(logT(n)) bity a podle důkazu věty 8.18 maximální váha 0(logT(n))-bitového čítače je polynomiální 20(logT(n)) = nO(c)^ Tedy N má malé yáhy^ D 10.3. POSLOUPNOSTI NEURONOVÝCH SÍTI 259 V následujícím výkladu dokážeme věty, které charakterizují výpočetní sílu posloupností cyklických neuronových sítí tak, že porovnávají příslušné složitostní třídy z definice 10.30 se známými třídami z teorie neuniformní složitosti (viz definici 10.21). Věta 10.31 (Lepley, Miller [169]) P N ET S = PSPACE/poly. Důkaz: Nejdříve nechť L £ PNETS, tj. máme posloupnost N = (No, Ni, N'2, ■ ■ •) cyklických neuronových sítí polynomiální velikosti, která rozpoznává L = i(N). Zřejmě existuje Turingův stroj M, který pro vstup (x, cocře(/V|x|)) simuluje výpočet -/Vixi na vstup x v lineárním prostoru. Označme jazyk A = L(M) £ PSPACE. Dále definujeme poradní funkci / : N —> {0, 1}*, jejíž hodnota je f(n) = code(Nn) pro n £ N. Polynomiální velikost N implikuje / £ poly. Tedy L = {x £ {0, 1}* | (x, /(|x|)) £ A} £ PSPACE/poly. Z toho vyplývá, že PNETS C PSPACE/poly. Nechť tedy naopak L = {x £ {0, 1}* | (x, /(|x|)) £ A} £ PSPACE/poly pro nějaký jazyk A = L(M) G PSPACE rozpoznávaný Turingovým strojem M v polynomiálním prostoru a poradní funkci / G poly. Pomocí techniky z důkazu věty 8.11 zkonstruujeme cyklickou neuronovou síť N\x\ polynomiální velikosti, která simuluje výpočet Turingova stroje M s polynomiálním prostorem pro vstup (x,/(|x|)), tak, že hodnotu /(|x|) polynomiální délky např. zakódujeme do množiny iniciálních neuronů sítě -/Vyzískáme tak obecně neuniformní posloupnost N = (N0, /V1; /V2, • • •) cyklických sítí polynomiální velikosti, která rozpoznává L = £(N) G PNETS. Tedy PSPACE/poly C PNETS. □ Věta 10.32 (Orponen [209]) (i) PHNETS = PSPACE/poly. (ii) PHNETSW = P/poly. Důkaz: (i) Důkaz tvrzení je obdobou důkazu věty 10.31. Při simulaci Turingova stroje M s polynomiálním prostorem pro vstup (x, /(|x|)) pomocí Hop-fieldovy sítě /V|x| navíc bez újmy na obecnosti předpokládáme, že M se zastaví pro každý vstup, a využijeme větu 8.21. (ii) Důkaz tvrzení je podobný důkazu (i). Pro PHNETSW C P'/poly simulaci plně paralelního výpočtu Hopfieldovy sítě /V|x| polynomiální velikosti, s malými váhami na vstup x lze pomocí Turingova stroje realizovat v polynomiálním čase, protože výpočet /V|X| vstoupí podle věty 8.16 v polynomiálním čase do cyklu délky nejvýše 2. 262 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ tj. nezáleží na nich. Řekneme, že výstup y = Cf(x) G {O, l}m obvodu pro vstup x £ {O, l}n souhlasí (je konzistentní^) s požadovaným výstupem d £ {0, l,-k}"1, a značíme y \= d, jestliže pro všechna j = 1, . . .,m požadovaný binární bit dj £ {0,1} implikuje yj = cřj. Podobné funkce C f obvodu C je konzistentní s tréninkovou množinou T, značíme Cf \= T, jestliže pro všechna (x, d) G T p/ať« C/(x) ^= d. Tréninkový problém LP (Loading Problem [143]): instance: Architektura obvodu A; tréninková množina T pro A. výstup (vyhledávací verze): Konfigurace i taková, že Cf \= T. otázka (rozhodovací verze): Existuje konfigurace i taková, že Cf \= T? Je zřejmé, že vyhledávací verze LP je nejméně tak těžká jako jeho rozhodovací verze, protože algoritmus, který hledá příslušnou konzistentní konfiguraci také rozhoduje o její existenci. Naším cílem je ukázat, že LP je obecně algoritmicky těžký problém, a pro tento účel je tedy postačující omezit se na rozhodovací verzi LP. Nejprve zpřesníme definici rozhodovací verze LP pro danou třídu hradlových funkcí tak, že formálně definujeme jazyk Perfjr (Performability). Definice 11.2 Nechť T je třída hradlových funkcí. Dále označme A = (V, X, Y, E) architekturu, l konfiguraci a T tréninkovou množinu. Definujeme následující jazyk (problém): PerfT={(A,T) \ (31 : V -^ T) C'f \= T } . (11.2) Vhodnou volbou třídy T prahových funkcí dostaneme tréninkový problém pro různé modely acyklických neuronových sítí, např. pro logické nebo (analogové) prahové obvody (viz kapitolu 7). Zamysleme se nyní nad relevancí LP, resp. P er f t pro učení acyklických neuronových sítí. Naše úvahy vychází z recenze [32] knihy [143] a z článku [263]. Při učení (acyklických) neuronových sítí v praktických aplikacích máme většinou k dispozici tréninkovou množinu, kterou se snažíme naučit síť zvolené pevné architektury s danou třídou T prahových funkcí. Hlavní námitkou proti adekvátnosti LP je, že pevná architektura je součástí vstupu, zatímco v praxi obvykle hledáme architekturu, pro kterou by učení sítě bylo efektivní, např. při aplikaci učícího algoritmu backpropaga-tion (viz odstavec 2.2.6). Avšak prvotním cílem výzkumu neuronových sítí je univerzální efektivní učící pravidlo pro libovolnou architekturu sítě. Navíc LP můžeme zobecnit pro danou třídu A architektur, např. Perfý = {T | (3A G A) (31 : V —> T) Cf \= T } , (11.3) který pro |^4| = 1 splývá s původním problémem Perfp, proto je aspoň tak těžký. Na druhou stranu LP bez omezení na přípustné architektury nemá Kapitola 11 Složitost učení neuronových sítí V předchozích kapitolách této části jsme se zabývali výpočetní sílou neuronových sítí, resp. efektivitou jejich aktivní dynamiky. Ukázali jsme, že různé modely neuronových sítí jsou srovnatelné s klasickými výpočetními modely. V této a následující kapitole se zaměříme na složitostní analýzu učení neuronových sítí, tj. na adaptivní dynamiku, v níž spočívá hlavní přínos neuronových sítí (viz podkapitolu 1.4). 11.1 Tréninkový problém Abychom mohli studovat fenomén učení neuronových sítí z hlediska teorie složitosti, zformulujeme nejprve tzv. tréninkový problém (training problem, resp. loading problem) pro acyklické neuronové sítě, resp. pro obvody (viz podkapitolu 7) a budeme diskutovat jeho relevanci v aplikacích neuronových sítí při jejich učení z příkladů. Definice 11.1 Nechť C = (V, X, Y, E, €) je obvod (viz definici 1.1) s architekturou A = (V, X, Y, E) (n = \X\, m = \Y\) a konfigurací £. Budeme značit Cf : {0, l}n —> {0, l}m funkci C (viz definici 7.2) určenou architekturou A a konfigurací l. Dále množina r = {(x,,d,) lx, e {o,i}", d, e {o,i,*}m, k = í,...,P} (íi.i) p tréninkových vzorů (příkladůj, tj. dvojic vstupu xj, a odpovídajících požadovaných výstupu dj, (k = 1, . . . ,p) obvodu C, se nazývá tréninková množina pro architekturu A, kde hodnoty * u požadovaných výstupů jsou irelevantní, 9R1 264 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Obr. 11.1: Podobvod odpovídající proměnné a?j. Definujeme architekturu A = (V, X, Y, E) obvodu, který má jen dva vstupy X = {a,b} a pro každou booleovské proměnnou X{ G Xi resP- Pro každou klauzuli Kj, (j = l,...,p) instance 3SAT, obvod obsahuje čtyři, resp. jedno, odpovídající výstupní hradlo Y = {ai,ßi,7i,6i \xi éx}U{c, \j = í,...,p}, (11.4) tj. V = X U Y. Čtveřice hradel odpovídajících booleovské proměnné xí G x tvoří dvouvrstvý podobvod po dvou výstupních hradlech v první [cti, ßi) a druhé (ji, 6i) vrstvě. Hradlo Cj ve druhé vrstvě příslušející ke klauzuli K j je spojeno s jedním hradlem v první vrstvě odpovídajícím xí, přesněji s cn, pokud x, G Kj, resp. s ßi, jestliže x, G Kj. Příslušný podobvod je naznačen na obrázku 11.1. Následuje formální definice množiny orientovaných hran architektury A: E = {(a,ai),(a,ßi),(b,ai),(b,ßi), (ui,-fi),(ui,bi),(ßi,-fi),(ßi,bi) I xí G x} U (11.5) U {(a;, Cj) | x i G K j} U {(ßi,Cj) | x{ G K j} . 11.1. TRÉNINKOVÝ PROBLEM 263 smysl. Pro každou tréninkovou množinu T lze totiž efektivně sestrojit architekturu A (např. každý neuron v první skryté vrstvě sítě odpovídá jednomu tréninkovému vzoru) a k ní konfiguraci i takovou, že Cf \= T. Avšak taková neuronová síť spíše odpovídá tabulce v paměti klasické von neumannovské architektury počítače a nelze u ní hovořit o generalizaci (viz odstavec 1.4.1). To zeslabuje zmíněnou námitku. Další námitkou proti relevanci LP může být fakt, že LP je formulován pro klasický počítač (např. Turingův stroj), zatímco vlastní učení je součástí adaptivního režimu neuronové sítě. To znamená, že např. algoritmus pro LP má neomezený globální přístup k architektuře A a k tréninkovým vzorům z T. V tomto případě je ale distribuovaný adaptivní režim sítě při řešení LP omezenější, a tedy LP je z tohoto hlediska pro klasický počítač lehčí. Na druhou stranu neuronová síť může využít paralelismu, avšak dosažené zrychlení sekvenčního algoritmu řešícího LP na klasickém počítači je úměrné nejvýše velikosti architektury 0(|j4|), tj. je lineární vzhledem k délce vstupu LP. Z uvedeného vyplývá, že z hlediska složitosti je LP relevantním modelem učení acyklických neuronových sítí v tom smyslu, že učení sítí je nejméně tak těžké jako LP. Uvažujme architekturu s jedním perceptronem, který počítá booleovskou prahovou funkci. Odpovídající tréninkovou množinu, kterou lze zadat jen polynomiálním počtem (vzhledem k počtu vstupů) všech tréninkových vzorů s jednotkovým výstupem, zatímco u ostatních vzorů se implicitně předpokládá nulový výstup, je možno chápat jako booleovskou funkci v disjunktivní normální formě polynomiální délky, kde jednotlivé monomy odpovídají tréninkovým vzorům. Podle věty 6.41 je však o takové funkci těžké algoritmicky rozhodnout, zda je booleovskou prahovou funkcí, tj. zda uvedený perceptron lze naučit uvedenou tréninkovou množinu. To naznačuje, že LP je algoritmicky těžký problém, tj. je velmi nepravděpodobné, že za uvedených předpokladů existuje obecně efektivní učící algoritmus pro acyklické neuronové sítě. Následující věta tuto hypotézu potvrzuje. Věta 11.3 (Judd [143]) Pro {AND,OR} C T je PerfT N P-Úzký ■problém. Důkaz: Důkaz tvrzení provedeme polynomiální redukcí 7V_P-úplného problému 3SAT [47] na Perfjr. Problém 3SAT je variantou problému SAT (viz důkaz věty 8.9), v níž instance mají v klauzulích nejvýše tři literály. Nechť tedy x = {xi, ■ ■ ■, xn) je množina n booleovských proměnných a K\, . . ., Kp jsou klauzule s nejvýše třemi literály (\Kj\ < 3 pro j = 1, . . .,p) booleovské formule / v konjunktivní normální formě, tj. instance problému 3SAT. V polynomiálním čase zkonstruujeme odpovídající instanci (A, T) problému Perfjr takovou, že /je splnitelná, právě když (A,T) G Per f jr. 266 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ což spolu s konzistencí I2 implikuje, že fai(0,1) í 0 nebo />2(0,1) ^ 0 nebo />3(0,1) ^ 0 . (11.19) Formule (11.19) lze podle (11.17) přepsat: /ai(0,l)=l nebo /«2(0,1) = 0 nebo /as(0,l) = 0. (11.20) Získaná formule (11.20) pak odpovídá sémantice klauzule K j = {x\ VŽ2VŽ3), když xí chápeme jako „/tti(0,l) = 1". Obecně tedy ohodnocení u> : X ----> {0,1} proměnných, definované u>(x{) = /«,(0,1) pro i = í,...,n, splňuje /. Ü Důkaz věty 11.3 lze jednoduše upravit [143] tak, že příslušná redukce nevyžaduje irelevantní výstupy, které nemusí odpovídat situaci při učení neuronových sítí v praktických aplikacích. Dále alternativní důkaz této věty [143] pro nepatrně silnější třídu hradlových funkcí (kromě AN D a OR obsahuje i jejich negace a negace jejich vstupů, tj. podle lemmy 6.27 je obsažena ve třídě booleovských prahových funkcí) uvažuje i skryté neurony, jejichž hodnoty nejsou nijak předepsány tréninkovou množinou. Z uvedeného vyplývá, že odstraněním některých technických předpokladů (irelevantní výstupy, absence skrytých neuronů), které zpřehledňují redukci v důkazu věty 11.3, se složitost LP nemění. Jako důsledek věty 11.3 dostáváme 7V_P-úplnost Perfj- pro různé třídy T hradlových funkcí. Důsledek 11.4 (Judd [143]) Perfjr je NP-úplný problém např. pro následující třídy T hradlových funkcí: (i) T = {AND, OR} (logické obvody). (ii) T je třída booleovských prahových funkcí (prahové obvody). (iii) T je třída booleovských funkcí. Důkaz: Uvedené třídy T hradlových funkcí obsahují funkce AN D a OR, a tedy 7V_P-těžkost problému Perfjr je přímým důsledkem věty 11.3. (i) Zřejmě Perfjr G NP, protože nedeterministický algoritmus v polynomiálním čase uhádne pro každé hradlo j jeho funkci ^(j) G {AND, OR} a ověří konzistenci funkce obvodu s tréninkovou množinou. (ii) Obdobně jako v části (i), avšak v tomto případě se hádají reprezentace booleovských prahových funkcí, které lze podle věty 6.30 reprezentovat pomocí polynomiálního počtu bitů. 11.1. TRÉNINKOVÝ PROBLEM 265 Dále tréninková množina T = {I2,13, h} obsahuje tři tréninkové vzory: Ix = (01,(**01)nlp) (11.6) I2 = (00,(0000)n0p) (11.7) h = (11,(1111)"P). (11.8) Nechť tedy nejprve / je splnitelná a ohodnocení u> : x —y {0, 1} proměnných dosvědčuje splnitelnost /. Definujeme konfiguraci £ : V ----> T ({AND,OR} CT): ť<°'> = {and :<:;!=J -=x.....» <»-9> >m - \zD :$=; <='.....- (»••») £(7i) = AND £(6i) = OR i=l,...,n (H-H) £{Cj) = OR j = l,...,P, (11.12) u které lze jednoduše ověřit konzistenci Cf \= T. Nechť naopak £ : V —> T je konfigurace taková, že Cf \= T. Označme pro každé hradlo j G V odpovídající funkci fj = £(j) G T. Z konzistence tréninkových vzorů I\ a I2 dostáváme /í,(/«,(0, 1), //3,(0,1)) = 1 + 0 = /íť(/ai(0, 0), fßi(0, 0)), (11.13) což spolu s konzistencí I2 implikuje, že /«,(0,1) í /«,(0, 0) = 0 nebo fßt(0,1) ± fßi(0, 0) = 0 . (11.14) Podobně z konzistence tréninkových vzorů li a I3 dostáváme /7,(/«,(0, 1), //3,(0, 1)) = 0 # 1 = /7,(/a,(l, 1), fß,(l, 1)) , (11.15) což spolu s konzistencí 73 implikuje, že /«,(0,1) í /«,(1,1) = 1 nebo />,(0,1) ^ fßt(l, 1) = 1. (11.16) Ze vztahů (11.14) a (11.16) vyplývá, že /«,(0,1)^/>,(0,1) i=l,...,n. (11.17) Nyní uvažujme klauzuli K j (1 < j < p), která má např. tvar K j = (xi V X2 V X3). Z konzistence tréninkových vzorů I\ a I2 dostaneme: .M/a,(0,1), ^(0,1), fß3(0,l))=l ŕ (11.18) í 0 = /Cj(/«1(0,0),//32(0,0),//33(0,0)), 268 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ (ii) Omezené tréninkové množiny: • Tréninková množina T je monotónní, tj. existuje monotónní funkce f : {0, 1}* ----> {0, 1}* taková, že f \= T (f je monotónní, jestliže všechny x < x', tj. pro X{ = 1 je také x\ = 1, implikují f(x) < f(x') nebo jestliže všechny x < x' implikují f(x) > f(x')). • Tréninková množina T je generována pomocí funkce Cf obvodu se stejnou architekturou A a konfigurací £g : V ----> Q z třídy Q hradlových funkcí, pro kterou platí {AND, OR} Q G Q J7, tj. Cf \= T. (Přesněji uvažujeme modifikovaný výpočetní problém Perf%, kt erý pro vstup (A, T) má výstup 1, jestliže existuje l : V ----> T tak, že Cf \= T, a má výstup 0, jestliže neexistuje ig : V ----> T tak, že Cf \= T. Problém Perf^- je NP-téžký (resp. N P -úplný) napr. i pro Q = {AN D, OR} a T třídu všech booleovských funkcí.) (iii) Zeslabení konzistence: • Funkce obvodu C/(x) \= d je konzistentní pro aspoň 67% celých tréninkových vzorů (x, d) G T z tréninkové množiny T. Důkaz: Instance (A, T) problému Perfjr konstruovaná při polynomiální redukci z instance 3SAT v důkazu věty 11.3 splňuje současně všechny podmínky uvedené v tvrzení. Např. zeslabení konzistence (iii) je dosaženo tak, že 67% tréninkových vzorů ze tří představuje již všechny tři vzory. Tedy TV-P-úplnost LP platí pro konjunkci uvedených omezení. □ 11.2 Mělké a hluboké architektury Dalším důležitým speciálním případem tréninkového problému (viz podkapitolu 11.1) je omezení se na tzv. mělké architektury. Definice 11.7 Nechť A = (V, N, Y, E) je architektura obvodu a T je třída jeho hradlových funkcí. Množinu sc(j) C V hradel, které ovlivňují výstup j £ Y (včetně j), tj. vede z nich orientovaná cesta do j, nazveme kužel (support cone) výstupu j. Podobně označme množinu sc(Y') = lj?-ey/ sc(j) hradel kuželů vybraných výstupů z Y' C Y. Dále definujeme tzv. SGT-gľ&f (support cone interaction graph) G = (Y, I), což je neorientovaný graf interakcí kuželů v A, jehož vrcholy jsou výstupy zY a hrany mezi výstupy indikují neprázdnost průniku odpovídajících kuželů, tj. I = {{«', j} | sc(i) n sc(j) ^ 0; i) j £ Y}. Třídu sccs(j) = {£j : sc(j) —> T} všech částečných konfigurací kužele j E Y nazveme prostor konfigurací kužele j (support cone configuration space). Řekneme, že A je třída mělkých architektur, jestliže pro každou architekturu 11.1. TRÉNINKOVÝ PROBLEM 267 (iii) Obdobně jako v části (i), avšak reprezentace obecných booleovských funkcí mohou být exponenciální (viz větu 7.9). Na druhou stranu pro každé hradlo stačí uhádnout jen tu část reprezentace (na zbytku se předpokládají např. nulové hodnoty), která se uplatní při výpočtu obvodu pro vstupy tréninkových vzorů, a tedy ji lze reprezentovat jen polynomiálním počtem bitů (vzhledem k velikosti tréninkové množiny). Ü Větu 11.3 lze také zobecnit pro analogové prahové obvody (viz definici 7.42) s omezenou monotónní aktivační funkcí [143]. Jako důsledek, který uvedeme bez důkazu, obdržíme složitost LP pro analogové prahové obvody se standardní sigmoidou, kterou využívá učící algoritmus backpropagation. Věta 11.5 (Judd [143]) Perfjr je NP-úplný problém pro třídu T funkcí (7.2/f) složených z lineární a aktivační funkce, pokud uvažujeme standardní sigmoidu (7.25) a separaci £1(1) binárního výstupu (7.26). Herbert Wiklicky dokonce ukázal [291], že LP pro neuronové sítě vyššího řádu (viz odstavec 1.3.2), tj. prahové obvody s hradly, které místo lineární funkce vstupů počítají polynom, je algoritmicky nerozhodnutelný problém. Z důsledku 11.4 a věty 11.5 vyplývá, že složitost problému Perfj- v důkazu věty 11.3 v podstatě nezávisí na třídě T hradlových funkcí, a tedy se dále, kde není třeba, budeme odkazovat na LP bez specifikace T. Přesněji řečeno odchylky od 7V_P-úplnosti Perfj- jsou pro triviální T (\T\ = 1), kdy problém LP není 7V_P-těžký, a pro složité T (bez polynomiálního popisu), kdy LP není v N P. Tedy můžeme uzavřít tvrzením, že LP je v obecném případě algoritmicky těžký problém s diskutovanými důsledky pro učení acyklických neuronových sítí. Možnou příčinou nepříznivé složitosti LP by mohla být jeho přílišná obecnost. Proto se v následujícím výkladu budeme zabývat speciálními případy LP, které by mohly zefektivnit jeho řešení. Avšak třída instancí LP musí být nekonečná, jinak by jeho složitost byla konstantní 0(1). Dalšímjed-noduchým důsledkem důkazu věty 11.3 je 7V_P-úplnost LP i pro jeho velmi omezené instance. Důsledek 11.6 (Judd [143]) Problém Perfj- je NP-úplný i pro konjunkci následujících omezení instancí (A = (V, X. Y. E), T): (i) Omezené architektury: • Hloubka architektury A je nejvýše 2 (1 skrytá vrstva). • Počet vstupů každého hradla v architektuře A je nejvýše 3. • Počet vstupů architektury A je \X\ = 2. 270 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Obr. 11.2: SCI-graí podobvodu z obrázku 11.1. Pro tento účel popíšeme speciální křížovou konstrukci. Uvažujme zkřížení hran (q, q'), (r, r') £ E vedoucích v architektuře A z první do druhé vrstvy (tj. např. (uí, Cj), (ßi*, Cji) E E). Přidáme průnikový vrchol u a místo hrany (q,q') uvažujeme hrany (q,u), (q',u) a podobně hranu (r, r') nahradíme hranami (r, u), (r', u), tj. hradla q', r' se přesunou do první skryté vrstvy. Navíc každá z dvojic hradel q,q' a r,r' má svoji kopii vstupů z X = {a, b} architektury A, tj. aq,bq a ar, br. Při šíření signálu těmito hranami v případě vstupu a = 0, b = 1 chceme, aby výstup z hradla q odpovídal vstupu do hradla q' a podobně aby výstup z hradla r odpovídal vstupu do hradla r'. Navrhneme tréninkové vzory pro tyto hradla, které uvedenou vlastnost zajistí až na negaci, tj. nová realizace původních hran (q, q'), (r, r') neguje procházející signál. Opětovnou negaci lze docílit pomocí techniky z důkazu věty 11.3 11.2. MĚLKÉ A EL UBOKE ARCHITEKTURY 269 A vji>vj+i,i> vj,i+i £ Y}- Důkaz: (i) Stačí si uvědomit, že polynomiální redukce v důkazu věty 11.3 využívá obvody s kužely velikosti nejvýše 4 (sc(cj)) a také počet vstupů hradel není větší než 3 (srovnejte s (i) ve větě 11.6). Tedy velikost prostoru konfigurací kužele je pro každý výstup shora omezena konstantou a konstruovaný obvod má mělkou architekturu. (ii) Na obrázku 11.2 je zobrazen SCI-graí architektury podobvodu z obrázku 11.1, který při redukci 3SAT na LP v důkazu věty 11.3 odpovídá proměnné xí booleovské formule /. Ve vrcholech S'CJ-grafu jsou navíc kromě (zakroužkovaných) označení těchto vrcholů znázorněny i odpovídající kužele s původní strukturou. Je zajímavé, že původní orientovaný graf architektury A = (V,X,Y,E) (obrázek 11.1) bez vstupů a jeho neorientovaný SCI-graí G = (Y, I) (obrázek 11.2) bez spojů s Cj jsou až na orientaci hran izomorfní, a tedy je můžeme podle potřeby zaměňovat. Chceme dokázat, že existuje rovinné nakreslení (tj. bez křížení hran) S'CÍ-grafu G architektury A celého obvodu konstruovaného v důkazu věty 11.3. Nakreslení na obrázku 11.2 S'CÍ-grafu architektury uvedeného podobvodu je rovinné, avšak spojení architektur těchto podobvodu odpovídajících booleovským proměnným x, s hradly Cj G Y příslušejícími klauzulím Kj může obecně způsobit zkřížení hran. 272 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ 7V_P-úplné grafové problémy lze řešit v polynomiálním čase pro podtřídu grafů s omezenou šířkou ramene [41]. Definice 11.9 Řekneme, že (T, D) je stromová dekompozice neorientovaného grafu G = (V, E), jestliže T = {Vj C V \ j G J} jsou podmnožiny vrcholů G a D je strom s množinou vrcholů J takový, že (i) V = \Jj€JVj. (ii) Pro každou hranu {u, v} G E existuje j E J tak, že u, v G Vj. (iii) Pro všechny i, j, A; G J, pokud j leží na cestě z i do k ve stromě D, pak Ví n 14 C Vj. Šířka stromové dekompozice (T, D) je maxjgj \Vj | — 1 a šířka ramene grafu G je minimální šířka přes všechny jeho stromové dekompozice. Navíc řekneme, že stromová dekompozice je kompresovana, pokud pro každé i, j G J platí V%Vj. Lemma 11.10 (i) Pro danou stromovou dekompozici (T, D) grafu G = (V, E) lze sestrojit kompresovanou stromovou dekompozici stejné šířky v lineárním čase. (ii) V každé kompresované stromové dekompozici (T, D) grafu G = (V, E) s r = \V\ vrcholy má strom D nejvýše r vrcholů. Důkaz: (i) Nechť T = {Vj C V \ j G J} a strom D = (J, F) má množinu vrcholů J a hran F. Jestliže nějaké Vj. C Vi, pak podle (ni) z definice 11.9 také Vk = Vk H Ví C Vj pro {k, j} G -F1 a j leží na cestě z k do i ve stromě D. V tomto případě odstraníme Vk z T a vrchol k z D tak, že spojíme všechny j' sousedy k kromě j ({j1, k} G F a j ^ j' G J) s vrcholem j. Tímto neprodloužíme žádnou cestu v D (zachováme platnost (iii) v definice 11.9), ani nezměníme šířku stromové dekompozice. Opakujeme tento postup, pokud třeba, pro každou hranu z ŕ1 a v lineárním čase sestrojíme kompresovanou stromovou dekompozici. (ii) Důkaz probíhá indukcí dle r. Případ r = 1 je triviální. Předpokládejme, že tvrzení platí pro r — í. Rozšíříme stromovou dekompozici o nový vrchol i, který připojíme k listu j G J ve stromě D. Jistě existuje vrchol v i G Ví \ Vj v grafu G, protože uvažujeme kompresovanou stromovou dekompozici, v níž Ví <2 Vj. Všechny cesty do i ve stromě D vedou přes j, a tedy neexistuje k G J takové, že Vi G Vk- Kdyby totiž Vi G Vk, pak by Vi G Vk H Vi C Vj, což je spor. To znamená, že počet vrcholů v G roste aspoň tak rychle jako vrcholy v D. □ 11.2. MELKE A HL UBOKE ARCHITEKTURY 271 h___bg Pi P'i P3 Pi P5 P6 0 0 * * 1 1 * * 0 0 1 1 o o 1 1 o o 1 1 Tabulka 11.1: Relevantní část tréninkové množiny pro křížovou konstrukci. (viz (11.17)). Relevantní část tréninkové množiny vyžaduje 6 tréninkových vzorů a je naznačena v tabulce 11.1. Nyní porovnáním P\ a P^ (podobně jako (11.13) a (11.14) v důkazu věty 11.3) dostáváme, že fq(0, 1)^0 nebo fq'(0, 1) ^ 0, a porovnáním P3 a PA obdržíme, že fq(0, 1) ^ 1 nebo fq,(0, 1) ^ 1, tedy fq(0, 1) ^ /g/(0,l). Podobně porovnáním Pí a P5 dostáváme, že /r(0,l) ^ 0 nebo /r'(0, 1) ^ 0, a porovnáním P3 a P6 obdržíme, že /r(0, 1)^1 nebo /r,(0,l) ŕ 1, tedy /r(0,l) ^ /r,(0,l). Zřejmě /r(0, 1), fq(0, 1) jsou negativní kopie /g<(0, l),/r'(0, 1). V architektuře A je jen polynomiální počet křížových bodů, tedy pomocí uvedené křížové konstrukce dostaneme odpovídající architekturu s planárním .SCi-grafem v polynomiálním čase. Navíc je tato architektura podobně jako v části (i) mělká. Avšak konfigurace, která by byla konzistentní s modifikovanou tréninkovou množinou (viz tabulku 11.1), vyžaduje třídu T hradlových funkcí obsahující např. booleovské funkce, které nejsou prahové. Uvedenou křížovou konstrukci lze zobecnit pro třídu T hradlových funkcí, která obsahuje aspoň AND, OR, jejich negace a negace jejich proměnných. Poměrně komplikované detaily tohoto zobecnění lze najít v [143]. (iii) Podobně jako v části (ii) jde o to, jak šířit informaci v mřížce. Pro diagonální směr z v jí do Vj+ií+i se uplatní technika z důkazu věty 11.3 (viz (11.17)) a pro přímý směr o 2 hrany, tj. např. z Vjí do Vj+2,i, využijeme křížovou konstrukci z (ii). □ Ve snaze dále zesílit omezení na S'CJ-grafy architektur tak, aby LP byl řešitelný v polynomiálním čase, definujeme tzv. stromovou dekompozici (tree-decomposition) grafu a šířku ramene (treewidth) grafu. Tento pojem byl objeven nezávisle na sobě několika autory (např. Stephen Judd jej objevil v kontextu LP a pojmenoval armwidth). Ukazuje se, že často obecně 274 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ 3. { |J(Í)| > 1 } Pro každý bezprostřední podstrom 6j stromu 6 (tj. {r(6),r(6j)} £ F(6)) vypočti Aj :=Solve(6j). 4. Vypočti A := {£' e A' | (Vj) (3£j e Aj)£' ^£j}. 5. Vrať A. Tvrdíme, že existuje £' GSolve(é), právě když existuje £ G scpc[g(6)] takové, že £' = £\sc{Yr{6)). Důkaz probíhá indukcí dle výšky 6. V případě nulové výšky, kdy 6 obsahuje jen kořen, tj. Yr(í) = í?(^)> je A = A' = scpc[g(6)] podle kroků 1, 2 procedury Solve, a tedy tvrzení platí. V indukčním kroku nechť tvrzení platí pro všechny bezprostřední podstromy 6j stromu 6 ({r(6),r(6j)} £ F(6)). Nechť nejprve £' GSolve(é). Podle kroků 1, 4 procedury Solve to znamená, že £' £ scpc[Yrf6\], tj. i" : sc(Yrr6\) —> T, a podle kroků 3, 4 navíc pro každé j ({r(6),r(6j)} £ F(6)) existuje £'■ GSolve(éj), tj. £'■ : sc(Yr(6.A —> T, takové, že £'=£'r (11.23) Podle indukčního předpokladu pro b j tedy existuje £j G scpc[g(6j)], tj. £j : sc(g(6j)) —> T, takové, že £'3 =£J\sc(Yr(dj)) . (11.24) Ukážeme, že sc(g(6j))r\sc(Yr(6)) C sc(Yr(6j)) , (11.25) Nechť v G sc(g(6j)) flsc(Yr^\) je hradlo obvodu, tj. v G sc(Yi)r\sc(Yr^\) pro nějaký vrchol i G J(6j) podstromu 6j . Tedy existují dvě výstupní hradla t/i G Yi a 2/2 G Yr(s) taková, že v G sc(yi) fl sc(y2). Podle definice 11.7 S'CJ-grafu je pak {1/1,1/2} G / hrana grafu G. Dále podle (n) z definice 11.9 stromové dekompozice potom existuje vrchol k £ J stromu D takový, že 2/1,2/2 G Yfc. Protože D je strom, musí v něm existovat cesta z fc do i. Nejprve uvažujme případ, že na této cestě leží vrchol r(6j). Potom podle (m) z definice 11.9 stromové dekompozice platí, že Yj. nY8- C Yr({ .), ale y\ £ Yj, flYj, a proto y\ £ Yr(íj). Z toho vyplývá, že sc(j/i) C sc(Yr(fj)), a tedy v £ sc(Yr(íi)). Nechť naopak vrchol r(6j) neleží na cestě z k do i ve stromě D. To ale znamená, že vrchol k se nachází v podstromě 6j, a tedy vrchol r(6j) leží ve stromě D na cestě z k do r(6). Opět podle (m) z definice 11.9 stromové dekompozice dostáváme, že Yk l~l Yr(í) C Yr(^), ale 1/2 G Yk H Yr(í), a proto y2 G Yr(^.). Z toho dále vyplývá, že sc(y2) Q sc(Yrrg.-\), a tedy v G sc(Yr^.A. Tím jsme dokázali vztah (11.25), tj. průnik definičních oborů £j a £' je obsažen v definičním oboru £'■. 11.2. MĚLKÉ A EL UBOKE ARCHITEKTURY 273 Ukážeme polynomiální algoritmus, který řeší LP pro mělké architektury s omezenou šířkou ramene 5(7/-grafu. Pro tento účel zavedeme některé pojmy a značení. Definice 11.11 Nechť A = (V, X, Y, E) je architektura obvodu a Vi,V'2 C V jsou podmnožiny jejích hradel. Řekneme, že částečné konfigurace £y1 '■ V\ ----> T a £y2 : V2 —> T jsou kompatibilní a značíme £y1 = £-v2, jestliže pro každé hradlo j G Vi fl V2 platí tv^j) = ^v2(j)- Dále £' = £\rx U £v2 je sjednocení kompatibilních částečných konfigurací £y1, £v2, jestliže £' : V\ U V2 —> T a £' = £v1, £' — £v2- Naopak pro restrikci £' = £\rx | V2 částečné konfigurace £\rx na množinu hradel V2 C Vi platí, že £' : V2 —> T a £' = £y1. Necht dále T je tréninková množina pro A. Řekneme, že částečná konfigurace £y> '■ sc(Y') —> T pro Y'CY je konzistentní s tréninkovou množinou T a značíme £y> \= T, jestliže pro každou úplnou konfiguraci £ : V —> T kompatibilní s ty 1 = £, každý tréninkový vzor (x, d) £ T a každé výstupní hradlo jeY' platí (Cf(x))j \=dj. Věta 11.12 (Judd [143]) LP pro mélké architektury A = (V,X,Y,E) s omezenou šířkou q ramene SCT-grafu G = (Y, 7) lze řešit v lineárním čase, pokud je na vstupu dána stromová dekompozice (Y,D) grafu G šířky q. Důkaz: Bez újmy na obecnosti nechť (T, D) je kompresovaná stromová dekompozice, protože obecnou stromovou dekompozici lze podle (i) z lem-my 11.10 kompresovat v lineárním čase. Označme T = {Yj C Y | j G J}, kde J je množina vrcholů stromu D, a dále podmnožinu g(6)= J Y, (11.21) vrcholů z Y pro podstrom 6 stromu D, kde J(6) je množinou vrcholů 6. Podobně F(6) je množina hran 6 a r(6) značí kořen podstromu 6. Dále pro podmnožinu Z C Y vrcholů SC /-grafu označme třídu scpc[Z] = {£z : sc(Z) —> T \ £z N T) (11.22) částečných konfigurací konzistentních s danou tréninkovou množinou T pro A. Zřejmě pro každé £ G scpc[g(D)] = scpc[Y] platí Cf \= T. Nejprve definujeme následující rekurzivní proceduru Solve(é), která pro podstrom 6 stromu D vrátí množinu A C scpc[Yr^\]. Solve(é): 1. Vypočti A' := scpc[Yr^\]. 2. Pro |J((5)| = 1 polož A := A' a pokračuj krokem 5. 276 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Důsledek 11.13 (Judd [143]) Necht jsou splněny předpoklady věty 11.12 a navíc necht šířka q < Q(n) ramene SCI-grafu je obecně omezena funkcí Q{n), která závisí na velikosti instance LP. Složitost LP pak závisí na funkci Q(n) následujícím způsobem: Q(n) složitost LP 0(1) 0(logn) tt(n£), 0 <£< 1 lineární polynomiální N P-úplný. Důkaz: Pro Q(n) = 0(1) dostáváme přímo tvrzení věty 11.12 a případ Q(n) = log n je přímým důsledkem důkazu této věty. Důkaz, že LP je 7V_P-úplný pro mělkou architekturu s polynomiální šířkou Q(n) ramene stromové dekompozice S'Oí-grafu, je podobný jako důkaz věty 11.8. Při polynomiální redukci 3SAT na LP navíc přidáme k architektuře odpovídající instance LP izolovaná hradla tak, aby počet hradel byl s' = Q~1(s) > s (O < £ < 1), kde s je původní počet hradel a Q_1(«) je inverzní funkce k polynomu Q(n), což zajistí polynomiální čas redukce. Šířka q stromové dekompozice SGT-gľ&fu se tak nezmění a podle (n) z lemmy 11.10 je menší než počet výstupů obvodu, a tedy q < s = Q(s'). □ Obr. 11.3: Sloupcová architektura hloubky d = 3. Polynomiální algoritmus pro LP z věty 11.12 předpokládal, že stromová dekompozice s minimální šířkou příslušného S'Oí-grafu je zadána na vstupu. Nalezení šířky ramene je totiž pro obecný graf 7V_P-úplný problém [23]. Avšak 11.2. MĚLKÉ A EL UBOKE ARCHITEKTURY 275 Uvažujme nyní v G sc(g(6j)) C\ sc(Yríj-\) hradlo obvodu. Podle (11.25) je v G sc(Yr(Sj-)), a tedy v G sc(Yr(s-)) n sc(Yr(Sj-)). Z (11.23) pak vyplývá, že ľ (v) = í'j(v), a proto podle (11.24) je ľ (v) = £j(v). To znamená, že £' = £j a můžeme definovat sjednocení £+ = lj U f G scpcigiôj) uľr(4 tj. £f : sc(q(6j) U Yrífr\) —> T. Ukážeme, že £f jsou vzájemně kompatibilní. Nechť tedy v G sc(g(6j) U ^-(í)) H sc(g(6ji) U ^-(í)) = (sc(q(6j)) n sc(g(6ji))) U sc(Yrrg\) je hradlo obvodu. Dále ukážeme, že t; G sc(Yrrg\). Předpokládejme proto, že t; G sc(g(6j)) n sc(g(6ji)). To znamená, že existují i G J iß j) a i' G J iß j1) takové, že t; G sc(Y8-) nsc(Y8'/), a dále y G Y; a y' G Yíi, pro které v G sc(y) n sc(y'). Podle definice 11.7 S'Oí-grafu je pak {ž/> y'} £ I hrana grafu G a podle (n) z definice 11.9 stromové dekompozice potom existuje vrchol k G J stromu D takový, že y, y' £ľt. Kořen r(6) leží na cestě buď z k do i, nebo z k do i', protože vrcholy i, i' G ), a tedy £1~ = G. Nyní můžeme definovat £ = y £+ = £' u (J 4 £ *cpc[ß(i)] , (11.26) i i pro kterou zřejmě platí £' = ií|sc(Yr(-í-)). Jestliže naopak existuje £ G scpc[g(é)], pak procedura Solve, která prochází všechny relevantní částečné konfigurace, musí najít £' = £\sc{Yrts\). Tím jsme ukázali uvedené tvrzení o proceduře Solve. Nyní použijeme proceduru Solve k řešení zadaného LP tak, že zvolíme libovolně kořen r(D) stromu D a zavoláme Solve(D), která vrátí A = Solve (D). Víme, že £' G A, právě když existuje £ G scpc[g(D)] takové, že £' = £\sc(Yr(£)\), tj. právě když Cf \= T. Tedy LP má řešení, právě když A ^ 0. Na závěr odhadneme časovou složitost naznačeného algoritmu. Počet volání procedury odpovídá počtu vrcholů stromu D kompresovane stromové dekompozice (Y,D), který je podle (n) z lemmy 11.10 shora omezen počtem \Y\ vrcholů S'Oí-grafu G, tedy je lineární vzhledem k velikosti instance LP. Čas na výpočet procedury Solve (kromě jejího rekurzivního volání) je 0(|scpc[Yr(í)]|) = 0(cq), kde maxjgy |sccs(j)| < c = 0(1) je konstantní podle definice 11.7 mělké architektury a také q = 0(1) je omezená šířka ramene S'Oí-grafu G. Tedy výpočet Solve proběhne v konstantním čase a celkově LP lze za uvedených předpokladů řešit v lineárním čase. □ Větu 11.12 lze zobecnit pro šířky ramene S'Oí-grafu shora omezené funkcí, která závisí na velikosti instance LP. Podle (n) z lemmy 11.10 se můžeme omezit na nejvýše lineární funkce. 278 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Obr. 11.5: Trojúhelníková architektura hloubky d = 6. dující věty o složitosti uvedeného LP klade určitá omezení na třídu hradlových funkcí (např. vylučuje některé booleovské prahové funkce), avšak při dvou vstupech hradel tyto předpoklady pravděpodobně nemají vliv na složitost LP. Věta 11.14 (Šíma [263]) Nechť T je třída netriviálních symetrických monotónních booleovských hradlových funkcí, tj. (i) {OR, AND} C T nebo {AND,OŘ} C T (ii) T Q {0,l,OR,AND,OŘ~,A~Ň~Ď}. Pak pro třídu trojúhelníkových architektur Perfjr je N P -úplný problém. 11.2. MĚLKÉ A HL UBOKE ARCHITEKTURY 277 v praxi se obvykle používají regulární architektury, u nichž lze jednoduše určit stromové dekompozice jejich 5(7/-grafů s minimální šířkou. Například tzv. sloupcová (columnar line) architektura hloubky 3 je na obrázku 11.3. Obecně tato architektura má omezenou hloubku d a každé hradlo má dva vstupy ze dvou hradel (resp. vstupů), které jsou pod ním v předchozí vrstvě. Příslušný SC /-graf sloupcové architektury z obrázku 11.3 je načrtnut na obrázku 11.4, kde každý vrchol grafu odpovídá výstupnímu hradlu a hrany představují neprázdné průniky odpovídajících kuželů. Stromová dekompozice takového S'CJ-grafu s minimální šířkou je v tomto případě cesta, kde každý vrchol stromu sdružuje sousední 3 výstupní hradla. Tedy šířka ramene SC /-grafu z obrázku 11.4 je 2 a v obecném případě je d—í. Sloupcová architektura splňuje předpoklady věty 11.12, a tedy LP lze pro ni řešit v lineárním čase. Také podle vyjádření neurofyziologů sloupcová architektura údajně připomíná kôrové struktury v některých částech lidského mozku, kde spoje jsou lokalizované okolo neuronu. Obr. 11.4: SC /-graf sloupcové architektury z obrázku 11.3. Na druhou stranu učící algoritmus z věty 11.12 je prakticky nepoužitelný, protože multiplikativní konstanta jeho lineární složitosti je příliš velká. Z důkazu této věty vyplývá, že příslušná konstanta závisí podstatně na maximální velikosti prostoru konfigurací kužele. V uvedeném algoritmu se využívá toho, že u mělkých architektur je tato velikost konstantní, a proto lze konzistentní částečné konfigurace kužele vyhledat z třídy všech takových konfigurací v konstantním čase tak, že prověříme všechny možnosti. Efektivní implementace tohoto algoritmu by vyžadovala efektivní proceduru pro nalezení konzistentní částečné konfigurace kužele. Složitost takové procedury závisí na hloubce obvodu. Proto se uvažují tzv. hluboké architektury, které mají neomezenou hloubku. Prototypem takové architektury je tzv. trojúhelníková (triangular) architektura, jejíž struktura odpovídá kuželu sloupcové architektury bez omezení na hloubku. Příklad trojúhelníkové architektury hloubky d = 6 je na obrázku 11.5. Složitost LP pro třídu trojúhelníkových architektur, které jsou pravděpodobně nejjednodušší regulární hluboké architektury, vystihuje problém učení hlubokých architektur. Důkaz násle- 280 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Předchozí formální zápis ilustrujeme na příkladě. Uvažujeme booleovskou formuli / s n = 4 proměnnými, tj. \ = {xit x2, x3, xa\> v konjunktivní normální formě s p = 2 klauzulemi Ki = {xi,x3}, I<2 = {X2,X3,X4} . (11.31) Odpovídající instance LP bude mít trojúhelníkovou architekturu hloubky d = 7 a tréninkovou množinu T = {(10101010, 0), (11010010,1), (01001100,1)} . (11.32) Dále se omezíme na případ, kdy např. {OR, AN D} C T, protože důkaz pro {AN D, OR} C T je analogický. Stačí totiž znegovat požadované výstupy tréninkových vzorů z T v instanci LP a v následujícím popisu nahradit OR, AN D po řadě jejich negacemi OR, AN D. Částečnou konfiguraci £y1 : Vi ----> T první vrstvy V\ C V obvodu budeme značit pomocí hradlových funkcí fl,9l,f2,92,---,fn-l,9n-l,fn G T (11.33) a odpovídající výstupy hradel z Ví pro daný vstup x = xi, . . ., X'm G {0, l}2n obvodu pomocí vektoru yvi(x) = (fi(xi,x2),gi(x2,x3),... (11.34) • • ■ ) 9n — l\x2n — 2)X2n — l)) Jn\x2n — l)X2n »eío.i}2"-1. Nechť tedy nejprve i : V ----> T je konfigurace taková, že Cf \= T, a tomu odpovídá částečná konfigurace ly1 = £, kterou značíme (11.33). Podle (11.27) platí yv1((10r)^yy1(x) (x,1)gT (11.35) pro všechny tréninkové vzory s jednotkovým výstupem, protože pro vstup (10)n je požadován nulový výstup. Z konstrukce (11.28) je také zřejmé, že hradlové funkce g, pro i = 1, . . ., n — 1 nemají na vztah (11.35) žádný vliv, protože pro jejich možné vstupy 1,0 nebo 0,1 tréninkových vzorů z T je g8-(l,0) = g8-(0,1) (i = 1,..., n - 1) kvůli symetrii g{ e T C {0,1, OR, AND, OR, AN D}. Tedy podmínka (11.35) musí být splněna pomocí hradlových funkcí fi,...,fn. Uvažujme příklad (11.32), kde vztah (11.35) lze přepsat následujícím způsobem: (/i(l, 0) í /i(l, 1) nebo /3(1, 0) ^ /3(0, 0)) a (11.36) (/2(1, 0)^/2(0,0) nebo /3(1, 0) #/3(1, 1) nebo /4(1, 0) #/4(0, 0)) . 11.2. MĚLKÉ A EL UBOKE ARCHITEKTURY 279 Důkaz: Zřejmě Perfjr £ NP, protože nedeterministický algoritmus v polynomiálním čase uhádne konfiguraci, tj. pro každé hradlo určí jeho funkci z T C {0, 1, OR, AN D, OR, AN D}, tj. z nejvýše šesti možných, a ověří, zda funkce sítě je konzistentní s tréninkovou množinou. Důkaz 7V_P-těžkosti Perfjr provedeme polynomiální redukcí 7V_P-úplného problému SAT (viz důkaz věty 8.9). Nechť tedy \ = {xi, • • •, xn) je množina n booleovských proměnných a K\, ■ ■ ■, Kp jsou klauzule booleovské formule / v konjunktivní normální formě, tj. instance problému SAT. V polynomiálním čase zkonstruujeme odpovídající instanci (A, T) problému Perfjr takovou, že /je splnitelná, právě když (A,T) G Per f-f. Bez újmy na obecnosti budeme předpokládat, že pozitivní literály (proměnné) se v klauzulích formule / střídají pravidelně s negativními literály (negace proměnných) při daném uspořádání proměnných \- V opačném případě, když v nějaké klauzuli Kj (1 < j < p) po sobě následují např. dva pozitivní literály • • ■X{1 V Xi3 ■ ■ ■ pro 1 < ii < i3 < n (podobně negativní literály), přidáme novou proměnnou Xi2 v uspořádání \ mezi X{1 a Xi3, tj. 1 < ii < i'2 < i3 < n. Dále opravíme klauzuli K j pomocí příslušného negativního literálu • • ■Xi1 V Xi2 V Xi3 • • • a navíc přidáme klauzuli Ky = {xí2} obsahující jen pozitivní literal Xi2. Klauzule Ky vynutí jednotkovou hodnotu proměnné Xi2 při splňujícím ohodnocení a zabrání tak vlivu přidaného negativního literálu klauzuli K j . Opakováním uvedeného postupu získáme v polynomiálním čase formuli / v požadovaném tvaru. Trojúhelníková architektura A = (V, X, Y, E) (viz obrázek 11.5) odpovídající instance LP je dána svojí hloubkou d = 2n — 1, tj. má 2n vstupů a jeden výstup. Příslušná tréninková množina T obsahuje jeden tréninkový vzor s požadovaným nulovým výstupem a p tréninkových vzorů s požadovaným jednotkovým výstupem, které odpovídají klauzulím Kj pro j T = {((10)",0)}U U {(ßji . ..ßjn,l) I ßji e {0, l}2, i = 1, . . ., n; j = 1, kde '11 i, G K j fí _ I oo xí e Kj %1 ~ j 01 Xi,Xi <£ Kj; aľ^.(i) £ Kj , resp. xej^ G Kj 10 Xi,Xi <£ K j; ž^.(i) G K j , resp. xej{i) G K j pro j = í,...,p, i = í,...,n a TT j (i) = max{i' < i | Xíi G K j nebo Xi' G Kj{ Qj{i) = min{i' > i | xíi G K j nebo xí* G Kj{ . í,...,p: (11.27) ,p} , (11.28) (11.29) (11.30) 282 KAPITOLA 11. SLOŽITOST UŮENÍ NEURONOVÝCH SÍTÍ (viz obrázek 11.6), je 7V_P-úplný. V tomto důkazu je naopak velikost architektury (3) a počet výstupů (1) konstantní, zatímco počet tréninkových vzorů a vstupů roste. Tento výsledek platí pro třídu booleovských hradlových funkcí, které jsou prahové, tj. pro vícevrstvé perceptrony. Uvažovaná architektura představuje vlastně nejjednodušší vícevrstvou síť s pravidelnou topologií. Nejprve zavedeme následující značení. ti/ ~| ti/ o *As Obr. 11.6: Architektura prahové 3-sítě. Definice 11.15 Řekneme, že obvod C = (V, X, Y, E, £) je 3-síť, pokud pro architekturu A = (V, X, Y, E) platí, že V = {a,b,c}, X = {xi, . . . ,xn}, Y = {c} a E = {(xi, a), (xí, b) | i = 1, . . ., n} U {(a, c), (6, c)} . (11.40) Nejprve uvažujeme prahovou 3-síť, kde C je prahový obvod. Označme reprezentace příslušných booleovských prahových funkcí: 1(a) = (Wl,...,wn;-w0) (11-41) £(b) = (vu...,vn;-v0) (11.42) 1(c) = («i,«2;-«o), (11-43) 11.3. NEURONOVÉ SITE SE 3 NEURONY 281 Navíc víme, že nekonstantní funkce /„• G T C {0, 1, OR, AND, OR, AND} (i = 1, . . ., n) jsou monotónni, tj. /8(0, 0) ýz /i(l, 1)- Tedy po označení např. TA = {AN D, AN D} ze vztahu (11.36) dostáváme: (/i e Ta nebo /3 g TA) a (11.37) (h Č F a nebo /3 e Ta nebo /4 £ Ta) , což odpovídá sémantice původní formule (11.31) příslušné instance SAT, pokud Xi chápeme jako „fi G Ta"■ Obecně definujeme ohodnocení u> : X----> {0, 1} proměnných / tak, že "(*•■)={; íLiľA -i.-.«. (11-38) které splňuje /, a tedy / je splnitelná. Nechť naopak / je splnitelná a ohodnocení u> : x —y {0, 1} proměnných dosvědčuje splnitelnost /. Definujeme konfiguraci £ : V ----> T ({OR, AND} C T), tj. nejprve £Vl: , í AND U - { OR u (x i) = 1 . U! (X i) = 0 gi = AND i - = í,...,n- 1. (11.39) Dále ve druhé vrstvě hradla počítají funkci AN D a ve zbylých vrstvách OR. Podle (11.39) platí yVl((W)") = l2""1 a z ekvivalence (11.37) a (11.35) dostaneme, že yv1 (x) ^ l2™-1 pro (x, 1) G T. Z uvedeného vyplývá, že výpočet obvodu s definovanou konfigurací £ v dalších vrstvách vede k požadovaným výstupům, tj. Cf \= T, a tedy (A, T) £ Per f jr. D 11.3 Neuronové sítě se 3 neurony V této podkapitole se budeme zabývat jiným typem důkazu 7V_P-úplnosti LP než v podkapitole 11.1. V důkazu věty 11.3 je instance těžkého problému 3SAT zakódována do nepravidelné architektury obvodu, a proto v tomto případě 7V_P-úplnost LP je pravděpodobně dána komplikovanou pevnou architekturou, která je na vstupu učícího algoritmu. V praxi se však obvykle používají vícevrstvé sítě, které mají pravidelnou topologii. Uvedený výsledek také např. nezávisí na volbě třídy hradlových funkcí (viz důsledek 11.4 a poznámku k větě 11.5). Navíc v uvedeném Juddově důkazu roste velikost obvodu a počet výstupních hradel, zatímco počet tréninkových vzorů (3) a vstupů (2) je konstantní. Budeme prezentovat alternativní důkaz Avrima Bluma a Ronalda Ri-vesta [38], že LP pro tzv. 3-sítě, tj. pro dvouvrstvé sítě jen se třemi neurony 284 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ T ~- = {(o*-1ion-\o)\i = : T ~- = {(0M)}u l){(xjl...xjn,l) \xj (A, T) G LP má řešení. Architektura A prahové 3-sítě C je dána počtem vstupů n = |Q | a tréninková množina T = T0 U T se skládá z \T\ = n+p+1 vzorů, kde l,...,n} (11.48) 1 <-> 9i G rj, i = 1, . . ., n; j = 1, . . ., p} . Uvedený formální zápis ilustrujeme na příkladě. Uvažujeme množinu Q = {si> 92, 33} s n = 3 prvky a systém R = {7*1, r2J s p = 2 jejími podmnožinami: ri = {91,92}, J*2 = {92,93}- (11.49) Odpovídající instance LP bude mít architekturu 3-sítě s n = 3 vstupy a tréninkovou množinu T = T0UTi s |T| = 6 vzory, kde T0 = {(100,0),(010,0),(001,0)} (11.50) T = {(000,1), (110,1), (011,1)}. (11.51) Nechť tedy Qít Q2 je řešení SSP. Definujeme konfiguraci £ prahové 3-sítě C, tj. reprezentace booleovských prahových funkcí hradel a,b: «,„ = 1 «, = {-n2 J;|g; i = l,...,n (11.52) 1 J — 2 (ft £ Q2 • 1 ,„ r-o\ ,o = l «." = ( 2n q.tQ2 » = l,-..,n. (11-53) Ověříme, že C/ |= T. Pro qi G Qi podle (11.52) platí, že ^(O^IO"-8') = wo + Wi = — 1 < 0 pro tréninkový vzor (0Í_110"_Í, 0) G To, tj. j/a(0í_110"_í) = 0, a proto i/c(0í_110"_í) = 0 se shoduje s požadovaným nulovým výstupem. Podobně pro qi G Q2 podle (11.53) platí, že $h(0i-110n-i) = v0 + ví = -1 < 0 pro tréninkový vzor (O^IO""8', 0) G T0, tj. tft(0í_110"_í) = 0, a proto i/c(0í_110"_í) = 0 se shoduje s požadovaným nulovým výstupem. To znamená, že C f \= T0. Zřejmě pro tréninkový vzor (0",1) G T platí podle (11.52) a (11.53), že £a(0") = 6(0n) = 1, a tedy i ž/a(0") = 2/j(0") = j/c(0") = 1. Pro tréninkový vzor (xjľ . . . xjn, 1) G T odpovídající podmnožině rj G i? platí podle (11.52), že £,a(xji ■ ■ ■ xjn) = wo + J2qter3 wi > °> 1J- ž/a^ji • • ^j«) = 1) protože díky r j <£ Qi existuje aspoň jedno qi G rj \ Q\. Podobně platí t;b(xji ■ ■ -Xjn) = v0 + J2q,erj Vi ^ 0 podle (11.53), tj. yt(xji . . .Xjn) = 1, protože díky rj <£. Q2 existuje aspoň jedno qi G rj \ Q2, tedy yc(xji . . .Xjn) = 1. Z toho vyplývá, že Cf \= T, a tedy Cf\=T. 11.3. NEURONOVÉ SÍTĚ SE 3 NEURONY 283 zvážené sumy £j(x) (včetně opačného prahu) a výstupy j/j(x) hradel j G V pro vstup x G {0, 1}": n 6i(x) = wo + ^2wiXi ya(x) = cr(6(x)) (11.44) 8 = 1 n 6(x) = vo + ^2viXi yb(x) = cr(6(x)) (11-45) 8 = 1 £c(x) = «0 + Wl2/a(x) + M2Ž/i(x) J/C(x) = Cr(£c(x)) , (11.46) Arfe u je aktivační funkce ostrá nelmearita (1.7): -(o={; 1^2. (11-47) Architektura prahové 3-sítě je znázorněna na obrázku 11.6. Intuitivně nejprve naznačíme, proč by LP pro prahové 3-sítě měl být těžký. Předpokládejme pro jednoduchost, že 1(c) = AND. Pro tréninkový vzor (x, 1) G T s požadovaným jednotkovým výstupem musí být obě hradla a, b aktivní, tj. j/a(x) = Jft(x) = 1. V opačném případě, kdy požadovaný výstup tréninkového vzoru je nulový, obecně existují tréninkové vzory (x, 0) G T, pro které je ya(x) ^ J/j(x), jinak by stačilo jen jedno prahové hradlo pro řešení LP. Avšak v takovém případě má učící algoritmus exponenciální počet možných voleb ya(x) G {0, 1} (ya ^ j/j) pro tréninkové vzory (x, 0) G T. Nyní již zformulujeme příslušnou větu. Věta 11.16 (Blum, Rivest [38]) LP pro prahové 3-sítě je N P-úplný problém. Důkaz: Důkaz, že LP je ve třídě N P, probíhá stejně jako v části (ii) důsledku 11.4. Nejprve ukážeme 7V_P-těžkost LP pro 1(c) = AND, tj. např. ui = 1, «2 = 1 a «o = —2 (yiz větu 6.26), a později důkaz zobecníme pro obecnou booleovskou prahovou funkci 1(c). Postupujeme tak, že následující TV-P-úplný problém rozkladu množiny [178] redukujeme v polynomiálním čase na LP. Problém rozkladu množiny SSP (Set-Splitting Problem): instance: Konečná množina Q a soubor jejích podmnožin R = {rj C Q \ 3 = 1, •••,!>}• otázka: Existuje disjunktní rozklad množiny Q = Qi U Q2 (Qi H Q2 = 0) takový, že r j <2 Qi a r j <2 Q2 pro všechna j = 1, . . . ,p? Nechť tedy (Q,R) je instance SSP a označme Q = {qi, . . .,qn}, R = {rj C Q\j = 1, ... ,p). V polynomiálním čase zkonstruujeme odpovídající instanci (A, T) problému LP takovou, že (Q, R) G SSP má řešení, právě když 286 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Naopak předpokládejme, že (11.61) platí. Nutně ya(0n+3) ŕ ya(0n100) nebo yi(0n+3) ± j/6(0n100), (11.62) protože (0n+3, 1) G T[ a (0n100,0) G T0'. Zřejmě obě nerovnice ve formuli (11.62) neplatí současně, protože by pak podle podobné úvahy jako v (11.60), tj. ^(0n100) + ^(0n001) = ^(0n+3) + ^(0n101) (11.63) pro j = a,b, kde £j(0n100) a £j(0n+3) mají různá znaménka a £j(0n100) a £j(0n001) mají podle (11.61) stejná znaménka, platilo, že í/a(0n101) = t/a(0n100) a tft(0n101) = tft(0n100), (11.64) což je ve sporu s konzistencí £, protože (0n101, 1) G T/. Tedy nechť např. ž/a(0n+3) = í/a(0n100) a j,6(0n+3) í í/6(0"100) (11.65) (opačný případ analogicky), čemuž odpovídá následující přepis (11.64): j/a(0n101) ^ ž/a(0n100) a jft(0n101) = i/6(0n100) (11.66) a podobně í/a(0n011) ^ j,a(0n100) a j/6(0n011) = j/6(0n100). (11.67) Ze vztahů (11.61), (11.66) a (11.67) dostáváme j/a(0n101) = J/a(0n011) ^ ya(0"001) = l/a(0nlll) (11.68) a opět aplikací známé úvahy stejná znaménka sčítanců na levé straně následující rovnice by se lišila od stejných znamének sčítanců na pravé straně: £a(0n101)+£a(0n011) = 2w0 + wn+1 + wn+2 + 2wn+3 = = ^(0n001) + ^(0nlll), (11.69) což je spor. Tedy (11.61) nemůže nastat. Víme, že jedno prahové hradlo nové vzory nerozlíši. Dále neplatí (11.61), tj. nové vzory s nulovým požadovaným výstupem nemají všechny ya, resp. yj, stejné. Tedy jediná možná booleovská prahová funkce výstupního hradla c, která vyhovuje konzistenci £, je £(c) = AND, popř. OR, kterou však lze podle (ii) z lemmy 6.27 převést na AND. □ Větu 11.16 lze dokázat pro různé speciální i obecnější případy, jak ukazuje následující důsledek s obdobným důkazem, který neuvádíme. 11.3. NEURONOVÉ SÍTĚ SE 3 NEURONY 285 Nechť naopak £ je řešení LP, tj. Cf |= T. Definujeme disjunktní rozklad množiny Q = Q1\J Q2 následujícím způsobem: Qi = Ui eQ\ Wq + Wí < 0} (11.54) Q2 = {qieQ\vo + vi<0}\Q1. (11.55) Zřejmě w0 > 0 a v0 > 0, protože (0n, 1) £ Ti.. Dále uvažujme r j G R. Kdyby r-j C Qlt pak by podle (11.54) platilo £a(xjl . . .xjn) = w0 + J2qterj wi < ° pro odpovídající tréninkový vzor [xji . . .Xjn, 1) G Ti, tj. ya(xji . . .Xjn) = 0, a tedy yc(xji . . . Xjn) = 0, což je ve sporu s požadovaným jednotkovým výstupem tohoto vzoru, a proto r j (£. Qi. Podobně r j (£. Q2. To znamená, že SSP má řešení Q = Qi U Q2- Nyní zobecníme předchozí důkaz N P -těžkosti LP pro obecnou booleovskou prahovou funkci 1(c). Stačí modifikovat konstrukci (11.48) instance LP tak, že nová architektura A' 3-sítě bude mít n + 3 vstupů, dále původní tréninkové vzory z T budou mít 3 nové vstupy nulové a navíc přidáme tréninkové vzory tak, aby nová tréninková množina T = T0' U T{ vynutila 1(c) = AND: T0' = ToU{(0n100,0),(0n010,0),(0n001,0),(0nlll,0)} (11.56) T/ = TiU{(0n101,l),(0n011,l)}. Konzistentní konfiguraci (11.52) a (11.53), kde navíc 1(c) = AND, pak dodefinujeme pro 3 nové vstupy následujícím způsobem: wn+i = wn+2 = 2, wn+3 = -2 (11.57) vn+i = vn+2 = -2, vn+3 = 2 . (11.58) Naopak nechť konfigurace £ \= T je konzistentní s tréninkovou množinou T. Ukážeme, že nové vzory (11.56) vynucují £(c) = AND. Nejprve si uvědomíme, že jedno prahové hradlo tyto nové vzory nerozlíši. Kdyby tomu tak bylo např. u hradla a, pak by podle (11.56) platilo ya(0n+3) = j,a(0n101) í j/a(0n100) = j/a(0n001) (11.59) a stejná znaménka sčítanců na levé straně rovnice (11.60) by se lišila od stejných znamének sčítanců na pravé straně: ía(0n+3)+^(0n101) = 2w0+wn+i+wn+3 = ^a(0n100)+^(0n001), (11.60) což je spor. Dále ukážeme, že nemůže zároveň nastat: j/a(0n100) = ya(0n0W) = ya(0n00í) = i/a(0nlll) (11.61) í/6(0n100) = í/6(0n010) = í/6(0n001) = í/6(0nlll). 288 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ 11.4 Kaskádové architektury Dalším důsledkem věty 11.16 je 7V_P-úplnost tréninkového problému pro tzv. kaskádovou 2-síť, která odpovídá nejjednodušší kaskádové neuronové síti (viz podkapitolu 2.4) jen se dvěma perceptrony. Definice 11.20 Řekneme, že prahový obvod C = (V, X, Y, E, í) je kaskádová 2-síť, pokud pro architekturu A = (V, X,Y, E) platí, že V = {a,ß}, X = {xi, . . ., xn}, Y = {ß} a E = {(xua), (xu ß) | i = 1, . . ., n] U {(a, ß)} . (11.72) Podobně jako v definici 11.15 zváženou sumu (včetně opačného prahu) značíme £j(x) a výstup í/j (x) pro hradlo j £V a vstup x £ {0, l}n. Architektura kaskádové 2-sítě je znázorněna na obrázku 11.7. *As ~| *As o *As Obr. 11.7: Architektura kaskádové 2-sítě. Věta 11.21 (Lin, Vitter [173]) LP pro kaskádové 2-sítě je NP-úplný problém. Důkaz: Důkaz, že LP je ve třídě N P, probíhá stejně jako v části (n) důsledku 11.4. Důkaz 7V_P-těžkosti LP pro kaskádové 2-sítě provedeme polynomiální redukcí LP pro prahové 3-sítě s 1(c) = AN D, který je podle důkazu 11.3. NEURONOVÉ SITE SE 3 NEURONY 287 Důsledek 11.17 (Blum, Rivest [38]) (i) LP pro prahové 3-sítě je NP-úplný problém, i když platí jedna z následujících podmínek: • Wi = Ví £ {-1, 1} pro i = 1, . . ., n. • £(c) = XOR a vstup x e {-í, 0, l}n. (ii) LP pro obvod s polynomiálním počtem prahových hradel v první vrstvě vzhledem k počtu vstupů a s jedním výstupním AN D hradlem ve druhé vrstvě (prahová 3-síť s 1(c) = AND je jeho speciální případ) je N P -úplný problém. Nyní upozorníme na zajímavou skutečnost, že složitost LP závisí na zakódování vstupních hodnot. Nejprve zavedeme následující značení. Definice 11.18 Označme Tjy třídu tréninkových množin, které jsou konzistentní s prahovým hradlem s n vstupy, a T3jvx třídu tréninkových množin konzistentních s prahovou 3-sítí s n vstupy a 1(c) = XOR. Podobně Tn2 je třída tréninkových množin, které jsou konzistentní s prahovým hradlem s 2n + n(n — l)/2 vstupy, které odpovídají n původním vstupům, n jejich mocninám a n(n — l)/2 součinům všech různých dvojic. Lemma 11.19 (Blum, Rivest [38]) TN C T3NX Q T N2 Důkaz: Zřejmě Tjy C T^3NX- Také důkaz T3jvx C Tjya je snadný. Pro tréninkový vzor (x, 1) G T £ T3ivx platí \w° + Xľ WiXi \v° + Xľ v*Xi ) < ° ' (11-70) což lze přepsat -w0v0 + n n y^ -(w0Vi + v0Wi)xi + ^2 -ViWixf + 8=1 8=1 + n — l n y^ y^ -(wiVj + ViWj)x{Xj > 0 , (11.71) 8 = 1 J=8 + l a tedy (x, 1) G T £ TV2. D Zřejmě LP pro Tat, Tjys je řešitelný pomocí lineárního programování v polynomiálním čase [145], zatímco LP pro třídu T3JVX, která se podle lem-my 11.19 nachází v uspořádání podle inkluze mezi nimi, je podle (i) z důsledku 11.17 NP-úphiý problém. Tato zajímavá skutečnost je pravděpodobně dána tím, že tréninkové vzory z Tjys jsou předzpracovány, a proto je pro ně LP lehčí. 290 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ Nejprve předpokládejme, že v > 0. Odtud dostáváme následující implikace: xxn+1xn+2 G Qo —> (xxn+1xn+2,l) (xi„+iin+2,0)eT' (11.79) 1)GT' eQoV (11.80) V(t/„(xa;n+ia;n+2) = 1 A ^^n + 1 %n-\-2 eQi). Pokud pro všechna (x, 1) G T je xOO G Qo, pak definujeme následující konfiguraci £ pro prahovou 3-síť s £(c) = AN D: £(a)=£(b) = (v1,...,vn;-v0). (11.81) Zřejmě v tomto případě pro (x, 1) G T platí j/a(x) = j/j(x) = 1, tj. t/c(x) = 1, a (x, 0) G T implikuje (x00,0) G T', pro které platí ^(xOO) = ^o + Ya=i vixi + ^ž/a(x00) < 0, z čehož díky v > 0 vyplývá, že £a(x) = 6(x) = «o + Ya=i víxí < °> tj- ž/a(x) = 2/6(x) = j/c(x) = 0 pro (x,0) G T. Odtud C*/ |= T. Pokud naopak existuje aspoň jeden tréninkový vzor (x', 1) G T takový, že x'00 ^ Qo, pak podle (11.80) platí současně t/a(x'00) = 1 a x'00 G Qi-Ukážeme sporem, že v takovém případě to platí již pro všechny (x, 1) G T, tj- (í/a(x00) = l)A(x00eQi) (x,l)GT. (11.82) Nechť tedy (11.82) neplatí pro nějaký vzor (x, 1) G T■ Podle (11.80) pak xOO G Qo, což spolu s (xOl, 0), (xOl, 0) G T implikuje vn+i, vn+2 < 0, a tedy xll G" Qo- Avšak (xll, 1) G T', a proto podle (11.80) platí t/a(xll) = 1 a xll G Qi, což spolu s i>n+i, vn+2 < 0 implikuje xOl, xlO G Qi- Z xlO G Qi plyne vo + X2i=i vi%i + vn+i + v > 0, ale díky (xl0,0) G T' dostáváme £/3(xl0) = v0 + Yľi=i vi*i + vn+i + «2/a(xl0) < 0, a tedy nutně t/„(xl0) = 0, tj. £a(xl0) = wo + X2i=i w!*! + wn+i < 0. Podobně z xOl G Qi vyplývá t/„(x01) = 0, tj. £a(x01) = wo + X2i=i w!*! + wn+2 < 0. Na druhou stranu víme, že j/„(xll) = 1, tj. £a(xll) = w0 + Ya=i wi*i + wn+i + wn+2 > 0, z čehož dostáváme wn+i,wn+2 > 0. Dále z x'00 ^ Qo díky vn+i, vn+2 < 0 plyne také x'll ^ Q0. Avšak (x'11,1) G T', a tedy podle (11.80) i/a(x'll) = 1 a x'll G Qi, tj. ^o + Ya=ivíx'í + vn+i + vn+2 + v > 0. Protože navíc vn+1,vn+2 < 0, dostáváme x'01,x'10 G Qi- Víme, že t/a(x'00) = 1 a wn+i, wn+2 > 0, a tedy také t/„(x'01) = t/„(x'10) = 1, což spolu s x'01,x'10 G Qi implikuje t/^(x'01) = t/^(x'10) = 1, což je spor s Cf; \= T'. Tím jsme ukázali (11.82), a můžeme definovat konfiguraci £ prahové 3-sítě s £(c) = AND: £(a) = (wi, . . ., wn; -w0) (11.83) 1(b) = (vi,...,vn;-v0 -v) , 11.4. KASKÁDOVÉ ARCHITEKTURY 289 věty 11.16 7V_P-úplný. Nechť tedy (A,T) je instance LP pro prahovou 3-síť s n vstupy a £(c) = AND, přitom využijeme značení z definice 11.15. V polynomiálním čase zkonstruujeme instanci (A',T') tréninkového problému pro kaskádové 2-sítě (viz definici 11.20) s n + 2 vstupy takovou, že (A,T) má řešení, právě když (A',T') má řešení. Tréninková množina T pro A' má následující tvar: T = {(xOO, d), (xlO, 0), (xOl, 0), (xll, 1) | (x, d) G T} (11.73) Nechť nejprve £ je konfigurace prahové 3-sítě (viz definici 11.15) taková, že C f \= T. Definujeme konfiguraci £' pro odpovídající kaskádovou 2-síť, tj. reprezentace booleovských prahových funkcí hradel a a ß: 1(a) = (wi,...,wn,-W - \wo\,-W- \wo\ £(ß) = (Vl,...,vn,2V,2V,W + v0;W), -wo) (11.74) (11.75) kde volíme W > Yľi=i \wi\, V > Yľi=i KI a w(a, ß) = 3V -\-vo je váha spoje (a,ß). Nyní je snadné ověřit, že Cf, \= T'. Zřejmě t/„(x00) = t/a(x) a ^(x00) = -W + (6(x) - v0) + (W + vo)ya(x00), (11.76) tj- pro ?/a(x) = 1 je ^(x00) = 6(x), a tedy yß(x00) = j/j(x). To pro t/a(x) = 1 díky £(c) = AND znamená, že t/c(x) = t/^(x00). V případě, že l/a(x) = 0, tj. j/c(x) = 0, je podle (11.76) ^(xOO) < 0, tj. ^(xOO) = 0. Dále Ía(xl0) = Ía(x01) = £>(x) -W - \w0\ < 0, t j. j/«(xl0) = j/«(x01) = 0, a ^(xlO) = ^(xOl) = -W + (£b(x)-v0) + 2V < 0, tj. j/^xlO) = ^(xOl) = 0 se shoduje s požadovaným nulovým výstupem. Nakonec ^„(xll) = ^a(x) — 2W - 2\w0\ < 0, tj. j/«(xll) = 0, a ^(xll) = -W + (6(x) - v0) + W > 0, tj. t/^(xll) = 1 se shoduje s požadovaným jednotkovým výstupem. Nechť naopak £' je konfigurace pro kaskádovou 2-síť taková, že Cf; \= T'. Označme £'(a) = (wi,...,wn,wn+i,wn+2;-wo) £'(ß) = (v1,...,vn,vn+1,vn+2,v)-vo), (11.77) kde w(a,ß) = v je váha spoje (a,ß). Dále definujeme následující dvě množiny vstupů pro A': Qo Qi xxn+1xn+2 G {0,l}n+2 xxn+1xn+2 G {0,l}n+2 V 0 + n + 2 E z' = l Vo + n + 2 E 8 = 1 víxí > 0, (x, 0, (x,cř) G T 292 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ vrstvě, jedním výstupním hradlem v druhé vrstvě a s třídou hradlových lineárních prahových funkcí (viz definici 6.3), LP je řešitelný v polynomiálním čase [57, 191]. Avšak příslušný algoritmus závisí exponenciálně na počtu vstupů a velikosti obvodu, a tedy je pro větší úlohy prakticky nepoužitelný. V této podkapitole dále zobecníme důkaz věty 11.16 a ukážeme NP-těžkost LP pro analogovou prahovou 3-síť s aktivační funkcí standardní sig-moidou a s reálnými váhami, která odpovídá modelu neuronové sítě používané v učícím algoritmu backpropagation v praktických aplikacích. To představuje dolní odhad složitosti LP pro tento model neuronové sítě. Na druhou stranu je velmi pravděpodobné, že příslušný LP je rekurzivní [185] (horní odhad). Tvrzení následující věty také ještě vyžaduje technický předpoklad, který omezuje výstupní hradlovou funkci 1(c) a jehož odstranění je pravděpodobně technickou otázkou. Nicméně tento předpoklad je např. splněn, pokud výstupní prahové hradlo c má nulový práh, což je častý předpoklad. Uvedený výsledek potvrzuje praktické zkušenosti s neefektivitou učícího algoritmu backpropagation [270, 271] a naznačuje, že jej pravděpodobně nelze vylepšit, protože překážky spočívají v samotné složitosti tréninkového problému. Nejprve zformulujeme zmiňovaný technický předpoklad. Definice 11.22 Řekneme, že analogová -prahová 3-síť (viz definici 7./f2 a 11.15) splňuje výstupní separační podmínku pro reálné koeficienty 1(c) = (ui,U2]— Uq) lineární funkce výstupního hradla c, jestliže v případě, že čísla uo, uo + ui, uo + u2, uo + ui + u2 nemají všechna stejná znaménka, platí u0(u0 + «i)(«o + u2)(u0 + «i + u2) < 0 . (11.88) Výstupní separační podmínka má jednoduchý geometrický význam. Říká, že přímka s rovnicí i/o + «íj/a + W2jft = 0 neodděluje ostře žádné dva body z množiny {[0, 0], [1, 0], [0, 1], [1,1]} od zbylých dvou. Zřejmě pro i/o = 0 (přímka prochází počátkem [0, 0], který již proto nemůže být ostře oddělen) je tato podmínka splněna. Věta 11.23 (Šíma [266]) LP pro analogové prahové 3-sítě s aktivační funkcí standardní sigmoidou (1.9) a s nulovou separací (7.26) binárního výstupu (tj. 1(c) je booleovská prahová funkce), které splňují výstupní separační podmínku (speciálně uo = 0) z definice 11.22, je N P-těžký problém. Důkaz: Důkaz 7V_P-těžkosti LP pro uvedené analogové prahové 3-sítě probíhá podobně jako v důkazu věty 11.16 polynomiální redukcí 7V_P-úplného problému SSP na LP. Nechť tedy (Q, R) je instance SSP a označme Q = {qi, . . ., qn}, R = {rj C Q \ j = 1, . . . ,p}. V polynomiálním čase zkonstruujeme odpovídající instanci (A,T) problému LP takovou, že (Q,R) G SSP má řešení, právě když (A, T) G LP má řešení. Architektura A analogové 11.5. BACKPROPAGATION NENÍ EFEKTIVNÍ 291 pro kterou t/a(x) = t/j(x) = t/c(x) = 1 pro každé (x, 1) G T. Na druhou stranu (x, 0) G T implikuje (x00,0) G T', pro které platí £/3(x00) = v0 + Ya=ivíxí + ^ž/a(x00) < 0. Pokud t/„(x00) = 1, pak 6(x) = vo + v + Ya=ivíxí < °> tj- žft(x) = 0, a tedy t/c(x) = 0. Pro t/a(x00) = ya(x) = 0 také t/c(x) = 0. Odtud Cf \= T. V případě, že v < 0, postupujeme podobně. Modifikujeme definici triviální konfigurace (11.81): £(a)=£(b) = (v1,...,vn,-v0-v). (11.84) Místo podmínky (11.82) dokážeme (ž/«(x00) = 0)A(x00gQo) (x,1)gT, (11.85) což umožní upravit definici konfigurace (11.83) následovně: 1(a) = (-wi, . . ., -wn; w0 + r/) (11.86) kde volíme 1(b) 0 < n < min — wn — > w;x; . (11.87) ~ (x,i)er l 7 J ' D 11.5 Backpropagation není efektivní Věta 11.16, resp. důsledek 11.17 ukazuje, že pravděpodobně neexistuje efektivní algoritmus pro učení vícevrstvých neuronových sítí s pravidelnou architekturou, které se často používají v praktických aplikacích. Tyto výsledky platí pro diskrétní neuronové sítě s perceptrony, které počítají booleovské prahové funkce, na jejichž vlastnosti se příslušné důkazy odkazují. Avšak v praxi se nejčastěji používá učící algoritmus backpropagation (viz podkapitolu 2.2), který vyžaduje diferencovatelnou (tj. spojitou) aktivační funkci. Proto někteří inženýři považovali uvedené výsledky za irelevantní (7V_P-úplnost ve větě 11.5 vychází spíše z nepravidelnosti architektury než z použité třídy hradlových funkcí) a snaha byla zobecnit větu 11.16 pro standardní sigmoidu (1-9). Např. Klaus-U. Höffgen dokázal, že LP pro analogovou prahovou 3-síť (viz definice 7.42 a 11.15) s jednotkovými váhami je 7V_P-úplný problém [116]. Nebo autoři článku [57] ukázali 7V_P-úplnost LP pro analogové prahové 3-sítě, resp. analogové kaskádové 2-sítě, se saturovanou lineární aktivační funkcí (1.8) a reálnými váhami. Na druhou stranu, pokud připustíme obecně celočíselné (resp. racionální) vstupy a uvažujeme obvod s konstantním počtem vstupů a hradel v první 294 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ že ^(O^IO2^1-8') = w0 + Wi = -In + 1 a ^(O^IO2^1"8') = v0 + Ví = -In + 1 pro tréninkový vzor (0í_1102n+1~\ 0) G T0 (g; G Q2), tj-íc(0í-1102n+1-í) = -2<7(-2n + l) + <7(-2n + l) < 0, a proto podle (7.26) t/c(0í_1102n+1_í) = 0 se shoduje s požadovaným nulovým výstupem. To znamená, že Cf \= T0. Zřejmě pro tréninkový vzor (02n+1,l) G Ti podle (11.91) platí, že ^(02n+1) = -1 a 6(02n+1) = 1, a tedy £c(02n+1) = -2 0, tj. t/c(02n+1) = 1 podle (7.26). Pro tréninkový vzor 0n+1, 1) G T odpovídající podmnožině í*j G i? podle (11.91) platí, že£a(xji ■ ■ .Xjn0n+1) = w0+J2qter. wí < -l+2(n-l)-2n+2 = -1, protože díky r j ^ Q\ existuje aspoň jedno qi £ r j \Q\. Podobně podle (11.91) platí, že $h(Xjl • ..xjn0n+1) = v0 + J2qter3 vi > l - Mn - 1) + 2«2 - 2n = 1, protože díky r j <£. Q2 existuje aspoň jedno qi G r j \Q,2- To znamená, že Íc{xji ...xjn0n+1) > -2 0, což podle (7.26) implikuje yc(xji . . .Xjn0n+1) = 1. Z toho vyplývá, že Cf \= Ti. Podobně z (11.91) vyplývá, že ^(O"^-1^"-8'!) = w0 + wn+i + w2n+i = — 1 a ^(0n+í_110n_íl) = ^0 + vn+i + v2n+i = 1 pro tréninkový vzor (On+i-1ÍOn-ií,í) e T/ (1 < i < n), a tedy ^((T+^IO"-8'!) = -2 0, což podle (7.26) implikuje yc(0n+i-110n-ií) = 1. To znamená, že Cf \= T/. Dále pro (02nl,0) G T0' platí podle (11.91), že 6>(02nl) = w0 + W2n+i = 0 a 6(02nl) = v0 + v2n+i = 2n + 1, a tedy £c(02nl) = -2 0, což implikuje e^l(l - 2e-1+2nlr^-2n-l^l) < 0, z čehož dále dostáváme -2(1 + e-(i-2nkJ|+2n)^ + (i + ek;|) < 0. Nakonec vydělíme výrazem (1 + e~(1_2n'rj'+2n))(l + e'rj') > 0 a můžeme uzavřít Cc(0nxjl . ..xjní) = -2cr(-|ri|) + a(í - 2n\rj\ + 2n) < 0, tj. podle (7.26) yc(0nxjl. ..xjnl) = 0 pro (0nxjl . ..xjnl,0) G T0'. Proto Cf \= T0', a tedy Cf^T. Nechť naopak Cf \= T pro konfiguraci i splňující výstupní separační podmínku. Protože To U T0' ^ 0, Ti U T/ ^ 0 a 0 < ya,Vb < 1, reálná čísla «o, «o + «i) uo + «2, uo + u\-\- «2 odpovídající po řadě hraničním bodům {[0, 0], [1, 0], [0,1], [1, 1]} nemají všechna stejná znaménka. Tedy podle (11.88) platí uo(uo + «i)(«o + u2)(uo + «i + u2) < 0 . (11.92) Omezíme se na případ, kdy mezi reálnými čísly «o, «o + «i> «o + «2, uo + u\ -\- u2 je právě jedno kladné a zbylá tři čísla jsou nekladná. V tomto případě dále využijeme jen tréninkové vzory z T0 U Ti a jim odpovídající váhy (resp. prahy) w0, ■ ■ ■ ,wn, v0,...,vn a m0,mi,m2- Opačný případ, kdy 11.5. BACKPROPAGATION NENÍ EFEKTIVNÍ 293 prahové 3-sítě C je dána počtem vstupů 2n + 1 a tréninková množina T = T0 U Ti U T0' U T/ se skládá z \T\ = 1(n + p + 1) vzorů, kde To = {(0í-1102n+1-í,0)|i=l,...,n} (11.89) T = {(02n+1,l)}U {(xji . . .xjn0n+1, 1) | Xji = 1 <-> qi G r j, i = 1, . . .,n; j = 1, . . .,p} T0' = {(02"1,0)}U {(0nXji . . .xjní,0) | Xji = 1 <-> qi G ri; i = 1, . . .,n; j = 1, . . .,p} T{ = {(0n+i-1l0n-il,l)\i = l,...,n}. Uvedený formální zápis ilustrujeme na příkladě z důkazu věty 11.16, kde instanci (11.49) problému SSP odpovídá instance (A, T) problému LP, v níž architektura A 3-sítě má 7 vstupů a tréninková množina obsahuje následujících 12 vzorů: T0 = {(100 000 0,0), (010 000 0,0), (001 000 0,0)} (11.90) T = {(000 000 0,1), (110 000 0,1), (011 000 0,1)} T0' = {(000 000 1,0), (000 110 1,0), (000 0111,0)} T{ = {(000 100 1,1), (000 010 1,1), (000 0011,1)}. Nechť tedy Q\,Q2 je řešení SSP. Definujeme konfiguraci £ analogové prahové 3-sítě C, která splňuje výstupní separační podmínku (u0 = 0): W0 = ~1 Wi = {-2n + 2 w2n+i = 1 wn+i = -1 Vo = í ^ = \2n2-2n V'2n+i = 2n vn+i = -2n m0 = 0 «i = —2 «2 = 1. Ověříme, že Cf \= T. Pro qi G Qi podle (11.91) platí, že (a(0i-1í02n+1-i) = wo + wí = 1 aCh(0i-1í02n+1-i) = v0 + Vi = 2n2-2n + l pro tréninkový vzor (O^IO2^1"8', 0) G T0 (qi G Qi), tj. ^c(0í-1102n+1-í) = -2cr(l) + cr(2n2 - 2n + 1) < 0, kde a = 1/(1 + e_e) je standardní sig-moida (1.9), a proto podle (7.26) t/c(0í_1102n+1_í) = 0 se shoduje s požadovaným nulovým výstupem. Podobně pro qi G Qi podle (11.91) platí, qi G Q\ qi £ Qi qi g 0,2 qi i Q-2 i = 1, . . ., n i = 1, . . ., n (11.91) i = 1, . . ., n 296 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ újmy na obecnosti označme prvky r j = {gi, . . ., qr} C Q, kde r = \rj\ < n. Z C/ |= T0 a Cf \= Ti podle (11.89) a (7.26) dostáváme: ^O^IO2""1"1-8') = uo + Ula(w0 + Wi) + u2a(v0 + ví) < 0 i = 1, . . ., r < n íc(02n+1) = «o + uktÍwq) + u2a(v0) > 0 £,c{xji ■ ■ .xjn0n+1) = u0 + uX(j I w0 + ^2 W{ J + u2(t I v0 + '^2/vi J > 0, což lze pomocí explicitního tvaru (1.9) standardní sigmoidy a upravit: eVo+v'(U2 + U3ew') < Uo + Uiew' i=í,...,r (11.102) eVo (U2 + U3) > Uo + U! (11.103) ev0+vm ^2 + u3ewm) > Uo + Uiewm ; (11.104) kde (11.94) lze přepsat: Uo = -uo > 0 (11.105) ř7i = -(«o + MOe1"0 > 0 ř/2 = M0 + M2 < 0 t/3 = („o + Mi+^K0 >0 a Wife = ELi w»' ^ = Ya=i vi pro A; = 1, . . ., r. Podle (11.105) víme, že Uo + ř/i, Uo + U\eWm > 0, a tedy z nerovností (11.103) a (11.104) vyplývá, že U2 + U3 > 0 a U2 + U3ew™ > 0. Navíc ukážeme, že U2 + U3ew' > 0 a U2 + U3eW' > 0 pro i = 1, . . ., r. V případě, že r j C Qi, pro všechny i = 1, . . .,r platí u>8' > 0, a tedy U2 + U3ew' > tyr2 + ř73e"'' > ř72 + t^3 > 0 pro i = 1, . . ., r. V případě, že r j C Q2, pro všechny i = 1, . . ., r platí Wi < 0, a tedy U2 + U3ew- >U2 + U3ew- >U2 + U3ew™ > 0 pro i = 1, . . .,r. To nám umožní vyjádřit (11.102) a (11.103) následujícím způsobem: „„+„, ^0 + ^ieI"' i=l,...,r (11.106) ř72 + ^3ett'' V 7 e- < lll±El. (11.107) o'O + Ul Dále ukážeme indukcí dle k, že nerovnosti (11.106) a (11.107) implikují 11.5. BACKPROPAGATION NENÍ EFEKTIVNÍ 295 W0 +W2n + l wi = wn+i 1 = 1, ...,n v0 + v2n+1 v'i = vn+i i= 1, ...,n -u0 u'x = —Ui «'2 = ■ -u2 . je jedno z čísel «o, «o + wi> Mo + «2, «o + «i + «2 záporné a zbylá tři jsou nezáporná, lze totiž převést na předchozí případ pomocí tréninkových vzorů z Tq\JT{. Za tímto účelem jsou definovány nové váhy w'0, ■ ■ ■, w'n, v'0, ■ ■ ■, v'n a u'o, u'1; u'2 konfigurace £' analogové prahové 3-sítě C následujícím způsobem: (11.93) Zřejmě podle (11.93) je mezi čísly u'0, u'0 + u[, u'0 + u'2, u'0 + u[ + u'2 právě jedno kladné a zbylá jsou nekladná, jak požadujeme. Navíc podle (11.93) platí Cfi |= To U Ti, protože C f \= T0' U T/. Dále budeme bez újmy na obecnosti předpokládat, že u0 < 0 u0 + «i < 0 u0 + u2 < 0 u0 + «i + u2 > 0 , (11.94) kde ostrost první nerovnosti vyplývá z ostatních. Ostatní tři kombinace znamének lze opět převést na (11.94) při zachování funkce Cf analogové prahové 3-sítě C. Tuto transformaci naznačíme jen projeden případ, zatímco ostatní jsou podobné. Nechť např. «o < 0, «o + «i < 0, uo + u2 > 0, uo + ui +u2 < 0. V tomto případě definujeme nové váhy w\ = —u>i, v\ = ví pro i = 0, . . ., n a m'0 = u0 + Ui, u'x = —«i, m'2 = m2. Jelikož pro standardní sigmoidu a platí 0. (11.99) u0 + ul + u2 = u0 + «1 Nyní již můžeme definovat disjunktní rozklad množiny Q = Q\ U Q2 následujícím způsobem: Qi = Ui e Q I wi > 0} (li.ioo) Q2 = Q\Qi. (11.101) Ukážeme sporem, že Q\, Q2 je řešením instance (Q, R) problému SSP. Nechť tedy naopak existuje r j G R takové, že buď r j C Qi, nebo r j C Q2. Bez 298 KAPITOLA 11. SLOŽITOST UČENÍ NEURONOVÝCH SÍTÍ vstupu LP. Možným východiskem z této situace je umožnit učícímu algoritmu volit architekturu sítě, avšak kvůli generalizační schopnosti požadovat její minimalitu (viz odstavec 2.2.6), kterou lze formalizovat různými způsoby. V tomto případě se hovoří o tzv. konstruktivním učení [54]. Nicméně pro různá kritéria minimality architektury je možné ukázat, že konstruktivní tréninkový problém je 7V_P-úplný. Na druhou stranu je v literatuře popsáno několik polynomiálních konstruktivních učících algoritmů neuronových sítí, které naleznou architekturu konzistentní s tréninkovými vzory, avšak díky omezeným generalizačním schopnostem je lze jen v omezené míře prakticky použít [68, 192, 232, 240]. Také původní neurofyziologické motivace nám potvrzují, že musí existovat nějaká možnost efektivního učení, protože živé organismy jsou přece jen schopny učit se v reálném čase, i když např. u člověka to představuje několik vývojových let jedince. Avšak v případě živých organismů je situace odlišná tím, že jedinec navíc dědí genetickou informaci, která podstatným způsobem přispívá k jeho schopnosti učit se. Některé funkce jsou již dokonce predprogramovaný, např. části mozku člověka, které řídí základní funkce organismu. To u modelů neuronových sítí může odpovídat počáteční konfiguraci sítě, která nemusí odpovídat její smysluplné funkci, ale představuje výchozí stav adaptace, ze kterého lze síť učit efektivně. Proto např. počáteční nastavení vah učícího algoritmu backpropagation může rozhodujícím způsobem ovlivnit dobu a kvalitu učení (viz odstavec 2.2.2). Otázka, kde se v přírodě vzala tato počáteční informace, tj. zda např. v průběhu evoluce člověka nebo při stvoření světa, a zda ji budeme schopny někdy popsat, je pak již filozofický problém. 11.6 Učení cyklických neuronových sítí V této podkapitole připojíme jen stručnou poznámku o složitosti učení cyklických neuronových sítí. Nejprve zformulujeme obecný tréninkový problém pro Hopfieldovy sítě (viz podkapitoly 8.3 a 8.4), jehož složitost je doposud otevřený problém [66]. Tréninkový problém pro Hopfieldovy sítě H N S (Hopfield Net Synthesis): instance: Celé číslo r; tréninková množina T = {xj, £ {0, l}n \ k = 1, . . . ,p} taková, že mezi každými dvěma různými vzory xj,,Xj G T je Hammingova vzdálenost iř(xj,,Xj) > 2r (viz definici 8.23) pro 1 < k < j < p. otázka: Existuje Hopfieldova síť velikosti n taková, že každý tréninkový vzor Xfc G T je jejím stabilním stavem s poloměrem atrakce aspoň r? 11.5. BACKPROPAGATION NEM EFEKTIVNÍ 297 Nejprve pro k = 1 nerovnost (11.108) odpovídá přesně (11.106) pro i = 1. Dále předpokládejme, že (11.108) platí pro nějaké k £ {1, . . ., r — 1}. Potom pomocí (11.106), (11.107) a faktu, že všechny členy jsou kladné, obdržíme následující nerovnost: gKO + Vfc + i _ eV0 + Vk gDo+ffc + l g-fO ^ U0 + Uiew» Up + Uiew*+i U2 + U3 < -------------TIF----------------------• ------------ • (11-109) U2 + U3ew- U2 + U3ew^ Up + Uľ K ' Chceme dokázat (11.108) pro k nahrazené k + í. Za tímto účelem stačí podle (11.109) ukázat: Up + Uiew- Up + U^x+i U2 + U3 •••>"; k = Í,---,P (11.113) ~l l ^ i ki ~ u Wij = Wji 1 < i, j < n . Soustavu (11.113) lze vyřešit pomocí lineárního programování v polynomiálním čase [145]. □ Složitost HNS pro r > í není známa. Pro konstantní r je HNS v N P, pokud se omezíme na malé váhy. Věta 8.24 napovídá, že HNS bude v obecném případě pravděpodobně těžký problém. Pro obecné analogové neuronové sítě (viz podkapitolu 10.2) je situace ještě horší [57]. Z důsledku 10.18 vyplývá, že LP není v případě racionálních vah ani rekurzivní. 302 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI že K C Sn je koncept dimenze n a Kn C 'P(Sn) je třída těchto konceptů. Uvažujme také obecnou třídu konceptů K, = Un>o^« — ^(^O ve vstupním prostoru S. Řekneme, že třída konceptů K, C V(ß) je triviální, jestliže buď \JC\ = 1, we&o /C = {A'i, Ä'2} tak, že S = Ä'i U Ä'2. Omezíme se na reprezentaci konceptu K C Sn pomocí prahového obvodu Cn pevné architektury s n vstupy a jedním výstupem, jehož funkce Cn : Sn —> {0, 1} představuje charakteristickou funkci K, tj. pro každé x G Sn p/aťž, že C„(x) = 1, právě když x G Ä', we6o ťa&e' Ä' = £(C) podle definice 1.52. Velikost s(K) konceptu K je pak počet bitů potřebných pro reprezentaci nejmenšího obvodu, který K reprezentuje. Podobně podle definice 7.19 třída posloupností C obvodů s jedním výstupem určuje třídu konceptů K, = L(C). Nyní zformalizujeme základní model učení, který přesně vymezuje, kdy lze efektivně najít reprezentaci tzv. hypotézy (konceptu), která je s velkou pravděpodobností dobrou aproximací neznámého cílového konceptu z dané třídy konceptů, pomocí tréninkových vzorů, které odpovídají tomuto konceptu a jsou generovány náhodně s neznámým pravděpodobnostním rozdělením. Obecně se uvažuje větší třída hypotéz než je třída cílových konceptů, avšak pro naše účely je postačující omezit se na případ tzv. vlastního učení (proper learning), kdy obě třídy splývají a v našem případě jsou reprezentovány acyklickou neuronovou sítí. To znamená, že neznámý cílový koncept i hledaná hypotéza, která jej aproximuje, jsou jen z takové třídy konceptů, které lze reprezentovat acyklickou neuronovou sítí. Definice 12.2 (Valiant [275]) Řekneme, že třída K, = Un>o^n konceptů reprezentovaných posloupnostmi prahových obvodů je PAC-naučitelná, jestliže existuje učící algoritmus U takový, že pro každé n > 0, pro každý cílový koncept K G JCn, pro každé pravděpodobnostní rozdělení D : Sn —> (0, 1) vstupního prostoru Sn dimenze n, pro každou přesnost 0 < e < 1 a každou konfidenci 0 < 6 < 1 algoritmus U, který má na vstupu n, s, 6 a tréninkovou posloupnost vzorů (xj,,c4) G Sn x {0,1} (k > í), kde vstup xj, G Sn je generován náhodně a nezávisle podle pravděpodobnostního rozdělení D a eřj. = 1 ('pozitivní příklady, právě když xj, G K (v případě d^ = 0, tj. xj, ^ K, hovoříme o negativním příkladě^), skončí v čase P(n,s(K),-,^), kde P je polynom, s hypotézou H G K,n na výstupu takovou, že s pravděpodobností aspoň 1 — 6 (vzhledem k možným tréninkovým posloupnostem) chyba E(H,K)= J2 ^(x)<£- (12-!) xe(KAH) kde KAH = (Ä' \ H) U (H \ K) je symetrická diference. Zamysleme se nad tím, jaký je rozdíl mezi tréninkovým problémem LP (viz kapitolu 11) a PAC-modelem. U LP hledáme konfiguraci neuronové Kapitola 12 Generalizace neuronových sítí Obecně heuristiky v umělé inteligenci často postrádají složitostní analýzu. Podobně tomu bylo i v oblasti strojového učení, a proto se Leslie G. Valiant počátkem 80.let s úspěchem pokusil o formalizaci učení a generalizace z hlediska teorie složitosti a vytvořil tak známý P AC-model (Probably Approximately Correct learning). Jeho pionýrská práce [275] dala později vznik celému informatickému odvětví, tzv. výpočetní teorii učení (computational learning theory) [20, 22]. V rámci této disciplíny bylo dosaženo mnoho výsledků, které jsou relevantní pro učení a generalizaci neuronových sítí. Modely neuronových sítí tak slouží jako oblast aplikace a testování obecné teorie učení, ale také jako zdroj motivací pro další výzkum. V této kapitole naznačíme jen základní myšlenky obecné výpočetní teorie učení a uvedeme nejdůležitější výsledky týkající se učení neuronových sítí. 12.1 PAC-model Budeme se zabývat učením tzv. konceptů z tréninkových vzorů. Např. v oblasti rozpoznávání obrazů písmeno „A" lze považovat za koncept a vzory jsou konkrétní výskyty tohoto písmene (viz motivační příklad z odstavce 1.3.1). Tedy koncept lze chápat jako podmnožinu vstupního prostoru. Pro reprezentaci konceptů budeme v našem případě používat acyklickou neuronovou síť s jedním výstupem, jehož hodnota určuje, zda daný vstupní příklad je instancí příslušného konceptu. Definice 12.1 Necht"E>„ je vstupní prostor dimenze n, tj. např. Sn = {0, l}n (resp. Sn = IR"^ a označme obecný vstupní prostor S = Un>0 2„. Řekneme, Qm 304 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI s dotazy na shodu (příp. s dotazy na příslušnost) [19]. Každý dotaz na shodu polynomiálního přesného učícího algoritmu lze totiž v PAC-modelu nahradit dostatečně velkým počtem náhodně generovaných tréninkových vzorů odpovídajícího cílového konceptu, které se použijí při testu konzistence hypotézy buď k odhalení protipříkladu, nebo k potvrzení hypotézy, která je již pravděpodobně dobrou aproximací cílového konceptu. 12.2 Počet tréninkových vzorů Před tím, než se v rámci PAC-modelu budeme zabývat efektivní naučitel-ností konceptů reprezentovaných pomocí acyklických neuronových sítí, věnujeme tuto podkapitolu jednodušší otázce, totiž kolik je při tom potřeba a kolik stačí tréninkových vzorů. Tento problém je užitečný pro praktické učení neuronových sítí, protože jeho řešením dostaneme odhad velikosti tréninkové množiny pro úspěšnou generalizaci. Počet náhodných příkladů, které požaduje učící algoritmus v nejhorším případě, se nazývá vzorková složitost (sample complexity), která je jedním ze základních předmětů výzkumu ve výpočetní teorii učení. Zřejmě vzorkovou složitost lze studovat nezávisle na reprezentaci konceptu a výpočetní složitosti učícího algoritmu. Za tímto účelem definujeme tzv. (e, 6)-učící algoritmus. Definice 12.4 Řekneme, že U je (s, é)-učící algoritmus pro třídu K, C 'P(S) konceptů ve vstupním prostoru S, kde 0 < £ < 1 je přesnost a 0 < 6 < 1 je konfidence, jestliže pro každý cílový koncept K E K, a pro každé pravděpodobnostní rozdělení D : S ----> (0, 1) vstupního prostoru S, algoritmus U, který má na vstupu p tréninkových vzorů generovaných náhodně a nezávisle podle pravděpodobnostního rozdělení D, nalezne hypotézu H E K, takovou, že s pravděpodobností aspoň í — 6 chyba E(H,K)= Y^ D(x) (0, 1), pro které -D(xi) = 1 — e a -D(x2) = s. Tedy tréninková posloupnost délky p pro U obsahuje jen xi s pravděpodobností (1 — s)p. V tomto případě se výsledná hypotéza H liší v x2 buď vzhledem k cílovému konceptu A'1; nebo A'2, tj. buď E(H,Ki) > s, nebo E(H, K2) > £■ To znamená, že nutně (1 — s)p < 6, protože U je (s, é)-učící algoritmus. Z toho vyplývá, že pln(l — s) < ha.6, což lze díky ln(l — s) < 0 upravit kde - Ml - e) = ln (l + j^j < j^- , (12.6) a tedy p>^^ln\. (12.7) 6 0 Zbývá ukázat, že p = í)(VC(/C)/£). Nechť Q = {xo, xi, . . ., Xd_i} C S dosvědčující VC(/C) = |Q| = cř je atomizovaná třídou konceptů K, C P(S) ve vstupním prostoru S a položme Q' = Q\{xo}. Uvažujme pravděpodobnostní rozdělení D : S —> (0, 1), pro které D(xo) = 1 — 8e a -D(x) = 8s/(d— 1) pro x G Q'. Tedy s pravděpodobností 1 — 8e + (cř — 1) • 8s/(d — 1) = 1 tréninkové vzory pro U jsou z Q. Dále volme množinu K' = {A G /C I A n Q' G V(Q'), x0 G A} , (12.8) která díky tomu, že Q je atomizovaná třídou konceptů /C, obsahuje l'P(Q')! = 2d_1 konceptů, a předpokládejme, že p = -357. Ukážeme, že pro nějaké K G /C' chyba E(H, K) výsledné hypotézy H algoritmu U je větší nebo rovna e s pravděpodobností aspoň 6 pro dostatečně malé s, 6, tj. pravděpodobnost P{E(H,K)>e}>6. (12.9) Navíc bez újmy na obecnosti předpokládejme, že vždy xo G H, protože příslušnou úpravou algoritmu U se chyba E(H, K) pro K G K,' nezvýši. 12.2. POČET TRÉNINKOVÝCH VZORŮ 305 Důkaz: Pravděpodobnost, že libovolná hypotéza H G /C s chybou E(H, K) > s není konzistentní s jedním náhodným tréninkovým vzorem je zřejmě podle (12.2) větší než s, a tedy opačně pravděpodobnost její konzistence s jedním vzorem je nejvýše 1 — s a s p náhodně a nezávisle vybranými tréninkovými vzory je nejvýše (1 — s)p < e~£p. Protože existuje nejvýše \tC\ hypotéz, pravděpodobnost, že nějaká hypotéza v K, má chybu více než e a je konzistentní s p s náhodnými tréninkovými vzory je nejvýše |/C|e_£p. Tedy pro p = - In t-f- je tato pravděpodobnost nejvýše 6. To znamená, že s pravdě- 1 I 3t— I podobností aspoň 1 — 6 je E(H, K) < e pro H G /C konzistentní s - ln ■'-t-'-tréninkovými vzory. □ Věta 12.5 předpokládá konečnou velikost třídy konceptů. V případě nekonečných tříd konceptů se místo toho obecně uvažuje tzv. Vapnik-Chervo-nenkisova dimenze [277], která se stala jedním z ústředních pojmů výpočetní teorie učení. Definice 12.6 Řekneme, že podmnožina Q C S je atomizovaná (shattered) třídou konceptů /C C V (p,) ve vstupním prostoru S, jestliže pro každou podmnožinu R C Q existuje koncept K G K, takový, že K n Q = R. Vapnik-Chervonenkisova dimenze (V C-dimenze) VC{tC) třídy konceptů K, je největší velikost podmnožiny vstupního prostoru, která je atomizovaná třídou K. Nyní zformulujeme bez důkazu zobecněnou větu 12.5 pro konečnou VC-dimenzi. Věta 12.7 (Blumer, Ehrenfeucht, Haussler, Warniuth [40]) Necht VC{tC) je konečná VC-dimenze třídy konceptů tC. Potom každý učící algoritmus konzistentní s tréninkovou množinou velikosti o(Il04 + ii3£ll0gI) je (s, 6)-učící algoritmus pro tC. Ukážeme také dolní odhad pro velikost tréninkové množiny (e, é)-učícího algoritmu, který se jen nepatrně liší od horního odhadu ve větě 12.7. Věta 12.8 (Ehrenfeucht, Haussler, Kearns, Valiant [59]) Nechť IC je netriviální třída konceptů a U je (e, 6)-učící algoritmus pro K. Potom U vyžaduje aspoň o(i,ogi+mH) tréninkových vzorů. 308 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI což nastane s pravděpodobností 8e, a celkový počet tréninkových vzorů je ■^i. Tedy pravděpodobnost, že počet tréninkových vzorů pro U, které jsou z Q', je nejméně (d — l)/2, lze podle (9.2) shora odhadnout pomocí f d-í d-í \ n2w8£ 1 - e-^ . (12.18) Dosazením (12.16) a (12.18) do (12.10) dostáváme pro d > 2 a s < g dolní odhad pravděpodobnosti P{£(ff, A') > £} > i (l - e-^) > ^ . (12.19) Proto, jestliže 6 < y^ ap< "357; C^ nemůže být (e, é)-učící algoritmus, a nutně tedy p = fž(T/G(/C)/£), což spolu s (12.7) implikuje tvrzení (12.4). □ Dolní a horní odhad na velikost tréninkové množiny ve větách 12.7 a 12.8 byl formulován pro obecnou třídu konceptů dané V C-dimenze. Abychom mohli tyto výsledky použít při učení neuronových sítí, v následujících větách určíme hodnotu této dimenze pro perceptron a acyklické neuronové sítě. V případě perceptronu budeme potřebovat Radonovu větu. Věta 12.9 (Radon [90]) Necht n > 1 je přirozené číslo a Q je množina \Q\ > n + 2 bodů v euklidovském prostoru En dimenze n. Potom existuje neprázdná podmnožina 0 ^ R C Q množiny Q taková, že conv(R)r\conv(Q\R)jĹ®, (12.20) kde conv(R) značí konvexní obal množiny R. Věta 12.10 (Wenocur, Dudley [285]) Nechť K,n C 7>(S„) je třída konceptů ve vstupním prostoru S„, kde {0, l}n CH„C Rn, které jsou reprezentovány lineárními prahovými funkcemi s n proměnnými (viz definici 6.3). PakVC(ICn) = n+í. Důkaz: Uvažujme libovolnou množinu Q C Sn velikosti |Q| > n + 1. Podle Radonový věty 12.9 existuje 0 ^ R C Q, pro kterou platí (12.20), tj. neexistuje lineární prahová funkce / : Sn —> {0, 1}, která by byla charakteristickou funkcí pro R (/(x) = 1, právě když x G i?). To znamená, že neexistuje koncept K £ JCn takový, že K n Q = R, a tedy Q není atomizovaná třídou K,n konceptů ve vstupním prostoru Sn. Z toho vyplývá, že VC{Kn) < n + í. 12.2. POČET TRÉNINKOVÝCH VZORŮ 307 Označme G jev, že počet tréninkových vzorů pro algoritmus U, které jsou z Q', je nejvýše (d — l)/2. Potom pravděpodobnost (12.9) lze odhadnout pomocí podmíněné pravděpodobnosti následujícím způsobem: P{E(H, K) >e}> P{E(H, K) > e \ G} ■ P{G} . (12.10) Nejprve tedy předpokládejme, že nastane jev G, tj. nejvýše (d — l)/2 tréninkových vzorů je z Q'. V tom případě výsledná hypotéza H algoritmu U nezávisí na zbylých aspoň d — 1 — (d — l)/2 = (d — l)/2 vzorech z Q'. Označme množinu těchto vzorů Q h Q Q' (|Qif| > (d—1)/2) a zavedeme predikát ch{K, x), pro který ch{K, x) = 1, jestliže x G K AH, a ch{K, x) = 0 jinak. Odhadneme zdola průměrnou chybu E(H, K) přes všechny koncepty K G K,': ±-j2E(H>K) > Í E £ e*(*'*)D00 = 1 ' Ketc> Keic'xeQn Ss ^ ^ ,„ s 1 8e ^ 2 d-1 pd-1 7 E E ma» = ^rr-^T E 2 xGQffifex:' xeQfj > 8e d - 1 1 Odtud vyplývá, že střední hodnota E mFTT E E(H'K) G =ÍEE[^A')IG]>&- (12-12) .' ' Keic' J ife/c a tedy existuje nějaký koncept K G K,' takový, že E[E(H, K) I G] > 2e . (12.13) Na druhou stranu z předpokladu, že Č7 vždy správně klasifikuje xo vyplývá, že E(H, K) < 8e. Z toho dostaneme horní odhad střední hodnoty: E[E(H, K) I G] < 8epH + e(l - pH), (12.14) kde pH = P{E(H, K) > e | G}, což spolu s (12.13) implikuje 2e < 8epH + e(í - pH), (12.15) a tedy PH = P{E(H,K)>e\G}>Y (12.16) Pro dolní odhad P{G} v (12.10) využijeme (n) z lemmy 9.2 pro ß = 1. V našem případě neúspěšný pokus znamená, že tréninkový vzor x je z Q'', 310 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI charakteristických funkcí podmnožin R C Q. Ze vztahu (12.23) vyplývá, že 2p 2p/logp. Zřejmě 2p/\ogp > logp, a tedy 4u> > logp, což lze přepsat jako log4u> > log logp. Horní odhad pro loglogp využijeme, když zlogaritmujeme (12.24), a dostáváme \ogp < log2u> + log log p < log2u> + log4u> = O(logw), což zpětně dosadíme za logp do (12.24) a obdržíme p = O(wlogw). To znamená, že VC{Kn) = O(wlogw). □ Ukážeme překvapivý fakt, že horní odhad ve větě 12.12 nelze obecně zlepšit, i když by se mohlo zdát, že T/C-dimenze u acyklické neuronové sítě nemůže být větší než součet T/C-dimenzí u jejích neuronů, tj. podle věty 12.10 by byla 0(w). Následující věta tuto domněnku vyvrací a lze ji interpretovat jako matematickou evidenci teze, že síť neuronů není jen součtem svých komponent. Věta 12.13 (Maass [182]) Necht K = \Jn>0ICn, kde Kn C V(En) a {0, l}n C Sn C Rn, je třída konceptů reprezentovaná posloupnostmi prahových obvodů C = (Co, C\, C'2, ■ ■ •) (L(G) G K.) velikosti S(n) = O(n) a hloubky 3, kde prahový obvod Cn (L(Cn) G tCn, n > 0) má n vstupů, první vrstva se skládá z Í2(n) hradel, ve druhé vrstvě je 4 log n hradel, ve třetí vrstvě je jedno výstupní hradlo a hradla (včetně vstupů) z jedné vrstvy jsou spojena se všemi hradly následující vrstvy. Tedy počet vah a prahů v obvodu Cn je w = Q(n2). Potom VC(ICn) = í}(n2\ogn) = í}(w\ogw). Důkaz: Nechť přirozené číslo m = 2C G N je mocninou 2 a položme n = 2m + log m, tj. 2m = n — log m > n — m, a tedy n/3 < m < n, což znamená, že m = O(n). Označme binárni vektory e8- = (08_110m_í) G {0, l}m pro i = í,...,m a e'; = (O^IO1^™-8') G {0, l}losm pro i = l,...,logm. Dále uvažujme množinu Q = {(eileiae;-3) ll^ň, i2 {0)1} množiny R, tj. pro každé x G Q platí, že F (x) = Cn(x) = 1, právě když x G Ä. Za tímto účelem definujeme zobrazení g : {l,...,m}2 —> {0, l}logm následujícím způsobem: g(h,Í2)= (-F1(eileÍ2e'1),...,ŕ1(eileÍ2eíogm)) (12.26) 12.2. POČET TRÉNINKOVÝCH VZORŮ 309 Na druhou stranu nechť Q = {0n} U {O^IO""8' | i = 1, . . ., n} C Sn je množina velikosti \Q\ = n + í & R C Q. Definujeme reprezentaci (w1; . . ., wn; h) lineárni prahové funkce / : Sn —> {0, 1}, která je charakteristickou funkcí konceptu K G tCn: r i o^io^GÄ . 1 noon wi = i _1 0i-lí0n-i d. R t = í,...,n. (12.21) , _ í 0 0n G R \ 1 0n Í R Z definice (12.21) je zřejmé, že pro každé x G Q platí /(x) = 1, právě když x G Ä. Tedy KC\Q = R a Q je atomizovaná třídou Kn konceptů ve vstupním prostoru Sn. Z toho vyplývá, že VC{Kn) > n + 1, a tedy z předchozího VC{Kn) = n + l. ü Pro horní odhad T/C-dimenze se často používá následující Sauerova lemma. Pomocí ní shora odhadneme tuto dimenzi pro třídu konceptů reprezentovaných acyklickými neuronovými sítěmi. Lemma 12.11 (Sauer [246]) NechfE, je konečný vstupní prostor velikosti |S| = p, K, C V(ß) je třída konceptů v S taková, že VC(JC) < d. Potom platí \ic\<"t(P)^pd + 1- (12-22) i=o W Věta 12.12 (Cover [50], Baum, Haussler [34]) Nechť K,„ C V(En) ]e třída konceptů ve vstupním prostoru Sn C Rn reprezentovaných prahovými obvody (obecně s lineárními prahovými hradlovými funkcemi) s n vstupy, jedním výstupem a w váhami a prahy (tj. w = \E\ + s pro množinu hran E a velikost obvodu s). Pak VC{tCn) = O(wlogw). Důkaz: Nechť množina Q C Rn velikosti |Q| = p > 2 je atomizovaná třídou IC n konceptů. Označme V množinu hradel prahového obvodu C, který reprezentuje koncept K G K-n, a c?g(Í) značí počet vstupů hradla j G V. Prahové hradlo j G V obvodu C reprezentuje podle věty 12.10 třídu konceptů T/C-dimenze da(j) + 1. Tedy podle Sauerovy lemmy 12.11 toto hradlo může počítat nejvýše pda(J)+1 -\- 1 různých lineárních prahových funkcí na konečném definičním oboru S C Rdaü) velikosti |S| = p. Proto prahové obvody C reprezentující koncepty z JCn počítají pro vstupy z Q nejvýše TJ fpdaU)+i + rj < p2w (12.23) jev různých funkcí C : Q----> {0, 1}. Na druhou stranu, protože Q je atomizovaná K,n, prahové obvody C reprezentující koncepty z K,n musí počítat všech 2P 312 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI Dále ve druhé vrstvě bude prahové hradlo qi, s prahem /i(gj) = y + 1, spojené se všemi hradly Uj. Vj (j = 0, . . ., m — 1) z první vrstvy pomocí vah w(uj,qi,) = w(vj,qi,) = (bin(j))i,, a tedy jeho zváženou sumu (včetně prahu) lze vyjádřit: £qÁeiiei2) = ^2w(uj, 0, právě když existuje j G {0, ...,m— 1} takové, že g(ii,i2) = bin(j) a současně {bin(j))b = 1. To znamená, že gj je aktivní, právě když i^e^e^ej) = (g(ii,Í2))b = 1, a tedy prahové hradlo qt, počítá i^e^e^ej) pro vstup e^e^ a pevné b G {1, . . . ,logm}. Výpočet i^e^e^e'- ) pro libovolné e^e^e'- G {0, l}n na vstupu lze pak ve třech vrstvách realizovat pomocí log m hradel qi, ve druhé vrstvě pro všechny možné hodnoty b G {1, . . ., log m} a jednoduchého podobvodu, který kontroluje, zda qi3 je aktivní. Na závěr důkazu jen stručně nastíníme, jak odstranit zjednodušující předpoklad, že zobrazení gi2 jsou bijekce pro všechna i2 G {1, • • -,rn}, zatímco detaily lze najít v [182]. Myšlenka je založena na výsledku [181, 204], že pro každé zobrazení g : {1, . . .,m}2 —> {0, l}lo8m existují čtyři zobrazení gk : {1, . . ., m}2 —> {0, l}lo8m pro k = 1, . . ., 4 taková, že jejich projekce gkÍ2 : {l,...,m} —> {0,l}logm, tj. gki2(ii) = ^(ň,^) (k = 1, . . ., 4), jsou bijektivní pro každé 12 G {1, . . ., m} a platí g(i1,i2)={ 9^h)®92(ii,i2) ii f • v ; Podle předchozího zkonstruujeme 4 oddělené podobvody pro výpočet gi,g2, #3, (74, které podle (12.34) zkombinujeme tak, aby výsledný obvod Cn počítal i^e^e^e'- ). Zřejmě Cn má v první vrstvě Í2(n) hradel a druhá vrstva se skládá ze 4 log n hradel. □ Hloubku obvodů ve větě 12.13 lze pro reálné vstupy, tj. Sn = Rn, snížit na 2 [245]. 12.2. POČET TRÉNINKOVÝCH VZORŮ 311 a jeho projekce gi2 : {l,...,m} ----> {0, l}logm pro i2 = l,...,m vztahem gi2{i\) = g{i\,i2). Pro jednoduchost předpokládejme, že zobrazení gi2 jsou bijekce pro všechna i2 G {l,...,m}, a později naznačíme, jak tento zjednodušující předpoklad odstranit. Tedy existují inverzní zobrazení g-2l:{Q,l}^m^{l,-..,m}. Nejprve zkonstruujeme podobvod, který pro vstup e^e^ G {0, l}2m počítá hodnotu i^e^e^ej) pro pevné b G {1, . . ., log m}. První vrstva se skládá z m párů prahových hradel u j, v j pro j = 0, . . ., m — 1 (srovnejte s technikou důkazu věty 7.32), které mají nulový práh h(uj) = h(vj) = 0 (j = 0, . . ., m— 1) a jsou spojeny se vstupními neurony x\\, . . ., x\m, x2\, ■ ■ ■, i2m pomocí spojů s následujícími váhami: w(xli,uj) = i w(x2i,uj) = -g-^binij)) j = 0,...,m-í w{xli,Vj) = -i w{x2i,Vj) = g~r1{bin{j)) i=í,...,n, kde bin(j) G {0, l}lo8m je binární reprezentace čísla j G {0, . . ., m — 1}. Vypočteme zvážené sumy (včetně prahu) £u (e^e^), £.v (ei1ei2) prahových hradel Uj, Vj pro vstup e^e^ G {0, l}2m tak, že využijeme definici vah (12.27) a faktu, že i-tá složka (e^); = 0 pro i ^ i\ a (ei2)i = 0 pro i ^ i2: m m ^■(eňeij = ^w(xli,Uj)(eil)i + ^ w(x2i, uj)(eÍ2)i - h(uj) = 8 = 1 8 = 1 = w(xlil,Uj) + w(x2i2,Uj) = i1-gT21(bin(j)) (12.28) m m &i(eiiei2) = ^2w(x1i,vj)(eil)i + ^2w(x2i,vj)(eÍ2)i - h(vj) = 8=1 8=1 = w(xu1,vj) + w(x2Í2,Vj) = -ii + g^1 (bin(j)) (12.29) pro j = 0, . . ., m — 1. Porovnáním (12.28) a (12.29) dostáváme tujiei^ii) = -tvjiei^ii) = h -gi2{bin(i)) j = 0,...,m- 1. (12.30) Tedy podle (12.30) je aspoň jedno hradlo z každého páru Uj,Vj (j = 0, . . ., m — 1) aktivní, tj. buď ^(e^eij = 1 , nebo ^.(e^e^) = 1 . (12.31) Navíc obě hradla Uj, Vj (0 < j < m — 1) jsou aktivní současně, tj. ^•(e^eij = ^^.(e^eij = 1 , (12.32) právě když h = g~^(bin(j)), tj. gi2(h) = bin(j), což lze přepsat g(h,i2) = bin(i). 314 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI Důkaz: (i) Tvrzení je přímým důsledkem vět 12.8, 12.7 a 12.10. (ii) Tvrzení je přímým důsledkem vět 12.8, 12.13 a 12.7, 12.12. (iii) Tvrzení je přímým důsledkem vět 12.8, 12.7 a poznámky k důkazu věty 12.13. G Důsledek 12.14 také udává dolní odhad časové složitosti učení acyklických neuronových sítí v PAC-modelu, protože učící algoritmus musí aspoň načíst tréninkové vzory potřebné pro generalizaci. Také existují dolní odhady na velikost tréninkové množiny při učení v PAC-modelu s dotazy na shodu [274], resp. s dotazy na příslušnost [60] (viz definici 12.3), které nesníží podstatně vzorkovou složitost (e, é)-učícího algoritmu. 12.3 PAC-mode\ a tréninkový problém V podkapitole 12.2 jsme se zabývali vzorkovou složitostí učení v PAC-modelu, tj. velikostí tréninkové množiny, která pro acyklické neuronové sítě zajistí (např. podle důsledku 12.14) správnou generalizaci. Zřejmě polynomiální počet tréninkových vzorů je nutnou podmínkou k efektivní naučitel-nosti v PAC-modelu, avšak není postačující. K úplné charakterizaci PAC-naučitelnosti je navíc potřeba polynomiální pravděpodobnostní algoritmus, který řeší vyhledávací verzi tréninkového problému v polynomiálním čase pro architekturu, která reprezentuje učené koncepty. To znamená, že efektivní generalizace neuronových sítí v jistém smyslu vyžaduje efektivní řešení tréninkového problému. Před tím, než ukážeme příslušný vztah mezi PAC-modelem a LP, připomeneme definici pravděpodobnostní třídy složitosti RP. Definice 12.15 Pravděpodobnostní algoritmus pro vyhledávací problém nalezne s pravděpodobností aspoň \- jeho správné řešení, pokud existuje, a v opačném případě vždy ohlásí, že neexistuje. Speciálně pro rozhodovací verze problémů např. pravděpodobnostní Turingův stroj Mp rozhoduje jazyk L C {0, 1}*, značíme L = L(Mp), jestliže pro každé vstupní slovo x £ {0, 1}*, pokud xGí, pak Mp s pravděpodobností aspoň -r slovo x přijímá (výstup je 1), a pokud x ^ L, pak Mp vždy x zamítá (výstup je 0). Označme RP třídu jazyků (problémů) rozhodnutelných pravděpodobnostním Turingovým strojem v polynomiálním čase. 12.2. POČET TRÉNINKOVÝCH VZORŮ 313 Věta 12.13 také platí pro analogové prahové obvody s reálnými váhami a se saturovanou lineární aktivační funkcí (1-8), resp. standardní sigmoidou (1.9), jak lze nahlédnout z jejího důkazu. Nedávný výsledek [159] zlepšil tento dolní odhad na fž(u>2) pro analogové prahové obvody s velkou třídou aktivačních funkcí včetně (1.8) a (1-9). Jsou také známy horní odhady V C-dimenze, tj. analogie věty 12.12 pro analogové prahové obvody s reálnými vstupy. V případě saturované lineární aktivační funkce je T/C-dimenze 0(w2) [79] a pro standardní sigmoidu je nejvýše 0(u>4) [147], což se od uvedeného dolního odhadu liší kvadraticky. Z uvedených odhadů T/C-dimenze prahových obvodů lze určit velikost tréninkové množiny při učení acyklických neuronových sítí pro jejich správnou generalizaci, tj. vzorkovou složitost příslušného (e, é)-učícího algoritmu. Důsledek 12.14 Počet p tréninkových vzorů (e, 6)-učícího algoritmu pro třídu konceptů reprezentovaných pomocí (i) lineárních prahových funkcí s n proměnnými je aspoň (\ 1 n+l\ p=nl-log-+ ^—j (12.35) a stačí p = O Q log i + ^ti log j\ . (12.36) (ii) prahových obvodů s w váhami a prahy je aspoň „ /1 1 w log w \ , a stačí P = o(ilogi + ^logi). (12.38) (iii) analogových prahových obvodů s aktivační funkcí standardní sigmoidou (1.9), s w váhami a prahy je aspoň 1 „,2\ (12.39) \t o t j a stačí /1 1 „„4 1\ (12.40) p = Q G lo, 1 w2' ) -.0 {h log 1 1 4 W + --- log 1 e 316 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI Z věty 12.16 vyplývá, že perceptron s reálnými vstupy je PAC-naučitelný. Důsledek 12.17 Třída konceptů K, reprezentovaná pomocí lineárních prahových funkcí je P AC -naucitelná, pokud uvažujeme logaritmickou složitost operací nad reálnými čísly. Důkaz: Podle věty 12.10 je T/C-dimenze třídy K, lineární. Dále vyhledávací verzi tréninkového problému pro architekturu s jedním hradlem, které počítá lineární prahovou funkci, lze řešit pomocí lineárního programování v polynomiálním čase [145]. Tvrzení je pak přímým důsledkem věty 12.16. □ Věta 12.16 má jednodušší formulaci pro binární vstupní prostor, která např. také implikuje PAC-naučitelnost perceptronu s binárními vstupy. Věta 12.18 (Natarajan [203]) Nechť K = \Jn>0K,n, kde ^« ^ ^(Sn) a Sn = {0, l}n, je třída polynomiálně velkých konceptů reprezentovaná posloupnostmi prahových obvodů. Potom K, je P AC -naucitelná, právě když log|/Cn| je polynomiální vzhledem k n a existuje polynomiální pravděpodobnostní algoritmus, který řeší vyhledávací verzi tréninkového problému (viz podkapitolu 11.1) pro architekturu, která reprezentuje Kn. Důkaz: Podle věty 12.16 stačí dokázat, že VC{tCn) je polynomiální vzhledem k n, právě když log \tCn\ je polynomiální vzhledem k n. Z definice 12.6 vyplývá, že 2VC(,C»)<|/C„|) (12.42) protože pro každou podmnožinu R C Q atomizované množiny Q musí existovat aspoň jeden koncept K G Kn takový, že K n Q = R. Ze vztahu (12.42) vyplývá, že VC{Kn) = 0(log|/Cn|). Na druhou stranu pro Sn = {0, l}n je |S„| = 2". Tedy podle Sauerovy lemmy 12.11 dostáváme: \JCn\<{T)vc{Kn) + 1, (12.43) což implikuje log|/Cn| = 0{nVC{tCn))- n Důsledek 12.19 Třída konceptů K reprezentovaná pomocí booleovských prahových funkcí je P AC -naucitelná. Důkaz: Důkaz probíhá podobně jako důkaz důsledku 12.17 s tím, že můžeme využít větu 12.18, protože počet booleovských prahových funkcí n proměnných je podle důsledku 6.33 2&(n2\ tj. log|£„| = 6(n2). D Uvedenou charakterizaci efektivního učení v PAC-raoáehi lze také využít pro důkaz toho, že daná třída konceptů není PAC-naučitelná za předpokladu, že RP ^ N P (zřejmě RP C N P), který implikuje známou hypotézu P ^ NP. Zřejmě se při takovém důkazu můžeme omezit jen na 12.3. P AC-MODEL A TRÉNINKOVÝ PROBLEM 315 Věta 12.16 (Blumer, Ehrenfeucht, Haussler, Warmuth [40]) Nechť /C = Un>o^™> kde K-n C ■p(Sn) a Sn = R", je třída polynomiálně velkých konceptů reprezentovaná posloupnostmi prahových obvodů. Potom K, je P AC -naucitelná, právě když VC{tCn) je polynomiální vzhledem k n a existuje polynomiální pravděpodobnostní algoritmus, který řeší vyhledávací verzi tréninkového problému (viz podkapitolu 11.1) pro architekturu, která reprezentuje ]Cn. Důkaz: Nechť tedy nejprve třída K, konceptů je PAC-naučitelná pomocí učícího algoritmu U, tj. U je polynomiální časové složitosti. Podle věty 12.8 U vyžaduje aspoň Q.{VC{tC)) tréninkových vzorů, které musí načíst, tedy jeho časová složitost je aspoň Q.{VC{tC)), a proto nutně VC{tCn) je polynomiální vzhledem k n. Dále s využitím algoritmu U ukážeme existenci polynomiálního pravděpodobnostního algoritmu Up pro řešení vyhledávací verze LP. Podle definice 12.2 algoritmus U pracuje jen pro cílové koncepty z dané třídy konceptů /C, avšak lze jej jednoduše modifikovat tak, že pro koncepty, které nelze reprezentovat pomocí dané architektury, U po vyčerpání omezeného polynomiálního času odpoví např. libovolnou hypotézou. Nechť tedy T = {(xJfe,4) Ix* GH„,4 e{0,í},k=í,...,p} (12.41) je tréninková množina. Pro aplikaci U definujeme pravděpodobnostní rozdělení D : Sn ----> (0, 1) vstupního prostoru, které je pro tréninkové vzory z T rovnoměrné, tj. £)(xj;) = - pro xj, G T a -D(x) = 0 jinak. Algoritmus Up generuje tréninkové vzory podle pravděpodobnostního rozdělení D a zavolá algoritmus U s přesností s = -j-j- a konfidencí 6 = ^, který díky zvolené přesnosti s pravděpodobností aspoň -| odpoví hypotézou K G /C, resp. její reprezentací pomocí prahového obvodu, která je konzistentní s T, pokud existuje. Algoritmus Up konzistenci K s T v polynomiálním čase ověří a pokud souhlasí, předá ji na výstupu. V opačném případě ohlásí, že řešení LP neexistuje. Zřejmě Up je polynomiální pravděpodobnostní algoritmus, který řeší vyhledávací verzi tréninkového problému. Na druhou stranu předpokládejme, že VC{Kn) je polynomiální vzhledem k n a existuje polynomiální pravděpodobnostní algoritmus Up, který řeší vyhledávací verzi LP. Učící algoritmus U pro danou přesnost s a konfidenci 6 načte tréninkovou množinu polynomiální velikosti (12.3) a pro ní zavolá pravděpodobnostní algoritmus Up, který pro příslušnou architekturu nalezne reprezentaci konzistentní hypotézy. Zřejmě podle věty 12.7 je U v PAC modelu korektní učící algoritmus pro tC. □ 318 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI (i) z věty 11.16. (ii) z části (ii) důsledku 11.17. (iii) z věty 11.21. (iv) z 7V_P-úplnosti LP pro analogové prahové obvody se saturovanou lineární aktivační funkcí [57] (viz podkapitolu 11.5). (v) z věty 11.23. (vi) z důsledku 11.24. D Bez důkazu zformulujeme analogii věty 12.20 a příklad její aplikace pro _Pj4C-model s dotazy na shodu a příslušnost (podobná věta platí také pro přesné učení s dotazy na shodu [19] s předpokladem P zzL NP). V tomto případě se místo LP uvažuje tzv. problém reprezentace. Věta 12.22 (Aizenstein, Hellerstein, Pitt [3], Hegedüs [99]) Nechť IC je třída polynomiálně velkých konceptů reprezentovaná posloupnostmi prahových obvodů. Jestliže N P zzL co — N P a problém reprezentace, tj. rozhodnout, zda daná booleovská formule v disjunktivní normální formě reprezentuje koncept z tC, je N P-těžký, pak K, není P AC-naučitelná s dotazy na shodu a příslušnost (viz definici 12.3). Důsledek 12.23 (Hegedüs [101]) Nechť IC je třída konceptů reprezentovaných pomocí prahového obvodu hloubky 2, se 3 prahovými hradly v první vrstvě a s jedním výstupním OR hradlem ve druhé vrstvě. Problém reprezentace pro K, je N P -těžký. Proto, pokud N P z/z co — N P, třída IC není P AC -naucitelná s dotazy na shodu a příslušnost. 12.4 Perceptronový učící algoritmus Podle důsledku 12.17 se můžeme vyhnout těžkosti učení (viz důsledek 12.21), pokud se omezíme jen na nejjednodušší případ perceptronu, který počítá lineární prahovou funkci. Kromě polynomiálního algoritmu pro lineární programování využitém v důkazu důsledku 12.17 existuje např. efektivní algoritmus pro učení perceptronu v modelu přesného učení s dotazy na shodu [184]. Na druhou stranu v této podkapitole budeme analyzovat klasický perceptronový učící algoritmus (viz podkapitolu 2.1), o kterém ukážeme, že není efektivní. Nejprve dokážeme klasický výsledek o konvergenci perceptronového učícího algoritmu. Pro jednoduchost se omezíme najeden perceptron s nulovým prahem (viz lemmu 6.7) a omezenou doménou (viz podkapitolu 6.2). Dále 12.3. P AC-MODEL A TRÉNINKOVÝ PROBLEM 317 binární vstupní prostor Sn = {0, l}n, protože negativní výsledky o PAC-naučitelnosti pro binární případ lze jednoduše převést na reálný vstupní prostor vhodnou volbou „těžkého" pravděpodobnostního rozdělení, které je nenulové jen pro binární vstupy. Věta 12.20 (Pitt, Valiant [225]) Nechť IC je třída polynomiálně velkých konceptů reprezentovaná posloupnostmi prahových obvodů. Jestliže RP zzL N P a LP pro tuto reprezentaci je N P-těžký, pak K, není P AC -naucitelná. Důkaz: Protože LP pro K, je 7V_P-těžký problém, LP G RP by implikovalo, že RP = NP, a tedy platí LP £ RP. Podle věty 12.16 pak K, nemůže být -PAC-naučitelná. Ü Využitím výsledků o 7V_P-úplnosti LP z kapitoly 11 a pomocí věty 12.20 dostáváme, že mnohé architektury acyklických neuronových sítí nemohou (za předpokladu RP zzL NP) při učení z příkladů efektivně generalizovat koncepty, které lze pomocí nich reprezentovat. Důsledek 12.21 Jestliže RP zzL N P, pak třída K, = Un>0 ^n konceptů není P AC -naucitelná, pokud Kn je reprezentována např. pomocí (i) prahové 3-sítě. (ii) prahového obvodu hloubky 2, s polynomiální počtem prahových hradel v první vrstvě a s jedním výstupním AN D hradlem ve druhé vrstvě. (iii) kaskádové 2-sítě. (iv) analogové prahové 3-sítě (resp. analogové kaskádové 2-sítě) se saturovanou lineární aktivační funkcí (1.8). (v) analogové prahové 3-sítě se standardní sigmoidální aktivační funkcí (1.9) s polynomiální reprezentací vah (včetně prahů) a s nulovým prahem u výstupního hradla. (vi) analogového prahového obvodu hloubky 2 s polynomiální reprezentací (včetně prahů), se zadaným konstantním počtem hradel v první vrstvě a s jedním výstupním hradlem s nulovým prahem ve druhé vrstvě. Důkaz: Pro aplikaci věty 12.20 je nejprve třeba ověřit, že koncepty z třídy K-n mají ve všech případech (i)—(vi) polynomiální velikost. Pro diskrétní prahové obvody tento fakt vyplývá z věty 6.30, pro případ (iv) lze příslušný argument najít v [57] a v případě (v), (vi) je tento požadavek vyjádřen v předpokladech. Tvrzení pak plyne z věty 12.20 a 320 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTI prahová funkce / podle (6.16) separabilní. Tedy uvedený skalární součin wWw můžeme pomocí ^mín zdola odhadnout: WWw = ^x'(í;)w>^™n>0: což lze upravit: k=i w(ť)w > ŕŕ ■ — Smzn (12.50) (12.51) Pomocí Cauchy-Schwarzovy nerovnosti |wWw|2 < ||w (*)||2 -||w||2 ze vztahu (12.51) dostáváme: ,(*) 2 f2 Na druhou stranu zřejmě podle (12.45) platí vrW = vrV°-i) + x>W. čehož dostáváme ,(*) ,(*-!) + 2w(*-l)x'(*) + ,'(*) (12.52) (12.53) (12.54) Předpokládáme, že fk ^(x^) ^ Sk\ a tedy w^k ^x'W < 0. Díky tomu lze (12.54) přepsat: (12.55) Nyní sčítáme (12.55) pro k = 1, . . . ,t a shora odhadneme ||wW||2 pc 2 2 wW w^-1^ < X'W ,(*) ± e Ik' (k) k=i \ txmax Porovnáním (12.52) a (12.56) dostáváme 2% \ t%max > (12.56) (12.57) z čehož vyplývá: ť < Iwll x„ S/7 (12.58) , tedy nutně existuje í* splňující (12.46) a /(* -'(xj,) = cřj, pro fc = 1, . . . ,p. □ 12.4. PERCEPTRONOVÝ UClCl ALGORITMUS 319 v adaptivní dynamice (2.5) budeme uvažovat počáteční nulovou konfiguraci a rychlost konvergence s = 1. Věta 12.24 (Rosenblatt [239]) Necht"E>n C Rn je omezený vstupní prostor. Označme (w[ , . . ., w„ , 0) reprezentaci lineární prahové funkce /W : Sn ----> {0, 1} s n vstupy v čase t > 0 učení, kde na začátku volíme nulové váhy, tj. w\ = 0 pro i = 1, . . ., n. Necht T = {(xJfe,4) Ix* GH„,4 e{0,l},fc=l,...,p} (12.44) je odpovídající tréninková množina a nechť existuje reprezentace (u>i, . . ., wn; 0) lineární prahové funkce f : Sn ----> {0, 1} konzistentní s T, tj. /(xj,) = d^ pro k = 1, . . . ,p. Dále předpokládejme, že v čase t > 1 je vybrán tréninkový vzor (xW,crť)) G T, pro který /(ť_1)(xW) 7^ S \ a podle néj je vytvořena reprezentace /W následujícím způsobem: (0 _ í wt1} + 4] /«"'(x«) = 0 a d« = 1 W* - \ wt1} - ^ /^-^(xC*)) = 1 a d(*) = 0 ( } pro i=l,. . . ,n, což je jiná formulace perceptronového učícího pravidla (2.5). Potom existuje čas t*, kdy p* \xk) = dk Pro k = 1, . . . ,p, a platí: r< Hwlj2 *""»*, (12.46) kde w = (wi, . . ., w„), tj. ||w||2 = Ya=i w1> a Xmax = max{||x||2 |x £ Sn} (12.47) Šmin = min <^ ^2 WiXi > ° x G En} . (12.48) Důkaz: Podle (12.45) můžeme vyjádřit váhový vektor wW reprezentace lineární prahové funkce /(*) v čase t > 1 jako součet w(ť) = Éx'(fc)> M-'(Í) = f5) %ll (12-49) k=i ^ Rovnici (12.49) vynásobíme zprava pomocí váhového vektoru w reprezentace / konzistentní s T. Díky této konzistenci je x'^^w > 0 pro k = 1, . . .,t. Navíc můžeme bez újmy na obecnosti předpokládat, že x/(- >w ^ 0 (k = 1, . . ., t), protože pro konečný počet p vstupů tréninkových vzorů je lineární 322 KAPITOLA 12. GENERALIZACE NEURONOVÝCH SÍTÍ 12.4. PERCEPTRONOVÝ UČÍCÍ ALGORITMUS 321 Čas perceptronového učícího algoritmu ve větě 12.24 je měřen pomocí počtu adaptací váhového vektoru. Uvažuje se zde model přesného učení s dotazy na shodu tak, že každá negativní odpověď na dotaz poskytne jako protipříklad tréninkový vzor, ve kterém perceptron chybuje. Pro booleovskou doménu tak získáme horní odhad časové složitosti perceptronového učícího algoritmu v tomto modelu. Důsledek 12.25 Nechť jsou splněny předpoklady věty 12.24 a navíc Sn = {0, l}n. Potom perceptronový učící algoritmus (12.45) konverguje k reprezentaci booleovské prahové funkce konzistentní s tréninkovou množinou T nejpozději po t* = 0(nn+3) adaptacích vah. Důkaz: Zřejmě pro Sn = {0, l}n je xmax = n a podle věty 6.30 existuje celočíselný váhový vektor w, a tedy £,mi„ > 1. Navíc podle této věty známe horní odhad váhy booleovské prahové funkce, pomocí kterého dostáváme ||w||2 < n max,-|u>j|2 < n(n + l)n+1 = 0(nn+2). Dohromady pak podle (12.46) obdržíme t* = 0{nn+3). D Pro booleovskou prahovou funkci s malými váhami lze analogickou úvahou jako v důkazu důsledku 12.25 získat polynomiální časovou složitost perceptronového učícího algoritmu. Také v PAC-modelu se speciálním pravděpodobnostním rozdělením vzorů [30] stačí perceptronovému algoritmu čas 0(n2f s3), kde s je přesnost. Avšak pro obecné váhy tento algoritmus zřejmě vyžaduje čas úměrný aspoň váze |u>| booleovské prahové funkce /, protože podle (12.45) přírůstek absolutní hodnoty libovolné váhy perceptronu při jedné adaptaci je nejvýše jednotkový. P. M. Lewis [171] dokonce ukázal, že v obecném případě je potřeba aspoň |u>|2/(n-|-l) adaptací, což spolu s dolním odhadem váhy |u>| ve větě 6.38 potvrzuje exponenciální čas perceptronového učícího algoritmu. Tento výsledek lze zesílit pro PAC-model s obecným pravděpodobnostním rozdělením vzorů. Příslušné tvrzení uvádíme bez důkazu. Věta 12.26 (Schmitt [252]) Nechť jsou splněny předpoklady důsledku 12.25. Potom třída konceptů reprezentovaných pomocí booleovských prahových funkcí není v PAC-modelu naucitelná pomocí perceptronového učícího algoritmu (12.45). V literatuře [31, 33, 37] bylo v poslední době publikováno několik relativně komplikovaných učících algoritmů pro dvouvrstvý perceptron s konstantním počtem (např. 2, resp. méně než 4) skrytých neuronů (resp. vstupů), které jsou v jistém smyslu teoreticky efektivní v různých variantách PAC-modelu (např. s dotazy na shodu, resp. se speciálním pravděpodobnostním rozdělením vzorů), avšak buď jsou prakticky exponenciální, nebo v reálných úlohách vykazují malou generalizační schopnost [168], a proto je lze v praxi pravděpodobně zatím jen v omezené míře použít. Cast III Aproximace funkcí pomocí neuronových sítí Q9Q 326 325 Tato část se dělí na dvě kapitoly, z nichž první se zabývá otázkou, jaké funkce umíme přibližně vyjádřit různými modely dopředných sítí. Druhá kapitola pojednává o vlastnosti sítí, kterou nazýváme funkční ekvivalence a o jejím možném využití k urychlení učícího procesu. V první kapitole zkoumáme sílu jednotlivých modelů neuronových sítí na základě toho, jaké funkce dokáže daný model aproximovat, tj. vyjádřit s libovolnou přesností. Bude nás zajímat vlastnost univerzální aproximace, což je schopnost sítě aproximovat každou spojitou nebo integrovatelnou funkci. Pokud nějaký model tuto vlastnost má, znamená to, že je v jistém smyslu univerzálním výpočetním prostředkem — je teoreticky schopen reprezentovat všechny „rozumné" funkce. Postupně se v této kapitole zaměříme na perceptronové sítě s jednou a dvěma skrytými vrstvami, na RBF sítě, sítě se semi-lokálními jednotkami a na kaskádové sítě. Kromě vlastních výsledků nás bude zajímat i použitý důkazový aparát, který je velmi rozmanitý a sahá od nezvyklých prostředků kalkulu rozšířených v minulosti po hluboké věty funkcionální analýzy. Většina důkazů není uvedena do všech podrobností, klademe důraz na vyložení hlavních myšlenek a do technických detailů nebo částí vyžadujících pokročilý matematický aparát se pouštět nebudeme. Ve druhé kapitole si vysvětlíme, co to je funkční ekvivalence, budeme zkoumat, jak vypadají funkčně ekvivalentní perceptronové a RBF sítě a podáme charakterizaci funkční ekvivalence pro běžně používané přechodové funkce. V další části druhé kapitoly se seznámíme s genetickými algoritmy, které jsou samy o sobě zajímavou alternativou k jiným učícím či optimalizačním postupům. Navíc, právě genetické učení nám umožní — na rozdíl od gradientních metod — využít charakterizaci funkční ekvivalence k redukci prohledávacího prostoru a tím i ke zrychlení celého procesu učení. Ukážeme si tzv. kanonický genetický algoritmus, který slouží k učení RBF sítí. 328 KAPITOLA 13. UNIVERZÁLNI APROXIMACE V dalším budeme pracovat s prostory funkcí, které jsou vždy definovány pomocí nějaké třídy funkcí a odpovídající normy těchto funkcí. Dva pro nás nejdůležitější prostory budou: (srovnej [235]): • Prostor všech spojitých funkcí nad kompaktním prostorem X (označovaný C(X)) se supremovou normou: : sup \f{x)\ . Prostor Cp funkcí, pro něž je \f\p integrovatelná na množině X, s tzv. \f(x)\Pdx]P . Cp normou Ux£X J Pohybujeme-li se v prostoru Rn, často za kompaktní X C Rn bereme jednotkovou krychli X". Norma indukuje metriku známým vztahem p(x, y) = ||;c—1/||. Na prostoru se supremovou normou měříme tedy vzdálenost dvou funkcí jako supremum rozdílu jejich funkčních hodnot. U £p normy počítáme integrál (mocniny) jejich rozdílu. Vzdálenost měřená Cp metrikou bere v úvahu globální chování obou funkcí, zatímco u supremove metriky záleží i na případných lokálních výkyvech. Dokážeme si tedy představit funkce, které jsou „blízko" měříme-li jejich vzdálenost Cp metrikou, ale „daleko" dle supremove metriky. Opačně ovšem, jsou-li dvě funkce blízko měřeno supremovou metrikou, jsou blízko i dle Cp. Definice 13.1 Necht U je třída funkcí, T její -podmnožina a p metrika na U. Třídu T nazveme aproximátorem vzhledem k (U, p), je-li T hustá v U (vzhledem k topologii indukované metrikou p). Je-li třída funkcí T aproximátorem vzhledem ke třídě spojitých reálných funkcí (nebo Cp funkcí), nazveme ji univerzálním aproximátorem. Mocným nástrojem k dokazování aproximačních schopností je Stone-Weierstrassova věta. Připomeňme, že podalgebra nějaké algebry je její podmnožina uzavřená na součin. Věta 13.2 (Stone-Weierstrasse) Nechť S je Hausdorffův prostor a AC C(S) uzavřená podalgebra. Pokud A obsahuje všechny konstantní funkce a funkce rozdělující body (tj. pro každé í,t/Ě5 3/É A; f(x) ^ f(y)) o- je-H nadto symetrická (tj. z f G A plyne f G A), pak A = C (S). Kapitola 13 Univerzální aproximace V této kapitole budeme vyšetřovat aproximační vlastnosti jednotlivých modelů dopředných sítí. V úvodu si definujeme potřebné pojmy společné pro celou kapitolu a pak se budeme věnovat jednotlivým modelům sítí. U per-ceptronových sítí se dvěma skrytými vrstvami využijeme Kolmogorovovu větu o reprezentaci spojitých funkcí více proměnných pomocí spojitých funkcí jedné proměnné. Dále si ukážeme poměrně obecné aproximační věty o per-ceptronových sítích s jednou skrytou vrstvou a o RBF sítích. Podíváme se, proč sítě se semi-lokálními jednotkami, na rozdíl od ostatních modelů, vlastnost univerzální aproximace nemají. Nakonec si dokážeme aproximační výsledek pro podtřídu kaskádových sítí, které budeme studovat v oboru komplexních čísel pomocí klasického matematického aparátu řetězcových zlomků. 13.1 Základní pojmy Vlastnost univerzální aproximace je definována pomocí základních pojmů matematické topologie, které si nyní velmi stručně připomeneme. Podmnožina V C X topologického prostoru (X, T) je otevřená, když ke každému x G V existuje okolí obsažené ve V. Množina F C X je uzavřená, jeli X \ F otevřená. Pro A C X definujeme uzávěr A jako nejmenší uzavřenou množinu obsahující A. Dále říkáme, že A C X je hustá, je-li A = X, tedy uzávěr této množiny je již celý prostor. Topologický prostor X je Hausdorffův, když pro každou dvojici různých bodů X\, X'2 G X existují otevřené množiny U\, U2 C X takové, že X\ G V\, %2 £ U'2 a U\ flř/2 = 0- Jelikož často pracujeme s metrickými prostory, připomeňme, že každý prostor s topologií indukovanou metrikou je Hausdorffův. Q97 330 KAPITOLA 13. UNIVERZÁLNI APROXIMACE kde jedna funkce nahradila všechny q a ippq jsou nahrazeny výrazem \pqipq, přičemž A je reálná konstanta a ipq jsou monotónně rostoucí funkce. Navíc, ipq nezávisí na funkci /, kterou vyjadřujeme, ale jsou pro danou dimenzi stejné. Využití Kolmogorovovy věty v neuronových sítích navrhl v roce 1987 Hecht-Nielsen [104], který si všiml, že vzorec (13.2) připomíná zápis funkce realizované sítí se třemi vrstvami. Vstupní vrstvu takové sítě tvoří n vstupních jednotek, ve skryté vrstvě je 2n + 1 jednotek a jedna jednotka je výstupní. Mezi vstupní a skrytou vrstvou jsou přechodové funkce počítající hodnoty \pqif)q, přechodovou funkcí mezi skrytou a výstupní vrstvou je . Funkce je také jediná, která závisí na aproximované funkci, ostatní parametry jsou pro danou dimenzi pevné. Tento návrh se stal předmětem kritiky Girosiho a Poggia, kteří ve svém článku [75] nazvaném výmluvně „Kolmogorov theorem is irrelevant" předkládají následující výhrady k této aplikaci Kolmogorovovy věty. • Funkce i\>q nejsou hladké, mají dokonce fraktální grafy, nehodí se tedy jako přechodové funkce jednotek v neuronové síti. • Funkce se konstruuje v závislosti na hodnotách funkce / a není tedy reprezentovatelná v parametrické formě, čili se také nedá použít jako standardní přechodová funkce neuronu. Kůrková v [163] ukázala, že Kolmogorovovu větu lze využít i pro běžné perceptronové sítě. Podstata tohoto přístupu je, že nebudeme trvat na přesném vyjádření funkce, ale spokojíme se (jako obvykle) s její libovolně přesnou aproximací. V tom případě dostaneme síť se dvěma skrytými vrstvami per-ceptronů, kde jednotky v první, resp. druhé skryté vrstvě budou aproximovat funkce t/>, resp. . Tato myšlenka se skrývá za dvěma tvrzeními z následujícího odstavce. První věta je existenční a ukáže nám, že tento postup je možný. Výsledek prezentovaný ve druhé větě lze odvodit postupem podobným důkazu klasické Kolmogorovovy věty. Podrobná analýza pak poskytne i horní odhad počtu jednotek ve skrytých vrstvách sítě. 13.2.2 Kolmogorovova věta a aproximace pomocí NS V tomto odstavci se tedy budeme zabývat sítěmi s perceptronovými jednotkami ve skrytých vrstvách a jednou lineární výstupní jednotkou. Vstupy sítě budeme uvažovat z jednotkové krychle X", výstupem je libovolné reálné číslo. Uvažujme perceptrony se sigmoidální aktivační funkcí a : R —>■ X pro kterou platí: lim t(z) = 0 z^ — oo 13.2. KOLMOGOROVOVA VĚTA 329 13.2 Kolmogorovova věta V následujícím oddílu této kapitoly si ukážeme, že perceptronové sítě se dvěma skrytými vrstvami mají univerzální aproximační schopnost. V další podkapitole pak vyslovíme silnější tvrzení o perceptronových sítích, avšak důkazový aparát, který prezentujeme v této části, je velmi zajímavý, neboť používá hlubokou a možná i překvapivou Kolmogorovovu větu o reprezentaci vícerozměrných spojitých funkcí. Nejprve si osvětlíme pozadí vzniku celého problému a jeho řešení a poté si ukážeme, jak lze tuto větu aplikovat v oblasti neuronových sítí. 13.2.1 Hubertův problém a Kolmogorovo řešení V roce 1900, přednesl Hilbert na druhém mezinárodním kongresu matematiků v Paříži slavnou přednášku, v níž formuloval 23 problémů, které podle něj budou nejpodstatnější pro vývoj matematiky ve dvacátém století. Jako problém s pořadovým číslem třináct vyslovil Hilbert domněnku, že kořeny polynomické rovnice x + ax + bx + cx + 1 = 0 jako funkce tří reálných koeficientů a,b,c není možné vyjádřit jen pomocí součtu a složení funkcí nejvýše dvou proměnných. Za touto konkrétně formulovanou hypotézou se skrýval obecnější problém řešení polynomických rovnic vyšších stupňů. Problém dlouho vzdoroval snažení matematiků o jeho důkaz či vyvrácení, až Arnold v roce 1957 [24] Hubertovu hypotézu vyvrátil. Ve stejném roce pak Kolmogorov přišel s mnohem silnějším výsledkem [160], který říkal, že libovolnou spojitou funkci n proměnných lze vyjádřit jen pomocí součtu a složení spojitých funkcí jedné proměnné. Věta 13.3 Buďte n > 2 přirozené číslo a f(xi, . . .,xn) spojitá funkce f : X" —► IR. Pak existují spojité funkce jedné proménné 4>q a i\>vq (p = 1, . . ., n; q = 1, . . ., 2n + 1) tak, že platí: 2n+l / n \ f{xi,. ..,Xn)= ~Yj q\ ^^pqiXp) I • (13.1) 3 = 1 \J> = 1 / V současné době existuje ještě obecnější modifikace této věty, na níž mají zásluhu Sprecher a Lorentz [261, 177]. V této variantě se funkční předpis (13.1) změnil na: 2n+l / n \ f(x1,...,xn)= J2^(J2XP9MXP)) , (13.2) 3 = 1 V = l / 332 KAPITOLA 13. UNIVERZÁLNI APROXIMACE Vezměme nyní (a, b) C R takový, aby pro všechna p = í, . . . ,n a q = l,...,2n + lbylo^g(2ľ")C (a,b). Podle lemmatu 13.7 pro každé q = 1, . . ., 2n + 1 existují funkce gq G i5(c) takové, že m»)-*«(»)i <2n(2;;+1). pro všechna a;, t/ G (a, b). Jelikož (jfg jsou stejnoměrně spojité, existuje 6 G IR taková, že \gq(x) - gq(y)\ < 2n(2n + l) ' pro všechna x, y G (a, &}, pro něž je navíc \x — y\ < 6. Pro každé p = 1, . . ., n a g = 1, . . ., 2n + 1 existují funkce hpq G <5( 2n + í a —-----h v < TTTTT d u>f(l/m) < v ™~" pro nejaké kladné v E R, může m —n 11/11 J \ / / 2m — 3n ľ J ^- ? být f aproximována s přesností e perceptronovou sítí se dvéma skrytými vrstvami, přičemž v první skryté vrstve má síťnm(m+í) jednotek a ve druhé m2(m + l)n jednotek s aktivační funkcí a. Navíc, všechny váhy a prahy šitě, s výjimkou vah spojujících druhou skrytou vrstvu a výstupní jednotku, jsou pevné pro všechny funkce g pro něž platí: \\g\\ < \\f\\ a zároveň u>g <ťjj. Než stručně ukážeme hlavní myšlenky důkazu této věty, uvedeme lemma, které se v něm využívá. Lemma 13.9 říká, že každá konečná množina schodů může být aproximována funkcí náležející do množiny S(cr). Množinou schodů myslíme 2k reálných čísel x\ < y\ < X2 < J/2 < • • • < %k < yk a libovolné zobrazení g : {1, . . ., k} —► R. 13.2. KOLMOGOROVOVA VĚTA 331 lim t(z) = 1 . Definice 13.4 Schodištěm typu a nazveme množinu všech funkcí f tvaru: f(x) = ^aiuibiX + Ci) . (13.3) kde a,i,bi,Ci G R. Schodiště typu a budeme značit symbolem S(cr). V následujících tvrzeních budeme ještě potřebovat definice těchto pojmů: Definice 13.5 Funkce u>j : (0,oo) —► IR se nazývá modul spojitosti funkce f : Xn -+ R uif (6) = sup{|/(aľi,...,aľ„) - f(yi, . . ., y„)\; (xľ, . . ., x„), (t/i, . . ., y„) G 1" : \xi - yi\ < 6 Mi = 1,.. .,n} . Vyslovme nyní naši první aproximační větu, která vychází z Kolmogoro-vovy věty a říká, že funkce i^atř mohou být schodiště. Věta 13.6 Buďte n£N, n > 2, a : R ^ X sigmoidální funkce, f G C(2n) a s kladné reálné číslo. Pak existuje k G N a funkce i,ippi G S(c) takové, že j [x i,..., xnj y ^ (pi i y ^ y pi x p i=i \p=i / < s V(x1;...,xn) £ln K důkazu věty využijeme následující lemma, které uvedeme bez důkazu: Lemma 13.7 Nechť a : R —► X je sigmoida a (a,b) C R uzavřený interval. Pak množina všech funkcí f : (a, b) —► IR tvaru k f(x) = ^Wi^iviZ + Ui) , kde Wi, Vi, Ui G IR, je hustá v C((a, b}). Důkaz věty 13.6: Důkaz je jednoduchý. Uvažujme reprezentaci funkce / dle věty 13.3 a za pomoci lemmatu 13.7 ukážeme, že původní funkce ^a^í můžeme nahradit schodišti g a h. Čili, dle 13.3 máme: 2n+l / n \ f(x1,...,Xn) = ^2 (f,q i ^2,ll>pq{Xp) \ . 3 = 1 \J> = 1 / 334 KAPITOLA 13. UNIVERZÁLNI APROXIMACE 13.3 Perceptronové sítě s jednou skrytou vrstvou 13.3.1 Motivace a definice Asi nejvíce výsledků o univerzální aproximaci neuronových sítí se týká per-ceptronových sítí s jednou skrytou vrstvou. Příčinou je jistě fakt, že tyto sítě jsou v praxi nejčastěji používaným modelem a navíc jedna skrytá vrstva je v jistém smyslu minimální architektura zachovávající rysy vícevrstvých per-ceptronů. Motivací pro výzkum aproximačních vlastností byly hlavně dobré praktické zkušenosti s tím, jak tento model dokáže aproximovat nejrůznější funkce. Jak píše Hornik, Stinchcombe a White ve svém článku [128]: „Jsou úspěchy, které potkáváme v praxi, odrazem nějaké hluboké a fundamentální aproximační schopnosti, nebo jde jen o šťastné náhody způsobené selekcí kladných výsledků a příznivou volbou problémů?" Na přelomu osmdesátých a devadesátých let se tak objevila řada prací, ve kterých se dokazovala univerzální aproximace této architektury s různými omezeními kladenými na aktivační funkci. Gallant a White [71] například dokázali, že síť s aktivační funkcí cos(;c) je univerzálním aproximátorem, protože má totožné aproximační vlastnosti jako reprezentace funkce Fourie-rovou řadou. Hornik, Stinchcombe a White [128] tento výsledek rozšířili na třídu tzv. squashing funkcí, která obsahuje např. logistickou sigmoidu. Mezi další práce s tímto typem výsledků patří například [170, 127] a další. V dalším odstavci si uvedeme dva důležité výsledky publikované Horníkem v roce 1991 [127] a podrobněji se zastavíme u dosud nejobecnějšího výsledku autorů Leshna, Lina, Pinkuse a Shockena z roku 1993 [170]. Předtím opět uvedeme několik potřebných definic. Definice 13.10 Nechť funkce f je definována skoro všude vzhledem k le-besgueovské míře fi na měřitelné množině £1 v Rn. Pak f nazveme omezenou skoro všude, pokud existuje c G IR takové, že míra množiny {x G ^n; 1/(^)1 > c} Íe rovna nule. Prostor takových funkcí označíme £°°(£1). Norma na £°°(£1) se definuje jako: ||/||,c°°(íí) = ess sup \f(x)\ , kde ess sup je největší dolní odhad všech možných hodnot c. Definice 13.11 Nechť funkce f je definována skoro všude vzhledem k lebes-gueovské míře /j, na otevřené množině £1 v Rn. Pak f nazveme lokálně omezenou skoro všude, když pro každou kompaktní množinu K C SI je f G C°°(K). Prostor těchto funkcí označíme £?° (SI). 13.2. KOLMOGOROVOVA VĚTA 333 Lemma 13.9 Buďte a : R —► X sigmoida, e kladné reálné číslo, k G N, xi < ž/i < x2 < ž/2 < • • • < xk < ÍJk reálná čísla a g : {í,...,k} —► R zobrazení. Pak existuje funkce G S(\\ xí blízko 1. (Dostatečně malá v našem případě znamená menší než JL, , kde M = max{|(jf(j)|; j = í,...,k}.) Nakonec nastavíme a8- na g{i) — g{i — 1). Lze lehce ověřit, že podmínka (13.4) je tím splněna. □ Důkaz věty 13.8: Jelikož kompletní důkaz této věty je velmi technicky náročný (ač nepoužívá aparát z pokročilých partií analýzy), uvedeme jen základní myšlenky. Zájemce o podrobnosti odkazujeme na článek [163]. Princip důkazu spočívá v tom, že nejprve rozdělíme krychli Xn na malé krychle pomocí schodišťových funkcí ipp G <5( G S (a). Funkce o <ř nám tak aproximuje / na podmnožině X", která je tvořena sjednocením malých krychlí. Čím jemnější jsou schody funkcí ipp, tím přesnější aproximace dosáhneme. Navíc, naše funkce je vyjádřitelná parametricky, neboť se skládá jen ze schodišť. Posledním problémem je, že funkce / není aproximována na mezerách mezi schody ipp. To lze napravit tím, že celý popsaný postup uděláme vícekrát, pokaždé s vhodně posunutými schody definujícími rozdělení krychle na menší krychličky. Ukazuje se, že dostatečný počet opakování je 2n + í (proto je v první sumě vzorce (13.1) 2n + 1 členů). Důvodem je kombinatorický princip zásuvek: potřebujeme zaručit, aby každý bod byl ve více rozděleních, v nichž se nachází v nějaké krychličce, než v těch, kde je v mezeře mezi nimi. Jelikož bod v krychli má n souřadnic, z nichž každá může padnout do mezery jiného rozdělení, potřebujeme alespoň n + (n + í) = 2n + l rozdělení. Pečlivou formalizací těchto idejí lze nakonec dojít k odhadům počtu jednotek prezentovaných ve tvrzení. □ 336 KAPITOLA 13. UNIVERZÁLNI APROXIMACE 1. Ukažme nejprve snadný směr implikace: Je-U a polynom, pak Vn(c) není husté v C(Rn) . Když je a polynom stupně k, pak i 0. Pak existují a8 G Rn, fc G C(R) takové, že ff(x-^/i(ai -x) < 2' pro každé x Q. K. Dále existují čísla oii,ßi G IR (i = l,...,fc) taková, že {a8- • x; x G Ä'} C {oti,ßi). Jelikož Vi(cr) je hustá v {eti,ßi), existují reálná čísla Cij, Wij, bij (i = í, . . . ,k; j = 1, . . ., ra,-) taková, že fi(y) - ^2 cija(wijyi + bij) < 2k pro všechna y G (ai,ßi Takže k m, (x-^^Ciicr(ai -x) <£, pro každé x G A'. Čili Vn(a) je hustá v C(Rn). 3. Dále ukážeme, že má-li a všechny derivace, je Vi(cr) hustá v C(R). Ukážeme, že pomocí derivování R. Definice 13.19 Označme lZn(K) množinu funkcí reprezentovaných sítí s n vstupy, libovolným počtem RBF jednotek s aktivační funkcí K a jednou lineární výstupní jednotkou. lZn(K) je tedy množina funkcí f : R" —► R Í = 1 X 7 kde Wi,ai E R, a E Rn, k E N a K : Rn -> R. Všimněme si, že na rozdíl od kapitoly 5 je funkce K definována obecněji — nemusí se jednat o složení nějaké funkce (třeba Gaussovy) s normou. Obvykle se uvažují radiálně symetrické funkce K, my však radiální symetrii použijeme jen při formulaci jednoho výsledku, takže, pokud to explicitně neuvedeme, neklademe na K žádné další požadavky. Definice 13.20 Funkci K nazveme radiálně symetrickou vzhledem k normě || • ||, platí-li, že \\x\\ = \\y\\ implikuje K(x) = K(y). 13.4.2 Výsledky V tomto odstavci uvedeme hlavní výsledky týkající se aproximačních vlastností RBF sítí. Asi nás nepřekvapí, že RBF sítě jsou univerzálními apro-ximátory vzhledem k C(Rn) i Cp(Rn). Uvidíme, že podmínky kladené na aktivační funkci se v jednotlivých případech mírně liší. Většina zde uvedených vět pochází od autorů Parka a Sandberga [216, 217]. Důkazy využívají vesměs pokročilejší partie matematické analýzy a nebudeme je uvádět. 13.3. PERCEPTR. SITE S JEDNOU SKRYTOU VRSTVOU 337 Má-li a všechny derivace, pak pro každé w, b, h E R, h ^ 0 platí: a((w + h) + b) - a(wx + b) e Tedy -g^^{wx-\-b) E Vi(cr). Stejně dokážeme, že g—%a(wx-\-b) E Vi(cr) pro každé k G N a pro všechna w,b (dk) E Vi(cr), Vi(cr) obsahuje všechny polynomy a můžeme použít Weierstrassovu větu 13.2. 4. V poslední části důkazu, kterou již nebudeme probírat, se použitím konvolucí a předchozího kroku dokáže, že Vi(cr) je hustá v C(R) a tedy můžeme použít tvrzení kroku 2 pro dokončení důkazu i druhé implikace tvrzení □ 13.3.3 Poznámky Následující tvrzení je důsledkem předchozí věty vyslovené pro prostor Cp. Důsledek 13.17 Buď a E M. Množina funkcí Vn( 0. Pomocí technického lemmatu o konvolucích se dá dokázat, že ze vztahu (13.8) plyne, že g\ je nula skoro všude. To by ale znamenalo, že A je nulový funkcionál, což je spor s (13.7). □ Následující dvě věty charakterizují podmínky nutné k univerzální aproximaci spojitých funkcí pomocí lZn(K). Obě jsou důsledky silnějšího tvrzení z [217]. Věta 13.24 Necht K : Rn —► IR je integrovatelná, spojitá a splňuje K(x)dx ^ 0 . (13.9) Pak 1Z„(K) je hustá v C{X) pro kompaktní IcR"- Ve druhé větě je podmínka (13.9) nahrazena radiální symetrií vzhledem k euklidovské normě. Věta 13.25 Necht K : [R" —^ [R je integrovatelná, spojitá a radiálně symetrická vzhledem k euklidovské normě. Pak TZ„(K) je hustá v C{X) pro kompaktní IcR"- 13.5 Sítě se semi-lokálními jednotkami 13.5.1 Úvod V této podkapitole se budeme věnovat aproximačním vlastnostem sítí se semi-lokálními jednotkami, které jsme popsali v podkapitole 5.2. Řekli jsme si, že Hartman a Keeler se ve svém návrhu snažili najít jakýsi kompromis mezi perceptrony a lokálními RBF jednotkami a navrhli jednotku, která počítá součet gaussovských funkcí v jednotlivých dimenzích. Experimentální 13.4. APROXIMACE RBF SÍTĚMI 339 Výjimkou bude důkaz věty 13.23, který je zajímavý svou technikou. Idea použít pro aproximační důkazy v neuronových sítích dvou elegantních a silných nástrojů — Hahn-Banachovy a Rieszovy věty — byla poprvé použita v Cybenkově článku [52] z roku 1989. První z následujících vět hovoří o hustotě množiny TZ^(K) v prostoru Ci(Rn). Má tvar ekvivalence, udává tedy nutnou a postačující podmínku pro aproximaci pomocí RBF sítí s uniformními šířkami. Věta 13.21 Nechť K : IR" —^ [R je integrovatelná, pak 1Z°n(K) je hustá v £i(Rn) právě tehdy, když K(x)dx ^ 0 . Stejné podmínky platí i pro aproximaci funkcí v £i(R") pomocí obecné RBF sítě: Věta 13.22 Necht K : R" —► IR je integrovatelná, pak lZn(K) je hustá v £i(IRn) právě tehdy, když K(x)dx ^ 0 . (13.5) Poznámka: Je zajímavé, že pro aproximaci funkcí z £2(Rn) pomocí funkcí z množiny 1Z„(K) se podařilo nahradit podmínku (13.5) slabší podmínkou požadující nenulovost Fourierovy transformace funkce K skoro všude na určitých podmnožinách IRn. Obecné tvrzení o Cp(Rn) aproximaci funkcemi z lZn(K) má obdobný tvar, ale je již vysloveno pouze jako implikace. Věta 13.23 Nechť p > 1, K : R" —► IR je integrovatelná funkce taková, že K{x)dx ^ 0 a zároveň I \K(x)dx\v < co . Pak je Tln(K) hustá v Cp{Rn). Důkaz: Důkaz se provádí sporem. Předpokládejme, že 1Z„(K) není hustá v Cp(Rn). Potom podle Hahn-Banachovy věty [242] existuje omezený funkcionál A : Cp(Rn) —> R takový, že A (lln{K)) = 0 , (13.6) 342 KAPITOLA 13. UNIVERZÁLNI APROXIMACE Definice 13.27 Označme Q\ možinu funkcí f : 2" —► R tvaru: k f = J2^Joßs, (13.13) i=i kde k G N, «j G R, /3j : In —► R jsou obecné afinní transformace, tj. Pj\ í' ' ' ' ? n) — / ^—-| Oj^Xi -f- c^ , hae (iji^ Cj t ií\. Definice 13.28 Označme Q^ množinu funkcí g : 2" —► R tvaru: i g = ^2 wi7 ° ai ° ^ ° f J ' (13.14) i=i Arfe Wj G R, «j j'soM afinní transformace, ttj projekce, y Gaussova funkce a f j jsou funkce z (13.12). Jedná se o funkce realizované sítí s n vstupy, h semi-lokálními jednotkami v první skryté vrstve, q lineárními jednotkami ve druhé vrstve a jednou semi-lokální jednotkou ve výstupní vrstve. 13.5.2 Negativní výsledek Věta 13.29 Pro každé přirozené n > 2 platí, že Qn není hustá ani v C(2n) ani v Cp(2n) pro p > 1. Důkaz: Naším cílem bude vzít libovolnou funkci z uzávěru Qn a ukázat, že není dostatečně obecná, aby reprezentovala všechny funkce v C(2n) ani v Cp(2n). _ Nechť tedy g G Qn. Funkce g je pak limitou funkcí z Qn: g = hm h , (13.15) kde f k G Q n jsou tvaru: fk{x\, ...,Xn) = ^^Vki I ^2 wkirJ ° Ctkir{Xr) J , 8 = 1 \r = l / kde Vki, Wkir G R a atkir jsou afinní transformace na R. Označíme-li si hk fkr = 2_^ Vkiwkirl ° akir , 8 = 1 můžeme fj. přepsat jako: J k — / ^ Jkr\%r) • 13.5. SITE SE SEMI-LOKALNIMI JEDNOTKAMI 341 výsledky ukázali, že semi-lokální gaussovské sítě se učí rychleji než per-ceptrony a — na rozdíl od RBF sítí — nemají potíže s irelevantními vstupy. Otázku univerzální aproximace semi-lokálních gaussovských sítí vyřešila Kůrková v roce 1993 [164], a to negativně. V následujícím odstavci si vyložíme její výsledek, který ukazuje, že tyto sítě nejsou univerzálními apro-ximátory. Univerzální aproximace dosáhneme, když povolíme buď obecnější jednotky namísto semi-lokálních, nebo složitější architekturu. Tato tvrzení uvedeme a dokážeme v dalším odstavci. Uveďme nyní několik potřebných definic. Kvůli jednoduššímu zápisu budeme funkce počítané neuronovou sítí vyjadřovat pomocí operace složení zobrazení o. Gaussovská semi-lokální jednotka počítá funkci / : Rn —► R tvaru: n f(x1,.. .,xn) = y^ywre~\ T'r) , (13.10) r = l kde wr,cr,ar G R, 2 platí, že Q\ je hustá v C(X") i v Cp(Xn) pro p > 1. Další možností, jak dosáhnout univerzální aproximace sítí se semi-lokál-ními jednotkami, je zvětšit počet vrstev sítě tak, abychom dostali funkce odpovídající třídě Q\ funkcí definovaných dle (13.14). Následující dvě věty se týkají právě takových funkcí. K důkazu využijeme výsledků z předchozích podkapitol, konkrétně Kolmogorovovu větu a větu o univerzální aproximaci RBF sítěmi. Věta 13.31 Pro každé přirozené n > 2 platí, že Q\ je hustá v C(X"). Důkaz: Princip důkazu je následující: libovolnou spojitou funkci vyjádříme dle Kolmogorovovy věty pomocí funkcí jedné proměnné, které následně všechny aproximujeme gaussovskými semi-lokálními funkcemi jedné proměnné. Pro jednodimenzionální vstupy jsou semi-lokální jednotky totožné s RBF jednotkami (s gaussovskou aktivační funkcí), takže můžeme použít věty o univerzální aproximaci RBF sítí. Proveďme nyní celý postup podrobněji. Buď / G C(Xn) libovolná funkce, kterou můžeme reprezentovat jako (viz věta 13.3): 2n+l / n \ f(x1,...,xn) = J2^ \J2XPqM*p)) > (13.18) q=l \p=l ) kde , if)q jsou spojité funkce jedné proměnné. Vezměme interval (a,b) C R dostatečně velký, aby platilo, že ipq(X) C IR, (q = 1, . . ., 2n + 1). Na tomto intervalu budeme nyní aproximovat funkci t/> funkcí realizovanou sítí se semi-lokálními jednotkami s jedním vstupem, tedy funkcemi g : (a, 6) —► IR tvaru: h g = ^w;7 o cti, (13.19) 8 = 1 kde k G N, W{ G IR a a8(z) = a8z +bi jsou afinní transformace a8- : (a, 6) —► IR. Z věty 13.25 plyne, že množina všech funkcí g je hustá v C((a, b)). Můžeme tedy vybrat takovou g, že pro každé x G (a, 6) platí: lff(*)-^)l<2n(2^+l)- 13.5. SITE SE SEMI-LOKALNIMI JEDNOTKAMI 343 Definujme pro každé r = 1, . . ., n zobrazení vr : R —► IRn takové, že složení zobrazení 7rr ovT dá identitu na IR. Jelikož platí (13.15), tak pro každé xr G IR máme: g o ľr(xr) = lim /j. o ľr(xr) = lim fkr{xr) + K , kde n f>r = 2_j fk9 OI5° Vr{xr) ■ 9 = 1 Takže pro každé r = 1, . . ., n existuje funkce gr = lirn^oo /j.r. Tedy n g(xi,...,x„) = ^2gr(xr) . (13.16) r = l Tím jsme dospěli ke konci, neboť jak v C(Xn), tak v Cp(Xn) existují funkce, které nelze vyjádřit ve tvaru (13.16). Příkladem je funkce: g(xi,..., xn) = xiX'2 ■ Dokázali jsme tedy, že Qn není hustá ani v C(Xn) ani v Cp{Xn). □ 13.5.3 Pozitivní výsledek Síť složená z gaussovských semi-lokálních jednotek nemá tedy vlastnost univerzální aproximace. Podívejme se podrobněji na funkce z Qn a zamysleme se, proč tomu tak je. Vezměme tedy / G Qn'- h 'O air ° 7I"r = 1 \r = l / = X] M X]Wirl' Položme k = hr, Uj = ViWir a ßj = aír o 7rr. Pak lze / přepsat na: k f = YJu]1oßJ, (13.17) kde k G N, u j G R a ßj jsou speciální afinní transformace, které jsou vždy složením nějaké projekce s nekonstantní afinní transformací. Kdybychom se vzdali tohoto omezení na transformace ßj a povolili všechny afinní transformace, dostaneme funkce třídy Q^, což je vlastně (nyní již to můžeme prozradit) třída funkcí realizovaných perceptronovou sítí s jednou skrytou vrstvou a Gaussovou aktivační funkcí. Z výsledků podkapitoly 13.3 víme, že tyto sítě jsou univerzálními aproximátory. 346 KAPITOLA 13. UNIVERZÁLNI APROXIMACE kterou nazveme řetězcové sítě. Asi nás nepřekvapí fakt, že tyto sítě mají univerzální aproximační vlastnost, protože na perceptronové sítě s jednou vrstvou se můžeme dívat i jako na speciální případ kaskádových sítí s mnoha nulovými váhami. Zajímavý bude důkazový aparát, který použijeme — řetězcové zlomky, jež historicky patří do klasické části kalkulu matematické analýzy. V minulosti se využívaly při (ručním) počítání různých veličin a aproximaci funkcí k výpočtu tabulkových hodnot. První teoretické výsledky o řetězcových zlomcích se objevují už u Eulera a naopak soumrak této metody (alespoň jako prostředku k počítání hodnot funkcí) přichází s nástupem výpočetní techniky. My využijeme některých teoretických výsledků o aproximaci funkcí řetězcovými zlomky. Jelikož existuje rozvinutá teorie řetězcových zlomků v oboru komplexních čísel, můžeme uvažovat kaskádové sítě s komplexními vstupy, výstupy i vahami. Zabývat se komplexními neuronovými sítěmi je samo o sobě zajímavým problémem z několika důvodů. Předně, některé praktické problémy, například z elektrotechniky, mohou být přirozeně vyjádřeny v komplexním oboru. Z teoretického hlediska představují komplexní čísla jisté zobecnění čísel reálných a proto i získané teoretické výsledky mohou být formulovány obecněji. Problémem komplexního rozšíření neuronových sítí se zabývá několik prací, např. [113]. Situace je komplikovanější než v reálném oboru, protože není například jasné, jakou aktivační funkci zvolit. V komplexních číslech například neexistuje jednoznačný protějšek logistické sigmoidy. Často tak dochází k ad hoc volbě takové funkce, která je vhodná k řešení daného problému. Stejný postup zvolíme i my, když za aktivační funkci zvolíme co nejjednodušší racionální funkci. 13.6.2 Řetězcové zlomky a sítě Budeme se tedy zabývat třídou funkcí s jednou skrytou vrstvou a jednou lineární výstupní jednotkou. Mezi jednotkami ve skryté vrstvě existují horizontální vazby, ale na rozdíl od obecné kaskádové sítě spojují vždy jen sousední jednotky. Navíc, uspořádáním jednotek je dána orientace jejich spojů, které míří vždy od i-té k (i + 1) jednotce (viz obr. 13.1). Skryté jednotky počítají funkci ve tvaru: o = 6(z,y) = a\' +h , (13.20) cz + d + y kde y je výstup z předchozí jednotky, z je vstupem sítě a a, b, c, d jsou komplexní parametry. Prvkům této podtřídy kaskádových sítí s aktivační funkcí tvaru (13.20) říkáme řetězcové sítě. 13.6. KASKÁDOVÉ SÍTĚ 345 Dále, jelikož g je stejnoměrně spojitá, existuje 6 £ IR takové, že: l J=l takovou,že \hq(z) - ijq(z)\ < -, pro každé z £ I, přičemž A = max{AP3; p = 1, . . ., n; q = í, . . . ,2n + í}. Tedy platí: 2n + l h í hq / n Y YWii oai IJ2 [ J2 XMvir( ° ßqj ° *> Takže jsme aproximovali / s přesností s pomocí sítě se ( X2a=i h q j gaus-sovskými jednotkami v první skryté vrstvě, k(2n + 1) lineárními jednotkami ve druhé (a jednou gaussovskou výstupní jednotkou). □ Následující věta vyslovuje stejné tvrzení vzhledem k prostoru Cp. Je důsledkem právě dokázané věty a dalších vztahů prostorů C a Cp, jako je například Luzinova věta (viz [242]). Věta 13.32 Pro každé přirozené n > 2 platí, že Q^ je hustá v £p(2") pro p>í. 13.6 Kaskádové sítě Tato sekce má za úkol ukázat jak použit různé nástroje matematické analýzy k důkazům aproximačních schopností speciálních neuronových sítí. 13.6.1 Úvod S kaskádovými sítěmi jsme se již setkali v podkapitole 2.4, kde jsme se zabývali inkrementálním učícím algoritmem kaskádové korelace. V této podkapitole budeme vyšetřovat aproximační vlastnosti podtřídy kaskádových sítí, < e. 348 KAPITOLA 13. UNIVERZÁLNI APROXIMACE Definujme nyní řetězcové zlomky a ukažme, že funkci realizovatelnou řetězcovou sítí můžeme přirozeně reprezentovat řetězcovým zlomkem. Definice 13.36 Řetězcovým zlomkem rozumíme následující schéma: h° +-------------Hm-------- (13-21) 6l(»+---------- a (z) kde a,i a bi jsou komplexní funkce proměnné z. Částečný řetězcový zlomek Pn(z) je řetězcový zlomek, který má jen konečně mnoho koeficientů cii,bi: Pn(z) = b0+- ai(z) l>i(z)+- aaQ) b2(z)+- a3(>) Á*) + - an(z) ., _i____Lil___L -1+bn(z) Existuje-li limn-l.00Pn(z) a je rovna v, říkáme, že řetězcový zlomek (13.21) má hodnotu v. Tento odstavec uzavřeme pozorováním, ke kterému jsme směřovali a jež přímo vyplývá z předchozích definic: Pozorování 13.37 Každá funkce f E T má tvar částečného řetězcového zlomku Pn, kde n odpovídá počtu jednotek ve skryté vrstvě. 13.6.3 Ret ězcové sítě a komplexní řady V tomto odstavci uvedeme větu o univerzální aproximaci řetězcových sítí dokázanou Nerudou a Štědrým v [205], která ukazuje, že funkce realizovatelné řetězcovou sítí mohou s libovolnou přesností aproximovat každou meromorfní funkci. K důkazu použijeme dvou silných vět o rozvoji mocninných řad v řetězcové zlomky. Jako vždy v této části se zaměříme na hlavní myšlenky a techniky důkazu. Věta 13.38 Řetězcová síť může aproximovat každou meromorfní funkci s libovolnou přesností. Navíc, funkce ze třídy £ mohou být řetězcovou sítí reprezentovány přesně. Důkaz: Budeme tedy dokazovat, že množina T je hustá v prostoru všech meromorfních funkcí se supremovou metrikou. Vezměme si libovolnou meromorfní funkci / a vyjádřeme si ji pomocí jejího Laurentova rozvoje: oo oo oo Í = — OO i = 0 i = 0 13.6. KASKÁDOVÉ SÍTĚ 347 Jak jsme se již zmínili, používáme jako aktivační funkce nejjednodušší racionální funkci, jež nám umožní snadnou aplikaci aparátu řetězcových zlomků. Tato funkce je v teorii komplexních čísel poměrně rozšířená, lze ji snadno vyčíslit na počítači, ale i přes svou jednoduchost nám umožňuje aproximovat i nespojitosti. Abychom mohli formulovat výsledky, zavedeme si označení pro dvě třídy funkcí a několik dalších definic: Definice 13.33 Nechť T množinu všech funkcí f : C —► C reprezentovatel-ných řetězcovou sítí s konečným počtem jednotek ve skryté vrstvě. Definice 13.34 £ budiž množina funkcí f : C —► C tvaru: (-1, kde p a q jsou polynomy. Definice 13.35 Homogenním polynomem o n proměnných Hn(xi, . . ., xn) myslíme polynom tvaru: m n Hn(xi, ...,xn) = ^2a,j Y[xľ3 j=i i=i tak, že ^2i=iQij jsou totožné pro všechna j = í...m. Označme AÍ(Hn) množinu nulových bodů Hn. Meromorfní funkce jsou takové komplexní funkce f (z), jejíž jediné singularity jsou póly. Pro nás bude důležité, že každou meromorfní funkci lze napsat ve tvaru Laurentovy řady, což je nekonečná řada: oo f (z) = y^ aizi> aieC i = — OO Obr. 13.1: Perceptronová a řetězcová síť 350 KAPITOLA 13. UNIVERZÁLNI APROXIMACE Potom lze sestrojit posloupnost polynomů ortogonálních vzhledem k posloupnosti {c0, Ci, . . .}. Použitím předchozích vět můžeme vyjádřit celou Laurentovu řadu odpovídající naší meromorfní funkci / pomocí řetězcových zlomků a tím i řetězcovou sítí. Poslední technická podrobnost, kterou se nebudeme detailně zabývat spočívá v tom, že naše řada je obecná a obě věty 13.39 i 13.42 kladou jisté (slabé) podmínky na její koeficienty. To lze obejít rozepsáním řady pomocí tří řad, které tyto podmínky splňují. □ Dosud jsme se zajímali jen o řetězcové sítě s jednorozměrnými vstupy a výstupy, ale předchozí výsledek lze rozšířit i na obecné sítě s více vstupy. Použijeme k tomu techniku redukce dimenze, která spočívá v tom, že vícedi-menzionální funkci nahradíme funkcemi jednodimenzionálními. Následující věta je jednoduchým důsledkem výsledku Vostrecova a Kreinese [279]. Věta 13.43 Buď n E N a W C Cn taková, že pro každý homogenní polynom Hn platí W m. 352 KAPITOLA 13. UNIVERZÁLNI APROXIMACE 13.6. KASKÁDOVÉ SITE 351 identity k výpočtu koeficientů ve zlomku.) V každém případě ale můžeme pro nalezení dalších koeficientů použít gradientní algoritmus. Poslední alternativou učení řetězcových sítí, kterou uvedeme, je postup vycházející z Viskovantovova výsledku o vyjádření racionálních funkcí řetězcovými zlomky [280]. Podle následujícího vzorce můžeme inkrementálně sestrojit řetězcový zlomek, známe-li koeficienty dané racionální funkce: aio + aiix + ai2X2 + . . . + a\nxn + a00 + a01x + a02x2 + . . . + a0nxn + kde (13.24) Triviálním využitím tohoto výsledku je naučit se na základě tréninkové množiny racionální funkci a tu pak pomocí (13.23) vyjádřit jako řetězcový zlomek, potažmo síť. Není ovšem třeba používat jako mezičlánku racionální funkci, neboť lze odvodit algoritmus, který bude nastavovat přímo váhy řetězcové sítě podle rekurentního vztahu (13.24). 13.6.5 Diskuse V této podkapitole jsme tedy ukázali, že množina funkcí realizovatelných řetězcovými sítěmi v C je hustá v prostoru meromorfních funkcí. Podíváme-li se zpět do oboru reálných čísel, zjistíme, že jsme touto sítí schopni aproximovat poměrně velkou množinu funkcí zahrnující dokonce funkce s nespojitostmi druhého druhu. Aktivační funkce našich komplexních jednotek je vzhledem k řetězcovým zlomkům ta nejjednodušší možná — jde o podíl lineárních funkcí. Z teorie aproximace funkcí řetězcovými zlomky je známo, že použití vyšších polynomů může v některých případech výrazně urychlit konvergenci přibližného řešení. Použití složitějších aktivačních funkcí je otázkou rovnováhy mezi složitostí výpočtu uvnitř jedné jednotky a počtem jednotek v síti. Aproximace funkcí pomocí perceptronů nebo RBF sítí se může zdát geometricky intuitivní, což neplatí u řetězcových sítí, kde racionální komplexní funkce spolu s inkrementálním skládáním hodnot geometrickou představu hatí. Na druhou stranu, z vlastností řetězcových zlomků plyne, že získaná aproximace je optimální vzhledem k počtu drahých strojových operací, tj. násobení a dělení. aio aoo + - a-í.gx (13.23) aio + a2o + - 354 KAPITOLA 14. FUNKČNÍ EKVIVALENCE A GENETICKÉ UČENÍ V následujících podkapitolách si zavedeme potřebné pojmy a ukážeme hlavní výsledky o funkční ekvivalenci pro perceptronové a RBF sítě. Dále si na příkladu RBF sítí vyložíme, jak využít funkční ekvivalenci k popisu tzv. kanonických parametrizací sítě. Potom si stručně ukážeme, co to jsou genetické učící algoritmy a jak je lze modifikovat, abychom využili kanonických parametrizací k urychlení učení. 14.1 Pojmy V následujícím budeme hovořit o perceptronových sítích s n vstupy, jednou skrytou vrstvou a jednou lineárni výstupní jednotkou. Takové sítě počítají funkce / : Rn -> IR tvaru: k /(x) = £u;,^(vix+ &,-), (14.1) 8 = 1 kde k G N je počet jednotek ve skryté vrstvě, «i,-, b{ G R, v; G Rn a ip : R —► R je aktivační funkce. Dále se budeme zabývat RBF sítěmi s n vstupy, skrytou vrstvou RBF jednotek a jednou lineární výstupní jednotkou. Tyto sítě reprezentují funkce / : Rn -+ R tvaru: /w = E^(^r). (14-2) kde k G N je počet jednotek ve skryté vrstvě, Wi,bi G R, p je metrika na Rn a t/> : R —► R aktivační funkce (obvykle je metrika indukována normou: p(x,y) = \\x-y\\). Posloupnost všech parametrů sítě, nazveme parametrizací. Každou parametrizaci určujeme vzhledem k aktivační funkci a počtu vstupů, u RBF jednotek ještě navíc k metrice, kterou měříme vzdálenost ve vstupním prostoru. Definice 14.1 Nechť n G N, if) : R —► R, p metrika na Rn. • Parametrizace perceptronové sítě vzhledem k (t/>, n) je posloupnost Q = (wí, "Vi, bi] i = 1, . . ., k) s významem symbolu dle (Ut.l). • Parametrizace RBF sítě vzhledem k (t/>, n, p) je posloupnost P = (uig, c;, bi; i = 1, . . ., k) s významem symbolu dle (l/f.2). Je jasné, že každá parametrizace Q, resp. P, určuje jednoznačně vstupné-výstupní funkci perceptronové, resp. RBF, sítě podle vztahu (14.1), či (14.2). Kapitola 14 Funkční ekvivalence a genetické učení Jak jsme viděli v předchozí kapitole, otázka univerzální aproximace byla intenzivně studována několik let a pro většinu důležitých modelů dopředných sítí byla úspěšně vyřešena. Na tento fakt se můžeme dívat ze dvou pohledů. Za prvé víme, že perceptronové, RBF a další sítě jsou skutečně obecný výpočetní prostředek ve smyslu, schopnosti aproximovat libovolně přesně každou spojitou funkci. Na druhou stranu, jednou z motivací pro zkoumání univerzální aproximace byla i snaha získat kritérium, které by umožnilo určit, zda daná architektura je lepší či horší než jiná. To je jeden z důvodů, proč se hledají další, jemnější, kritéria posuzování jednotlivých architektur. Typickými kandidáty na taková měřítka jsou velikost sítě (daná počtem jednotek a velikostí parametrů) a rychlost učení. Jednou z možností, jak zrychlit učící proces, je omezit prohledávaný parametrický prostor odstraněním redundancí. Toho lze dosáhnout tak, že se omezíme na minimální podprostory váhového prostoru, které obsahují jednoho zástupce od všech funkčně ekvivalentních váhových vektorů (obr. 14.1), tj. vektorů parametrů, které určují stejnou vstupně-výstupní funkci neuronové sítě. Hecht-Nielsen [106] poukázal na to, že charakterizace funkčně ekvivalentních parametrizací sítě může zrychlit učící proces. První výsledky o funkční ekvivalenci se týkaly perceptronových sítí s hyperbolickým tangentem jako aktivační funkcí (Sussmann [262], Chen a kol. [133]). V poslední době se objevily práce o perceptronových sítích s obecnějšími aktivačními funkcemi (Albertini a Sontag [4], Kůrková a Kainen [165], Kainen a kol. [144]). Kůrková a Neruda [166] studovali problém funkční ekvivalence pro RBF sítě s Gaussovou aktivační funkcí. q^q 356 KAPITOLA 14. FUNKČNÍ EKVIVALENCE A GENETICKÉ UČENÍ Věta 14.8 Je-li aktivační funkce i\> asymptoticky konstantní a má vlastnost jednoznačné parametrizace vzhledem k 1 pro perceptronové sítě, pak má vlastnost jednoznačné parametrizace vzhledem k libovolnému přirozenému číslu. Důkaz této věty využívá vlastností z afinní geometrie a je uveden v [165]. Když je vlastnost jednoznačné parametrizace vzhledem k 1 porušena (pro nekonstantní funkce), pak lze ip vyjádřit jako k ^{t) = ^2wi^{vit + bi) + c, (14.3) 8 = 1 kde wí 7= 0, ví 7= 0 a když i 7= j, pak buď ví 7= Vj, nebo bi 7= bj a navíc, je-li bi = 0, pak ví 7= 1. Definice 14.9 Je-li (Ut.3) splněna pro k = 1, nazýváme i\> soběafinní. Jeli (14-3) splněna pro k > 2, nazýváme i\) afinně rekurzivní. Následující důsledek charakterizuje funkce, jež mají vlastnost jednoznačné parametrizace perceptronových sítí vzhledem k jakémukoliv n. Důsledek 14.10 Necht i\> je omezená, nekonstantní a asymptoticky konstantní aktivační funkce. Není-li i\> ani soběafinní ani afinně rekurzivní, má vlastnost jednoznačné parametrizace pro perceptronové sítě vzhledem k libovolnému n G N. Rada funkcí, včetně logistické sigmoidy či Gaussovy funkce, není afinně rekurzivní, takže takřka splňují nutné podmínky pro vlastnost jednoznačné parametrizace perceptronové sítě. Pro přesné popsání situace je však nutno rozšířit pojem záměnné ekvivalence tak, aby bral v úvahu i možnost změny znamének, která u perceptronových sítí hraje roli. Je-li např. aktivační funkce sudá (jako Gaussova funkce), nebo lze-li ji posunutím převést na lichou funkci (to je případ logistické sigmoidy), získáme další triviální případy funkční ekvivalence (např. pro Gaussovu funkci 7 platí: j(x) = j(—x)). Podrobně jsou tyto případy popsány v [165]. 14.2.1 Parametrizace RBF sítí Pro RBF sítě nebyl dokázán žádný obdobný výsledek jako je věta 14.8, proto se nemůžeme omezit na vyšetřování funkcí v jedné dimenzi. Přesto i zde existují věty o jednoznačné parametrizaci vzhledem k libovolné dimenzi. Uvedeme si dva podobné výsledky, které hovoří o RBF sítích s Gaussovou radiální funkcí a metrikou odvozenou od skalárního součinu (typickým představitelem je euklidovská metrika), nebo maximovou metrikou. 14.2. PARAMETRIZACE PERCEPTRONOVÝCH SÍTI 355 Definice 14.2 Říkáme, že dvě RBF parametrizace P a P' jsou funkčně ekvivalentní, realizují-li stejnou vstupně-výstupní funkci. Stejně se funkční ekvivalence definuje i pro perceptronové parametrizace. Povšimněme si, že počet skrytých jednotek se u P a P' může obecně lišit. Nejjednodušším typem funkční ekvivalence je permutace skrytých jednotek, která odpovídá permutování sčítanců sumy (14.1) nebo (14.2). Definice 14.3 Dvě RBF parametrizace jsou záměnné ekvivalentní, když k = k' a existuje permutace tt množiny {1, . . ., k} taková, že Wi = w' ,^ a hi = K (i) a c» = cír(i)' pro kaUé * £ {1, • • •, &}• Analogická definice opět platí i pro perceptronové parametrizace. V dalším se budeme zabývat jen takovými parametrizacemi, které nemají nějaké redundantní členy, budeme jim říkat redukované parametrizace. Definice 14.4 Parametrizace perceptronové sítě je redukovaná, když pro každé i G {1, . . ., k} Wi 7= 0 a pro každé i. j G {1, . . ., k} z i 7= j vyplývá, že bud'-Vi 7= Vj, nebo bi 7= bj a existuje nejvýše jedno i takové, že v8- = 0. Definice 14.5 Parametrizace RBF sítě je redukovaná, když pro každé i G {1, . . ., k} Wi 7= 0 a pro každé i, j G {1, . . ., k} z i 7= j vyplývá, že buďCi 7= Cj, nebo bi 7= b j . 14.2 Parametrizace perceptronových sítí Naším cílem bude zkoumat vztah mezi funkční a záměnnou ekvivalencí redukovaných parametrizací. Konkrétně nás bude zajímat, zda funkční ekvivalence implikuje záměnnou ekvivalenci (opačná implikace je triviální). Definice 14.6 Necht n G N. Funkce ip má vlastnost jednoznačné parametrizace vzhledem k n, platí-li pro každé dvě redukované parametrizace perceptronových sítí vzhledem k (ip,n) (resp. RBF sítí vzhledem k (ip,n,p)), že funkční ekvivalence implikuje záměnnou ekvivalenci. Definice 14.7 Funkci / : R —*■ R nazveme asymptoticky konstantní, má-li konečné limity v +00 1 v —00. Pro perceptronové sítě lze dokázat následující větu o redukci dimenze, která ukazuje, že pro třídu asymptoticky konstantních funkcí stačí vyšetřovat vlastnosti sítě v jedné dimenzi. 358 KAPITOLA 14. FUNKČNÍ EKVIVALENCE A GENETICKÉ UČENÍ Důkaz věty 14.11: Podle lemmatu 14.13 stačí dokázat, že žádná redukovaná parametrizace negeneruje nulovou funkci. Pro spor předpokládejme opak: A / P(x,c8)2\ * / ||x-c8||2\ 2^^,-expl--------p----- =2^Wiexp[---------2------ 1=0 (14.4) pro všechny x £ TZ". Dále můžeme předpokládat, že 1 = b = max{&8;i = í,...,k} (jinak můžeme změnit měřítko) a že {&8;i = í,...,k} jsou uspořádány tak, že 1 = &i = . . . = bm > bi pro všechny i = m + 1, . . . ,k a nakonec, že ci = 0 (jinak můžeme posunout počátek soustavy souřadnic). Vynásobíme (14.4) výrazem exp (||x— ci||2) a dostaneme 0 = Wi + 2^ iii exp (2x • Cg) ■ 8 = 2 + ]T ^exp(||x||2(l--J v bjj 2X' l &2 kde wí = wí exp I-" t?" I. Jelikož pro každé i = m + 1, . . ., fc 1 — p- < 0, tak pro všechny u G TZ" platí následující rovnost: Km J2 ^exp(||H|2(l-l)-2íuY-^))=0. 8=m + l ^ ^ l ' Ví// Tedy pro každé u G 7?": m -»i = lim > é,' exp (2íu • (c8)) . (14.5) t^QO *■----^ 8 = 2 Zvolme mezi {c2, . . ., cm} vektor Cj s nejmenší normou ||cj||, tj. ||cj|| > ||ci|| pro každé i = 2, . . ., m. Dle lemmatu 14.14 pak pro každé i ^ j c8- • c j < c j ■ c j . Dosadíme u = Cj do (14.5) a dostáváme m — w\ = lim > é,' exp (2íc,- • c8) . (14.6) Í^CX) ^-—^ 8 = 2 14.2. PARAMETRIZACE PERCEPTRONOVYCH SITI 357 Připomeňme, že skalární součin • na R", indukuje normu || • || na 1Z" předpisem ||x||2 = x.x; xÉf. p pak označuje metriku odvozenou z normy || • ||: ŕ(x,y) = ||x-y||; proxjeT. Maximova metrika p^ je definována jako: Pm(x, y) = max |;c; - t/i| . 8 = 1,. ..,n Věta 14.11 Necht n G N, p metrika indukovaná skalárním součinem, y (t) = exp(—í2). Paky má vlastnost jednoznačné parametrizace příslušné RBF site vzhledem k n. Věta 14.12 Nechť n £ N, p^ maximová metrika, y (ť) = exp(—í2). Pa& y má vlastnost jednoznačné parametrizace příslušné RBF site vzhledem k n. Jelikož oba důkazy jsou podobné, uvedeme pouze důkaz první věty. Využijeme k němu následujících dvou lemmat. Lemma 14.13 Buď n £ N, p metrika na 7Z" a ip : 1Z+ —► 1Z funkce. Když neexistuje redukovaná RBF parametrizace vzhledem k (ip,n,p) generující konstantní nulovou funkci, pak má Lp vlastnost jednoznačné parametrizace vzhledem k n. Důkaz: Budeme postupovat sporem. Předpokládejme, že dvě různé redukované RBF parametrizace určují stejnou funkci: V^ MX'C»A V^ / MX'C'A 22Wi,p{—b—) =22w^{-^r- ■ 8=1 V % / 8=1 V 8 / Odečtěme pravou stranu rovnice od levé a dejme dohromady členy se stejnými středy a šířkami. Tak vznikne redukovaná parametrizace, která generuje konstantní nulovou funkci, což je spor. Ü Druhé lemma vyslovuje jednoduché tvrzení z lineární algebry. Uvedeme ho zde bez důkazu. Lemma 14.14 Buď pe norma indukovaná skalárním součinem ■ na 1Zd, {ci]i = í,...,k} buď množina různých nenulových vektorů v 7Z". Nechť j G {1, . . ., k} je takové, že platí \\cj\\ < ||cj|| pro každé i = 1, . . ., k. Potom Cj • c j < c j ■ c j pro každé i ^ j. 360 KAPITOLA 14. FUNKČNÍ EKVIVALENCE A GENETICKÉ UČENÍ Předchozí věty 14.11 a 14.12 tedy říkají, že ke každé parametrizaci existuje kanonická parametrizace určující stejnou funkci. Chen a Hecht-Nielsen [134] navrhli studovat podprostory váhového prostoru obsahující právě jednoho reprezentanta každé třídy funkčně ekvivalentních parametrizací, nazývají je minimální -prohledávací množiny. Důsledek 14.16 Pro každé n G N, pro každou metriku p na 1Z" indukovanou skalárním součinem nebo maximovou metriku pm tvoří množina kanonických parametrizací minimální prohledávací množinu. Abychom mohli předchozí výsledky využít při řešení praktických problémů, potřebujeme učící algoritmus, který by uměl pracovat pouze na kanonických parametrizacích. Bohužel, obvyklé gradientní metody toho nejsou schopny, protože analytické řešení, které získáme v každé iteraci algoritmu, nemůže být principiálně omezeno na určitou podmnožinu váhového prostoru. Naštěstí se takový algoritmus dá najít, a to v rodině genetických algoritmů, se kterými se stručně seznámíme v následující podkapitole. 14.3 Genetické algoritmy Genetické algoritmy (GA) představují stochastickou prohledávací metodu, která je inspirována genetickými principy jako je přirozený výběr, křížení a mutace. I když se první pokusy o modelování evoluce na počítači objevily už v padesátých letech, za objevitele genetických algoritmů tak, jak je známe dnes, je považován Holland, který položil základy této disciplíny v sedmdesátých letech [118, 119]. 14.3.1 Základy GA se nejvíce používají k řešení problémů optimalizace. Mnoho problémů (např. učení neuronové sítě) může být formulováno j ako hledání minima či maxima funkce v závislosti na jejích parametrech. V řeči GA většinou mluvíme o účelové funkci. Jelikož parametrický prostor je typicky příliš velký pro exhaustivní prohledávání, používáme nějakou stochastickou techniku pro nalezení přibližného řešení. Gradientní metody například reprezentují hledání lokálního minima či maxima pomocí jednoho zpřesňujícího se řešení. Genetické algoritmy představují jiný přístup, který využívá celou populaci prozatímních řešení, jež paralelně procházejí parametrický prostor a navzájem se ovlivňují a modifikují pomocí genetických operátorů. Tímto mechanismem, nazývaným implicitní paralelismus, se dosahuje jakéhosi syner-getického efektu, takže populace jedinců najde správné řešení rychleji, než 14.2. PARAMETRIZACE PERCEPTRONOVYCH SÍTI 359 Vynásobíme (14.6) výrazem exp (-2ť||Ci||2): m — lim wi exp (—2í||cj|| ) = Wj + lim N tři; exp (2ť(cj • c8- — Cj ■ Cj)) . i = 2 Jelikož oba výrazy — ||cj ||2 i (cj • c; — Cj ■ Cj) jsou záporné (první zřejmě, druhý podle lemmatu 14.14), limity na obou stranách se rovnají 0. Tedy tbj = Wje~"cj" = 0. čili Wj = 0, což je ale ve sporu s naším předpokladem, že jde o redukovanou parametrizaci. □ Nyní využijeme předchozích vět k tomu, abychom popsali kanonickou reprezentaci sítě realizující danou funkci. Jelikož jediné transformace parametrů, které nemění danou funkci, jsou výměny jednotek ve skryté vrstvě, musíme zvolit zástupce každé ze tříd parametrizací s permutovanými skrytými jednotkami (obr. 14.1). Obr. 14.1: Třídy funkční ekvivalence a kanonické parametrizace Jednou z možností je uspořádat váhové vektory odpovídající jednotlivým skrytým jednotkám vzestupně v lexikografickém uspořádání. Reprezentujme parametrizaci {ío,-, ki, c8-; i = 1, . . ., k} jako vektor P = {pi, . . .pk} G ■]Zky"+2)J kde p8 = {ío,-, bi, cn, . . ., Ci„} G TZn+2 jsou parametry příslušející i-té skryté jednotce. Nechť -< označuje lexikografické uspořádání na 1Z"+2, tj. pro p,q£ lZd+2 platí: p -< q , existuje-li index m G {1, . . . ,d+2} tak, že P j = li Pro Í < m a Pm < max then max:= p; p:= účelová-funkce(Dcera); dej (Dcera,p) do Nové; if p>max then max:= p; until max B zobrazení A do B /_1 inverzní zobrazení k / fog složené zobrazení (f(g(x))) REJSTŘÍK POJMŮ A SYMBOLŮ 371 vícevrstvý perceptron, 52 viditelný neuron, 93 virtuální neuropočítače, 48 vlastní učení, 302 vnitřní potenciál, 24, 196 vrstva, 31, 159 vstup neuronové sítě, 32, 196 vstup neuronu, 24 vstup obvodu, 159 vstupní neuron, 29, 195 vstupní prostor, 32, 301 vstupní slovo neuromatu, 236 vstupní vrstva, 31 vylučovací disjunkce, 146 výpočet s fixovanými vstupy, 197 výpočetní teorii učení, 301 výstup neuronové sítě, 32, 197 výstup neuronu, 24 výstup obvodu, 159 výstupní neuron, 29, 195 výstupní vrstva, 31 vzorková složitost, 304 Widrowovo pravidlo, 67 záměnná ekvivalence, 355 zastavení neuronové sítě, 197 zpětná vazba, 30 zpoždění neuromatu, 236 374 REJSTŘÍK POJMŮ A SYMBOLŮ P{A} pravděpodobnost jevu A P{A\B} podmíněná pravděpodob. jevu A, pokud nastal jev B E[X] střední hodnota náhodné veličiny X e prázdné slovo x slovo (řetězec) jazyka |x| délka slova x Oí + ß součet regulárních výrazů Oí a ß (sjednocení) Oiß spojení regulárních výrazů Oí a ß O" mocnina regulárního výrazu O iterace regulárního výrazu O iieiace leguiaiiiiiio vyiazu %jc pozitivní iterace regulárního výrazu O regulární jazyk popsaný regulárním výrazem O [«] L(M) jazyk rozpoznávaný zařízením M g = 0(f(n)) (3e > 0) (3n0) (Vn > n0) g(n) < ef(n) g = n(/(n)) (3e > 0) (3n0) (Vn > n0) g(n) > ef(n) g = 0(/(n)) g = 0(f(n)) a g = í}(f(n)) P třída jazyků rozpoznávaná v polynomiálním čase N P třída jazyků rozpoznávaná nedeterm. v polynom, čase PS P AC E třída jazyků rozpoznávaná v polynomiálním prostoru REJSTŘÍK POJMŮ A SYMBOLŮ dx dx n\ faktoriál čísla n (k) kombinační číslo abs £ = \x\ absolutní hodnota z čísla x \x\ dolní celá část čísla x \x~\ horní celá část čísla x min A minimum množiny A iTiaxA maximum množiny A log x logaritmus o základu 2 In x přirozený logaritmus ex exponenciální funkce tgh x hyperbolický tangens linin^oo an limita posloupnosti an derivace y podle x parciální derivace y podle x X2ľ=i ai součet čísel a\ + . . . + an ^apA a součet čísel z množiny A YlapA a součin čísel z množiny A la f{x)dx určitý integrál funkce f(x) v intervalu (a, b) C{X) prostor spojitých funkcí nad kompaktní X Cp prostor funkcí integrovatelných v \f\p C°° prostor funkcí omezených skoro všude x vektor x • y skalární součin vektorů x a y (resp. xy) ||x|| norma vektoru x (resp. funkce) A matice AT transponovaná matice A-1 inverzní matice A+ pseudoinverze matice A AH Hermitovská matice I AI determinant matice A p(x,y) metrika T topologie A uzávěr množiny A 376 LITERATURA J. A. Anderson. A simple neural network generating an interactive memory. Mathematical Biosciences, 14:197-220, 1972. J. A. Anderson. A theory for the recognition of items from short memorized lists. Psychological Review, 80:417-438, 1973. J. Anděl. Matematická statistika. SNTL, Praha, 1985. D. Angluin. Learning regular sets from queries and counterexamples. Information and Computation, 75:87—106, 1987. D. Angluin. Queries and concept learning. Machine Learning, 2:319—342, 1988. D. Angluin. Computational learning theory: Survey and selected bibliography. In Proceedings of the 24 Annual ACM Symposium on the Theory of Computing, pages 351-369. New York: ACM Press, 1992. D. Angluin and L. G. Valiant. Fast probabilistic algorithms for Hamiltonian circuits and matchings. Journal of Computer and Systems Sciences, 18:155—193, 1979. M. Anthony and N. Biggs. Computational Learning Theory. Cambridge University Press, Cambridge, 1992. S. Arnborg, D. G. Corneil, and A. Proskurowski. Complexity of finding embeddings in a /c-tree. SIAM Journal Algebraic and Discrete Methods, 8:277—284, 1987. V. I. Arnold. On functions of three variables. Dokl. Akad. Nauk SSSR, 114:679—681, 1957. L. Babai, P. Frankl, and J. Simon. Complexity classes in communication complexity theory. In. Proceedings of the 21th Annual Symposium on Foundations of Computer Science, pages 337—347. IEEE Computer Society Press, 1986. J. L. Balcázar, J. Diaz, and J. Gabarró. Structural Complexity, volume I. Springer-Verlag, Berlin, 1988. J. L. Balcázar, R. Gavaldá, and H. T. Siegelmann. Computational power of neural networks: A Kolmogorov-like complexity characterization. To appear in IEEE Transactions of Information Theory, 1996. J. L. Balcázar, M. Hermo, and E. Mayordomo. Characterizations of logarithmic advice complexity classes. In IFIP Transactions on Information Processing, volume I, pages 315-321. North-Holland, 1992. R. Batruni. A multilayer neural network with piecewise-linear structure and back-propagation learning. IEEE Transactions on Neural Networks, 2:395—403, 1991. E. B. Baum. The perceptron algorithm is fast for nonmalicious distributions. Neural Computation, 2:248-260, 1990. E. B. Baum. A polynomial time algorithm that learns two hidden unit nets. Neural Computation, 2:510-522, 1990. E. B. Baum. Book reviews. IEEE Transactions on Neural Networks, 2:181—182, 1991. E. B. Baum. Neural net algorithms that learn in polynomial time from examples and queries. IEEE Transactions on Neural Networks, 2:5—19, 1991. E. B. Baum and D. Haussler. What size net gives valid generalization? Neural Computation, 1:151-160, 1989. P. Berman, I. Parberry, and G. Schnitger. A note on the complexity of reliability in neural networks. IEEE Transactions on Neural Networks, 3:998—1002,1992. Literatura [9 [io: in [12: [13: [14 D. H. Ackley, G. E. Hinton, and T. J. Sejnowksi. A learning algorithm for Boltzmann machines. Cognitive Science, 9:147—169, 1985. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, 1974. H. Aizenstein, L. Hellerstein, and L. Pitt. Read-thrice DNF is hard to learn with membership and equivalence queries. In Proceedings of the 33rd Annual Symposium on Foundations of Computer Science, pages 523—532. IEEE Computer Society Press, 1992. F. Albertini and E. D. Sontag. For neural networks, function determines form. Neural Networks, 6:975-990, 1993. E. Allender. A note on the power of threshold circuits. In Proceedings of the 30 Annual Symposium on Foundations of Computer Science, pages 580—584. IEEE Computer Society Press, 1989. L. B. Almeida. Backpropagation in perceptrons with feedback. In R. Eckmiller and Ch. von der Malsburg, editors, Neural Computers, pages 199—208, Neuss, 1987. Berlin: Springer-Verlag. L. B. Almeida. A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. In M. Caudill and C. Butler, editors, Proceedings of the IEEE First International Conference on Neural Networks, volume II, pages 609-618, San Diego, 1987. New York: IEEE Press. N. Alon. Asynchronous threshold networks. Graphs and Combinatorics, 1:305—310, 1987. S.-I. Amari. Neural theory of association and concept formation. Biological Cybernetics, 26:175-185, 1977. S.-I. Amari. Topographic organization of nerve fields. Mathematical Biology, 42:339-364,1980. D. J. Amit, H. Gutfreund, and H. Sompolinsky. Storing infinite numbers of patterns in a spin-glass model of neural networks. Physical Review Letters, 55:1530—1533, 1985. D. J. Amit, H. Gutfreund, and H. Sompolinsky. Information storage in neural networks with low levels of activity. Physical Review, A 35:2293—2303, 1987. J. A. Anderson. A memory storage model utilizing spatial correlation functions. Kybernetik, 5:113-119,1968. J. A. Anderson. Two models for memory organization using interacting traces. Mathematical Biosciences, 8:137—160, 1970. 378 LITERATURA [55] B. DasGupta and G. Schnitger. The power of approximating: A comparison of activationfunctions. In C. L. Giles, S. J. Hanson, and J. D. Cowan, editors, Advances in Neural Information Processing Systems 5, pages 615—622. San Mateo: Morgan Kaufmann, 1993. B. DasGupta and G. Schnitger. Analog versus discrete neural networks. Neural Computation, 8:805-818, 1996. B. DasGupta, H. T. Siegelmann, and E. Sontag. On the complexity of training neural networks with continuous activationfunctions. IEEE Transactions on Neural Networks, 6:1490-1504, 1995. D. Desieno. Adding a conscience to competitive learning. In Proceedings of the International Conference on Neural Networks, volume I, pages 117—124. New York: IEEE Press, 1988. A. Ehrenfeucht, D. Haussler, M. Kearns, and L. G. Valiant. A general lower bound on the number of examples needed for learning. Information and Computation, 82:247-261, 1989. B. Eisenberg and R. L. Rivest. On the sample complexity of PAC learning using random and chosen examples. In Proceedings of the 3rd ACM Confe rence on Computational Learning Theory, pages 154—162. San Mateo: Morgan Kaufmann, 1990. S. E. Fahlman. Faster-learning variations on back-propagation: An empirical study. In D. S. Touretzky et al., editors, Proceedings of the 1988 Connectionist Models Summer School. Morgan Kaufmann, 1988. S. E. Fahlman and C. Lebiere. The cascade-correlation learning architecture. In D. S. Touretzky, editor, Advances in Neural Information Processing Systems II, pages 524-532, Denver, 1989. San Mateo: Morgan Kaufmann, 1990. L. V. Fausett. Fundamentals of Neural Networks: Architectures, Algorithms, and Applications. Prentice—Hall, New Jersey, 1994. P. Floréen and P. Orponen. On the computational complexity of analyzing Hopfield nets. Complex Systems, 3:577—587, 1989. P. Floréen and P. Orponen. Attraction radii in Hopfield nets are hard to compute. Neural Computation, 5:812-821, 1993. P. Floréen and P. Orponen. Complexity issues in discrete Hopfield networks. Research Report A—1994—4, Department of Computer Science, University of Helsinki, 1994. M. A. Franzini. Speech recognition with back propagation. In Proceedings of the Ninth Annual Conference of the IEEE Engineering in Medicine and Biology Society, pages 1702-1703, Boston, 1987. New York: IEEE Press. M. Frean. The upstart algorithm: A method for constructing and training feedforward neural networks. Neural Computation, 2:198—209,1990. K. Fukushima. Cognitron: A self-organizingmulti-layeredneural network. Biological Cybernetics, 20:121-136,1975. M. Fürst, J. B. Saxe, and M. Sipser. Parity, circuits and the polynomial time hierarchy. Mathematical Systems Theory, 17:13—27, 1984. A. R. Gallant and H. White. There exist a neural network that does not make avoidable mistakes. In Proc. of the IEEE Second Conference on Neural Networks, volume I, pages 657—664. SOS Printing, 1988. M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, San Francisco, 1979. LITERATURA 377 C. M. Bishop. Improving the generalization properties of radial basis function neural networks. Neural Computation, 3:579—588, 1991. A. L. Blum and R. Kannan. Learning an intersection of k halfspaces over a uniform distribution. In Proceedings of the 34 Annual Symposium on Foundations of Computer Science, pages 312—320. IEEE Computer Society Press, 1993. A. L. Blum and R. L. Rivest. Training a 3-node neural network is iVP-complete. Neural Networks, 5:117-127, 1992. A. Blumer, A. Ehrenfeucht, D. Haussler, and M. K. Warmuth. Occam's razor. Information Processing Letters, 24:377—380, 1987. A. Blumer, A. Ehrenfeucht, D. Haussler, and M. K. Warmuth. Learnability and the Vápnik-Chervonenkis dimension. Journal of the ACM, 36:929—965, 1989. H. L. Bodlaender. A tourist guide through treewidth. Acta Cybernetica, 11:1—23, 1993. D. S. Broomhead and D. Lowe. Multivariable functional interpolation and adaptive networks. Complex Systems, 2:321—355, 1988. J. Brück and J. W. Goodman. A generalized convergence theorem for neural networks and its applications in combinatorial optimization. In Proceedings of the IEEE First International Conference on Neural Networks, volume III, pages 649— 656, San Diego, 1987. New York: IEEE Press. A. E. Bryson and Y.-C. Ho. Applied Optimal Control. Blaisdell, New York, 1969. J. P. Cater. Successfully using peak learning rates of 10 (and greater) in back-propagation networks with the heuristic learning algorithm. In M. Caudill and C. Butler, editors, Proceedings of the IEEE First International Conference on Neural Networks, volume II, pages 645—651, San Diego, 1987. New York: IEEE Press. M. A. Cohen and S. Grossberg. Absolute stability of global pattern formation and parallel memory storage by competitive neural networks. IEEE Transactions on Systems, Man, and Cybernetics, 13:815—826, 1983. S. A. Cook. The complexity of theorem-proving procedures. In Proceedings of the 3 Annual ACM Symposium on the Theory of Computing, pages 151—158. New York: ACM Press, 1971. S. A. Cook. Towards a complexity theory of synchronous parallel computation. Ľ'Enseignement Mathématique, 27:99—124,1980. G. W. Cottrell, P. Munro, and D. Zipser. Image compression by back propagation: An example of extensional programming. Technical Report 8702, University of California at San Diego Institute for Cognitive Science, 1987. T. M. Cover. Capacity problems for linear machines. In L. Kanal, editor, Pattern Recognition, pages 283—289. Thompson Book Co., 1968. T. M. Cover. Geometrical and statistical properties of systems of linear inequalities with application in pattern recognition. IEEE Transactions on Electronic Computers, EC-14:326-334, 1965. G. Cybenko. Approximations by superpositions of a sigmoidal functions. Mathematics Control Signals Systems, 2:303—314, 1989. Y. Z. Cypkin. Foundation of the theory of learning systems. Academic Press, New York, 1973. J. Červenka. Konstruktivní učení vícevrstvé neuronové sítě. Diplomová práce, katedra informatiky, MFF UK, Praha, 1996. 380 LITERATURA S. J. Hanson and L. Pratt. A comparison of different biases for minimal network construction with back-propagation. In D. S. Touretzky, editor, Advances in Neural Information Processing Systems I, pages 177—185, Denver, 1988. San Mateo: Morgan Kaufmann, 1989. R. Hartley and H. Szu. A comparison of the computational power of neural network models. In Proceedings of the IEEE First International Conference on Neural Networks, pages 15-22, San Diego, 1987. New York: IEEE Press. E. Hartman and J. D. Keeler. Predicting the future: Advantages of semilocal units. Neural Computation, 3:566—578, 1991. J. Hästad. On the size of weights for threshold gates. SIAM Journal Discrete Mathematics, 7:484-492, 1994. S. Haykin. Neural Networks. Macmillan College Publishing Company, New York, 1994. D. O. Hebb. The Organization of Behavior: A Neuropsychological Theory. Wiley, New York, 1949. T. Hegedüs. Can complexity theory benefit from learning theory? In Proceedings of the European Conference on Machine Learning, volume 667 of LNAI, pages 354—359, Vienna, 1993. Berlin: Springer-Verlag. T. Hegedüs. Computational learning theory and neural networks: An introduction. In M. Bartošek, editor, Proceedings of the SOESEM winter school, pages 77—95, Milovy, 1994. T. Hegedüs. On training simple neural networks and small-weight neurons. In J. Shawe-Taylor and M. Anthony, editors, Proceedings of the 1st Euro-Colt Conference, pages 69—82, London, 1993. Oxford: Clarendon Press, 1994. T. Hegedüs and N. Megiddo. On the geometric separability of Boolean functions. IBM Research Report RJ-9147 (81262), IBM Almaden Research Center, San Jose, 1992. R. Hecht-Nielsen. Counterpopagation networks. Applied Optics, 26:4979—4984, 1987. R. Hecht-Nielsen. Kolmogorov's mapping neural network existence theorem. In Proceedings of the International Conference on Neural Networks, volume 3, pages 11-14. IEEE Press, New York, 1987. R. Hecht-Nielsen. N euro computing. Addison-Wesley, California, 1990. R. Hecht-Nielsen. On the algebraic structure of feedforward network weight spaces. In Advanced Neural Computers, pages 129—135. Elsevier, 1990. E. Helly. Uber Mengen konvexer Körper mit gemeinschaftlichen Punkten. Iber. Deutsch. Math. Verein, 32:175-176, 1923. M. Hermo. On Kobayashi's compressibility of infinite sequences. Research Report LSI—93—36—R, Universität Politěcnica de Catalunya, 1993. J. Hertz, A. Krogh, and R. G. Palmer. Introduction to the Theory of Neural Computation, volume I of Lecture Notes, Santa Fe Institute Studies in the Sciences of Complexity. Addison-Wesley, California, 1991. G. E. Hinton. Learning distributed representations of concepts. In Proceedings of the Eighth Annual Conference of the Cognitive Science Society, pages 1—12, Amherst, 1986. Hillsdale: Erlbaum. LITERATURA 379 [73] S. Geman and D. Geman. Stochastic relaxation, Gibbs distributions, and the Baye-sian restoration of images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 6:721-741, 1984. T. Geszti. Physical Models of Neural Networks. World Scientific, Singapore, 1990. F. Girosi and T. Poggio. Representation properties of networks: Kolmogorov's theorem is irrelevant. Neural Computation, 1:465—469,1989. R. J. Glauber. Time-dependent statistics of the Ising model. Journal of Mathematical Physics, 4:294-307, 1963. G. H. Godbeer, J. Lipscomb, and M. Luby. On the computational complexity of finding stable state vectors in connectionist models (Hopfield nets). Technical Report 208/88, Department of Computer Science, University of Toronto, 1988. D. E. Goldberg. Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, New York, 1989. P. Goldberg and M. Jerrum. Bounding the Vápnik-Chervonenkis dimension of concept classes parameterized by real numbers. In Proceedings of the 6 ACM Conference on Computational Learning Theory, pages 361—369, Santa Cruz, 1993. ACM Press. M. Goldmann, J. Hästad, and A. Razborov. Majority gates vs. general weighted threshold gates. Computational Complexity, 2:277—300,1992. L. M. Goldschlager and I. Parberry. On the construction of parallel computers from various bases of Boolean functions. Theoretical Computer Science, 43:43—58, 1986. E. Goles-Chacc, F. Fogelman-Soulié, and D. Pellegrin. Decreasing energy functions as a tool for studying threshold networks. Discrete Applied Mathematics, 12:261— 277, 1985. E. Goles-Chacc and S. Martinez. Exponential transient classes of symmetric neural networks for synchronous and sequential updating. Complex Systems, 3:589—597, 1989. E. Goles-Chacc and J. Olivos. The convergence of symmetric threshold automata. Information and Control, 51:98—104, 1981. R. M. Gray. Vector quantization. IEEE ASSP Magazine, 1:4-29, 1984. T. Greville. Some applications of the pseudoinverse of a matrix. SIAM Review, 2:15-22, 1960. S. Grossberg. Pattern learning by functional-differential neural networks with arbitrary path weights. In K. Schmitt, editor, Delay and functional differential equations and their applications, pages 121—160. Academic Press, New York, 1972. S. Grossberg. Adaptive pattern classification and universal recoding: I. parallel development and coding of neural feature detectors. Biological Cybernetics, 23:121— 134, 1976. S. Grossberg. Studies of mind and brain: Neural principles of learning, perception, development, cognition, and motor control. Reidel Press, Boston, 1982. B. Grunbaum. Convex Polytopes. John Wiley, London, 1967. A. Hajnal, W. Maass, P. Pudlák, M. Szegedy, and G. Turán. Threshold circuits of bounded depth. In Proceedings of the 28 Annual Symposium on Foundations of Computer Science, pages 99—110. IEEE Computer Society Press, 1987. [92] A. Haken. Connectionist networks that need exponential time to stabilize. Department of Computer Science, University of Toronto, 1989. 382 LITERATURA A. K. Chandra, L. J. Stockmeyer, and U. Vishkin. Constant depth reducibility. SIAM Journal on Computing, 13:423-439, 1984. Y. Chauvin. A back-propagation algorithm with optimal use of hidden units. In D. S. Touretzky, editor, Advances in Neural Information Processing Systems I, pages 519—526, Denver, 1988. San Mateo: Morgan Kaufmann, 1989. A. M. Chen, L. Haw-minn, and R. Hecht-Nielsen. On the geometry of feedforward neural network error spaces. Neural Computation, 5(6):910—927, 1993. A. M. Chen and R. Hecht-Nielsen. On the geometry of feedforward neural network weights spaces. In Proceedings of the 2nd IEE Conference on Artificial Neural Networks, pages 1—4. IEE Press, London, 1991. S. Chen, C. F. N. Cowan , and P. M. Grant Orthogonal least squares learning algorithm for radial basis function networks. IEEE Transactions on Neural networks, 2(2), March 1991. H. Chernoff. A measure of asymptotic efficiency for tests of a hypothesis based on the sum of observations. Annals of Mathematical Statistics, 23:493—507, 1952. M. Chytil. Automaty a gramatiky, volume 19 of Matematický seminar. SNTL, Praha, 1984. N. Immermanand S. Landau. The complexity of iterated multiplication. In Proceedings of the 4 IEEE Structure in Complexity Theory Conference, pages 104—111. IEEE Press, 1989. P. Indyk. Optimal simulation of automata by neural nets. In Proceedings of the 12 Annual Symposium on Theoretical Aspects of Computer Science, volume 900 of LNCS, pages 337-348. Berlin: Springer-Verlag, 1995. R. A. Jacobs. Increased rates of convergence through learning rate adaptation. Neural Networks, 1:295-307, 1988. T. Jiang and R. Ravikumar. A note on the space complexity of some decision problems for finite automata. Information Processing Letters, 40:25—31, 1991. N. Jones. Space-bounded reducibility among combinatorial problems. Journal of Computer and System Sciences, 11:68—85, 1975. J. S. Judd. Neural Network Design and the Complexity of Learning. MIT Press, Cambridge MA, 1990. P. Kainen, V. Kůrková, V. M. Kreinovich, and O. Sirisengtaksin. A new criterion for chooseing an activation function: Uniqueness leads to faster learning. Neural Parallel and Scientific Computations, 1993. in press. N. Karmarkar. A new polynomial-time algorithm for linear programming. Combi-natorica, 4:373-395, 1984. R. M. Karp. Reducibility among combinatorial problems. In R. E. Miller and J. W. Thatcher, editors, Complexity of Computer Computations, pages 85—103. Plenum Press, New York, 1972. M. Karpinski and A. J. Maclntyre. Polynomial bounds for VC dimension of sigmo-idal neural networks. In Proceedings of the 27 Annual ACM Symposium on the Theory of Computing, pages 200—208. Las Vegas: ACM Press, 1995. J. Kilián and H. T. Siegelmann. Computability with the classical sigmoid. In Proceedings of the 6 ACM Conference on Computational Learning Theory, pages 137-143, Santa Cruz, 1993. LITERATURA 381 G. E. Hinton and T. J. Sejnowksi. Optimal perceptual inference. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 448—453, Washington, 1983. New York: IEEE Press. G. E. Hinton and T. J. Sejnowksi. Learning and relearning in Boltzmann machines. In D. E. Rumelhart and J. L. McClelland, editors, Parallel Distributed Processing: Explorations in the Micro structure of Cognition, volume I, pages 282—317. MIT Press, Cambridge MA, 1986. A. Hirose. Continuous complex-valued back-propagation learning. Electronics Letters, 20:1854-1855, 1992b. K. Hlaváčková and R. Neruda. Radial basis function networks. Neural Network World, 3(1):93-101, 1993. M. Hoehfeld and S. E. Fahlmann. Learning with limited numerical precision using the cascade-correaltion algorithm. Technical Report CMU—CS—91—130, Carnegie Mellon University, Pittsburgh, PA, 1991. K.-U. Höffgen. Computational limitations on training sigmoid neural networks. Information Processing Letters, 46:269—274, 1993. T. Hofmeister, W. Hohberg, and S. Köhling. Some notes on threshold circuits and multiplication in depth 4. Information Processing Letters, 39:219—226, 1991. J. H. Holland. Adaptation in Natural and Adaptation Systems. University of Michigan Press, Ann Arbor, 1975. J. H. Holland. Hidden Order. Addison-Wesley, Reading, MA, 1995. J. Hong. Computation: Computability, Similarity and Duality. Pitman Publishing, London, 1986. J. Hong. On connectionist models. Technical Report 87—012, Department of Computer Science, University of Chicago, 1987. J. J. Hopfield. Neural networks and physical systems with emergent collective computational abilities. In Proceedings of the National Academy of Sciences, volume 79, pages 2554-2558, 1982. J. J. Hopfield. Neurons with graded response have collective computational properties like those of two-state neurons. In Proceedings of the National Academy of Sciences, volume 81, pages 3088-3092, 1984. J. J. Hopfield, D. I. Feinstein, and R. G. Palmer. "Unlearning" has a stabilizing effect in collective memories. Nature, 304:158—159, 1983. J. J. Hopfield and D. W. Tank. "Neural" computation of decisions in optimization problems. Biological Cybernetics, 52:141—152, 1985. B. G. Horne and D. R. Hush. On the node complexity of neural networks. Neural Networks, 7:1413-1426, 1994. K. Hornik. Approximation capabilities of multilayer feedfoward networks. Neural Networks, 4(2):251-257, 1991. K. Hornik, M. Stinchcombe, and H. White. Multi-layer feedfoward networks are universal approximators. Neural Networks, 2:359—366, 1989. J. Hořejš. A view on neural networks paradigms development. An ongoing survey starting in Neural Network World, 1:61—64, 1991. J. Hořejš and O. Kufudaki. Počítače a mozek (neuropočítače). In Sborník semináře SOFSEM, Beskydy, 1988. 384 LITERATURA M. Lepley and G. Miller. Computational power for networks of threshold devices in an asynchronous environment. Technical report, Department of Mathematics, MIT, 1983. M. Leshno, V. Lin, A. Pinkus, and S. Schocken. Multilayer feedforward networks with a non-polynomial activation function can approximate any function. Neural Networks, 6:861-867, 1993. P. M. Lewis. A lower bound on the number of corrections required for convergence of the single threshold gate adaptive procedure. IEEE Transactions on Electronic Computers, 0-15:933-935,1966. M. Li and P. M. B. Vitányi. An Introduction to Kolmogorov Complexity and Its Applications. Springer-Verlag, New York, 1993. J.-H. Lin and J. S. Vitter. Complexity results on learning by neural nets. Machine Learning, 6:211-230, 1991. Y. Linde, A. Buzo, and R. Gray. An algorithm for vector quantizer design. IEEE Transactions on Communication, COM-28:84—95, 1980. R. P. Lippmann. An introduction to computing with neural nets. IEEE ASSP Magazine, 4:4-22, 1987. W. A. Little and G. L. Shaw. Analytical study of the memory storage capacity of a neural network. Mathematical Biosciences, 39:281—290, 1978. G. G. Lorentz. Approximation of function. Halt, Reinhart, and Winston, New York, 1966. L. Lovász. Coverings and colorings of hypergraphs. In Proceedings of the 4 Southeastern Conference on Combinatorics, Graph Theory, and Computing, pages 3—12. Winnipeg: Utilitas Mathematica Publishing, 1973. L. Lukšan. Metody s proměnnou metrikou. Academia, Praha, 1990. O. B. Lupanov. Implementing the algebra of logic functions in terms of bounded depth formulas in the basis + ,*,—. Soviet Physics Doklady, 6:107—108, 1961. O. B. Lupanov. Circuits using threshold elements. Soviet Physics Doklady, 17:91— 93, 1972. W. Maass. Neural nets with superlinear VC-dimension. Neural Computation, 6:877— 884, 1994. W. Maass, G. Schnitger, and E. D. Sontag. On the computational power of sigmoid versus Boolean threshold circuits. In Proceedings of the 32 Annual Symposium on Foundations of Computer Science, pages 767—776. IEEE Computer Society Press, 1991. W. Maass and G. Turán. On the complexity of learning from counterexamples. In Proceedings of the 30 Annual Symposium on Foundations of Computer Science, pages 262—267. Los Angeles: IEEE Computer Society Press, 1989. A. J. Maclntyre and E. D. Sontag. Finiteness results for sigmoidal "neural" networks. In Proceedings of the 25 Annual ACM Symposium on the Theory of Computing, pages 325—334, San Diego, 1993. New York: ACM Press. C. von der Malsburg. S elf-organizing of orientation sensitive cells in striate cortex. Kybernetik, 14:85-100,1973. S. Makram-Ebeid, J.-A. Sirat, and J.-R. Viala. A rationalized back—propagation learning algorithm. In Pro c eedings of the International Joint Conference on Neural Networks, volume II, pages 373-380, Washington, 1989. New York: IEEE Press. LITERATURA 383 S. Kirkpatrick, C. D. Jr. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science, 220:671-680, 1983. S. C. Kleene. Representation of events in nerve nets and finite automata. In C. E. Shannon and J. McCarthy, editors, Automata Studies, volume 34 of Annals of Mathematics Studies, pages 3—41. Princeton University Press, Princeton NJ, 1956. T. Kohonen. Correlation associative memory. IEEE Transactions on Computers, 0-21:353-359, 1972. T. Kohonen. Associative Memory — A System Theoretical Approach. Springer-Verlag, New York, 1977. T. Kohonen. Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43:59-69, 1982. T. Kohonen. S elf-Organization and Associative Memory. Springer-Verlag, Berlin, 1984. T. Kohonen. Learning vector quantization. Neural Networks, 1:303, 1988. T. Kohonen. The self-organizing map. In Proc. of the IEEE, volume 78. September 1990. T. Kohonen. S elf-Organizing Map. Number 30 in Springer Series in Information Sciences. Springer-Verlag, Berlin, 1995. T. Kohonen and K. Ruohonen. Representation of associated data by matrix operations. IEEE Transactions on Computers, 0-22:701—702, 1973. P. Koiran and E. Sontag. Neural networks with quadratic VC dimension. Neuro-COLT Technical Report Series NC-TR-95-044, 1995. A. N. Kolmogorov. On the representations of continuous functions of many variables by superpositions of continuous functions of one variable and addition. Dokl. Akad. Nauk SSSR, 114:953-956, 1957. J. Komlós and R. Paturi. Convergence results in an associative memory model. Neural Networks, 1:239-250, 1988. A. H. Kramer and A. Sangiovanni-Vincentelli. Efficient parallel learning algorithms for neural networks. In D. S. Touretzky, editor, Advances in Neural Information Processing Systems I, pages 40—48, Denver, 1988. San Mateo: Morgan Kaufmann, 1989. V. Kůrková. Kolmogorov's theorem and multilayer neural networks. Neural Networks, 5:501-506, 1992. V. Kůrková. Universal approximation using feedforward neural networks with gaus-sian bar units. In Proceedings of the ECAT92, pages 193-197. Wiley, 1992. V. Kůrková and P. Kainen. Functionally equivalent feedforward networks. Neural Computation, 6:543-558, 1993. V. Kůrková and R. Neruda. Uniqueness of the functional representations for the gaussian basis functions. In Proceedings of the ICANN'94, pages 474—477. London: Springer, 1994. R. E. Ladner. The circuit value problem is log space complete for P. SIGACT News, 7:18-20, 1975. K. J. Lang and E. B. Baum. Query learning can work poorly when a human oracle is used. In Proceedings of the International Joint Conference on Neural Networks, Beijing, 1992. 386 LITERATURA P. Orponen. On the computational power of discrete Hopfield nets. In Proceedings of the 20 International Colloquium on Automata, Languages, and Programming, volume 700 of LNCS, pages 215-226. Berlin: Springer-Verlag, 1993. P. Orponen. Computational complexity of neural networks: A survey. Nordic Journal of Computing, 1:94-110, 1994. P. Orponen. Computing with truly asynchronous threshold logic networks. To appear in Theoretical Computer Science, 178, 1997. I. Parberry. A primer on the complexity theory of neural networks. In R. B. Banerji, editor, Formal Techniques in Artificial Intelligence: A Sourcebook, pages 217—268. Elsevier, North-Holland, Amsterdam, 1990. I. Parberry. Circuit Complexity and Neural Networks. MIT Press, Cambridge MA, 1994. I. Parberry and G. Schnitger. Parallel computation with threshold functions. Journal of Computer and System Sciences, 36:278—302, 1988. I. Parberry and G. Schnitger. Relating Boltzmann machines to conventional models of computation. Neural Networks, 2:59—67, 1989. J. Park and I. W. Sandberg. Universal approximation using radial-basis-function networks. Neural Computation, 3:246—257, 1991. J. Park and I. W. Sandberg. Approximation and radial-basis-function networks. Neural Computation, 5:305—316, 1993. D. B. Parker. Learning-logic: Casting the cortex of the human brain in silicon. Technical Report TR—47, Center for Computational Research in Economics and Management Science, MIT, Cambridge, 1985. E. Pelikan. On a neural network approach to the detection of characteristic events in signals. In Proceedings of the 13th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, pages 1251—1252, Orlando, Florida, 1991. P. Peretto. On learning rules and memory storage abilities of asymmetrical neural networks. Journal de Physique Lettres, 49:711—726, Paris, 1988. F. J. Pineda. Generalization of back-propagation to recurrent neural networks. Physical Review Letters, 59:2229-2232, 1987. F. J. Pineda. Dynamics and architecture for neural computation. Journal of Complexity, 4:216-245, 1988. F. J. Pineda. Recurrent back-propagation and the dynamical approach to adaptive neural computation. Neural Computation, 1:161—172,1989. N. Pippenger. On simultaneous resource bounds. In Proceedings of the 20 Annual Symposium on Foundations of Computer Science, pages 307—311. IEEE Computer Society Press, 1979. L. Pitt and L. G. Valiant. Computational limitations on learning from examples. Journal of the ACM, 35:965-984, 1988. D. Plaut, S. Nowlan, and G. Hinton. Experiments on learning by back propagation. Technical Report CMU—CS—86—126, Department of Computer Science, Carnegie Mellon University, Pittsburgh, Pennsylvania, 1986. T. Poggio and F. Girosi. Networks for approximation and learning. In Proceedings of the IEEE, volume 78. September 1990. LITERATURA 385 M. Marchand, M. Golea, and P. Ruján. A convergence theorem for sequential learning in two-layer perceptrons. Europhysics Letters, 11:487—492, 1990. W. S. McCulloch and W. Pitts. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115—133, 1943. R. J. McEliece, E. C. Posner, E. R. Rodemich, and S. S. Venkatesh. The capacity of the Hopfield associative memory. IEEE Transactions on Information Theory, 33:461-482, 1987. N. Megiddo. On the complexity of polyhedral separability. Discrete Computational Geometry, 3:325-337,1988. M. Mézard and J.-P. Nadal. Learning in feedforward layered networks: The tiling algorithm. Journal of Physics A, 22:2191-2204, 1989. H. N. Mhaskar and C. A. Micchelli. Approximation by superposition of sigmoidal and radial basis functions. Advances in Applied Mathematics, 13:350—373,1992. C. A. Micchelli. Interpolation of scattered data: distance matrices and conditionally positive definite functions. Construct. Approx., 2:11—22, 1986. Z. Michalewicz. Genetic Algorithms-f-Data Structures=Evolution Programs. Springer Verlag, Berlin, second, extended edition, 1994. M. L. Minsky. Theory of Neural-Anal o g Reinforcement Systems and its Application to the Brain-Model Problem. Ph. D. thesis, Princeton University, Princeton NJ, 1954. M. L. Minsky and S. A. Papert. Perceptrons. MIT Press, Cambridge MA, 1969. J. Moody and C. Darken. Learning with localized receptive fields. In D. Toure-tzky, G. Hinton, and T. Sejnowski, editors, Proceedings of the Connectionist Models Summer School. San Mateo: Morgan Kaufmann, 1989, 1988. J. Moody and C. Darken. Fast adaptive k-means clustering: some empirical results. In Proc. IJCNN, San Diego '90, volume 2, pages 233-238, 1990. S. Muroga. Threshold Logic and its Applications. Wiley—Interscience, New York, 1971. S. Muroga, I. Toda, and S. Takasu. Theory of majority decision elements. J. Franklin Inst., 271:376-418, 1961. S. Muroga, T. Tsuboi, and C. R. Baugh. Enumeration of threshold functions of eight variables. IEEE Transactions on Computers, EC-19:818—825, 1970. B. K. Natarajan. On learning Boolean functions. In Proceedings of the 19 Annual ACM Symposium on the Theory of Computing, pages 296—304. ACM Press, 1987. E. L Nečiporuk. The synthesis of networks from threshold elements. Problémy Kibernetiki, 11:49-62,1964. R. Neruda and A. Štědrý. Approximation capabilities of chain architectures. In Proceedings of the ICANN'95, volume I, pages 575-580. Paris: EC2 & Cie, 1995. J. von Neumann. The general and logical theory of automata. In L. A. Jeffress, editor, Cerebral Mechanisms in Behavior, pages 1—41. Wiley, New York, 1951. J. von Neumann. Probabilistic logics and the synthesis of reliable organisms from unreliable components. In C. E. Shannon and J. McCarthy, editors, Automata Studies, volume 34 of Annals of Mathematics Studies, pages 43—98. Princeton University Press, Princeton NJ, 1956. [208] N. J. Nilsson. Learning Machines. McGraw-Hill, New York, 1965. 388 LITERATURA [248] R. Scalettar and A. Zee. Emergence of grandmother memory in feedforward networks: Learning with noise and forgetfulness. In D. Waltz and J. A. Feldman, editors, Connectionist Models and Their Implications: Readings from Cognitive Science, pages 309—332. Ablex, Norwood, 1988. T. J. Sejnowski and C. R. Rosenberg. Parallel networks that learn to pronounce English text. Complex Systems, 1:145—168,1987. C. E. Shannon. A universal Turing machine with two internal states. In C. E. Shannon and J. McCarthy, editors, Automata Studies, volume 34 of Annals of Mathematics Studies, pages 157—165. Princeton University Press, Princeton NJ, 1956. J. F. Shepanski and S. A. Macy. Teaching artificial neural systems to drive: Manual training techniques for autonomous systems. In D. Z. Anderson, editor, Proceedings of the Neural Information Processing Systems Conference, pages 693—700. New York: American Institute of Physics, 1988, 1987. M. Schmitt. Lower bounds on identification criteria for perceptron-like learning rules. NeuroCOLT Technical Report Series NC-TR-96-024, 1996. H. T. Siegelmann. On the computational power of probabilistic and faulty neural networks. In S. Abiteboul and E. Shamir, editors, Proceedings of the 21st International Colloquium on Automata, Languages, and Programming, volume 820 of LNCS, pages 23-34. Berlin: Springer-Verlag, 1994. H. T. Siegelmann and E. D. Sontag. Analog computation via neural networks. Theoretical Computer Science, 131:331—360, 1994. H. T. Siegelmann and E. D. Sontag. Computational power of neural networks. Journal of Computer System Sciences, 50:132—150, 1995. P. K. Simpson. Artificial Neural Systems: Foundations, Paradigms, Applications, and Implementations. Pergamon Press, New York, 1990. M. Sipser. Borel sets and circuit complexity. In Proceedings of the 15 Annual ACM Symposium on the Theory of Computing, pages 61—69. ACM Press, 1983. K.-Y. Siu, V. P. Roychowdhury, and T. Kailath. Computing with almost optimal size threshold circuits. In Proceedings of the International Symposium on Information Theory, Budapest, 1991. K.-Y. Siu, V. P. Roychowdhury, and T. Kailath. Depth—size tradeoffs for neural computation. IEEE Transactions on Computers, 40:1402—1412, 1991. D. A. Spielman. Computing arbitrary symmetric functions. Technical Report TR— 906, Department of Computer Science, Yale University, 1992. D. A. Sprecher. On the structure of continuous of several variables. Transactions of the American Mathematical Society, 115:340—355, 1965. H. J. Sussmann. Uniqueness of the weights for minimal feedforward nets with a given input-output map. Neural Networks, 5(4):589—594, 1992. J. Šíma. Loading deep networks is hard. Neural Computation, 6:842—850, 1994. J. Šíma. Hopfield languages. In M. Bartošek, J. Staudek, and J. Wiedermann, editors, Proceedings of the SOFSEM Seminar on Current Trends in Theory and Practice of Informatics, volume 1012 of LNCS, pages 461—468, Milovy, 1995. Berlin: Springer-Verlag. J. Šíma. Neural expert systems. Neural Networks, 8:261—271, 1995. J. Šíma. Back-propagation is not efficient. Neural Networks, 9:1017—1023, 1996. LITERATURA 387 S. Poljak and M. Sura. On periodical behaviour in societies with symmetric influences. Combinatorica, 3:119—121, 1983. S. Porat. Stability and looping in connectionist models with asymmetric weights. Biological Cybernetics, 60:335-344, 1989. M. J. D. Powell. Radial basis functions for multivariable interpolation: A review. In J.C. Mason and M.G.Cox, editors, Algorithms for Approximation, pages 143—167. Oxford Science Publications, 1987. M. J. D. Powell. The theory of radial basis function approximation in 1990. In W. Light, editor, Advances in Numerical Analysis, pages 105—210. Oxford Science Publications, 1992. N. J. Redding, A. Kowalczyk, and T. Downs. Constructive higher-order network algorithm that is polynomial time. Neural Networks, 6:997—1010, 1993. N. P. Redkin. Synthesis of threshold element networks for certain classes of Boolean functions. Kibernetika, 5:6—9, 1970. J. H. Reif and S. R. Tate. On threshold circuits and polynomial computation. SIAM Journal on Computing, 21:896—908, 1992. F. Riesz and B. Sz-Nagy. Functional Analysis. Dover Publications Inc., New York, 1990. J. Riordan and C. E. Shannon. The number of two-terminal series-parallel networks. Journal of Mathematics and Physics, 21:83—93, 1942. R. Rohwer andB. Forrest. Training time-dependence in neural networks. In M. Cau-dill and C. Butler, editors, Proceedings of the IEEE First International Conference on Neural Networks, volume II, pages 701—708, San Diego, 1987. New York: IEEE Press. F. Rosenblatt. The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review, 65:386—408, 1958. F. Rosenblatt. Principles of N euro dynamics. Spartan Books, Washington DC, 1962. A. Roy, L. S. Kim, and S. Mukhopadhyay. A polynomial time algorithm for the construction and training of a class of multilayer perceptrons. Neural Networks, 6:535-545, 1993. V. Roychowdhury, K.-Y. Siu, and A. Orlitsky. Theoretical Advances in Neural Computation and Learning. Kluwer Academic Publishers, MA, 1994. W. Rudin. Functional Analysis. McGraw-Hill, New York, 1973. D. E. Rumelhart, G. E. Hinton, and R. J. Williams. Learning internal representations by error propagation. In D. E. Rumelhart and J. L. McClelland, editors, Parallel Distributed Processing: Explorations in the Micro structure of Cognition, volume I, pages 318-362. MIT Press, Cambridge MA, 1986. D. E. Rumelhart and J. L. McClelland, editors. Parallel Distributed Processing: Explorations in the Micro structure of Cognition I & II. MIT Press, Cambridge MA, 1986. A. Sakurai. Tighter bounds of the VC-dimension of three layer networks. In Proceedings of World Congress on Neural Networks, volume 3, pages 540—543, 1993. N. Sauer. On the density of families of sets. Journal of Combinatorial Theory (A), 13:145-147, 1972. J. E. Savage. Computational work and time on finite machines. Journal of the ACM, 19:660-674, 1972. 390 LITERATURA [287] B. Widrow. Generalization and information storage in networks of ADALINE "neurons". In M. C. Yovits, G. T. Jacobi, and G. D. Goldstein, editors, S elf-Organizing Systems, pages 435—461. Spartan Books, Washington DC, 1962. [288] B. Widrow and M. E. Hoff. Adaptive switching circuits. In IRE WESCON Convention Record, volume 4, pages 96—104. IRE, New York, 1960. [289] J. Wiedermann. O výpočtovej sile neurónových sietí a príbuzných výpočtových systémov. In Sborník semináre SOFSEM, pages 73—78, Beskydy, 1988. [290] J. Wiedermann. Complexity issues in discrete neuro computing. Neural Network World, 4:99-119, 1994. [291] H. Wiklicky. The neural network loading problem is undecidable. In J. Shawe-Taylor and M. Anthony, editors, Proceedings of the 1st Euro-Colt Conference, pages 183— 192, London, 1993. Oxford: Clarendon Press, 1994. [292] D. J. Willshaw and C. von der Malsburg. How patterned neural connections can be set up by self-organization. Proc. R. Soc. lond. B, 194:431—445, 1976. [293] S. Yajima and T. Ibaraki. A lower bound on the number of threshold functions. IEEE Transactions on Electronic Computers, EC-14:926—929, 1965. LITERATURA 389 [267] J. Šíma and J. Wiedermann. Neural language acceptors. In Proceedings of the 2 International Conference Developments in language Theory, pages 430—439, Magdeburg, 1995. Singapore: World Scientific, 1996. J. Šíma and J. Wiedermann. Theory of neuromata. 1996. F. Tanaka and S. F. Edwards. Analytic theory of the ground state properties of a spin glass: I. Ising spin glass. Journal of Physics E, 10:2769—2778, 1980. G. Tesauro. Scaling relationships in back-propagation learning: Dependence on training set size. Complex Systems, 1:367—372, 1987. G. Tesauro and B. Janssens. Scaling relationships in back-propagation learning. Complex Systems, 2:39-44, 1988. A. J. Ticknor and H. Barrett. Optical implementations of Boltzmann machines. Optical Engineering, 26:16—21, 1987. V. V. Tolat and B. Widrow. An adaptive 'broom balancer' with visual inputs. In Proceedings of the International Conference on Neural Networks, volume II, pages 641-647. New York: IEEE Press, 1988. G. Turán. Lower bounds for PAC learning with queries. In Proceedings of the 6th ACM Conference on Computational learning Theory, pages 384—391, Santa Cruz, 1993. New York: ACM Press. L. G. Valiant. A theory of the learnable. Communication of the ACM, 27:1134—1142, 1984. V. N. Vápnik. Estimation of Dependences Based on Empirical Data. Springer-Verlag, New York, 1982. V. N. Vápnik and A. Y. Chervonenkis. On the uniform convergence of relative frequencies of events to their probabilities. Theory of Probability and its Application, 16:264-280,1971. T. P. Vogl, J. K. Mangis, A. K. Rigler, W. T. Zink, and D. L. Alkon. Accelerating the convergence of the back-propagation method. Biological Cybernetics, 59:257—263, 1988. B. A. Vostrecov and M. A. Kreines. Approximation of continuous functions by superposition of plane waves. Doklady Akademii Nauk SSSR, 140(2), 1961. H. S. Wall. Analytic Theory of Continued Fractions. Van Nostrand, New York, 1948. W. Wee. Generalized inverse approach to adaptive multiclass pattern classification. IEEE Transactions on Computers, C-17:1157—1164, 1968. I.Wegener. The Complexity of Boolean Functions. Wiley—Teubner, Stuttgart, 1987. I. Wegener. Unbounded fan-in circuits. In Advances in the Theory of Computation and Computational Mathematics. 1990. G. Weisbuch and F. Fogelman-Soulié. Scaling laws for the attractors of Hopfield networks. Journal de Physique lettres, 46:623—630, Paris, 1985. R. S. Wenocur and R. M. Dudley. Some special Vápnik-Chervonenkis classes. Discrete Mathematics, 33:313-318, 1981. P. J. Werbos. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. Ph. D. thesis, Applied Mathematics, Harvard University, Cambridge, MA, 1974.