těch _e

to těch věcí

o které jsem chtěl povídat napřed _e s _e rozpoznávání opakování dete dvojvé a pak

se vrhneme do takové pěkné grafické prezentace _e skrytých markovových modelů kterou dělám lukáš budu

bit burget mi vážený kolega

a _e příště si to dám eště jednou _e se všemi možnými rovnicemi ale dneska

to bude takové populárnější abyste si zatím dokázal něco představit tak _e poďme ještě jednou

_e rozpoznávání řeči

rozpoznávání řeči když to vezmu úplně jednoduchou se tak máte k dispozici dvě babky

_e u té jedné řekneme že trénovací

a o té druhé řekneme že testovací

a máte říct _e jestli to testovací vacka odpovídáte trénovacího to znamená tady třeba ste

ve trénování řekli slovo ano

a _e testování je také slovo ano akorát že vyřčené nějakým _e třeba jiným člověkem

a má to jiný časování a ten člověk může

mluvit přes nějaký jiný mikrofon a vy máte říct _e jestli

_e tady tahleta stovka odpovídáte trénovací nebo neodpovídá

tak první věc kterou vtom _e rozpoznávání vždycky uděláme je že si udělal může si

každou babičku rozdělíme na rámce

probíhalo tady diskuze vo tom jak mají být dram se dlouhé a jak se mají

překrývat tak takový typický rámcování je po _e dvaceti až dvaceti pěti milisekundách

se překryvem ptát

aby nám _e aby nám vyšla kladen se

těch rámců každých deset milisekund takže teďka podle položíme složitou otázku

když budou rámce když bude nový rámec každých deset milisekund kolik bude za sekundu

to

ahoj jako jo takže počítáme s tím že máme

_e každou promluvu reprezentovanou maticí parametrů

a

teďka

každý vektor tam máme

po deseti

_e minim po deseti milisekunda

teďka mě zkuste říct co tak těch vektorek asi mohlo být

jo tady ten žebříček který chceme teďka _e vybarvil

tak to je vektor koeficientů zkuste mě říct jako kolibřík tak mohlo být a jaké

asi jaké jsou takové prostě typické

koeficienty

který se používají rozpoznávání řeči

tak

mělo by nějak zachycovat spektrum toho daného rámce

takže to bude asi něco postaveného na fourierově transformaci neměli by zajisté obsahovat žádný informace

o fázi protože nechceme aby nám dělalo problémy když ten rámeček bude o jednu nebo

dvě milisekundy posunutý a

dyž prostě _e tu danou úvazku nakous nebo s tady nebo tady to jako nechceme

aby se lišilo

takže tam bude muset být _e nějaký _e brání absolutní hodnoty a nebo a nebo

v absolutní hodnotě na druhou a ještě budeme možná C T aby to _m bral

of úvahu nějaké poznatky o lidském slyšení

eště budeme chtít spár dalších věcí kterým se dostane

to co jsem teďka říkalo tak slyšeli nebo nějakých parametrech který by to je toho

měli

to znamená postaveny na frekvenční analýze

brát v úvahu jenom _e

jenom _e

amplitudy a nebo výkony tedy amplitudy na druhou

a ještě nějak integrovat to jak naše ouška slyší

kepstrum by bylo asi docela dobrým funding kandidátem a těch různých variant kepstra to bude

asi to mel frekvenční kepstrum

co Š jsou vlastně opravdu

notoricky znamená stále používané koeficienty rozpoznávání řeči jo takže maso co C

jsou mel frekvenční cepstrální koeficienty

jenom _e pro připomenutí vstupuje do nich _e

rámec řeči pak se z něho vezme fourierova transformace s té fourierovy transformace se udělá

_e absolutní hodnota na druhou potom to prochází nějakou je nelineární bankou filtrů takovými pro

hraničky

_e

zase budu vám tam psat typické hodnoty jo takže fourierova transformace typicky na dvě stě

padesáti šesti bodech

samozřejmě je symetrická takže měření zajímá jenom jedna polovina

takže sto dvacet osum bodu tady to má pořád ještě sto dvacet osum bodů těch

trojúhelníkových filtrů tam typicky bývá _e dvacet tři takže tady prostě dostanete _e na konci

dvacet tři hodnot každá hodnota je posbírána jedním tím trojúhelníkovým filtrem

když si _e tady ty hodnoty na výstupu filtrů vyplo tneme tak to ještě pořád

vypadá jako spektrum akorát takové hodně hrubé

_e nižší frekvencích je _e reprezentativnější ve vyšších frekvencích je to prostě horší ze selektivitou

protože se tam ty filtry ty trojúhelníky postupně do zřeďují

potom se to nacpe do logaritmu

_e tady tohle ze pořád ještě dvacet tři koeficientu a pak se aplikuje _e vlastně

inverzní fourierova transformace

která se protože to jednodušší implementuje pomocí tak zvané diskrétní kosinové transformace

a výsledkem je tři na

mel frekvenčních cepstrálních koeficientů

teď si _e vám položím takovou otázku za pekli tou proč je tam ta inverzní

fourierova transformace respektive deset _e

proč už nejsem happy _e

s tím s tím výstupem na výstupu

na výstupu logaritmu zory když to vlastně splňuje všechno co sem řekl že by to

mělo splňovat takže

fourierka tam je fázi sme zahodili poznatky o lidském slyšení sem nějak využil protože tam

ještě ta poslední transformace aby se s tím byly opravovat studenti nebo

_e dobře míň hodnot tak proč třeba jako ne zkrouhnout těch třiadvacet a nevezmu z

nich prvních třeba

S T se to je blbá votázka máte pravdu je to tam jednak abych neumí

hodnot ale eště tam ta inverzní fourierova transformacema jednu docela důležitou úlohu

_e

dozvíme se později skrytých markovových modelů

že jim se hrozně líbí když _e tady těch třináct hodnot

navzájem

je nekorelovaných

co to znamená

jako _e lidským jazykem že ty hodnoty jsou nekorelované

čtrnáct tak na vás takhle blafne nějaký matematik

_e že bych chtěl aby tady těch třináct hodnot bylo nekorelovaných co tím kteří

je jedna by neměla záviset na druhého když se když se podíváte tady na tuhle

tak pokud sou nekorelované tak nemáte ani ponětí vo tom jaká bude

jaká bude

ta stavu dva _e odvaž opičky vedle

no a když si představíte to logaritmické spektrum které pořád ještě vypadá jako normální spektrum

takže nějak

nějak takhle a tam se kouknete na dvě nebo tři hodnoty vedle sebe tak jsou

tam korelované nebo nekorelované

docela těžce korelované jo protože sedí vedle sebe ve spektru to znamená velice _e říká

se setkáte s tím že by ty hodnoty lítali nějak úplně nezávisle na sobě

jo takže ta _e poslední transformace

a inverzní fourierka neboli

diskrétní kosinova

je tam _e jednak proto abych šel dimenzionalita u dolů ale taky pro to aby

se ty jednotlivý

aby se ty jednotlivý koeficienty _e de korelovaly

doby to _e by se tím chtěl zabývat trošku

hlouběji

tak _e tak řekněte já vám _e pošlu třeba nějakou tabulku nebo grafiky s bázemi

tady té diskrétní kosinové transformace

vidíte že to není žádná strašná věda protože vlastně to třiadvaceti bodový spektrum se napřed

pro mít a

tady do takovédle báze

co to je

takovejhle signálových nakreslím nebo takle

stejnosměrná složka přesně tak potom

i tam byla nějaká takováhle _m

co to je

_e pozor základní frekvence ne protože teďka sem ve spektru mám třiadvacet bodu ve spektru

a snažím se je promítat do nějakej

do nějakejch útvaru tajnou pak tvaru

tady todleto jestli mě s zrak neklame tak je půlka periody kosinusovky

jo proto se ta transformace taky jmenuje diskrétní

kosinova další _e další ten signál vypadá takhle to vlastně celá perioda kosinusovky pak mám

pocit že sou tam na

_e že tam jeden a půl a takhle to postupně roste a roste a vlastně

přidáváte _e se kosinusovce na frekvenci

_e

když se vezme na ty jednotlivý báze podíváte

tak _e

tak dejme tomu u té u té první a druhé

co byste voni dokázali říct jako z matematicky jo

z hlediska

prošli stejného ortogonality je

já vím že po ortogonalitou si člověk představí doma když jako se nalepí nějakou políčku

a teďka vona jako

D ze zdí pod pravým úhlem tak to je ta z dobrá lidská hordu ortogonalita

to znamená ortogonalita _e matematicky

_e podobnost ne právě že vůbec ne

kolmost no jasně

pro opravu vlasta jak byste tu pravou los třeba _e třeba počítali u dvou vektorů

byste měli takhle jeden vektor a takhle druhej vektor ten bude mít souřadnice X jedna

Y jedna tady ten nebude mít X dva Y dva

skalární součin super a teďka sem vám tady nenamaloval _e vektory ale dvě funkce

že to že na nich ještě pořád pude udělat skalární součin

bude v pohodě

každým bodě takhlek

takhle bysme to asi dokázali numericky a dokonce my sme to dokázali aera a její

analyticky takže vlastně si ty funkce pronásobíme s každičkým bodě a pak to zintegrujeme taky

to bude skalární součin

a když si představíte skalární součin tady těhletěch dvou funkcí tak tady tahleta je furt

say na tahle tede s kladné části záporné části

takže jejich _e skalární součin bude nula a kdybyste si podobný myšlenkový cvičení nebo když

by nestačil mozek tak si to můžete udělat matlabu vyzkoušeli pro jakékoliv další pár _e

baví tak zjistíte že sou vždycky _e vždycky na sebe kolmý přes ortogonální

jo a pokud člověk něco promítne do ortogonálních bází

tak má docela velkou šanci že _e ten výsledek bude mění korelovanej nečteš to do

co do toho budete strkat

takže to jenom to bylo jenom pár slov výběru tady těch parametrů a proč je

tam za poslední krabička

všechny navzájem

když mimochodem když si vyzkoušejte totéž fourierovu transformaci

se kteroukoliv variantou radost do B S T

F Ř do sopel jakýkoli se to

tak _e vám ta ortogonalita vždycky

vždycky vyjde čtyři to vyzkoušet prostě vopravdu matlabu nebo na papíře

zkoušet jo vy vychází tady s těma komplexníma exponenciálama

tak

takže tím sem zdlouhavě chtěl říct

že v těchto vektorech mám nějakou sadu čísel

kterými budu každých deset milisekund reprezentovat svůj vlastní takže

zkusím tady ten zmatek po mazat

_e

tady budeme mít jednu maticí parametrů

tady budu mít druhou maticí parametrů zase abychom si udělali představu vo nějakejch reálných číslech

tak _e počet těch koeficientů

základní přiblížení je třináct tak se mám teďka maloval

s tom krásným muset co schemátku

hodně často řekněme ještě přibírají tak zvaný _e delta parametry a delta parametry to myslíte

že to bude

čím

čím each co se značí deltou takhle jako

jo

_e chyba nebo nebudeš něco jinýho rozdíl jsem tady zaslechl

jo dokonce jako se s _e se _e s tím potkáte v reálným světě

když budete dělat na nějakým projektu

tak _e váš blíž S

máme na schůzce týdnu té řekne tak jaká je delta moc týdne od minulýho týdne

ale teďka jako musíte nastoupit potáhnou si to kravatu jako říct tak jako udělal jsem

to toto jo takže delta se používá jako _e synonymum rozdílu nebo

_e dobře a _e rozdíl děleny časem

je co

když sedím autě

a v čase T sem tady

a za vteřinu sem tady

tak rozdíl těchdle dvou drah

je rozdíl drah a děleno časem je takovéto co

takže to rychlost jo takže prosím vás těm delta parametrům

se taky někdy říká rychlostní

a pak sou delta parametry

a tím se říká jak

akcelerační jasně víte výztuž to umíte

tak

jo angle anglicky vytékalo bylo asi bylo si ty

_e tady toho vektoru jsem to si piš úplně stejně skoro taktika mně ještě řekněte

když máme _e takovýhle

takovýhle vektor tam je třináct koeficientů

jak byste k tomu ty rychlostní parametry spočítali

jo vlastně otázka je

jaká je rychlost změny

každýho jednotlivýho parametrů dobře podle to zjednodušit nebudovat i ochromovat vektorem třinácti parametrů

ale každej deset milisekund něpřijde jedno čísílko jeden parametr

a aby chtěl vědět

jaká je rychlost jeho změny

jak byste to dali dohromady

je sebe co

třeba změnou hodnotou že jo tak byste si vzal minulou hodnotu

a ty dvě byste navzájem odečetli

a buď se to může podělit nějakou hodnotou časovou nebo nemusí vone to úplně jedno

a dostanete pojem o rychlosti a rozpoznávání řeči se dělá úplně to samý akorát se

těch hodnot bere _e bere trošičku víc

většinou se bere okno který má _e kterýma

pět hodnot

to znamená pro ten pro ten současnej pro tu současnou hodnotu kterou bysme označili té

tak _e se tam bere nějaká funkce která má tuším tady koeficient nulu

tady má jeden a půl tady má jedna tady má mínus jeden a půl

tady mám mínus jedna a vlastně takovýmhle okýnkem se ty _e jednotlivý _e jednotlivý hodnoty

pro násobí

pak se to všecko sečte

a dostanete pojem o rychlosti

tak teďka se vás nebudu ptát

dál

_e kdybyste si tady tohleto představili jako číslicový filtr

jo protože to je skutečně číslicový filtr který má takovouhle

_e takovouhle impulsní odezvu

jo

tak _e co by to bylo za filtr jako by měl kmitočtovou charakteristiku

tak jako takhle se občas nakláněla nějaká fáze jo na přednáškách něco se na fázi

zapomeňte tady tohle

tohle sou hodnoty _e

hodnoty koeficientů toho filtru

a nebo si vezměte ten váš minulej ten sobě no moc ode odečítal dvě sousední

hodnoty od sebe ten by měl jako kmitočtovou charakteristiku

jak a

no proto

ano horní proč horní

protože zesiluje změny a kilo je jakýkoliv pomalý

pomalý pohyby stejnosměrnou složku věc spolehlivě kilo jo když byste měli vedle sebe dvě stejný

hodnoty tak stejná mínus stejná je nula prostě tam nezbyde nic když to změny bude

_e změny bude posilovat

ano prosím vás se pokusím světla řada jedna

a

a tady toto sou zeslabit protože

usuš je to dobrý dyž usušen atomy vidět no změnilo se vůbec něco

aha

rešerše taky žaluzie dolů a nahoru se jan indexu

no nic tak

to snad s na to půjde

tak _e dobře takže víme jak udělat _e jim jak udělat rychlostní koeficienty tím že

každou každý vlastně časový průběh koeficientu pro filtru takovýmhle jednoduchým _e filtříčky mac bysme to

udělali ty akcelerační

těch rychlostní to udělám ještě jednou že jo a je to

jo takže prosím vás jenom vás chci _e na vést k tomu že taková typická

velikost vektoru

kterým reprezentuju jeden rámec řeči

by byla třicet devět

ten magický číslo pro rozpoznávání řeči

třináct kepstrálních koeficientů třináct délce

a tři na vojtech del

takže třicet devět

float u

velikost jednoho vektoru

teďka mě řekněte když mám třeba vteřinovou promluvu

jednadvacet nebo létající prase nebo něco takového inteligentního kolik těch vektoru bude

do to ještě nezapomněl

to

jo tak

uvědomte si že pracuju prostě

zhruba cestovkou vektor nebo ne zhruba přesně cestovkou vektoru za sekundu

tak

a teď se konečně dostávám k tomu _e rozpoznávání

kdy vlastně tady mám takovouhle krásou matici s parametry tady mám taky takovou krásnou matici

s parametry vám tady tyhle dvě navzájem srovnat

tak zkuste měří s C pokud byste tady tohle

srovnali dejme tomu zmenšováním řetězců jo máte řetězec _e znaků metající prase

a pak máte druhý řetězec znaků

a chcete zjistit jestli bylo řečeno létající pro se nebo ne

a teďka tady máme takový matice _e řečových rámců tak mě zkuste popovídat taky tam

budou rozdíly

no pro první rozdíl bude ten že dva _e dvě písmenka můžete match note přesně

nebo ne prostě lo

jo a není to nic jinýho jo

jedno do

dva řečové rámce nemůžete match know přesně protože ani ten samej člověk ani přesně stejných

podmínkách to nikdy nedá tak aby těch devětatřicet čísel těch float u bylo uplně přesnej

že budeme muset _e se uchýlit

buď k měření nějakej vzdálenosti a to ste viděli _e

s budete véčka zaliju a ještě to tady _e ještě to problém jednou a nebo

se budeme muset uchýlit k nějakýmu modelování statistickým u

když si třeba řekneme uděláme model teďka vlastně pots ten modelu vložím jaksi ty _e

ty naměřené parametry a podívám se jak moc ten model bude pálit jo a tady

toto pro mě bude míra _e míra podobnosti

takže

tohle bude jeden problém jo modelování nějakejch rozložení nebo měření vzdálenosti

druhej problém bude

co

ne to může být česku jinak dlouhý jo prostě _e napsané slovo ahoj má pořád

čtyři písmenka a když je to jinak tak to je špatně

_e řečené slovo ahoj může mít čtvrt vteřiny

když to říká

ostrava takové ahoj

tak to bude mít šestnáctinu vteřiny a když to ve říkat želva tak to bude

z dlouhé dvě vteřiny a pořád to bude to samé slovo to znamená že se

rozpoznávání řeči se nevyhneme nějakému časovému srovnání časové normalizaci

jo a teďka ještě aby to bylo složitější

tak _e

souhlásky

který _e dvou natáhnout

a souhlásky který nejdou natáhnout _e když budete po někom chtít

aby _e kdy řeklo slovo prase _e

dlouze tak že si řekne práce

jo a no můžete si vyzkoušet klidně _e tetě si jistě všimnete že _e na

_e na samohláska toto natažení dokázali udělat

ale třeba na plus vývě to

prostě žádný natažení nebude

jo to znamená pokud by někdo měl výborný nápad ten

že mezi těmito dvěma sekvencemi udělá lineární srovnání časové to znamená že

_e si řekne tady tohleto je délka nul

a tady tohle je délka měl

a teďka si udělám nějaký přepočítala tý koeficient který bude funěl lomeno L

a změnám sobě na _e tato tady jako pojedu nějakým indexem ten indexy vynásobím kontaktu

měl lomeno D a pak to zaokrouhlíme dolů na celý rámce abych mohl indexovat tady

tak je to předem odsouzeno

neúspěchu jo protože to _e protože to takhle funguje

takže budeme potřebovat nějaký nějakou techniku

která

si vlastně to indexování dvou sekvencí bude řídit úplně sama

a bude sama vyhledávat ty místa který spolu co nejlépe sedí jo

no a teďka už se dostáváme postupně _e kde se dvojí véčku

_e zase budu muset podívat do nějaké přednášky abych

abych _e měl správnou

správnou notaci

_e jo délka

délka referenční promluvě R vilka testovací promluvě to

změny zase musel vědět

jo takže tady tohle by bylo reference a tam a R frameu

a ten test má

to frameu

a teď těch _e si udělám to že já si _e zařídím

dvě

_e neřekl bych nezávislý ale dvě indexovací funkce

první se budeme nula jmenovat erko

a druhá se bude jmenovat řekl

a rok to vlastně bude poloha indexu ste referenční sekvenci takže semka někde bude ukazovat

řekl

a sem to bude ukazovat řekl

a budu si muset ty dvě indexovací sekvence řídit tak aby byly vždycky nejlepší

_e

asi jehož tušíte

že budeme muset

mít

nějakým způsobem zajištěný když _e tady bude mít prostě na indexoval i

v referenci jeden vektor

zrovna tady tenhleten

a testu budu mít na indexovány taky nějaké vektor

tak my musíme mít nějakou možnost S rovnat co byste doporučovali na srovnání dvou dlouhej

devět a třiceti prvkových vektorů

dobrý tak vidím že to je složitá otázka

když máme dvě čísla Á a B

tak byste je srovnali jestli sou podobný nebo nejsou

si

rozdíl bezva

rozdíl může být kladné nebo záporné kde se mně nelíbí a nechci aby šlapanic do

brna byla záporná vzdálenost

tak nemohli takhle třeba ne

a vy se to dobře počítali bysme to mohli dat jako na druhou ne

a řekněte mě tady tohleto

počítá

tam se můžu zbavit že jo to je _e

ne moment lomeno nekecám

prostě absolutní

hodnota no já bych

nedokázal spočítat jako taky druhou odmocninu

N

a mínus B na druhou

tak proč myslíte jsem to dělat takhle hrozně složitě

ne

ale jo

tak _e teďka budu mít dvouprvkový vektory budou mít _e vektor Á jedna dvě

který mě bude určovat _e

zetové souřadnice jedna souřadnice dvě tohleto je

vektor Á jedna a dvě

_e budu mít _e vektor E B jedna B dvě

a já budu chtít vědět jak tady vzdáleno

jak na to

perfektní tak toto tady uši nadefinuju nějakej pojem jako de tlustý _e jako že vektor

tlustý B jako že vektor

_e bude druhá odmocnina

_e

B dva mínus B ježíš maria

B dva mínus a dva

na druhou

plus

B jedna mínus A jedna na druhou

super tak takhle bychom to asi dokázali jo na když budeme mít teďka devětatřicet ti

nebo obecně nějaký P rozměrný vektory takto budeme dělat úplně stejně to znamená de

a

tlustý bude zase druhá odmocnina a teďka to tam budu asi muset uzavřít do nějaké

sumy protože bych psal

zase mimochodem jednou viděl v nějaké písemce

_e sem dal nějaký prostě jako

výpočet který vedl na

_e na geometrickou sekvenci a očekávám takhle kratičký jako vzorec a

budete tam rozepsal a když popsal tři řádky tak tam napsal a to už bych

se psal

tak ale mně to dobře dostupný počet bodů

_e takže bychom měli _e dimenze těch vektorů beka mínus tak a

a káčko bylo vod jedničky do P kde P je velikost vektoru a tady tohle

by bylo

na druhou jo takže euklidova vzdálenost prosím vás se počítá úplně stejně ve dvourozměrným jako

v deviza třiceti rozměrným prostoru akorát že to byly do třiceti rozměrným se to dá

trošku hůř _e

Ú S

_e pochopit a představit

tak

_e dobře

co sem tím chtěl říci

chtěl jsem ti říci to

že

když si ten referenční

vektor

nebo referenční sekvenci

referenční promluvu

teďka se zase musím pardon podívat i jestli u maluju vodorovně nebo

jo referenci jsem maloval svisle tak dobrý

tak

zase si že tady tohleto je referenční promluva

jo K každej ten vektor obsahuje devětatřicet čísel

tohleto je testovací promlouval

a teď _e si budu schopný spočítat takovouhle matici

která se bude jmenovat matice lokálních vzdáleností a to nebude nic jinýho než prostě

vzdálenost

šest vektoru každý s každým jo prostě tady když vezmete ten vektor druhé vektor tady

na tomhle puntíků matici najedete vzdálenost _e nebo ne najdete spočítáte si pomocí vobyčejná _e

euklidovy vzdálenosti vzdálenost tady těhletěch dvou vektor

jo takže máme dej dejme tomu li tady tato promluva _e jednu sekundu a tady

tato _e promlouvám Á nula celá sedmdesát pět

sekund tak mám sedmdesát pět krát to

_e takovýhle lokálních vzdálenosti to je hrozně hezký ale bych potřeboval jenom jednu jedinou která

mě bude kvantifikovat jak moc je ta testovací promluva blízko referenční

a eště sem říkal by bylo dobrý _e kdyby ta _e kdyby tam vzdálenost nějak

zohledňovala optimální na skládání těch _e referenčních a testovacích vektorů na sebe

tak

teďka bych od vás chtěl

nějaký rady protože my _e tu jednu vzdálenost

asi nebude ochotně počítá jako třeba sumu tady těch čísel toto byl nesmysl že jo

co by bylo potřeba udělat

teďka je _e téhleté velké tabulce si nadefinovat nějakou srovnávací cestu

jo

tak

která bude říkat který vektory se spolu budou _e srovnávat

a po téhleté cestě se bude počítat a finální vzdálenost takto se vám tam nelíbí

a testy

ta smyčka že jo

_e

dobrý ten ani blbě proč to tam proč jako zrovna ne

_e _m můžou _e

ale _e dal srovnávací cesta by měla respektovat to že řeč plyne

prostě jako v odleva nebo od minulosti

do budoucnosti a nemůže se mění jo to znamená zase stavím _e obou těch směrech

měla být

tak to řekne matematicky

_e

no funkce může být celkem cokoliv ale ne class neklesající menu

pole může být může být konstantní

jo

ta funkce může být konstantní proč protože _e právě jedna _e jedna promlouvání kratší druhá

je delší a vy můžete chtít aby se jednomu _e testovacímu frameu na rovnalo tady

třeba deset jo deset frameu _e referenčních pokud

se to vašemu algoritmu vedle líbí jo takže jako konstanty tam být mohou

ale nemělo by to rozhodně klesat nemělo by sto dvacet

to byste ještě u té cesty

_e očekávali takový

inteligentní

_e

to vlastnosti který by to cesta měla mít

říká se budov tato úplně plně houpej oleg dobyta cesta měla začínat

na začátku že by měla končit

na konci jo takže jako bylo by fajn kdyby ta cesta začínala tady

a končila tady

_e to by eště bylo fajn

kdy bylo to kdyby ta cestám byla

_e nějakým způsobem regulovaná co se týče si ho maximálního _e maximálního skoku

nebo kroku

jo a ten krok si většinou řídíme takže tato _e velice konzervativně takže ta cesta

prostě může udělat

_e jeden posunu s testu

a žádnej v referenci

nebo může udělat jeden posun v referenci a žádnej testu

a nebo může udělat _e jeden krok v referenci I testu tímhle zajištěny se nám

to press cesta taky vez buben vezme všecky vektory a nebude _e že nějak nesmyslně

nebude nějak nesmyslně přeskakovat

jo a pokud už jednou máme takovouhle testu cestu _e nadefinovanou

tak _e my si můžeme nějak označit se a teďka nevím jak jsem to měl

přednášce

_e tady sme co

protože tadle zase to sem nebudu jmenovat co

a teď si můžeme definovat podle tady této cesty dvě _e ta cesta bude popsaná

nějakým

svým krokem

jakým prostě počítadle _m počitadlem K normální hodnota která valí vod jedničky až do až

do délky té _e cesty

a _e budeme mít dvě indexovací sekvence první bude rok _e

a ta bude indexovat referenci a druhá bude to K

a to bude indexovat _e test a obě dvě tady tyhlety funkce závislý na _e

nezávislým parametru K budou dávat dohromady cestu jo

tak _e teďka mě zkuste říct _e

pokud teda mám takovýhle _e takovýhle omezení pohybu té cesty to znamená

kdybysme to napsali tak budič

_e buď červ K

_e

plus jedna

rovná se

rok _e

plus jedna a

_e

a to K plus jedna

rovná se to K

nebo

jo tímhle vlastně zapisuju teďka podmínky nebo rok N plus jedna

a toto napíšu jednoduše jo se nehýbe

a _e

a to je to plus jedna rovná se

tak _e plus jedna

nebo

nebo obojí

tady to je teda matematicky zápis jako blázen ale na ten přesnej se podíváte do

slajdů

takže pokud mám ty podmínky takto definovány tak mně řekněte jaká může být maximální délka

cesty

přesně tak jo tady když _e

to reference má délku R a test má délku velký T tak maximální délka cesty

bude _e bude R plus to

tak

R růstu

jo protože nejhorším za _e možná alternativa že tam dostanu takhle

a nebo takhle

a všechny vostatní sou kratší

tak _e

tetě _e

bychom si mohli jiří

jak

bude

_e jak se bude počítat _e váha nebo vhodnost

každé té cesty

koncovým co byste mě poradili jak rozlišit jestli nějaká cesta dobrá nebo špatná

dobrý a teďka jako by to asi chtělo nějakou formu ku jak to spočítat

takže dobro cesty

_e

to budeme značit asi D kordisté řekl nějaká vzdálenost

bude vlastně

počítat prokl se rovná jedna

_e

teďka nemám žádný písmenko na _e na počet

roku té cesty

tak dejme tomu velký K jako C

a tam bude ta lokální vzdálenost a teďka čeho

dvou vektorů

v referenci na ten vektor ukazuje

tady tahleta indexovací sekvence

a s testu a ty vektory ukazuje tady tahleta sekvence a teďka nevím zase jak

se _e značili ty jednotlivý vektory aha testovací s označil o a referenční R a

protože sou to vektory tak musí být tlustý

takže o

tak jo

a R

jako

_e

tak a teďka _e prosím vás

mě tam ještě něco

chybí

na určení dobu dosti každé cesty

_e vzdálenosti nebo čím přesně

R podporu poďme postupně

když _e vlastně udělám takovýhle

_e když udělám takhle počítání té jedné

to je jedné _e lokální vzdálenosti dvou vektorků

tak _e já musím nějak zohlednit jak jsem se tady do téhle tvoje dvojice vektorku

dostal to buď může být vlastně tady

nebo může být tady no můžu by tady

a teďka přichází na řadu nějaká penalizace

jo nebo _e

znevýhodnění té které cesty

a já to udělám fikaně a řeknu tak když jsem se pohnul jenom v jednom

směru

tak bude váha tady téhleté _e lokální vzdálenosti jedna

jsem se pohnul tady

jiným směru ale zase jenom v jednom tak bude váha dvě a teďka pozor tak

to bylo jako za komunistů jo to znamená jako ten kdo pracoval mosazí base rychleji

tak jako ještě

ještě si ho podali tak

to je úplně dete ve je úplně stejný to znamená pokud se pohnou příliš rychle

obou směrech

tak _e to povolím

ale dám tomu váhu dvě

to znamená tady toto vlastně bude zatíženo takovýdle pohyb větší vahou jo takže tady přidáme

nějaký _e nějaký koeficient

který bude

_e který bude záležet na mým pohybu cestě a pravé sme si řekli jakou váhu

že když se pohnu takhle tak to bude jednička když takhle tak jednička

když takhle na šikmo tak

tak dvojka

_e

který udělám jakou velkou čáru

a

tuto spočítanou mu na kumulovanou vzdálenost budu něčím potom chtít podělit po normovat

čím byste asi ten řekli

prosím

bacha délkou cesty ne pozor a dycky když máte nějaký vzoreček

tam je suma nějakých hodnot které jsou násobený určitými vahami

jo protože ty dvojice krásová

a pak vám řeknu bude se normovat tak a jsou tam vlády

bacha maximální délka temene vzorečku jsou váhy _e

sumovat přesně tak jo vždycky když nic neuvidíte něco takovýho a je tam dole normalizace

tak je tam prostě suma vach

jo

takže tady bude suma všech dva

tak

kolika suma vach asi tak je

to zkuste popřemýšlet kolik ta smlouva asi tak bude klidně si nakreslete na čtverečkované papír

nějakých pár obrázku

stanic kolik to asi to bude

no ste R plus T vlastně byl kate referenční promluvy

plus délka testovací promluvil

tady tenhleten setup nebo _e tohleto nastavení vás má tu výhodu

že opravdu ten normalizační faktor

pokaždý bude úplně stejnej

bude to R mluvte

cože hrozně fajn

protože _e nám to velice zjednoduší věci

výborně

mám krásný velký vzoreček

pro _e výpočet srovnávací

_e nebo pro výpočet vzdálenosti těch dvou sekvencí po jedné cestě

takže teďka _e nic nebrání tomu abych si tam na tahal všechny možný cesty

že jo

pro každou spočítal tady tuto hodnotu

a pak si vybral jenom jednu jedinou která bude reprezentovat srovnání tady těch mých dvou

_e promluv která to bude

jak a

nejmenší před přesně tak nejmenší vahou protože tam si vlastně budu jistej že se k

sobě narovnali vektory kterých _e nejlíp sedí který každá dvojice budou mít nebo ne každá

bude mít minimální vzdálenost ale sumě

dosáhnu minimální vzdálenosti

jo takže ještě jednou mohl bych

pro zkoušet teďka všechny možný cesty

ukažte vyhodnotit tady tu do C

pasivních vybrat co nejmenší asi jo P mám jednu hodnotu dete ve vzdálenost

a tahle bude _e výsledek

mýho srovnání

akorát že by to asi dalo trochu práce že jo

tak _e poďme zkusit zapřemýšlet

jestli _e

jestli by se to nedalo nějak

obejít

zjednodušit

tak _e

já vám ukážu takovej

takový obrázek

_e a tom obrázku C definujeme _e druhou matici to bude tak zvaná matice částečných

kumulovaných vzdáleností

asi si ho budu chtít namalovat tady

vedle této to tady trošku promarnil

tak

tady toto byla matice lokálních vzdáleností prostě každý s každým

a tady toto bude

matice

částečných

kumulovaných

vzdáleností

a na matice částečně kumulovaných vzdáleností

každičkým svým bodě

obsahuje _e nejlepší _e

obsahuje

nenormalizovanou

_e vzdálenost

jo to znamená beztoho to faktorů

po nejlepší cestě

která vede zpočátku tady do tohodle

no tohohle bodu jo

to jak tam zajistíme tu nejlepší vo tom si právě teďka budeme povídat jo to

znamená ta _e vzdálenost vedou

my budeme značit

zase musím

_e jo G

_e

tady je prostě nějakej bot

E G

G P je

tak ta obsahuje

vlastně pro tento vzoreček

který vychází počátku ale končí právě ne nejde a že až do konce promluv a

dokončit tady tomhle bodě

tak a teďka prosím vás _e bych

chtěl

abyste si představili tady tuto _e

toto záležitost jako tabulku

drama jaký sloupce nějaký řádky

_e já tu tabulku

plním vodspoda nahoru

tady můžu mám

tady můžu mám všude vyplněnou

jo to když to je dobrý tady to taky dobrý

a proto tady na tomhle bodě

si vyrobit tady tento bot B je

odkud jsem se do tohodle bodu tak si mohu dostat

zespoda zleva a nebo zespoda zleva jo

tak nebo tak

a je docela dobrý že tady v těchto bodech účty vzdálenosti mám hotový tam to

může mám spočítaný

jo tady máme nějaký _e de

_e já teďka nevím co je pro mě vodorovná to svislá nasekané prostě tipnuté Í

mínus jedna je

tady mám

hobby houby pardon tady to sou všecko géčka jo

tady mám G T mínus jedna je

tady mám víte co

to je to byl hroznej matek _e mám udělám zoom tady na toto

tak

chci počítat tenhleten chlíveček

kde hodnota k D R jo

a tam jsem se mohl dostat tohodle bodu kde mám G E mínus jedna L

a nebo s tohodle bodu kde mám K V

mínus

_e

G E B mínus jedna je mínus jedna

a nebo tady vodsaď

kde mám dvě D

je mínus jedna

odněkud inu jsem se tam dostanem o

a sem si jistej _e nebo vím že tady tyto hodnoty mám spočítaný abych teď

chtěl abyste měli mě dali předpis pro výpočet tady této hodnoty kterou neznám

a pozor budeme konstruovat vlastně jako lokálně optimální cestu tady někde počátku které je tady

někde pryč

do tohoto

do tohoto bodu

s tím že už mám hotový cesty sem

sem a sem

tak mně řekněte prosím

_e kterou těch se mám do tohoto bodu G P je protáhnout

no

asi tu která mi tady tomto bodě dá nejlepší tedy minimální výsledek že jo

a _e ně vlastně stačí

udělat to mně stačí vzít si lokální vzdálenost těch dvou vektorů kterou si vyberu tady

se

_e tady k té levé tabulky jo to je to tady tu modrou vzdálenost troufám

přepočítanou samozřejmě to D je

a já ji zkusím připočíst

tady k tomuto bodu

s koeficientem jedna

zkusím ji připočíst tady k tomuhle vodu

bacha koeficientem dva protože penalize jo ten hodně rychlý pohyb po úhlopříčce

dva krát D je

a zkusím ji vzít _e připočíst _e tady to mohl bodu jedna krát D je

a s těmi co udělal s těmi třemi hodnotami

vyberou by bylo nejmenší jo tak mě třeba jako nejmenší v jinde tady tato

tak to je výborné protože já a naplním ten bod běží je tady touto hodnotou

tím pádem dostanu čísílko a eště by mohlo udělat to

co když budeme někdy chtít _e když budeme někdy chtít zjistit jak to optimální cesta

vypadá

co by jste doporučovali

bylo by dobrý si zapamatovat

odkud sem tady do tohodle vodu přišel znamená mít _e mít nějakou _e paměti

jeden integer nebo pointer nebo cokoli tam si uložím že sem do tohodle bodů přišel

tady zespoda

tak a teď tě _e si zkusme _e

teď si zkusme jako trošku

zkusme zapřemýšlet

pokud tady ta cesta

potom s tohoto bodu půjde

nějakým jiným směrem kamkoli cache až do konce

tak může tady tenhleten zbytek ještě ovlivnit

tento výběr můj který jsem právě udělal

jo kdy když potom na té cestě budu mít ještě dalších deset hodnota budu se

rozhodovat deset doprava nebo doleva

tak _e má některý tady s těchto jako budoucích

puntíku šanci ovlivnit nebo nějak změnit tady tenhleten o můj výběr

nemá

jo tohleto je prosím vás hrozně důležitý C u algoritmu dete dvojvé

že vlastně já můžu udělat lokálně

nejlepší rozhodnutí

a tady to lokálně nejlepší rozhodnutí už potom nebude dál dalšíma výpočtem a změněno

toto to je prosím vás jako hrozná _e rovná bomba a prakticky základ celýho dete

dvojice

a v mírné varianty potom i skrytých markovových modelů jo protože já vlastně

postupuju v té tabulce

_e normálně zleva doprava zespodu nahoru

prvními s každým bodě si udělám prostě nějaký rozhodnutí a to rozhodnutí potom bude platit

tak _e teďka mě prosím vás řekněte dvě věci jak tady ten _e jak tady

ten algoritmus ukončit co když

tedy dojde do tady do toho posledního chlívku

dobře pokud to potřebuju pokud mně stačí jenom numerická hodnota srovnání těch dvou sekvencí

tak se na nějaký vykresování můžu celkem _e

celkem vykašlat a prostě si vezmu tu hodnotu udělám jednu operaci pozor jakou

musím to znormalizovat jo protože tady ta tabulka mě s udává nenormalizované kumulované vzdálenosti

a prostě mám srovnání těch dvou sekvencí končím šmitec

jo

když budu chtít _e samozřejmě zjistit jak vypadali průběhy těch dvou sekvencí _e teka a

R K znamená jak vypadala cesta

tak si tady v tom poslední bodě řeknu odkud sem tam přišel o co

odkud sem přišel sem a odsud odkud jsem přišel sem _e osum roků jsem slyšel

jsem a tak dále a může se takhle době které jsou what cache

action a počátek a zjistit jak to optimální cesta skutečně vypadá

tak ještě sme si nefunguje pověděli _e jak to bude tady s tím prvním

jak to bude s tím prvním řádkem a s tím prvním sloupcem prosím

jo tam to není tak úplně jasný jak ten algoritmus nahodíme vlastně jako inicializujeme

co byste tady

co byste tady doporučili

jo vyplnění prvního řádku a prvního sloupce

_e musíš more to ne

jo prosím vás tak dostanu čísílka

sem

a sem

nebo

jak vlastně dostanu čísílko sem

no úplně prvního chlívků který má index jedna

prosím

jenom

bacha já vlastně ten algoritmus nahrazuju

a tím nahození udělám takhle šikmý pohyb

takže ano je to tam déčka ale vahou dvě

bacha jo to je to je jako taková nepříjemná věc

že tady tento chlíveček je spočítaný vlastně jako de jedna

krát dvě

že tam je penalizace

a jak potom vyplním ty další chlívky

no je tam jenom jediná možnost jo prostě jako jedu takovým způsobem

že vždycky té předcházející hodnotě přidávám patřičnou hodnotu těch ste matice _e lokální vzdálenosti

kdybyste to prosím vás chtěli vyjádřit matematicky jako jak tam teda zkonstruovat tu podmínku tak

můžete říct tady tohleto je vlastně úplně klasicky dete véčko

akorát _e tady udělám

tu záležitost že hodnot že se tam přidám nějaký extra řádek a přidám si tam

extra sloupec

a tím extra řádku extra sloupcům dám hodnoty nekonečno

jo takže kdybyste se tam teda jako chtěli pohnout vodněkud minut

tak to pude ale hodnota to je

tyčky bude nekonečno plus jeden krát lokální vzdálenost takže hrozně velký tak si ji stěrači

vyberte tu druhou

no a tady toto je

toto je princip _e nette dvojvé

možná že bysme si ještě na to rezervuje ve mohli tak nějaký

nějaký rychlo příklad

ale příklady uvidíme ještě na poslední přednášce mám na numerickém cvičení

takže jenom _e tady to zdlouhavější opakování uzavřu tím

jak pomocí determu jde udělat a rozpoznávač prosím vás

jo zatím sme se tady bavili o srovnání dvou sekvencí vektoru referenční testovat

teďka chci aby to je to rozpoznával aby se tím třeba dali říká že telefonní

čísla nebo volit jestli chcete šunkovou nebo sýrovou nebo obou pizzu

a nebo mimochodem moh zavěšení mobilu máte rozpoznávač zaměřené na dete véčku tak máčknete tlačítko

ke smete do toho kočička chcete aby to dalo

telefonní číslo vaší mile

přitom tam máte té konkrétní milé máte tam vložených deset telefonních čísel různých milých a

jak to teda teďka uděláme prosím vás jo zatím sme se bavili o srovnání dvou

sekvencí tečky rozpoznávat

tak

to bude docela

straight forever že jo budu mít nějaký slovník

k tomu slovníku

budu mít různý

referenční sekvence vektorů

jo tady toho bude třeba nějaká

R jedna

_e toho bude na ta kratší dobude dejme tomu R dvě

a to D

proč nějaké R

R

měl

každá ta sekvence vektorů prosím vás má M S C tečkama tam prostě pěkně vyskládané

každých deset milisekund

pak příde test testovací nějaká promluva

velký tlustý o

tak _e co uděláme

si rozpoznat která si referenčních sekvenci

to byla

a tam máte nějak něco pěknýho tak tady třeba

toto je _e

čunkova

nic

sírová

_e

a Y

tak jak rozpoznáte kterou ten člověk chtěl pizzu

máme dete ve máme mocný nástroj který dnes teďka právě vyrobili

no tak jacka spočítáme dete ve vzdálenosti

vstupní sekvence

ze všema reference _m a

jo

pro každou referenční musíme spočítat

maticí lokální vzdálenosti potom tam poštvat ten _e ten algoritmus

na stavění matice částečně kumulovaných vzdálenosti a dostaneme sadu

do té vzdálenosti

R jedničkou

de o

R dvojkou měněna až de

slov tvýho

S R

měl

co s nima

vyberu nejmenší a je to

minima vyberu minimum

a je to třeba tady tahle takže chci pizzu a Y

jo uvědomte si prosím vás že _e právě pro výběr

může možná že nám nebylo jasný

když sme tady došli nakonec se _e na konec té matice tady jako semka

proč tam ještě bylo potřeba nějaká normalizace jo protože já sem říkal že tady si

vlastně vememe poslední hodnotu

_e to byla _e to bylo vlastně ta částečná kumulovaná vzdálenost dvě C R

a teďka ju eště musím znormalizovat

_e

těmi dvěma

_e těmi dvěma délkami

tak tady toto nám nebylo jasný proč jsme to dělali

jo _e

uvědomte si že pokud máme ve slovníku

_e když máme ve slovníku

dvanáct vypit

jedna

jeden názvy třeba nic

a druhá je sírová artyčoky a

ostrým dresink M

a jedno slovo má _e dejme tomu a nevím sto milisekund a druhým a čtyři

sekundy

tak ty dvě hodnoty _e

částečných kumulovaných vzdálenosti budou mít úplně jinou dynamiku

jo to znamená kdybyste _e kdybyste tady tyto dvě hodnoty

srovnávali

tak klidně můžete říct slovo blaf

a pak můžete říct _e slovo _e

jo sem teďka zapomněl

kruhová syrová s výborným dresink M já můžete to říct úplně přesně a to slovo

blaf i když bude když naprosto nebude odpovídat co voni

tak bez normalizace i když tam budete mít totálně štilácký _e lokální vzdálenosti tady bude

tak málo

že prostě sumě vám dají lepší hodnotu než když budete rozpoznávat nějaké dlouhatánský heslo

jo pokud budeme normalizovat C

_e délka s testovací sekvence plus délka referenční sekvence tak máme šanci že ty hodnoty

budou numericky

srovnatelné

jo tak to bylo jenom poznámka ho

o normalizaci a proč

kdy tam budem potřebovat

no a tady takhle si můžete klidně vyrobit _e rozpoznávač izolovaných slov nějakým malým slovníkem

a já si teďka neuvědomuju jedna z labiny jedete dvojvé nebo ne nebo není

jedna z laboratoří

našeho předmětu

no

je tam

jo tak už o tom nebudu povídat protože do uvidíte v laboratořích a jako s

těch z těch aktuálních nebo s těch _e umí to sou

aktuální výborně

tak _e dobrý

takže toto bylo devíti dublinu

teďka se poďme podívat o kousek dál

a jsou skryté markovovy modely kde vlastně

vidíme velmi podobné věci

aha

tak a teďka teda _m chviličku technická pauza protože

_e

tohle vám budu muset ukazovat ze svýho notebooku

možná malovat na tabuli

lukáš totiž používá nějaké krásného takové udělátko kterým se do power pointu dají psát

rovnice macechu

akorát že to

potřebuje nějakých pár fontů

které se samozřejmě nedají nainstalovat na školní

mašiny

ho

modrá obrazovka sem nebral

no tak zmizneš než nabootujeme

tak to jim mám protože na těch prvních několika s rovnice zrovna nejsou

tak _e

_e

extrakci

příznaku sme tady povídali

jo to znamená

každý kde sedmi sekund dostaneme nějakou _e nějakou hodnotu

a teď prosím vás lukáš to tady má ukázané na _e jednorozměrné příkladu

a takový kulkách do plotu kdy vlastně řekneme že každý řečový rámec máme k dispozici

pouze jednu jedinou hodnotu _e nějakýho parametr

jo a teď prosím vás _e rozdíl od toho jak to vypadalo

jak to vypadalo před chvilkou

před chvilkou _e sme to měli takže existovala ve slovníku

rozpoznávače

konci měli systém restartnout

vidíme to zkusím ještě jednou bude další modrá obrazovka

tak _e měli sme ve slovníku rozpoznávače

_e nějakou jinou

promluvu

která měla taktéž své hodnoty

a tady tyto hodnoty

sme spolu navzájem srovnávali napřed sme si udělali nějakou tu velkou matici lokálních záloh ty

pro tam hledali nějaké cestičky

a tak a tak dál

a teď to bude trochu jinak

my ve slovníku rozpoznávače nebudu mít nebudeme mít žádnou jako _e referenční promluvu

ale budeme tam mít nějaký model

a ten model

bude

jako kdyby

generovat je tyto hodnoty

a u každé té hodnoty

budeme schopni říct

jaká je pravděpodobnost toho že by ten model zrovna tady tuto hodnotu vygenerovat

já _e říká se ten mohanem kam generativní modely a to je to ne _e

ten pojem _e vobčas jako nemá moc krát protože on je ve skutečnosti nic ne

generujou

prostě my potřebujeme jenom ty pravděpodobnosti jednotlivých hodnot tady v tomhle případě

skaláru normálním ne zase modrá obrazovka sorry

normálním případě vektoru

_e takže já mám _e já někdy říkáme že budeme počítat pravděpodobnosti s jakými ty

vektore ty modely jednotlivé vektory žerou

takže prostě moje modely budou spíš hrát nějaké hodnoty

tak zapomeňte naše společenství pracovat

to je to pouze stává se vám něco podobného sedum N když set připojíte na

tom jedu row _m na bezdrátovu síť a poslední odpojíte

a _e

nebo chcete znovu

máte počítačové spací módu předtím struny připojení na sedum a pak přijdete do nějaké místnosti

kde drum není tak stala se vám že vám

padá počítač na ústa

docela zajímavá věc

toto líbezná mohli vyřešit protože to bylo docela pravidelně

modré obrazovky jsou

su modré

obvykle s tím že já tady ty fonty nemám

jo je to tam na prase já jsem směna výborně

tak poďme na to

takže

nebo fischl jak sme si něco říkali minule o tom že budeme modelovat _e taky

poďme se podívat na úplně nejjednodušší příklad _e

kdybychom chtěli vzít jeden rámec řeči

a chtěli bychom říct jestli je tady zahráme C tři patří do jedné nebo do

druhé třídy jo tady

_e je takový jednoduchý přiblížení

že toto je dejme tomu spočítaná krátkodobá energie

ale bysme chtěli říct _e jestli je ten zvuk _e znělý

a nebo neznělý jo takže když bude zněly nebude mít prostě velkou energii a když

bude neznělý tak bude mít malou energii

_e texture

na ose X

jsou naznačeny vlastně nějaké funkce přesně by se řeklo funkce hustoty rozdělení pravděpodobnosti ale teďka

prostě si dvě představte jenom jako nějaké kopečky

a po tyhle kopečky budou posílat jednotlivé hodnoty

a ten kopeček který pro danou hodnotu bude víš tak to vyhraje

jo takhle jednoduchoučký to je takže představte si že tady budu mít jednu hodnotu kterou

budu chtít vo klasifikovat

note pošlu sem

zjistím že modrý kopeček _e svítí tolik a červený kopeček svítí hrozně málo tak _e

řeknu že tady toto hodnota prostě bulva byla _e byla nezněl a protože měl a

malou energií

tak

_e

když _e bychom to chtěli zapsat matematicky

tak _e tady budou mít dvě nějaké hodnoty

dračím nebudeme říkat pravděpodobnosti ale budeme jim říkat prostě třeba skóre nebo

nebo věrohodnosti nebo

my tomu říkáme likelihoody I česky protože likelihoody česky věrohodnost ale jako T takový

to je takový podivný slovo

a za tou je za tou čárkou

je vždycky to co známe

a před tou svislou čárkou je to co chceme určit

jo takže likelihoody

když známe vstupní hodnotou X

té _e té _e

_m té třídy unvoiced

právě jsme změřili že bude takováhle likelihood s té třídy _e pardon

co

ne nezměřím že likelihoodu T třídy a nebo jestli bude tady toto

likelihoodu T třídy ano vole bude

tahleta takže když se zeptáme tady tuto otázku zdali vo jestli většina šanuje sem tak

si řekneme prostě že ne

a _e a určíme

že ta hodnota patřila tady toto ruce modré cizího takže tady klasifikační úloha prostě dvě

třídy

jedna vstupní hodnota dvě funkce hustoty rozdělení pravděpodobnosti který mě vyplivnou dvě čísla já si

položím tady tuhletu otázku a _e a hnedka na ní

zkamení zjistím odpověď

_e

co

je trošku problém

je ten že já vlastně tady s toho _e těch grafiku

nedostáváme _e nebo toto co bych chtěl

tak jsou pravděpodobnosti prostě když přijde hodnota i jaká je pravděpodobnost

znělé třídy

a jaká je pravděpodobnost neznělé třídy

době _e na těchto funkcích vlastně to že _e já dostávám hodnotu opačnou jo to

modrá mě _e určuje

když by tady tato hodnota byla přída unvoiced kolik by to bylo a když by

tady tato hodnota byla třída voiced

kolik by to byl to pro vás cvika není žádný velký rozdíl

ale matematicky to celkem lstivé a naštěstí existuje chytrý vzoreček

tak zvaný based u

který nám to _e který nám to umožňuje

možně přepsat viděli jste někdy B jsou

nejsou vzoreček

jo ten vlastně _e

ten vlastně říká _e tady ještě pořád něco kam se data

tam se dá psát

no

jejda no

nám říká že _e pokud je

pokud je nějaká pravděpodobnost

jeho

_e

podle dám pravděpodobnost jevu B podmíněného

jeden a

tak _e to můžu zjistit jako

pravděpodobnost

inu _e

podmíněného

jeden B

a teďka abych to totálně nedo vrtal

_e

měl bych to

normovat pravděpodobností i u _e a tady bych měl

_e dát takzvanou apriorní pravděpodobnost

je vůbe jo a tady tohleto _e

tohleto a vlastně ten vstupní hodnota nebo tady toto jsou pro nás data

tak _e

pro sem řekl

že ta hodnota té B je apriorní pravděpodobnost

co to znamená apriorní

to znamená když

někomu řeknete něco apriori víte

jako

tímhletím vzorečkem vlastně vy říkáte

že _e

máte nějaké jevy byl

třeba že _e přijde váš _e

spolubydlící nemůže přijde vaše přítelkyně ze kterou ste se rozešli

a _e ta data sou ta

že vidíte prostě nějaký obličej ve dveřích jo

že to je B jako apriorní pravděpodobnost tak ještě vůbec nikdo nemusel sít že žádných

si ve dveřích nevidíte

a přitom už můžete nějak kvantifikovat jaká je pravděpodobnost tady těhletěch dvou B či

jo spolubydlící za váma chodí každou chvilkou že si musíme pučit kytaru nebo já nevím

cokoliv dalšího

a přítelkyně ste se rozešli takže zhruba tak jedno procentní aby že apriorní pravděpodobnost

že přijde zpátky jo to znamená tady se ještě neviděli data ale už máte o

tom výsledku

nějaké ponětí

_e tohleto

je

pravděpodobnost

toho že ví když vidíte nějakej obličej

že

je to buď že

spolubydlící

no přítelkyně

samozřejmě vy tady tu pravděpodobnost poznáte jak byste to _e k byste to udělali nějakým

_e strojově tak byste určili tady tuhletu pro pravděpodobnost nebo spíš likelihoodu

je to spolubydlící no přítelkyně

asi byste si museli udělat nějaký model že jo jako udělali byste si model přítelkyně

podle fotky

model spolubydlícího taky podle fotky potom prostě by ten příští k se objevil a vy

byste spočítali likelihood že to buď ten a nebo ten tak jak je to tady

s tím jak je to tady s tím spodky jak je to _e jaká je

vlastně

pravděpodobnost přístup

todle _e todle jako těžší oříšek

protože

jen tak jako _e jen takto určit nejde říci prostě pravděpodobnost to psychiku je tolik

a tolik

tak byste to mohli udělat se tím že bysme vlastně zjistili _e jaký sou všechny

možný hodnoty čitatele

to znamená _e

_e daly bysme tady sumu

_e P

_e

přes _e

přes všechny možný hodnoty véčka jo

a prostě možné jako prostudovali tady tyhlety možnosti že to je _e že když je

to přítel

ta která tady tuhletu hodnotu a jeho apriorní pravděpodobnost byla taková že když je to

přítelkyně tak jsou to zase nějaký hodnoty ale naštěstí prosím vás je tady tohleto pro

nás nutný pro rozpoznávání když jsou jenom říct která si při to byla

ten jmenovatel

naštěstí to nutný není protože pořád stejnej jo to znamená většina těch našich rozpoznávat X

algoritmu

se tady dnes tohoto docela dobře obejde a pracuje jenom _e pracuje jenom S

_e čitatele

teďka já sem vám tady říkal jakou jako _e

takové srandovní přiblížení jako přítelkyně _e a _e spolubydlící

kdybyste nevěděli nic moc vo tom jak sou ty _e jak sou ty třídy apriorně

rozložené to znamená kterou máte očekávat

co byste asi co zbylo asi dobrý tady ta zatopte B

apriorní pravděpodobnost nějaké tří

úloh

a když byste tam dali půlky

a ty třídy měli dvě takž tady na toto můžete zapomenout úplně že jo takže

že v tom vlastně nejednodušším pojetí

my budeme pracovat jenom s likelihood jenom tady s těmito hodnotami

a podle nich budeme rozhodovat

jestli to byla jedna třída nebo druhá jo ale někde zpaměti byste měli mít

_e povědomí o tom že existují také nějaké apriorní pravděpodobnosti

a že nedejbože existují i ty jmenovatele který občas můžeme _e který občas můžeme potřebovat

tak

_e

teď těch _e

když budeme zkoušet _e

_e když budeme zkoušet _e klasifikaci

do více tříd

jo když ty třídy nebudou jenom dvě

ale bude jich víc

tak _e se nám tady tahleta do té rovnice která tam byla před chvilkou

_e změní nebudeme se jenom ptát prostě větší než menší než ale budu hledat maximum

jo takže maximum

_e

toho nebo maximálně pravděpodobný když nějaký data jsou dané třídy

bude tehdy když _e součin

likelihoodu

třída když sem viděl data krát _e apriorní pravděpodobnost té dané třídy pro danou třídu

omega když prostě bude _e bude největší

tak

a

jak _e jak to teďka ale dát dohromady

protože tady ty křivky

pro jednotlivý třídy nám samozřejmě nikdo nedá _e služby nenajdete matematickofyzikální

tabulka

takže _e zkuste mi říct

jak bychom tady tyhle

tyhle čáry ty funkce dali dohromady

kde de víc aby to začalo klasifikovat rozpoznal

tak zkuste si vzpomenout _e před chvilkou sem tady povídalo dete dvojí ve

jo kde sme kde sme vzali ty slova

který

který se budou rozpoznávat

nějaká databáze že jo někde musel nahrát a někdo k ní musím dát nějaký zdroj

byly jako že tohleto je slovo jedná todleto je slovo a Y todleto je slovo

nic a tak dál

dyž budu dělat _e takovýhle _e teď třídění jenom vobyčejnej vektoru

a budu sítí natrénovat tady ty

křivky tak to musí být úplně stejně budu musí mít data

a budu muset mít nějaké _e nějaké značky dejme tomu určený

tady je _e to je prostě wavka

a wavka se převede

na

sekvenci

vektoru

hodnota má

a já budu mít časový značky který mě řeknou tady je to vo list

jedno třeba značka hláska a tady bude unvoiced

a tady bude sádlem s tady bude prostě

tady bude ticho

jo budete mít spoustu takovejhle vektoru

takhle

označen A

a _e

na těch vektory

tady si to můžeme představit protože sme v tom v jednoduchým _e skalárním případu tak

prostě budeme mít takovýhle

tyčky naměřený který budou s jednotlivým značkama

a na těch tečka prostě vybuduju

tyto funk

tak _e když samozřejmě budu mít těch _e bodu

určitý

množství

tak ty funkce nebudou moci bit

o složitý

uprostřed budu muset pracovat s jednoduchým a funkce má taková dobrá

funkce která reprezentuje data v reálným světě taky gaussovka

zkuste měří taková gaussovka

jaký má parametry že taková letech na jednorozměrné

zkuste český čest česky

normálně vona má nějakej prostředek že jo ten prostředek sem najat

řekni hodnota super a pak je nějak pak jinak plus ta a to je

to je určený buď rozptylem anebo směrodatnou odchylkou

jedna na druhou se dá vpohodě přepočítat protože rozptyl je směrodatná odchylka na druhou jo

takže todle je prostě jedna _e by čínská gaussovka

_e

tetě když _e budu počítat

parametry takovýhle gaussovek

tak mi to někdy půjde jednoduše

a někdy to půjde trošku hůř _e v případě že mám tadyhle zelený data

a zelenejch dat budu chtít _e spočítat parametry zelené gaussovky tak víte že existují jednoduchý

analytický vzorečky

střední hodnota to toastu štosy viděli že jo když prostě _e

zelený data bych označíme jako by byl

tak _e střední hodnota zelena bude prostě _e suma

zadaří a tady v

to bude

jednu jedna N prostě _e

jejich počet

kdyby chtěl směrodatnou odchylku

zelenou tak to bude asi něco jako jedna lomeno N

odmocnina _e ze sumy

_e z vedení

mínus tu spočítat není Z

a druhou jo takže prostě

střední hodnotu směrodatnou odchylku všici dokážeme spočítat

je to hrozně jednoduchý

_e když budu mít nějaký složitější určování parametru

tak už to takhle jednoduchý být nemusí

a _e

budu na to muset jít

pomocí

_e nebo budu si muset napsat

co vlastně chci _e co vlastně o tom algoritmu chci takhle když sem určoval tady

ty parametry střední hodnotu a senátu chvilku

jak si myslíte vlastně com co mě o co mě šlo tady u té gaussovky

jak se mi chtěl posadit

na ty data

co myslíte že byla jako funkce kterou sem chtěl

maximalizovat

tak jednu můj cíl

zkusím

musím přepnu zase

král

pardon asi udělám tak to je tak ohromnou změnu

_e

z toho důvodu že tady se tady srazí malovat

no

K

tak _e můj cíl vlastně ten

aby ta gaussovka

dával co největší hodnoty

pro

pro _e ty body

který má reprezentovat jo když udělám sumu

hodnot tady těchto bodů

tak já jsem snažím tady tuto sumu

nastavit na maximum a pokusí uděláte _e takovýhle výpočet

_e tak vopravdu na několika řádcích dokážete

odvodit

výpočet parametru

gaussovky or dokonce sem se to jednou zkusil skutečně to D forma jako člověk dobrej

pocit

že si maximalizací tady téhleté hodnoty dokázal odvodit vzorečky pro _e pro výpočet parametrů gaussovky

tomuhle procesu

se říká

při

tomuhle procesu

prosím vás

se říká _e a musí maximum likelihoodů

neboli maxima sem maximalizace

věrohodnosti

a de vlastně o to že když mám nějaký data

a teďka mám parametry si ho modelu

tak já mám

_e likelihoody který mně ten model

vysypává

pro všechny data který mám k dispozici tak tady tyhlety likelihoody vynásobím

a snažím se nastaví parametry toho modelu tak aby tady tahleta hodnota nanejvýš nejvyšší

a tady tomuto u tomuto se říká _e tomu se říká maximalizace

věrohodnosti nebo maximum likelihoodu T stihneš

a některých případech to de pohodě

analyticky odvodíte si vzoreček a rovnou to spočítáte a v některých případech to nejde analyticky

a musíme prostě

_e procházet starat a iterativně to uvidíme právě případě těch skrytých _e markovových modelů

tak _e

uvidíme tady toto

v případě jednoduché gaussovky případě modelu se směsí gaussových rozložení a potom případě toho C

svítilna com

_e tetě _e budeme řešit tři věci

budeme _e chtít vědět jak tady tuhletu likelihood vůbec spočítat

potom jak tady tyhlety

parametry

natrénovat

a pak taky v některých případech uvidíme že tam jsou vlastně nějaké skryté parametry toho

modelu

takže _e

typicky vlastně když bysme chtěli tady tu hodnotu tak bysme je měli vyzkoušet pro všechny

možné hodnoty skrytých parametru

což je nesmysl stejně jako budete véčku jestli si pamatujete sem říkal že nesmysl procházet

všechny možné _e srovnávací cesty takže budeme chtít znát nějaký rychlý algoritmy kterýma se těma

skrytým _e

parametrama rychle prokouše ne aby jsme dokázali vlastně dostat jedno jediný číslo

kdy jedním modelem budeme chtít ohodnotit nějakou vstupní _e stupni sekvenci vektorů

tak

_e jak je to _e jak je to gaussovka má

jednorozměrná gaussovka vypadá takhle prostě ten datový bots mínus střední hodnota

tady je dvakrát směrodatná odchylka na druhou že jo to směrodatná odchylka se objevuje E

V ve jmenovateli

a když budeme _e dělat _e maximum likelihood odhad

těhletěch parametru tak

přijdeme na ty dva

známy vzorečky

a když euro zeptat po nějakých skrytých proměnných tak je to v pohodě protože tam

žádný nejsou jo prostě jedna zásuvka nasypu do toho data vybod

kdy byla sme to na mě jednu hodnotu

nic _e nic tam není neznámýho nebo skrytých

tak

_e když půjdu trošku složitěji

tak _e několikarozměrná gaussovka

_e bude mít zase dva parametry ale tentokrát to bude vektor a bude to nějaká

matice jo když mám zásuvku několika rozměrným prostoru

tak ta střední hodnota je vektorová

to znamená tady by mě ukazovala

do bodu asi jedna

jedna

a to jak je ta gaussovka roztažena v různých směrech

to mě udává tak zvaná kovarianční matice

_e

přemýšlím jestli se tady dostávat se do _e

nějakých detailů jak ta kovarianční matice

a nebo nemá vypadat ale na že bysme mohli

_e

viděli jste někdy několika rozměrný o stovky v nějakým předmětu

matice no ne

nevadí

musíme udělat základní nalejvárnu

je

dvourozměrný prostor

tady je parametry X jedna tady je parametry dva

přední hodnota má jenom dva prvky určený vlastně střez kdy bude ten můj

kopeček

a teďka tavnou slůvko

můžete si ho představit jako klobou tedy

který vypadá nějak takhle

no a _e tady vy ste

kovarianční matice

teda

_e základním přiblížení

má prvky jenom na diagonále sme tadyma nulu nemá nulu

a tady má směrodatnou odchylku prvním směru na druhou a tady má směrodatnou odchylku ve

druhým směru na druhou

jo takže když budete

prosím vás _e zvětšovat

tady

tady tenhleten bot

_e které tady tuto hodnotu tak ta nouzovka bude

co bude takhle to byl jakostní stěhovat

a vtom druhým směru bude pořád stejná

a když budete šahat se na tuto hodnotu tak se ta gaussovka bude smršťovat

nebo ztenčování tady v tomto směru podle toho jak to nastavíte prostě bude tadle tlustá

nebo tenká jo

ústně reguluje té šířku toho kopečku v jednom a ve druhém směru

tak a teďka mě zkuste říct

_e jí když bysme se na to dvoustovku podívali takhle svrchu

jo

tady ste roviny

a nakreslili si tam souřadnice

X dva X jedna

taky jaký gaussovky jaký kopečky jsme schopni s tou diagonální _e kovarianční maticí namodelovat

jak budou vypadat při pohledu svrchu

kdybyste si představili mapu jo kde ten kopec na kreslenej jak ten kopec bude vypadat

jo eště jinak řečeno jak bude orientovany

tak já vám napovím když je ta kovarianční matice diagonální

tak gaussovka může vypadat jako kopeček jako vzít jo které kulatej

nebo může vypadat

takže půjde

nápadu na východ

jo nebo že bude klidně jako jinak plus ta západu na východ

nebo že půjde ze severu nají

nebo že bude eště jinde silnej a s každým případě bude vlastně orientovaná nebo _e

bude dycky symetrická kolem nějaké _e kromě jaké osy

jo takhle se schopní _e

vyrobit dvourozměrnou gaussovku diagonální kovarianční maticí

eště mě zkuste říct _e

jak by se tady ta dvourozměrná gaussovka která vypadala takhle

dala taky namodelovat

na vypočítat

jestli jako vám přijde tam ta

rovnice složitá tak

a s váma souhlasím nebo taky nemám hrát

počítání nějaké inverze determinantu nic pěkný

vy byste udělali takovouhle dvourozměrnou zase

jste to chtěli udělat jednodušší

tak já mám nápad

dělejte mohli bysme udělat

v jednom směru

jednorozměrnou gaussovku

ve druhým směru tak jednorozměrnou za stovku

jo

a teďka s každým bodě roviny tady tyhlety dvě spolu vynásobit

a dokážete takhle dostat

kopeček který je moc kulatý nebo obrácený severojižní anebo nebo vichr západně jo

opravdu _e gaussovka Z diagonální kovarianční maticí

D reprezentovat a taky jako

to hrozně moc využíváme

jako součin dvou jednorozměrné gaussovek

tak a teďka pozor

když _e

tady ty nuly zrušíte když tam dáte nějaký hodnoty

tak

dokážete udělat takovýhle gaussovky šikmý

jo prostě různých směrech

ale ty už nedokážete udělat jako součiny jednorozměrných gaussovek jo tady už vopravdu potřebujete

tuto složitou rovnici abyste _e takovouhle gaussovku

dokázali vyrobit

pozor prosím vás takovýmto stovkám s plnou kovarianční maticí my se budeme vyhýbat jako čert

kříži zaprvé to složitý

a za druhé to ne trošku proti _e proti tomu co jsme očekávali o vstupních

dat

jo teďka zkuste udělat rychly myšlenkový skok na začátek téhle přednášky

když sem vám tady vykládal vo M S T tečka co sem říkal že bysme

chtěli o stupni koeficientu do rozpoznávání

aby jednotliví

jejich prvky

nebyly navzájem

korelovaný žejo aby _m navzájem nezávislými

no a teďka když si představíte něco když uděláte takovouhle šikmou gaussovku

no tak to zachycuje právě korelaci

jo protože když mám takovoudle šikmou gaussovku tak já řeknu

já vím no a ne

ne

ne

u A

kdy to medvídek půjčky

tak _e

vy víte že když se v těch datech posunete v jednom koeficientu takovýmhle směrem

tak se prostě sem druhým koeficientu posunete druhým směrem jo znamená _e

taková našich menádou stovka

naší že data sou korelovaný

to nechcem a ještě zase mít jednodušší takže my prostě tady budeme vnutit tvrdě nuly

a budeme buď buďto zařídíme a nebo aspoň budeme doufat že naše data sumy korelovaná

a budeme pracovat pouze generálním kovarianční matice

poslední věc prosím látek může _e taky _e tahleta funkce vypadat

může vypadat jako směs gaussovek

jo máme _e několik různejch

gaussovek

tedy jsou označeny nějakým index víčkem chce každá má svoji střední hodnotu pravda má svoji

_e směrodatnou odchylku tady teda bych spíš řekl že by měla být jako sou že

ho její kovarianční matice

a máte nějaké váhy pece

a bylo by dobrý jako jak u slušných lidí je zvykem aby se ty váhy

sumu valy _e sumu valit do jedničky

a takový mohl _e modelu se říká vlož mixture máru

nebo taky G M

a toto sou prosím vás velmi zásadní modely pro rozpoznávání řeči

protože uvidíte úplně všude tady si budeme hrát rozpoznáváním řeči ale dělá se s tím

taky rozpoznávání

řečníka dete chceš klíčových slov rozpoznávání jazyka

já nevím ještě co

_e co dalšího

tak

a více o tom _e plošných se modelu o tom jak se potom dá generalizovat

na arménka

tři povíme příště tak děkuju za pozornost notes