takle raz dva tři

poďme se ztratit protože začínáme

poslední přednášku a poslední přednášející igor szoke který se

tady z zdena zbytku věnuje automatickému zpracování řeči a také

a vedení polomech má také zkušenosti se start lety a jeho dnešní přednáška by měla

být povzbuzení může nejenom to co vidí zákazníky důležité ale

že

skryté a inteligentní jádro je další služby má může dát o čem se říká another

eden speech a to se konkurence a to se konkurenci bez nepodaří zkopírovat takže víte

jiné igora

tak dámy a pánové děkuji za sebe uvítání a

začněme Š na začátek otázečku kolik svatby zvládlo okopírovat tuhletu stránku jak leží běží prostě

skupin

zase nahoru kdo to zvládne

jo to nezvládne

proč nezvládnete

já nechcu kopírovat

formulář tak

toto vidíte

ale já se tam ženy a žena říkala že to zkopíruje taky a to počítač

moc nerozumí

tak kolik vás hlavně okopírovat o to tak jak to leží běží

dobré a kolik vazbami okopírovat toto tím ale že by to mělo fungovat tak že

když tam napíšete takle něco rozumného

tak vám to vrátí

nějaké rozumné výsledky

vy

dobrý všechny

můžete konkurovat budu

nebo kolem a doby dotazu ve odpovědi

tak

bylo na začátek

tím že

vlastně sme tobě I ty době digitálních technologií

tak vy pokud děláte nějakou webovou službu

to co vidívali zákazník tak je nějaká kra krásná webová aplikace máte tam pěkné obrázky

portován krásné texty odkopli Y true

a dáváte vlastně zákazníkovi krásný stránek vo tom si dobře a nakupuje vaše služby

máte jeden problém

jak jsem říkal vlastně je to ustanou a jedniček a nuly a jedničky se velmi

často

a velmi dobře kopírují takže pokuď vaše služba je postavena pouze na té krásné stránce

tak vám to kopíruje kdokoliv kdykoliv

na toto téma mě vždycky když o tom přemýšlím napadne vlastně

tracks webových serverů kdy tady byl první se pomát během já nevím roku dvou tady

máme typicky možnost na stovky stavových serveru

a troufám si tvrdit

pro čistě tady tolika proč je taková konkurence je protože to složitost zatím krásný webem

odpovídá si tak složitosti hřebíku

na tom prostě nic není

a to je ten problém potom vám to kdokoliv okopíruje

takže

to proč tady mám toto přednášku je abych vám jakým způsobem

nastínil

jak zařídit aby místo toho hřebíku tam bylo něco složitějšího něco to už vaše konkurence

bude kopírovat news

a to je právě vaše konferencích

co bych té fabrice která se špatně kopíruje mohlo být

ideálně nějaká černá krabička

která by mohla zpracovávat nějaká data nebo něco

co právě

vlastně ta krabička která tady špatně zkopírovat

představte si že máte službu

tato služba

vystavuje fotky

jo máte prostě nějakou službu nebo nějaká videa pomáháte uživatelům je takový výstup rajče nebo

pikasova máte spoustu uživatelských dat

tato dat vlastně proudí vaší službou

a uživatele tím ještě třeba něco dávají jo doba fotky a uživatel napíšou a tady

je počká tady člověka tady není počkat opět se to a máte prostě kvanta těchto

dat

a

co byste by mohli využít nešiď jenom krásnou webu a kluk teda v dokazovat fotky

tak byste mohli těm uživatelům pomocí třeba taková typu

to už je právě nějaká výhoda něco co je nic to ne každý dokáže okopírovat

nějaký automaticky takže

tato přednáška se bude věnovat

neuronovým CC měl inteligenci protože ono vlastně celkově ta umělá inteligence nebo mi šílených je

strašně široký pojem a bysme tady byly až do rána takže já se soustředím pouze

na neuronové sítě zase to celkem jednoduše pochopit takže bysme to měli zase třičtvrtěhodinko a

takže si představte že teďka v té krabičce máte nějakou nebo C

a vy ji začnete ukazovat

potkyna kterých je kočka

a potkyna který člověk fotky na který se té sata sice to nějak učí

a potom

se jí zeptáte

ukaž nějak vypadá teďka nebo ukaž nějak vypadá člověk

já nevím jestli je to vidět co to je výstup toho pánové budu dělali nějaký

experiment strávím čili neuronovou síť klasifikovat obrazu očku a vedle člověk já nevím jestli to

vidíte že tam vidět N paterně si není tak trošku sem přitlačil na

na kontrast

že tam pořád vidět tak

sem tomu ještě pomohl

jo takže toto je třeba příklad jak vlastně nějaká nebo

se dokáže na základě jenom hromady obrázku a nějaké informace tady počká tady člověk binární

informace naučit jak vypadá kočka jakási vypadat čili

myslím že to je celkem dobrá

dobrá umělá inteligence

tak pojďme na to

co je

umělá neuronová síť

já to budu tady značit zkratkou no jako nebo network

slaby slajdy mám angličtině už ani nevím prosím za často ručně ale

prostě musíte smířit

tak neuronová síť vlastně je to jakýsi matematický model který je inspirován by logickým neuronem

se člověku má každý tady hlavě

tak se jiří podívejme ty parametry biologický neuron vezmeme si nějak jo tak dlátka udělejme

mu frontální obvod umíš změny mikroskop

a to sou vidíme uvnitř tak je spousta takových to buněk

a ty buňky jsou mezi sebou propojeny tady takovými chapadly v tom smyslu říkat sony

a vlastně z těch ostatních neuronů vede ten a co na tady tomu se říká

synapse ten a spojení vlastně na ty jednotlivé buňky

jeden modelů takový celkem jednoduchý popisující jak to funguje mozku je že ta buňka dělá

něco čemu by se dalo říkat integritním fajn to znamená

tady chodí nějaké elektrické impulzy které sou realizované nějakým nějakou chemickou reakcí přídou toto neuronu

až ten neuron a integruje nebo na sumuje nějaký množství nějaký těchto impulzu tak se

rozhodně se rozhodne že vystřelí a pošle vlastně ten impulzy dál se po těch jejich

sumec do dalších neuronů takle to tam běhá a nějak to funguje a vidíme slyšíme

a máme radost vlastně

tak matematický model

matematický model je podobný

je to

jakási kulička do které vede

jeden a více vstupu a má to jeden výstup sme

počítačích to znamená je to všechno číslicové jo nástupy dáte nějaký čísílka a na výstupu

vám to se kde čísílko takže si to představíte opravdu jako nějaký čti jakou číslicovou

jedničku

tak uvnitř toho neuronu

je

to není oko se sčítačka to je nějaká to integrate nějaká suma

do které vedou ty jednotlivé vlastně vstupy

de o problém může být v tom že každý ten vstup může mít jinou váhu

ne množství informace takže dobrej něčím vynásobit vynásobíme nějakým váhami

sečteme a teče důležité zařídit to file a to zařizujeme takže máme uvnitř něco čemu

říkáme aktivační funkce

těch funkcí je mnoho jedna z nich kterou vy klemy používáme se menuje sigmoida

a vy vemete ten výstup

té sčítačky strčíte to prosím o jdu a ona vám vrátí nějaké číslo to pošlete

na výstup proč

sigmoida vypadá takto

vlastně od nuly do jedničky a tady nějaký přechod

je ještě potřeba tu simoně jak naladit protože tam se může stát že vám na

základě vstupu tady ta suma bude vracet hodnoty pořád třeba tady někde z mínus desítce

potom by vám to neuron někdy nevystřelil takže se to neuronů ještě strčí speciální

parametr kterému říkáme bias nebo nějaký posun který vám prosím o jdu jenom takle posune

a naladí na tu optimální vlastně na tu optimální část sole si aby toto přes

to

tak to byl jeden neuron teďka to je vlastně neuronová síť neuronová síť nějaké zřetězení

neuron toto je tam nejtriviálnější kterou si dokážete představit jeden vstup jeden výstup je to

celkem k ničemu

zajímavější to začne B když tam máme výstupu ani místu

nebo můžeme dat víc výstupu

a můžeme to takhle pěkně

řetězit

a ještě zajímá když to začne být když tam hezky přidáme další vrstvy

takže potom dostáváme nějakou takovou strukturu tomu se mimochodem říká nebo on to každej tomu

říkal nějaké nějak my tomu říkáme třívrstvá síť tady máme vstupní vrstvu nějakou skrytou vrstvu

této zelená a pak máme nějakou výstupním

výborně

měli bysme vědět co je to neuronová síť se to neuron teď se podíváme jak

na trénujeme jeden neuron

velice triviální

máme jeden neuron

a připravme si nějaká data připravme si nějakou množinu

se

a množinu nulu

X k a reprezentují méně jako v jedničkou na výstupu a

nuly nebo očka reprezentujeme nulu takže potom to můžeme namalovat

nějak takto

osa i

Y

a my chceme poté síti to aby když tam strčíme

jaký ten parametr X to znamená třeba tady máme hnedka to první iksko může být

třeba jednička tak když tady bude jednička tak na výstupu chceme dostat jedničku

a tak dále a tak dále a když tady bude třeba devítka tak na výstupu

chceme dostat nulu protože očko odpovídá pole

takže chceme nějaký jednoduchý triviální klasifikátoru tříd

to co musíme udělat pro trénování je že

vezmeme vstupní data proženeme je tou síti

pak počítáme nějakou chybu opravíme parametry ste síti a

tak dále a tak dále pokuď nám to leze do nějakého do nějakého tým

jak začít

začínáme tak že to síť většinou zastavíme ty parametry na nějaké náhodné hodnoty a ono

se to prostě začne většinou to doleze vždycky do nějakého stejného zima

takže vememe vstupní data proženeme síti dostaneme výstupy

spočítáme chyby

a chyby

pro pak budeme zpátky

matematicky vevnitř seděj něco čemu říkáme gradient descent já o tom tady nebudu mluvit protože

tam spousta nějaký diferenciálu a myslím si zbytečné tady na barcampu

důležité je že ten gradient nám říká vpodstatě

jak ten parametr který jak který ten parametr máme posunout aby se nám vlastně zasít

něco naučil

jo vypadáte takovéto je podstatě nějaká ta kreditní funkce chyby a říká nám to find

to ve jedna musíme zmenší jo takže když to bylo původně nula celá pět tak

hledáme nula celá

máme první teda si

to

jak sme přeurčený parametry dostaneme

novou síť dostaneme nový výstup nové si zase upravíme gradient

a tak dál

dopravačka někam vede

co se týká učení je to celkem důležité pokud byste si s tím chtěli někdy

hrát tak jsou tam takové

sítové některé

za prvé to co vy můžete dělat je že vy můžete vzít a to po

datu a po každém vlastně tom jednom taktu můžete tu síť přeučit updatovat váhy na

to ten problém že vy podstatě budete brat iksko povídku tu si budete pořád učí

na to aby dobře klasickou lánská pak přeskočit nenauč K bude they dobře trénovat

na ty očka ona vám mezitím zapomenete X K takle po to bude lítat ze

strany na stranu ani se neučí

a

tak

takže můžete udělat to

že zvednete všechny data na jednu hromadu

uděláte formátu síti všech těch dat a je uděláte aby po všech datech to má

zase tu nevýhodu že ta gradientní funkce vždycky stejná takže nemusíte dolízt můžete zůstat nějakém

suboptimálním

minimu a nemusí provést úplně na ten nejlepší na ten nejlepší výsledek takže

praktická věc

vstupní data zaprvé

je dobré promíchat

K kvůli tomu nymfu

úplně náhodně a za druhé rozsekat na nějaké menší části a vždycky trénovat o těch

menších častech a zapisovat

ona potom tak radisty funkce je taková jakási skákavá ale máte větší šanci že touste

nějakého

nějaké opravdu jako

globálního optima

za druhé

ten gradient sám o sobě to ostrý to znamená on se vždycky násobí nějakou konstantou

říká se tomu learning kterej a nějakým způsobem ten learning rate nahradit naladit je taky

taková trošku magie

a

pokuď byste o nenaladili tak zase vám ta si přitom trénování bude prostě takle skákat

tom gradientu a budete trénovat potom nikam jako ne

takže vždycky se tam

ty ten gradient vlastně ten s něco posunu těch parametrů násobí nějakou konstantou

třeba nula celá jedna pak

to dopadne tak že pokud se vám pokud opře střelíte a ten learning kryty moc

malý tak zase budete trénovat strašně dlouho protože vám to pole se pomaličku K

takže

musíte si s tím trošku pohrát

jo ale pokud si stáhnete nějaký funkci nebo něco takovýho většinou je čase to používá

tak nula celá jedna jo nějaká nějaký tady ten nějaký tady ten učící

účesy parametr

co dělá neuronová síť

dva stopy jeden výstup

je

v podstatě

binární klasifikátor který vám prostoru je schopen lineárně oddělit dvě nějaké třídy

pokud na trénujete takovouto síť

je to dostanete něco co vám takle oddělí křížky of koleč

abyste si představili to vtom vlastně dělaj ty parametry ve jedna B dva ten bias

tak

ta sigmoida která tím neuronů vtom vede prostoru se tváří jako

zraněnej plech

jo představte si že máte plech který je rovině rovně toho plátna tady v téhleté

líný vám vystupuje jako by na stopla to taková

jo to je vlastně ta Y hodnota

která leze na tom výstupu počet nula nebo jedna podle design

ten zde jedna B dva vám rotuje

to přímku

takže to vám umístit tu přímku že mezi ty X K očka

a ten bias vám jenom posunuje tu přímku vlastně po normále

to toho dělá

jeden neuron

celkem triviální

to se mi řekne

no a o tom jak to začnete řetězy tak samozřejmě to komplikované se tam někdo

nevyzná jo natrénujte síť a prostě tomu musíte věřit

protože máte tam máte tam nevím sto tisíc neuronů a těžko říct co kteří dělat

přes

očí problém máme zase dvoudimenzionální prostor můžeme mít tři výstupy máme tři třídy

pokuď to natrhneme takto tak každý výstup nám v podstatě říká je to ta třída

nebo to není ta třída takže vždycky máme binární otázku

jo Y dva nám odděluje kolečka zbytku Y při čtverečky bit

pokuď tam trčíme takovou speciální transformaci nakonec které říkáme softmax

koš je

triviální vzoreček který vám říká jenom že

každý ten listu musí být od nuly do jedničky osum a všechny vstupu musí být

jedna takže to tak můžete reprezentovat jako pravděpodobnost

tak dostanete toto

ta síť vám potom klasifikuje tu do tří tříd podle toho té vlastně jednička tak

říká která tisíc tříd

teď máme už zapeklitější problém máme miliardy posici kovatelný pro

problém takže máme sluch nějaký koleček a pole hromada křížku

a my to nějakou přímkou my dokážeme sdělit

jak na to

na tohle už nám obyčejná taková dvouvrstvá síť nestačí

musíme přidat vrstvu

a ta vrstva navíc ta skryta dělá jakousi nelineární transformací těžko se to s tomletom

jako představuje ale v podstatě tam lineární transformace vám ten dvě D X i X

jedna X dva prostor nějakým způsobem celej zhorší vobrátí naruby tak že pak vy budete

schopni ty příště polička oddělit nějakou lineární vlastně nějakou přímkou

asi to nedokážu představit ale nejsou prostě ta si to takle dělat

jo takže pak

ona zvládne vám říct

tady jsou kolečka

tak podíváme se jak se dá trénovat

v praxi neuronová síť

připravil sem si takový krátký jenom by nikoho

máme asi dva tisíce přisa budu máme dvě třídy modrou červená jednička a modrá dva

a máme dvě neuronové sítě obě dvě jsou třívrstvé protože tady je vidíte máme nelineární

klasifikaci ta horní má jen tři neurony ve skryté vrstvě ta spodních má třicet jenom

abyste viděli ten rozdíl jako by se velikostí T C

ve sítě adam

tak

s tím ne

teďka to co tady vidíte tak to ty jednotlivé skoky je vždycky update jak je

výstup té sítě po

tom když pracujeme prvních nebo nějakých sto bodu celkem ste množiny dva tisíce tři sta

to znáte nějakej ten řeč jak sem říkal je dobré ta vstupní data si ram

tonizovat rozsekat na malé kousky jako těch malý kouskách trénovat

jo tak ten jeden skoky jako by ten jeden řeč teďka se to zastavilo to

znamená se pak konec jakoby epochy takže celé iterace a pouští se to

celkem máme asi dvacet

dvacet iterací pak

skončí

dobře se podívejte na toto méně houstičku která má tři neurony to co tady vidíte

tady tyto unk i tak to sou jakoby projeví těch jednotlivých si moji

protože tam máme tři neurony vevnitř tak celá ta celá ta síť vlastně celá ta

funkce je po je spojením součtem třísek můj

tady už je to mnohem horší protože tam mám sice neuronu takže to slepý třiceti

takže tam se to špatně vidí a tady to krásný vidět

co se tam vlastně se tam děje

tady na tomto na tomto obrázku vidíte to bílé je jako by

oblast kde ta neuronová síť říká jedničku takže říká že to je ta třída těch

červených

červených prvků jak vidíte se to krásně takže sloučilo tady se to naučil eště nic

protože soma větší sílu ta síť ale

je tam jedna nevýhoda

tak takhle to dopadne to

dvaceti epochách

a vidíme zde

jeden problém který neuronové sítě mají na který si musíte ta pozor pokud budete používat

a neuronová síť se vám nepereme na datech který dáte na trénovacích datech a pokuď

Í potom necháte klasifikovat data která jsou totálně mimo někde tady

tak asi dva vrátím jako odpověď A úplně buřt že ty data životě neviděl

a pokuď se přitom trénování stane něco takového že tady máte takový jakýsi vím jako

by jste jedné si možný tak ona vám tady řekne jo to červenej prvek v

pohodě

ta červená

jo ale ona by spíš jako by bylo dobré říct jako ne já jsem si

to tak životě neviděla pozor na to

jo většina modelu s tím nemá problém já jsem nebo vomastil obzvlášť snadnou fotky

ty už na to nejsou tak

tak

poďme se podívat na nějaké praktické nasazení co se s tím dá se zdát neuronovým

a s těma vykouzlit

první příklad

predikce burzy

toto je výsledek diplomky jednom jo studenta a naším cílem tažení bylo z i

časový vlastně data z burzy nějakého aktivován tím že to byl nějakej akciovej index tohle

a na statoru neuronové sítě tu síť naučit aby nám do budoucna predikovala kudy bude

strach

a tudíž nejsme schopni na základě se predikce říct fajn teďka vstupujeme do trhu a

budeme vydělávat peníze

fungovalo to takže

dycky pro nějaký konkrétní časový okamžik horizont

se síti předložila nějaká historie a na základě nějakých X budu do budoucnosti třeba desetinnému

se spočítá průměr a ten průměr se zdálo na výstup a ten se měl naučit

takže potom když si dávala nějaká nová data tak ona vždycky řekla já si myslím

že to bude nahoru třeba o deset sme bodů padesát

přesněji se tam dělo něco takového takže tam týden vzal vlastně nějaké dvě

historie a nějaké tedy indikátory myslím R esíčko nějaký mě řadič a tak dále ale

celé to vlastně slepil do jednoho dlouhého vektoru to šest vstup

a výstup ta síť měla jenom jeden neuron

pak v praxi to fungovalo takže

sítí se předhodil data to síti řekla fajn

tento bude tady bude někde ten průměr řekněme

měli jsme

dva nějaké prahy a řekli sme

fajn pokuď ten průměry jedna prahem tak stupujeme dlouhé pozice znamená spekuluje menu cestu pokud

ten průměry apod

tím spodním prahem tak den pro krátké pozice takže se to veme na pokles

to bylo se to trhu a zase nechala se síť pracovat a pokuď

tady pak už byl jedinej vlastní jiné prahy na výstup té pozice a zase probíhá

podobné rozhodování pokuď nám vyskočil ten průměr nadtyp prahy a ten takže oproti nám tak

se řeklo fajn skončíme výstupem S pozic

výsledek dopadu nějak takto to znamená zase že to síť svedla

vedla celkem dobře

mimochodem kdyby jestli je tady někdo si to mě byl tohle zájem tak bych to

chtěl letos zkusit nebo příští semestr zkusit rozšroubovat v rámci nějaké diplomky do obchodního systém

jak to bude fungovat silná reálných

prší neprší

ten tam student

dělal jako bakalářskou práci předpověď nedorazil

opět

za si neuronovou síť

předhodili vpodstatě

obrázky odezvy sme to radaru chtěl po ní vědět

jestli bude třeba za tři cenu šest nebo za hodinu pršet

teoreticky možná nějaká služba kde si řeknete fajn chci být informován hodin dopředu jestli přijde

nějaký slejvák

fungovalo to tak že pro nějaký konkrétní bylo třeba pro brno

sme si vzali okolí

ty body tak jak tady leží v tom čtverečku sme narovnali zase do nějakého vektoru

přidali jsme několik historii to znamená mínus deset mínus dvacet třeba mínus čtyřicet

minut

a sme tu síť jestli prší neprší budoucnosti třeba plus mínus

třeba do budoucnosti půl hodiny

tak jak to dopadlo

se stane při pustit

tady máte skutečnost a odpovídá to jako by měli byste tam ideální ve všech těch

trčka vidět to samé jak je to skutečnost jo s tím že se samozřejmě jednou

predikce

tak

myslím že to nevypadáš tak až tak zle

na to jak už

byl takový nástřel v rámci bakalářské práce

použití neuronových sítí řeči

je můj obor

tady bych chtěl spíš

ukázat

jednu

možnosti a to je teďka ne jako by klasifikátor ale

něco

čemu říkáme

příznaky potomek i

podstatě o co de vito nelnou si nemusíte trénovat zřejmě třeba by výstup byly nějaké

třídy ale vy můžete nechat zakomprimovat nějaký širší prostor že ten třeba nějaký vstupní obrázek

nebo jaké jakákoliv data nevím máte nějakou webovou službu lezu vám tam nějaký ty cokoli

chcete slově extrahovat třeba nějaký rozumný vektor čísel který potom budete chtít zpracovat nějakým klasifikátor

k tomu právě slouží

honem potomek to znamená když si uděláte síť nějakou velkou tady můžete mít klidně třeba

tisíc skrytých neuronů a uvnitř té sítě můžete udělat úzké hrdlo které bude mít třeba

třicet neuron nebo deset neuronů nebo nějaký malý malé množství

a pokud se vám to podaří natrénovat best nějaké zásadní ztráty přesnosti takový potom dostáváte

věcičku která vám sestupu což může být taky třeba vektor tisíc nějakých čísel

za komprimuje tyto čísla z nějakého malého vektoru malého prostoru

a

to se potom a může hodit někdy dál jo to znamená vy víte že se

redukovaly zásadně se redukovaly dimenzi to prostoru a přitom mám tam zůstala veškerá von

pak

ten zbytek se zatím potomek neseknete bere ten výstupy číslo sedum

plus výhoda ještě jedna toho potomek u je že ten výstup je gaussovský si vám

jestli vám to něco říká to znamená

mají koráby jiné modely

činu

rozpoznávání řeči mimochodem teďka za nějak a konference celkem známá světová

a google brutálním způsobem už asi rok dva roky tlačí právě neuronové sítě on tomu

říká typ learning jsou to neuronové sítě které má třeba osum skrytých vrstev

a tlačítko kde může uštvaná nasazuje to vlastně i ve všech řečových rozpoznávače pokud máte

android a máte tam vše jakýchsi časy

tak vtom by pravděpodobně už měli běžet rozpoznávače postavené na neuronových sítích oni vyhazují nějaké

ty standardní dosovské modely které tam byly předtím protože to prostě funguje lída sto natrénovat

známým datech a

co s tím celkem spokojený

takže

takže i řek jako že právě tady tenhleten výslednici nulový sítě minimálně v nějakém kontextu

pěti deseti let mají velkou

velkou šanci

zpátky řeči

tady je problém ten že pokuď chcete vzít nějaké nahrávky z mikrofonu a přepsat je

to písmenek tak pokud byste se snažili

pracovat přímo takovýmto hrubym signálem

tak máte problém ten klasifikátor někdy pořádně na trénujete protože

stačí aby vám okolo korelu auto já jsem takle toho hlavou někam jinam ten projekt

ten signál se vlastně úplně změní a

na tohleto na takle barevný signál na trvat nějaký klasifikátory v když

takže jak to udělat jenom zase pro představu

potřebujete dělat nějakou transformaci to vstupů mi používáme nějaké spektrum toho spektra potom řežeme takovéto

pro nějaký konkrétní část

jo pokud tady znělo třeba písmenko a tak pro to áčko tadyhle vyřežeme nudličky toho

spektra

ty nudličky narovnáme na vstup neuronové sítě a jako výstup o tom trénujeme binární nějaké

jedničky nuly jednotlivým písmenku takže pokud máme abecedu ale padesát písmenek nebo padesát nějaký fonému

tak tady padesát výstupu a když to bylo áčko tak jedničku nastavíme volačka všude jinde

nuly a začneme to trénovat musíme mít hromady dat

a na trénujeme potom nějaký rozpoznávač pokud do toho pustíme

ten

nějaký neznámý nějakou řeč

na nahrávku tak nám na výstupu vypadnout nějaká takováto pěkná matice a to

kde ta síť jako

vypálí řekne sem výstup jedničku tak to znamená že si myslím že tam je to

tam je písmenko ten daný foném a pak stačí udělat triviální algoritmus který vám projde

tuhletu matici a najde tu nejlepší cestu a pokud přečtete písmenka po té cestě tak

vala máte přepis řeči máte něco co vám řeči udělá

poslední příklad je

modelování jazyka zná textu

tady zase bych chtěl demonstrovat

jinou jiný druh sítě a tomu se říká rekurentní neuronová síť nebo nemusí se zpětnou

vazbu

je to taky věc která se vám může

třeba někdy hodit

ty dosavadní měli tu vlastnost že

kdy dopředné to znamená zase do toho tady nějaká data na vstupu a dostali ste

nějaký výstup

zatímco tahleta rekurentní síť na sobě zpětnou vazbu

čímž pádem o nám najednou má jakousi paměť kdo to dáte nějaký takto

to data tím proleze ale tím že tam máte zpětnou vazbu tak ona si pamatovala

to takto když tam na ty další tak on už tam bude reagovat na základě

toho co bylo třetí

jak se to praxi děla nebo jak to děláme aspoň me je tak že

máme tu

a zkopírujeme při vlastně pro cestování toho vstupu zkopírujeme hodnoty C se skryté vrstvě a

dáme jako další vstupní vektor a tím pádem se tady neustálému ta nějaká hromada čísel

a ty slouží jako paměť

tuto síť

vlastně ten s tím letí modelem přišel od nás jedem jeden kuš

hotový doktora který je momentálně toto okolnosti taky budu

a učí je tam jak dělat

dělat

jak to jak dělat jazykové modely pomoci neuronových sítí

u těch jazykových modeluje tipuji modely něco co vám říká jak třeba vypadá texte vypadá

česká věta když si vemete novinový články a bude sám je ta dneska sem se

měl dobře

tak

vám řekne když máme slovo dneska jsem se měl tak jaké slovo zatím asi následuje

dobře špatně ale nebude tam si auto nebo autobus

a

pak to funguje tak že ty vstupy jednotlivé

tady už nejsou nějaké hromady čísel ale spíše nominální zase nějaké parametry které vám říkají

jaké sou slovo je jo takže když by bylo slovo ahoj jako první tak když

ve větě ahoj tak se tady bude svítit jednička všude budou nuly a na výstupu

zase je nějaký vektor který vám jenom binární říká to ukazuje do nějakého slovníku které

slovo by měl následovat

tak mám pro vás takový

si se tomu říká turingův test

budou následovat tři slajdy S větami

a jedná se o anglické věci které pochází telefonních konverzaci

takže to nejsou takové ty krásné články knižní řeč ale to trošku jako by reálná

konverzační promluva a moje otázka zní byste pak

průběhu hlasovali co si myslíte že pochází člověka to si myslíte že pocházím počítač

přečtěte

pro ku nahoru kdo si myslíte že toto řekl člověk

při

pořád ještě no já bych měl představu o si to množství

jo

tak další

tak ruku nahoru kdo si myslíte že toto řekl

dobře děkuji

řekl bych to

milá smí

ta

třetí

tak teď prosím roku nahoru kdo si myslíte že toto řekl člověk

i

toto neřekl člověk

toto řekla rekurentní neuronová síť

byla přepnuta do modu generativní ho takže jo negenerovala věci

toto řekl

N grammovy jazykový model

cože standardní věc která víceméně se určí pravděpodobnosti projít slov nebo dvojic

takže ona podstatě zná je sou pravděpodobné jednotlivé trojce slova když to předmět generování tak

ono vám naseká prostě ty trojice tak nějak jak sítový

a toto je člověk a toto sou originální nahrávky jako nebo předpisy na kterých to

bylo trénuj

je to jádro to tak fifty možná

možná tady vás bylo o chlup míň ale

celkem se také se vám líbil

tak finišuje

kdybyste si měli něco

zapamatovat k neuronových sítí tak

je to věc která je dobrá zase nějaký klasifikátor nějaký model umělá inteligence která je

dobrá pro učení s učitelem

musíte mít data

abyste tuletu věc naučili musíte mít data která mají nějaké leží musíte znát tu musíte

znát místo

jinak máte smůlu

co se týká dat musíte mít data musíte mít hodně dat

musíte mít kdej ta

sem tady zaregistroval že to check dorazila vrazila mathworld kdy ta za tři roky všichni

budu dělat kdy ta tak můžete si používat tady toto

jo opravdu ono se to hodí musíte mít hodně dát pokud budete mít jako třicet

vektoru tak s tím že musíme natrénujte musíte mít opravdu kvanta čili zda s tím

let

je to dobrá věcička pro klasifikaci nebo predikci nebo extrakci nějakých příznaků které potom dál

budete s nima nějak pracovat

prosím asi

neuronová síť vám dokáže mapovat tu na výstup

dokáže vlastně najít

libovolnou funkci která cestovní

za předpokladu že ta funkce existuje to znamená pokud máte data a ty data opravdu

se dají svátek nějakou funkci ta neuronová sítích dokáže najít naučit

pozor na

je to taková čem na krabička

a

je taková lehce magická lehce náladová

prostě budete trénovat bezvýrazně jakýma parametr má bude vám to fungovat tak něco změní ten

bude vám to fungovat

a se to trošku zkušenosti něco takového natrénovat nicméně pokuď máte nějaká taková data chcete

zkusit si s tím pohrát access tím zkuste hrát já si myslím že určitě nic

špatného neuděláte

o vzorek sem říkal na nějaký outliers to znamená data která tasit životě neuvidí

ona vám zcela bezelstně dál nějaký výstup a že byste si to

musí existovat mapovací funkce

musíte mít

jak jsem říkal dostatek

a poslední věc k trénování

ta vstupní data jak sem říkal musíte je randomizovaného

a co je ještě podstatné musíte rozdělit na trénovací a jakousi cross validační část

na které bude se jenom testovat to může být klidně pouze desetina dat

problém je vtom že pokud byste trénovali pouze vlastně na všech datech tedy budete vesele

trénovat asi třeba bude vesele učí ale ona se vám na ty data při učí

a potom když tomu dáte nějaká neviděla data tak únava podstatě fungovat nebude

takže proto

přitom trénování vždycky používejte jakoby na validaci té sítě nějaká mi viděná data a nic

na tom ověšte jakási dobře funguje a momentě

přitom trénování by se vám to zlomí a na těch neviděných datech ona se začne

zhoršovat tak se zastavte a vy a víte že se vtom optimu té které se

sítě dokážete

tam domyslíte data

na té řeči třeba bylo vidět že ne vždycky je vhodné do té sítě nahrnou

vstupní data tak jak leží běží občas je potřeba trošku přemýšlet a něco s nima

udělat

a elementární nějakým způsobem třeba redukovat ten prostor

tak aby ta si se měla čeho učitelovi to pak bude

learning kterej

obvykle standardní strategie změny toho učícího koeficientu je taková většinou to z nějakých testech bývá

zašrouboval ano

že během učení je konstantní a v nějaké vhodné momentě když už se to blíží

k tomu optimu se ten faktor začne půlit ono díky tomu to dojít toto vede

ještě dál ale to je taková věc navíc jenom kdybyste si potom chtěli účtů

nějaké detaily

pokud budete mít bitrate a tak budete muset řešit paralelizaci mimochodem gt ručka sou hodně

dobrá natrénování neuronových sítí protože sou to s principu brutálně paralelní procesory takže se to

tam se potom dá pěkně

zpracovávat mě a na normální si trošku to co natrénujte třeba za měsíc tak že

se účku zase záporný

a poslední věc

počet parametrů vlastně té sítě to jsou všechny ty konstanty nějaký tiba jestli active jedna

B dva

ku

počtu skrytých vrstev ku vlastně počtu dat

měli byste mít alespoň deset nějakých příznaku nějakých dat na jeden ten parametr ste sítích

že budete mít síť která bude mít dohromady nějakých třeba deset tisíc parametru musíte místo

tisíc nějakých trénovací vzorů a které musí naučit pokud tomu dáte šmída tak to sice

vám potom bude špatně učit

to jenom reference aby mě někdo ne na to že tady

ukradl nějaké cizí věci

a dávám prostor pro

otázky

no nebo já to fakt

jak velká má být síť

čím řeknu takhle čím větší tím lepší jo takže ono to víceméně plyne kolik máte

dat

jo pokud budete mít milión example u tak si klidně můžete dovolit udělat síť která

bude mít suma sumárum třeba sto tisíc nebo deseti si

deset tisíc parametrů když máte hodně dát uděláte malou C tak tím chybu neuděláte

když budete mít málo dat uděláte velkou C tak chybu dělat

kde mi na to když ji chci na něco naučí vím jako je k jaké

mám ty vstupy naslyčenou či

jak je to takový mám udělat aby nebyla schopna si to zapamatovat všechno

eště to řeknu takhle

měla by být alespoň třívrstvá to znamená měla by tam být právě ta jedna skrytá

vrstva aby ona byla schopna udělat nelineární jako klasifikaci

může tam být klidně čtyři vrstvy nebo víc ale

závisí to na tom tyto ten výsledný potom to co máte mobil osum roste

to už se souše zase problém to naučit protože ten error propagovat cesty všechny vrstvy

není úplně triviální takže používejte normálně třívrstvou síť

nebo čtyřvrstvou ale ta třívrstvá vám stačí

tam to máte velice jednoduchý tu máte jasný protože máte vaše data výstup máte jasný

protože máte vaše data tak budete jenom nafukovat o skrytou vrstvu

mimochodem nějaké chytré hlavy dokázali že jakákoli

tří a vícevrstvá síť se dá převíst nebo k ní by měl teoreticky existovat ekvivalent

třívrstvé sítě

jo samozřejmě praxi čili sprosté tím víc

ale

jo klidně začněte třívrstvou nebo čtyřvrstvou chybu neuděláte u těch dalších tam už to je

trošku věda

proč jsou geekovo minimum umělé inteligence zrovna neuronové sítě

proč ne

ne to jako

přišlo mně to jako věc která se dá celkem

snad pochopit

těch modelu té umělé inteligence můžete mít hromadu

ale nechtěl jsem tady popisovat jako dva nějakej staré algoritmy a říkat tom umělá inteligence

je to věc která si myslím že má budoucnost zcela určitě

a není to úplně složité tohleto

jakým způsobem si nějak jako doma postavit nějakou takovou ty

takovýto klasifikátor

no a máme tři čtvrtě hodiny

nevím jestli ste pokoje odpovědí

já jsem se chtěl zeptat jestli ty příklady které ste tady uváděl že se to

pouze ve fázi nějaký studentských projektu nemesis to vznikly nějaké produkty třeba komerční případně jestli

víte o nějakém tak ten produktu

na kterých se ten neuronové sítě jako opravdu pěkně hodí pěkně popisují ten problém je

to pro ten pro to typicky příkladem nasadit

produt neuronové sítě produktu je bych řek

dnešní době možná

ne většina letos věci co dělat byl i výčapy tyhlety věci prostě úměrná opravdu tlačí

a hodně

a co se týká těch příkladu tak dash skončilo jako by jako diplomka taky jsme

si říkali že bysme mohli na tím postavit nějakou službu ale více méně skončilo to

bodě natrhneme síť ukázalo se že to funguje

burza to samé a létám sem celkem rád bych jako to zkusil potlačit dál a

minimálně rozšroubovat o nějaké platformy opět tak to není problém není problém tohle potlačit

co se týká řeči tak mám evuš deset let tady skupinu lázně že sme

mezi světovou špičkou

takže tam to funguje praxi a ty jazykové modely opět

funguje to praxi

jo takže jsou to opravdu praktické věci

minimální ty dva posledního

jo děkuji

tím říká zeptáte jaký software můžeme použít pro simulaci i predikce neuronových sítí

to je velmi dobrá otázka nejdřív sem říkal že bych tady něco o tu řekl

ale

takle ano

nejsem si nebo nevím o tom že by byl nějaký dobrý univerzální jednoduše pochopitelný toolkit

určitě něco takového je v matlabu eventuelně oktávky si vám to něco říkala

jinak vona ta neuronová síť ve své podstatě když to trénujete tak je to jakási

hromada maticových operací

jo na tom není nic

složitého to prostě jenom nějaké si vzorečky

sou nějaké tu ty týmy třeba používáme týnec nebo kauzy nebo něco takového

ale oni jsou zaměřeny na řeč to znamená vy pokud byste do toho chtěli dávat

data třeba nějaký strhu nebo něco takového

tak

ty naše toolkity baští na vstupu nějaká speciální binární formát a chtěj nějaký speciální textový

formát na výstupu a provazy to byla komplikace proto jsem to tady ne uváděl protože

vy byste zbytečně byly matení s toho jak to máte použít jo ale

ne není problém když tam je napište klidně mail a já vám řeknu já mám

posuvů broučka jako kde si můžete s tím pohrát natrénovat titulky ty jsou pohodě izáček

pustíte dáte tomu dotázat premise síť

já bych se rád zeptal když ste ukazoval to si čtou pamětí tak

i data jako by kterého kterýma se to učí tak

jakým způsobem je pro vás hat přitom testová nějak správně zvolit to jejich pořadí aby

se ta C jako by lépe učila popřípadě

čím se odhalí že mám správné nebo nemám správné pořadí těch

těch dat strana otázka v té rekurentní sítě randomize teda to

a to na to zapomněl říct u té rekurentní sítě data ne randomize se protože

ten důvod byste si přeházeli slova ste větě

jo takže tam vezmete celou větu a učit se to normálně na celých na celých

že ta jo pokud potřebujete zachovat ten historický kontext vlastně té zpětné smyčce pokud nemáte

zpětnou smyčku naopak randomize jo musíte to zamíchat aby

při každým to má bejt u těch jednotlivých parametrů nasycené přerušovala pořád jako by z

je z jedné třídy na druhou a potom sem tam

díky

eště byla nějaká ta vlastně i dotaz eště

že někdo bych to řekl

tak jestli to je všecko tak vám čem mockrát děkuji

děkuji vzorový hrozná s tím