Aplikace vícevrstvých sítí ► Diagnóza srdečního infarktu ► Predikce časových řad «► NETtalk ► ALVINN ► Rozpoznávání směrovacích čísel ► Komprese dat Zdroj: Fundamentals of Artificial Neural Networks. Mohamad H. Hassoun, The MIT Press i Diagnóza srdečního infarktu iagnóza srdečního infarktu infarkt není jednoduché diagnostikovat Diagnóza srdečního infarktu infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. 2 Diagnóza srdečního infarktu infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 ► Vstupy jsou různé atributy pacientů přijatých na kardiológii Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 ► Vstupy jsou různé atributy pacientů přijatých na kardiológii ► např. věk, pohlaví, nevolnost, zvracení, dusnost, cukrovka, vysoký tlak, ... Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 ► Vstupy jsou různé atributy pacientů přijatých na kardiológii: ► např. věk, pohlaví, nevolnost, zvracení, dusnost, cukrovka, vysoký tlak, ... ► binární vstupy jako např. přítomnost cukrovky nebo pohlaví jsou kódovány pomocí 0 a 1 2 Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 ► Vstupy jsou různé atributy pacientů přijatých na kardiológii: ► např. věk, pohlaví, nevolnost, zvracení, dusnost, cukrovka, vysoký tlak, ... ► binární vstupy jako např. přítomnost cukrovky nebo pohlaví jsou kódovány pomocí 0 a 1 ► ostatní jsou normalizovány do intervalu [0,1] 2 Diagnóza srdečního infarktu ► infarkt není jednoduché diagnostikovat ► expert (údajně) pozná infarkt ve zhruba 88% prípadu, planý poplach nastává ve zhruba 29%. ► neuronové sítě to počátkem devadesátých let zvládly lépe Organizační dynamika: ► Třívrstvá síť 41-10-10-1 ► Vstupy jsou různé atributy pacientů přijatých na kardiológii: ► např. věk, pohlaví, nevolnost, zvracení, dusnost, cukrovka, vysoký tlak, ... ► binární vstupy jako např. přítomnost cukrovky nebo pohlaví jsou kódovány pomocí 0 a 1 ► ostatní jsou normalizovány do intervalu [0,1] Aktivní dynamika: ► aktivační funkce: standardní logistické sigmoidy iagnóza srdečního infarktu Adaptivní dynamika: Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem 3 Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem ► gradientní sestup na náhodně vybrané polovině pacientů (půl s a půl bez infarktu) Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem ► gradientní sestup na náhodně vybrané polovině pacientů (půl s a půl bez infarktu) ► očekávané výstupy 1 nebo 0 podle toho, zda pacient měl či neměl infarkt 3 Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem ► gradientní sestup na náhodně vybrané polovině pacientů (půl s a půl bez infarktu) ► očekávané výstupy 1 nebo 0 podle toho, zda pacient měl či neměl infarkt výsledky: testováno na 178 pacientech, kteří nebyli součástí tréninkové množiny (60 s infarktem, 118 bez) 3 Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem ► gradientní sestup na náhodně vybrané polovině pacientů (půl s a půl bez infarktu) ► očekávané výstupy 1 nebo 0 podle toho, zda pacient měl či neměl infarkt výsledky: testováno na 178 pacientech, kteří nebyli součástí tréninkové množiny (60 s infarktem, 118 bez) ► 92% korektní identifikace infarktu (oproti 88% u expertů) 3 Diagnóza srdečního infarktu Adaptivní dynamika: trénink: tréninková množina obsahovala 356 pacientů, 236 bez infarktu, 120 s infarktem ► gradientní sestup na náhodně vybrané polovině pacientů (půl s a půl bez infarktu) ► očekávané výstupy 1 nebo 0 podle toho, zda pacient měl či neměl infarkt výsledky: testováno na 178 pacientech, kteří nebyli součástí tréninkové množiny (60 s infarktem, 118 bez) ► 92% korektní identifikace infarktu (oproti 88% u expertů) ► 4% falešný poplach (oproti 29% u expertů) redikce časových řad Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. 4 Predikce časových řad Např. se jedná o předvídání vývoje počasí, hodnot akci měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: Predikce časových řad Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i,a2,a3,... (např. hodnota koruny vůči euru po jednotlivých dnech) 4 Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i, a2, a3/... (např. hodnota koruny vůči euru po jednotlivých dnech) ► Chceme odhadnout a^+1 na základě a^a^-i,.. .,sn- Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i, a2, a3/... (např. hodnota koruny vůči euru po jednotlivých dnech) ► Chceme odhadnout a^+1 na základě a^a^-i,.. .,at-k Uvažme síť s k vstupními a jedním výstupním neuronem. Tuto síť natrénujeme na části řady tak, že jí budeme předkládat ae, a^-1,..., a^ na vstupy a a^+i očekávaný výstup. (V případě měnových kurzů použijeme historii vývoje za poslední roky.) Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i, a2, a3/... (napr. hodnota koruny vůči euru po jednotlivých dnech) ► Chceme odhadnout a^+1 na základě a^a^-i,.. .,at-k Uvažme síť s k vstupními a jedním výstupním neuronem. Tuto síť natrénujeme na části řady tak, že jí budeme předkládat ae, a^-i,..., na vstupy a a^+i očekávaný výstup. (V případě měnových kurzů použijeme historii vývoje za poslední roky.) Sítě pro predikci časových řad se obvykle rozšiřují o další vlastnosti: Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i, a2, a3/... (napr. hodnota koruny vůči euru po jednotlivých dnech) ► Chceme odhadnout a^+1 na základě a^a^-i,.. .,at-k Uvažme síť s k vstupními a jedním výstupním neuronem. Tuto síť natrénujeme na části řady tak, že jí budeme předkládat ae, a^-i,..., a^ na vstupy a a^+i očekávaný výstup. (V případě měnových kurzů použijeme historii vývoje za poslední roky.) Sítě pro predikci časových řad se obvykle rozšiřují o další vlastnosti: ► další vstupy modelující prostředí v němž se řada vyvíjí (např. hospodářské parametry státu) Např. se jedná o předvídání vývoje počasí, hodnot akcií, měnových kurzů, počtu zákazníků apod. (hrubá) matematická formulace: ► Mějme numerickou řadu a-i, a2, a3/... (napr. hodnota koruny vůči euru po jednotlivých dnech) ► Chceme odhadnout a^+1 na základě a^a^-i,.. .,at-k Uvažme síť s k vstupními a jedním výstupním neuronem. Tuto síť natrénujeme na části řady tak, že jí budeme předkládat ae, a^-i,..., na vstupy a a^+i očekávaný výstup. (V případě měnových kurzů použijeme historii vývoje za poslední roky.) Sítě pro predikci časových řad se obvykle rozšiřují o další vlastnosti: ► další vstupy modelující prostředí v němž se řada vyvíjí (např. hospodářské parametry státu) ► výstup se často vrací zpět jako další vstup, čímž lze dosáhnout predikce na více kroků NETtalk ► Neuronová síť, která převádí anglicky psaný text na řetěz fonémů (tj. provádí fontetický přepis) Foném je nejmenší součást zvukové stránky řeči, která má rozlišovací funkci v systému konkrétního jazyka. NETtalk ► Neuronová síť, která převádí anglicky psaný text na řetěz fonémů (tj. provádí fontetický přepis) Foném je nejmenší součást zvukové stránky řeči, která má rozlišovací funkci v systému konkrétního jazyka. ► Výstup potom může být vstupem hlasového syntezátoru. Text Phoneme string Speech NETtalk DECtaĽk ► vstup je reprezentován pomocí 29 symbolů (anglická abeceda + čárka, tečka, mezera) NETtalk ► vstup je reprezentován pomocí 29 symbolů (anglická abeceda + čárka, tečka, mezera) ► mezivýstup (výstup sítě) je posloupnost 26-dimenzionálních artikulačních vektorů vektor popisuje způsob, jakým je zvuk generován, např. pozice v ústech, přízvuk, intonace, mlaskavost,... NETtalk ► vstup je reprezentován pomocí 29 symbolů (anglická abeceda + čárka, tečka, mezera) ► mezivýstup (výstup sítě) je posloupnost 26-dimenzionálních artikulačních vektorů vektor popisuje způsob, jakým je zvuk generován, např. pozice v ústech, přízvuk, intonace, mlaskavost,... ► artikulační vektor je poté přeložen na foném Zkoumali více způsobů překladu: 6 NETtalk ► vstup je reprezentován pomocí 29 symbolů (anglická abeceda + čárka, tečka, mezera) ► mezivýstup (výstup sítě) je posloupnost 26-dimenzionálních artikulačních vektorů vektor popisuje způsob, jakým je zvuk generován, např. pozice v ústech, přízvuk, intonace, mlaskavost,... ► artikulační vektor je poté přeložen na foném Zkoumali více způsobů překladu: ► foném s Euklidovsky nejbližším artikulačním vektorem 6 NETtalk ► vstup je reprezentován pomocí 29 symbolů (anglická abeceda + čárka, tečka, mezera) ► mezivýstup (výstup sítě) je posloupnost 26-dimenzionálních artikulačních vektorů vektor popisuje způsob, jakým je zvuk generován, např. pozice v ústech, přízvuk, intonace, mlaskavost,... ► artikulační vektor je poté přeložen na foném Zkoumali více způsobů překladu: ► foném s Euklidovsky nejbližším artikulačním vektorem ► foném jehož artikulační vektor svírá nejmenší úhel s výstupním vektorem 6 NETtalk - síť Organizační dynamika: 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů ► systému se na vstup dává „okno" obsahující 7 symbolů, čte se prostřední symbol, ostatní dávají kontext 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů ► systému se na vstup dává „okno" obsahující 7 symbolů, čte se prostřední symbol, ostatní dávají kontext ► každý znak je kódován unárně (tj. na každý symbol připadá 29 vstupů (7 • 29 = 203)) 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů ► systému se na vstup dává „okno" obsahující 7 symbolů, čte se prostřední symbol, ostatní dávají kontext ► každý znak je kódován unárně (tj. na každý symbol připadá 29 vstupů (7 • 29 = 203)) ► 1 až 2 skryté vrstvy čítající až 0 až 120 neuronů Standardně se tento příklad prezentuje s jednou skrytou vrstvou obsahující 80 neuronů 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů ► systému se na vstup dává „okno" obsahující 7 symbolů, čte se prostřední symbol, ostatní dávají kontext ► každý znak je kódován unárně (tj. na každý symbol připadá 29 vstupů (7 • 29 = 203)) ► 1 až 2 skryté vrstvy čítající až 0 až 120 neuronů Standardně se tento příklad prezentuje s jednou skrytou vrstvou obsahující 80 neuronů výstupní vrstva obsahuje 26 výstupních neuronů, které představují artikulační vektor (výstup se nakonec přeloží na foném) 7 NETtalk - síť Organizační dynamika: ► Síť je vícevrstvá. ► 203 vstupních neuronů ► systému se na vstup dává „okno" obsahující 7 symbolů, čte se prostřední symbol, ostatní dávají kontext ► každý znak je kódován unárně (tj. na každý symbol připadá 29 vstupů (7 • 29 = 203)) ► 1 až 2 skryté vrstvy čítající až 0 až 120 neuronů Standardně se tento příklad prezentuje s jednou skrytou vrstvou obsahující 80 neuronů výstupní vrstva obsahuje 26 výstupních neuronů, které představují artikulační vektor (výstup se nakonec přeloží na foném) Aktivní dynamika: aktivační funkce: standardní logistická sigmoida a(£) = 1+1e_ť. NETtalk Adaptivní dynamika: 8 Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary dětská neformální řeč Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary dětská neformální řeč ► gradientní sestup (zpětná propagace) NETtalk Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary a dětská neformální řeč ► gradientní sestup (zpětná propagace) ► iniciálně váhy nastaveny náhodně uniformně z intervalu [-0.3,0.3] NETtalk Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary a dětská neformální řeč ► gradientní sestup (zpětná propagace) ► iniciálně váhy nastaveny náhodně uniformně z intervalu [-0.3,0.3] Vzory: Miriam Webster's Pocket Dictionary NETtalk Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary a dětská neformální řeč ► gradientní sestup (zpětná propagace) ► iniciálně váhy nastaveny náhodně uniformně z intervalu [-0.3,0.3] Vzory: Miriam Webster's Pocket Dictionary ► celý slovník měl 20012 slov, trénováno na podmnožině o 1000 nejfrekventovanějších slovech NETtalk Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary a dětská neformální řeč ► gradientní sestup (zpětná propagace) ► iniciálně váhy nastaveny náhodně uniformně z intervalu [-0.3,0.3] Vzory: Miriam Webster's Pocket Dictionary ► celý slovník měl 20012 slov, trénováno na podmnožině o 1000 nejfrekventovanějších slovech ► slova vybírána náhodně 8 NETtalk Adaptivní dynamika: ► dva druhy vzorů: Miriam Webster's Pocket Dictionary a dětská neformální řeč ► gradientní sestup (zpětná propagace) ► iniciálně váhy nastaveny náhodně uniformně z intervalu [-0.3,0.3] Vzory: Miriam Webster's Pocket Dictionary ► celý slovník měl 20012 slov, trénováno na podmnožině o 1000 nejfrekventovanějších slovech ► slova vybírána náhodně ► adaptace vždy po jednom slově (tj. rámečkem se projelo slovo, podle kumulovaného gradientu se upravily váhy) 8 NETtalk Výsledky pro Miriam Webster's: 9 NETtalk Výsledky pro Miriam Webster's: ► na tréninkových vzorech dosáhli přesnosti 98% (při 120 skrytých neuronech) 9 NETtalk Výsledky pro Miriam Webster's: ► na tréninkových vzorech dosáhli přesnosti 98% (při 120 skrytých neuronech) ► při aplikaci takto naučené sítě na celý slovník dostali přesnost 77% 9 NETtalk Výsledky pro Miriam Webster's: ► na tréninkových vzorech dosáhli přesnosti 98% (při 120 skrytých neuronech) ► při aplikaci takto naučené sítě na celý slovník dostali přesnost 77% ► při průběžném učení na celém slovníku dosáhli po jednom průběhu 85% 9 NETtalk Výsledky pro Miriam Webster's: ► na tréninkových vzorech dosáhli přesnosti 98% (při 120 skrytých neuronech) ► při aplikaci takto naučené sítě na celý slovník dostali přesnost 77% ► při průběžném učení na celém slovníku dosáhli po jednom průběhu 85% ► po pěti průchodech 90% 9 NETtalk Výsledky pro Miriam Webster's: ► na tréninkových vzorech dosáhli přesnosti 98% (při 120 skrytých neuronech) ► při aplikaci takto naučené sítě na celý slovník dostali přesnost 77% ► při průběžném učení na celém slovníku dosáhli po jednom průběhu 85% ► po pěti průchodech 90% ► zvyšování počtu neuronů, velikosti rámečku, počtu vrstev vždy vedlo ke zlepšení (byli limitováni výpočetním výkonem cca 2 znaky za vteřinu (rok 1987)) 9 NETtalk Vzory: Dětská neformální řeč: 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny ► problematické, jedno slovo bylo vyslovováno mnoha způsoby 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny ► problematické, jedno slovo bylo vyslovováno mnoha způsoby Výsledky pro neformální řeč: 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny ► problematické, jedno slovo bylo vyslovováno mnoha způsoby Výsledky pro neformální řeč: ► na tréninkových vzorech dosáhli 95%, při testu pak 78% (tj. docela dobrá generalizace) 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny ► problematické, jedno slovo bylo vyslovováno mnoha způsoby Výsledky pro neformální řeč: ► na tréninkových vzorech dosáhli 95%, při testu pak 78% (tj. docela dobrá generalizace) ► testovali odolnost proti narušení: přičtení náhodně vygenerovaných hodnot z [-0.5,0.5] k váhám se projevilo jen minimálně 10 NETtalk Vzory: Dětská neformální řeč: ► trénink na 1024 slovech, testováno na dalších 439 ► rámečkem se projížděl celý text, hranice slov byly speciálně vyznačeny ► problematické, jedno slovo bylo vyslovováno mnoha způsoby Výsledky pro neformální řeč: ► na tréninkových vzorech dosáhli 95%, při testu pak 78% (tj. docela dobrá generalizace) ► testovali odolnost proti narušení: přičtení náhodně vygenerovaných hodnot z [-0.5,0.5] k váhám se projevilo jen minimálně ► naučená síť měla většinu vah v průměru 0.8 (téměř všechny byly menší než 2) 10 ALVINN ALVINN Organizační dynamika: ALVINN Organizační dynamika: ► vícevrstvá síť, 960 - 4 - 30 (někdy 960 - 5 - 30) 12 Organizační dynamika: ► vícevrstvá síť, 960 - 4 - 30 (někdy 960 - 5 - 30) ► komponenty vstupu odpovídají bodům obrazu z kamery Organizační dynamika: ► vícevrstvá síť, 960 - 4 - 30 (někdy 960 - 5 - 30) ► komponenty vstupu odpovídají bodům obrazu z kamery Aktivní dynamika: Organizační dynamika: ► vícevrstvá síť, 960 - 4 - 30 (někdy 960 - 5 - 30) ► komponenty vstupu odpovídají bodům obrazu z kamery Aktivní dynamika: ► aktivační funkce: skryté neurony mají sigmoidální funkce, výstupní mají lineární Organizační dynamika: ► vícevrstvá síť, 960 - 4 - 30 (někdy 960 - 5 - 30) ► komponenty vstupu odpovídají bodům obrazu z kamery Aktivní dynamika: ► aktivační funkce: skryté neurony mají sigmoidální funkce, výstupní mají lineární ► Směr jízdy odpovídá těžišti všech výstupních neuronů tj. výstupní neurony lze uvažovat jako hmotné body umístěné na přímce se stejným rozestupem, hmotnost neuronu se rovná jeho hodnotě Adaptivní dynamika: Trénováno za jízdy. Adaptivní dynamika: Trénováno za jízdy. ► Aktuální výhled na silnici snímán kamerou, zhruba 25 obrazů za vteřinu 13 Adaptivní dynamika: Trénováno za jízdy. ► Aktuální výhled na silnici snímán kamerou, zhruba 25 obrazů za vteřinu Tréninkové vzory tvaru {xkldk) kde 13 Adaptivní dynamika: Trénováno za jízdy. ► Aktuální výhled na silnici snímán kamerou, zhruba 25 obrazů za vteřinu Tréninkové vzory tvaru {xkldk) kde ► xk = obraz silnice 13 ALVINN Adaptivní dynamika: Trénováno za jízdy. ► Aktuální výhled na silnici snímán kamerou, zhruba 25 obrazů za vteřinu Tréninkové vzory tvaru {xkldk) kde ► xk = obraz silnice ► dk = příslušné natočení volantu řidiče 13 ALVINN Adaptivní dynamika: Trénováno za jízdy. ► Aktuální výhled na silnici snímán kamerou, zhruba 25 obrazů za vteřinu Tréninkové vzory tvaru {xkldk) kde ► xk = obraz silnice ► dk = příslušné natočení volantu řidiče ► natočení volantu distribuováno pomocí Gaussova rozložení na výstupy: kde D, je vzdálenost /-tého výstupu od toho, který odpovídá natočení volantu (Toto je lepší než binární výstup, protože reakce na podobné silnice jsou velmi blízké.) 13 Naivní prístup: brát vstupy z kamery a podle nich adaptovat. Výběr vzorů Naivní přístup: brát vstupy z kamery a podle nich adaptovat. To vede k následujícím problémům: 14 Výběr vzorů Naivní přístup: brát vstupy z kamery a podle nich adaptovat. To vede k následujícím problémům: ► Jestliže řidič jede dobře, síť se nenaučí řešit odchylky od trasy. Možná drsná řešení jsou 14 Výběr vzorů Naivní přístup: brát vstupy z kamery a podle nich adaptovat. To vede k následujícím problémům: ► Jestliže řidič jede dobře, síť se nenaučí řešit odchylky od trasy. Možná drsná řešení jsou ► vypnout přechodně učení a sjet z trasy, poté zapnout učení a nechat síť sledovat, jak se s tím řidič vyrovná 14 Výběr vzorů Naivní přístup: brát vstupy z kamery a podle nich adaptovat. To vede k následujícím problémům: ► Jestliže řidič jede dobře, síť se nenaučí řešit odchylky od trasy. Možná drsná řešení jsou ► vypnout přechodně učení a sjet z trasy, poté zapnout učení a nechat síť sledovat, jak se s tím řidič vyrovná ► nechat řidiče jezdit divoce (poněkud nebezpečné, drahé, nespolehlivé) 14 Výběr vzorů Naivní přístup: brát vstupy z kamery a podle nich adaptovat. To vede k následujícím problémům: ► Jestliže řidič jede dobře, síť se nenaučí řešit odchylky od trasy. Možná drsná řešení jsou ► vypnout přechodně učení a sjet z trasy, poté zapnout učení a nechat síť sledovat, jak se s tím řidič vyrovná ► nechat řidiče jezdit divoce (poněkud nebezpečné, drahé, nespolehlivé) ► aktuální výhledy z okna jsou poněkud repetitivní, síť se může přetrénovat na málo vzorech 14 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: 15 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: ► každý výhled na silnici je posouváním rozmnožen na 15 podobných kopií Original Image 7r/i /a ú/a-mmm Otu m jí a 15 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: ► každý výhled na silnici je posouváním rozmnožen na 15 podobných kopií Original Image 7r/i A A požadovaný výstup se vygeneruje pro každou kopii 15 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: ► každý výhled na silnici je posouváním rozmnožen na 15 podobných kopií Original Image 7r/i A A ► požadovaný výstup se vygeneruje pro každou kopii Repetitivnost aktuálních výhledů z okna se řeší takto: 15 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: ► každý výhled na silnici je posouváním rozmnožen na 15 podobných kopií Original Image 7r/i au Otu m jí a *■ požadovaný výstup se vygeneruje pro každou kopii Repetitivnost aktuálních výhledů z okna se řeší takto: ► systém má buffer 200 obrázků (včetně 15 kopií aktuálního), v každém kole tréninku se trénuje na těchto vzorech 15 Výběr vzorů Problém s příliš „správnou" jízdou řidiče se řeší takto: ► každý výhled na silnici je posouváním rozmnožen na 15 podobných kopií ► požadovaný výstup se vygeneruje pro každou kopii Repetitivnost aktuálních výhledů z okna se řeší takto: ► systém má buffer 200 obrázků (včetně 15 kopií aktuálního), v každém kole tréninku se trénuje na těchto vzorech ► po tréninku se sejme nový obraz, udělá se 15 kopií a těmi se nahradí 15 obrazů z bufferu (10 s nejmenší chybou, 5 náhodně) 15 ALVINN - učení ► standardní zpětná propagace ALVINN - učení ► standardní zpětná propagace ► konstantní rychlost učení pro každý neuron zvlášť, úměrná počtu vstupů 16 ALVINN - učení ► standardní zpětná propagace ► konstantní rychlost učení pro každý neuron zvlášť, úměrná počtu vstupů ► pomalu rostoucí moment 16 ALVINN - učení ► standardní zpětná propagace ► konstantní rychlost učení pro každý neuron zvlášť, úměrná počtu vstupů ► pomalu rostoucí moment Výsledek: Trénink trval 5 minut, řidič jel rychlostí 4 míle za hodinu ALVINN - učení ► standardní zpětná propagace ► konstantní rychlost učení pro každý neuron zvlášť, úměrná počtu vstupů ► pomalu rostoucí moment Výsledek: Trénink trval 5 minut, řidič jel rychlostí 4 míle za hodinu ► ALVINN byl schopen jet i po částech silnice, které nikdy „neviděl" a za rozličného počasí ALVINN - učení ► standardní zpětná propagace ► konstantní rychlost učení pro každý neuron zvlášť, úměrná počtu vstupů ► pomalu rostoucí moment Výsledek: Trénink trval 5 minut, řidič jel rychlostí 4 míle za hodinu ► ALVINN byl schopen jet i po částech silnice, které nikdy „neviděl" a za rozličného počasí ► v době vzniku byl schopen jet maximální rychlostí, kterou zvládal hydraulický ovladač ALVINN - vývoj vah ALVINN - komentáře Srovnání ALVINNa s „explicitním programováním". LVINN - komentáře Srovnání ALVINNa s „explicitním programování Pro efektivní řízení je potřeba: LVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) 18 kLVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) ► tyto vlastnosti detekovat v aktuálních obrazech (ALVINN si vytvoří vlastní detektory) ALVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) ► tyto vlastnosti detekovat v aktuálních obrazech (ALVINN si vytvoří vlastní detektory) ► implementovat řízení v reakci na vlastnosti obrázků (ALVINN se to naučí sám od řidiče (rychle)) ALVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) ► tyto vlastnosti detekovat v aktuálních obrazech (ALVINN si vytvoří vlastní detektory) ► implementovat řízení v reakci na vlastnosti obrázků (ALVINN se to naučí sám od řidiče (rychle)) Nevýhody ALVINNa (později řešené celou škálou rozšíření) ALVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) ► tyto vlastnosti detekovat v aktuálních obrazech (ALVINN si vytvoří vlastní detektory) ► implementovat řízení v reakci na vlastnosti obrázků (ALVINN se to naučí sám od řidiče (rychle)) Nevýhody ALVINNa (později řešené celou škálou rozšíření) ► uměl jezdit jen po jednom typu silnice (různý povrch, počet pruhů, atd.) Později řešeno pomocí slučování více ALVINNů spojených do jedné sítě, každý natrénován na jiný typ silnice (MANIAC) ALVINN - komentáře Srovnání ALVINNa s „explicitním programováním". Pro efektivní řízení je potřeba: ► najít vlastnosti obrázků důležité pro řízení (ALVINN najde sám) ► tyto vlastnosti detekovat v aktuálních obrazech (ALVINN si vytvoří vlastní detektory) ► implementovat řízení v reakci na vlastnosti obrázků (ALVINN se to naučí sám od řidiče (rychle)) Nevýhody ALVINNa (později řešené celou škálou rozšíření) ► uměl jezdit jen po jednom typu silnice (různý povrch, počet pruhů, atd.) Později řešeno pomocí slučování více ALVINNů spojených do jedné sítě, každý natrénován na jiný typ silnice (MANIAC) ► nebyl nijak napojen na „vyšší" řízení, například sledování cesty po mapě apod. Řešeno např. včleněním ALVINNa do většího učícího systému. 18 Rozpoznávání směrovacích čísel Cílem je rozpoznat rukou psané číslice 19 Rozpoznávání směrovacích čísel Cílem je rozpoznat rukou psané číslice ► vstupy: obrázky číslic 16x16, stupně šedi normalizovány do [-1,1] i U / M t J f 7 ? 9 / M / 5" H / I f O t f Ä 9 4 * Ĺ 1 X á tl t / íp£j<-( 6 # £ ^ ô Fig. 4. Size normalised examples Irům Llie MXIST database. 19 Rozpoznávání směrovacích čísel Cílem je rozpoznat rukou psané číslice ► vstupy: obrázky číslic 16x16, stupně šedi normalizovány do [-1,1] i U / M t -z f 7 n / U y í" H / I f O t f Ä 9 4 * Ĺ 1 X á tl t / íp£j<-( 6 # £ ^ ô Fig. 4. Size normalised examples Irům Llie MXIST database. ► výstup: jedna z deseti hodnot 19 Rozpoznávání číslic Rozpoznávání čísli Organizační dynamika: acyklická síť (4 vrstvy), něco vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev Rozpoznávání čísli Organizační dynamika: acyklická síť (4 vrstvy), něco vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 12 skupin po 4 x 4 neuronech 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 12 skupin po 4 x 4 neuronech každý neuron z jedné skupiny má vstupy z oken 5 x 5 z osmi skupin z nižší vrstvy (všech 8 oken pro jeden neuron má stejnou polohu) 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 12 skupin po 4 x 4 neuronech každý neuron z jedné skupiny má vstupy z oken 5 x 5 z osmi skupin z nižší vrstvy (všech 8 oken pro jeden neuron má stejnou polohu) ► všechny neurony z jedné skupiny sdílí stejné váhy 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 12 skupin po 4 x 4 neuronech každý neuron z jedné skupiny má vstupy z oken 5 x 5 z osmi skupin z nižší vrstvy (všech 8 oken pro jeden neuron má stejnou polohu) ► všechny neurony z jedné skupiny sdílí stejné váhy ► 3. vrstva: 30 neuronů, kompletně spojena s předchozí vrstvou 21 Rozpoznávání číslic Organizační dynamika: acyklická síť (4 vrstvy), něco jako vícevrstvá, ale nemusí vést spoj mezi všemi neurony sousedících vrstev ► 1. vrstva: ► 12 skupin po 8 x 8 neuronech (skupina 8x8 tvoří „obrázek" pro vyší vrstvu) ► každý neuron z jedné skupiny má vstupy z okna 5 x 5 ze vstupu (okna se překrývají, jsou položena ob dva pixely) ► všechny neurony z jedné skupiny sdílí stejné váhy (mají za úkol detekovat stejnou vlastnost v různých částech obrázku) ► 2. vrstva: 12 skupin po 4 x 4 neuronech každý neuron z jedné skupiny má vstupy z oken 5 x 5 z osmi skupin z nižší vrstvy (všech 8 oken pro jeden neuron má stejnou polohu) ► všechny neurony z jedné skupiny sdílí stejné váhy ► 3. vrstva: 30 neuronů, kompletně spojena s předchozí vrstvou 4. vrstva: 10 výstupních n., kompletně spojena s předchozí Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty Adaptivní dynamika: Vstupy: 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty Adaptivní dynamika: Vstupy: ► trénink na 7291 vzorech, testováno na 2007 vzorech 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty Adaptivní dynamika: Vstupy: ► trénink na 7291 vzorech, testováno na 2007 vzorech ► mnoho příkladů bylo hodně pokřivených 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty Adaptivní dynamika: Vstupy: ► trénink na 7291 vzorech, testováno na 2007 vzorech ► mnoho příkladů bylo hodně pokřivených Trénink: ► modifikovaná zpětná propagace (v podstatě sdružené gradienty), online 22 Rozpoznávání číslic Aktivní dynamika: aktivační funkce: hyperbolický tangens Dvojí interpretace výstupu: ► výstupní neuron s největší hodnotou identifikuje číslici ► totéž, ale vstupy se dvěma a více velkými výstupními hodnotami (tj. nejednoznačné) byly odmítnuty Adaptivní dynamika: Vstupy: ► trénink na 7291 vzorech, testováno na 2007 vzorech ► mnoho příkladů bylo hodně pokřivených Trénink: ► modifikovaná zpětná propagace (v podstatě sdružené gradienty), online ► váhy iniciálně náhodně z [-2.4,2.4], poděleny počtem vstupů daného neuronu 22 Rozpoznávání číslic - výsledky ► výsledky bez odmítání nejednoznačných: 0.14% špatně klasifikovaných na tréninkové množine, 5% na testovací 23 Rozpoznávání číslic - výsledky ► výsledky bez odmítání nejednoznačných: 0.14% špatně klasifikovaných na tréninkové množine, 5% na testovací výsledky s odmítáním nejednoznačných: 1% špatně na testovacích za cenu 12% odmínutých 23 Rozpoznávání číslic - výsledky ► výsledky bez odmítání nejednoznačných: 0.14% špatně klasifikovaných na tréninkové množine, 5% na testovací výsledky s odmítáním nejednoznačných: 1% špatně na testovacích za cenu 12% odmínutých ► obyčejná dvouvrstvá síť se 40 skrytými neurony se dostala na 1% špatně klasifikovaných za cenu 19.4% odmítnutých 23 Komprese dat Komprese obrazových dat pro přenos signálu. 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy, stejný obraz na vstup i výstup. 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: ► Vysílající vypočte pro daný vstup hodnoty skrytých neuronů 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: ► Vysílající vypočte pro daný vstup hodnoty skrytých neuronů ► Hodnoty skrytých neuronů jsou odeslány příjemci 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: ► Vysílající vypočte pro daný vstup hodnoty skrytých neuronů ► Hodnoty skrytých neuronů jsou odeslány příjemci ► Příjemce vypočte hodnoty výstupních neuronů po dosazení hodnot skrytých neuronů 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy, stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: ► Vysílající vypočte pro daný vstup hodnoty skrytých neuronů ► Hodnoty skrytých neuronů jsou odeslány příjemci ► Příjemce vypočte hodnoty výstupních neuronů po dosazení hodnot skrytých neuronů Metoda funguje pokud jsou vysílané obrazy podobné tréninkovým vzorům. 24 Komprese dat Komprese obrazových dat pro přenos signálu. Použita dvouvrstvá síť n - % - n (tj. počet skrytých neuronů je 4x menší než počet vstupních a výstupních). ► Síti byly předkládány obrazy, stejný obraz na vstup i výstup. ► Naučená síť potom byla použita takto: ► Vysílající vypočte pro daný vstup hodnoty skrytých neuronů ► Hodnoty skrytých neuronů jsou odeslány příjemci ► Příjemce vypočte hodnoty výstupních neuronů po dosazení hodnot skrytých neuronů Metoda funguje pokud jsou vysílané obrazy podobné tréninkovým vzorům. Dá se ukázat, že tato metoda realizuje PCA na obrazových datech - tedy nejlepší možnou redukci dimenze dat (probereme později) Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel ► vzory: vstup i výstup byl rámeček 8x8, který se náhodně volil z obrázku 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel ► vzory: vstup i výstup byl rámeček 8x8, který se náhodně volil z obrázku ► vstupy normalizovány do intervalu [-1,1] 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel ► vzory: vstup i výstup byl rámeček 8x8, který se náhodně volil z obrázku ► vstupy normalizovány do intervalu [-1,1] Učení: ► zpětná propagace 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel ► vzory: vstup i výstup byl rámeček 8x8, který se náhodně volil z obrázku ► vstupy normalizovány do intervalu [-1,1] Učení: ► zpětná propagace ► rychlost učení: 0.01 pro vnitřní, 0.1 pro výstupní 25 Komprese dat - konkrétní implementace (historická) Organizační dynamika: Vícevrstvá síť 64-16-64 Aktivní dynamika: aktivační funkce: sigmoidální, bipolární (tedy nějaký hyperbolický tangens s extrémy -1 a 1) Adaptivní dynamika: Vstupy: ► obrázky 256 x 256, 8 bitů na pixel ► vzory: vstup i výstup byl rámeček 8x8, který se náhodně volil z obrázku ► vstupy normalizovány do intervalu [-1,1] Učení: ► zpětná propagace ► rychlost učení: 0.01 pro vnitřní, 0.1 pro výstupní trénováno v 50 000 - 100 000 iteracích 25 Komprese dat - výsledky Tréninkový obraz obraz 256 x 256 se projede rámečkem 8x8 (jednotlivá „přiložení" rámečku se nepřekrývají) originál komprese komprese + zaokrouhlení hodnot vnitřních neuronů na 6 bitů (přenos 1.5 bitu na pixel) komprese + zaokrouhlení hodnot vnitřních neuronů na 4 bity (přenos 1 bit na pixel) (C) (D) Komprese dat - výsledky