_e pánové

značně prořídly tady venku jsou to bylo takže díky všem kteří se nezastavili do dobré

nějaká organizace _e tento týden teďka nevím jestli se má mnoho čtvrtek no pátek v

noci je odevzdání projektů jedničky

_e příští týden se bijou

děvčata takže přednáška není

za dva týdny mám poslední přednášku proteosyntéze pokusil jsem se dost sem dostat _e tetra

horáka troše syntezačních budu český ale bohužel má nějakou akci kde musí být

takže _e to zvládneme vlastními silami a buď starýho syntéze bude vykládat igor szoke

který se docela syntéze omočil

a nebo _e nebo já

_m prosím vás poté poslední přednášce

bude následovat cirka hodinového dvouhodinové numerické cvičení které plánované programu tady tohodle kurzu ahoj zdeňku

takže nevím jestli _e tady tuším probíhá nějaká matematika možná že se budu muset přesunout

vedle

ale počítejte s tím že pouze poslední přednášce budeme mít jakou noční se vším

jo že se ještě uděláme nějaké příkládky na L P C

zde do to byl

arménka

pokusím se to dostatek o do doby kratší než dvě hodiny ale vono je tam

toho zase hodně a ty příkládky chci abys vám prošli rukama takže prosím příprava je

tady se do sebe papír tužku a možná kalkulačku a tečna hodnot počítat hlavy

tak _e

toto bylo

organizaci vaše k těm velikonoc i mě napadlo že pokud máte v týmu nějaké lidi

v zahraničí a vzletem vysvětlovat že příští týden vidí lidi jak na ulici dvě holky

a vodpoledne sou všichni strašně vožraný tak máme vlastně v našem týmu teďka jednoho

lukáš který je svírá nula druhých tries indie možná že tady nebo jako potkáváte po

fakultě tak těmi upřímně zděšení text nemuseli dlouho vysvětlovat li budete příští pondělí

tak _e

poďme _e zpátky prosím vás gamem kam

minule jsme si _e říkali že se pokusíme natrénovat nějaké parametry modelu

a že vlastně _e taková základní záležitost k natrénování parametrů modelu

bude jakási pravděpodobnost

že jsme

vod začátku času čas probíhá takhle

stavy modelu sou prostě nějaké a že sme od začátku modelu někde

to znamená že si to cesta může probíhat celkem kde chce

_e

čase ste se nacházím ve stavu je toho modelu

a potom sem zase někde jinde

kdekoli

jo a řekli sme si že _e vlastně budeme chtít vypočítat pravděpodobnost

že se s _e které

jsou tady někde

teďka ovšem probíhají v tomto čase tady tímhle tím stavem a pak se nám zase

rozběhne a pak sem _e pak sem někde jinde já nebudeme chtít vypočítat tady tuhletu

pravděpodobnost která bude děsně důležitá

protože tady touto pravděpodobností potom budeme váhou what

ten vstupní vektor který se nachází v tomto čase a bude vlastně váhovací jeho příspěvek

ke trénování jednotlivým stavům jo to že prostě máme nějakou hodnotu

a teďka zkusit finta nula celá devadesát devět i rozhodíme tomuhle stavu a nula celá

nula jedna tomu druhýmu stavu a tím ostatní dostanu ale s každým případě to prostě

bude vektor váhovací _e srovnávací sme si ty

tak _e minule jsme tak jako naťukej jak tady tuhletu pravděpodobnost _e budeme počítat

bude to vlastně _e

suma

věrohodností nebo likelihoodů všech cest který nám to hádanku může vydat C pro všechny cesty

který jsou tady někde který probíhají tady tímto stavem v tomto čase a tady vlastně

zase se nám to rozběhne a bude to suma všech se který jsou někde jinde

_e abychom S kázali dostat nějakou pěknou numerickou hodnotu která by tady toto ohodnotil a

ale neměli bysme naprosto zaručený že tady toto hodnota bude slušná

pravděpodobná

aby to slušná pravděpodobnost byla tak už víte že když máte hodnotu tady a eště

tady access toho udělat _e slušný pravděpodobnosti tak _e

se dá udělat jednoduchá věc

a to že vezmete ty hnusný hodnoty s každým stavu

všechny je po sčítáte a pak tady těmito hodnotami vlastně ty jednotlivý hnusný hodnoty podělíte

a najednou dostáváte krásné hodnoty které budou sumovat do jedničky a který se potom dají

použít jako ty váhovací _e váhovací kreslit

tak a taky jsme si říkali že vlastně když se nad tím člověk zamyslí a

_e uvědomit si co jako právě řek že teda jako to může _e že udělá

sumu všech cest který vlastně probíhají primátorym a tudyma eště tudyma

tak už je to prakticky suma uplně všech se

tedy tím alarmem cam probíhají

a tu sumu úplně všech cest nebo všech stavových sekvencí jsme nazvali baumwelchovu v a

_e likelihoody

a mám takovej pocit že sme vyznačili jako _e jako velký té

o který je prostě vygenerovaný modelem takže poďme se teďka trochu detailně _e říci

jak _e který k těm hodnotám

dojdeme a jak tady ty magický pravděpodobnosti který hrozně potřebuju jinak prosím vás eště notaci

já to mám jedné sadě svojich slajdu nadšený jako L jet E

a někdy jindy tomu taky říkám jako gama

jako gama je C

pokaždý je to stejný ale to učení řečeno posteriorní pravděpodobnost _e

_e vyslání tohohle T o rámce je tým stavem

jo takže _e poďme se podívat jak bysme na to asi tak mělí

tady vlastně jinými slovy řečeno procesor vám _e říkal to znamená že můžu vzít tady

tenhleten likelihood a po normovat to sumu všech likelihoodu will tomto čase a přes všechny

stavy

a že teda se to dá přepsat takže je to vlastně _e celkový baumwelchův tady

klidu

vyslání téhleté sekvence vektorů celým naši máme unk

tak

a poďme _e poďme naše _e začít rýpat

detailně

do toho jsou vlastně umí dělat tady je čas

tady

soustavy raménka to johannem přítomen označíme jako

jako nějakej jednoduchej modýlek

a teďka _e

víte že musím určitě začínat tady v tomhle stavu ale dál se mi to

rozvoji a tady se mi to

zase rozvoji

a ten limity sty _e nebo ty stavové sekvence můžou _e můžou přeskakovat

a my se tady někde uprostřed

ocitáme

_e

hledaném nebo v čase to je

ale stavu je

a chtěli bychom prostě jako _e hrozně pro něj spočítat

_e ten likelihoodu jako všech cest který budou tady všude před tím

a tady někde všude potom

a v tomto stavu

budeme nebo v tomto čase budu přesně tomletom stavu

tak my si to rozdělíme na dvě _e na dvě _e

a dvě na dva komponenty

co vám říkal že komponentová vrat mužského rodu a ne vždycky

tak první záležitost bude

_e tak zvaná částečná dopředná likelihoodu

že jsem začal na začátku modelu

tedy

někde tady

a že sem se až do tohodle času

dostal

_e dostal semka jo to znamená suma ševče všech cest

který nastartoval i na začátku modelu a do tohodle času dolezli do tohodle stavu

tak a zase jako

budeme postupovat nějak iterativně teďka si představte že sme tady v tomto

_e vo tom postavu

a tomletom čase

a chci teda tuto likelihood vypočítat

zkuste měli taky do toho budou vstupy

bude tam zase jako nějaká jednoduchá rovněč k a

a ukončuje nemáte to dobře

tak mně řekněte _e poté co sme si prošli D C dvojtečka matroš třeba jako

něco víte o grafech možná z nějakého jinýho kurzu

jak tady ten černej puntík budu moci spočítá

a možná jako pro osvěžení paměti

_e

s každým černým puntíku nebo s každým puntíku na tom grafu mohou spočítat ňákou takzvanou

výstupní likelihood tím že vezmu akustický vektor

a narvu ho do příslušnýho

rozdělení pravděpodobnosti toho daného stavu to mně dá nějakou hodnotu

_e když cestuju

po červené čáře tak _e tam budu mít přechodovou pravděpodobnost s toho minulýho stavu do

toho současnýho stavu

jo takže push

bychom mohli ten černej puntík zkusit postavit

sim

zkusíme

musíme budeme na

zkusíme zabít především

tak

_e likelihood černým puntíku

což bude nějaká _e

alfa je to je

bude na jako

suma přede všechny stavy kde sem mohl být

před tady tím nastavím jo a tady vidíme že to je že jako se nemám

tolik na výběr že sou dva a pod mzda napsat obecně tady tohle budou možných

sta vidí

teďka já tam musím vzít v úvahu ty částečný _e pravděpodobnosti

tomto stavový a teďka mě řekněte sama na sebe závorky

jo tady toto je časté

teďka pracuju s těmadle červí mamutí tom

T mínus jedna jo předcházejícím čase

takže to je mínus jedna

a když se budu chtít rejpnout

poté helete _e čáře nebo po téhleté čáře do toho velkýho černýho puntíku kde teďka

zrovna počítám tak tam ještě musím dopsat co

tak vždycky když se vybuzeno stavu do jinýho stavu tak do po přechodové pravděpodobnosti jo

to znamená bude tam muset být hodnota a je

ale když do toho velkýho černýho puntíku dovezu

tak tam bude muset být ještě co

ten je T stav musí se hrát

T vektor a musí říct jak i u jakou pro něj

produkuje výstupní hodnotu funkce hustoty rozdělení pravděpodobnosti jo takže ještě budu muset napsat

že sem vlastně věcným stavu

a vysílám ten _e

vysílám ten T vektor strašném mám pocit na čili

na čili nějak takhle jo jako

se

jo a teďka jako

víte že to docela z jednoduchý protože na začátku to samozřejmě musím nějak _e nainicializovat

musím říct že tady _e že tady u toho

_e že u tohoto prvního stavu

vlastně

M

sem tam musel vlez nějakou úvodní

přechodovou pravděpodobností

N času které ještě neexistoval jo tam tady nemám žádnej

tady nemám žádnej vektor

vektor ne

jo takže jenom _e počítám vlastně přechodovou pravděpodobnost

toho počátečního stavu sem

a teďka musím vyslat _e sem prosím vás tady uzavřete rolničky jo a teďka musím

vyslat _e ten první _e první vektor které je k dispozici jo takže takhle se

ten algoritmus nahodí

potom vlastně v běžných iteracích _e vo můžu klidně nechat probíhat takhle to znamená každý

stát

krávo v baru modře jo kde kdesi počítat tak si prostě žere

_e svoje vstupy a přidává com příslušné přechodové pravděpodobnosti a tu svoji vysílací

a když půjdu dál tak zase třeba tady tenhle stav tak si

uděláte toto a toto a tak dále a takhle vlastně jako propaguju a postupně rozšiřují

ty _e částečné dopředné likelihood i

no a pak budu muset ten algoritmus nějak uzavřít že jo když dojdou do úplně

posledního času

kdy bude

konec promluvy velké T

tak tady _e

tady _e vlastně _m musím

říci

teďka sem úplně na konci

a

pak vlastně existuje většinou ještě nějaká výstupní pravděpodobnost

prosperity jo markovova modelu

kterou budu muset _e kterou budu muset vynásobit hodnotu kterou budu mít a budu hotový

na konci

co si myslíte že na tom konci tady dostanu co tady bude za hodnotu

uvědomte si co jsme dělali s každým

každé kombinaci času a stavu

no vlastně vzali v úvahu všecky cesty

předcházející možný

udělali jsme tam sumu

a teďka prostě jako jedem až do konce

a teď sem najednou skončil

co si myslíte že bude k dispozici tady

my bysme si to měli označit formálně

tak by se to menovalo

alfa

_e nějaký N jako poslední stav a

to je plus jedna jako že už všecko skončilo že dnes toho modelu vylezli

myslíte že tam bude

no perfektní A Z tom dáme tomu nějaký jméno po nějakejch dvou plánech třeba

třeba baumwelch že jo takže tady toto je hrozně důležitý protože já když si udělám

tento algoritmus tak na konci

to hodnot z toho vypadne hodnota té o M vlastně celkový ohodnocení té sekvence vektorů

celý modelem

a už neberu nějakou jednotlivou _e stavovou sekvenci ale sou vtom načítány úplně všechny

a toto je

suma přes _e všechny možný cesty jo

bezvadný takže _e tady to máme nějak formálně

opsaný

takový krásný obrázek

_e kdybychom _e

kdybychom se to chtěli napsat rovnicí no tak to bude vypadat asi

si nějak takhle to sem tam před chvilkou měli

a uzavření algoritmu

je to psáno prostě všechno obecně ale vopravdu je lepší si namalovat graf abyste viděli

_e co se děje a ta poslední likelihoody taký žena baumwelch

bezvadný takže máme _e částečnou likelihood X začátku dostat až do stavu je

v čase T

co myslíte že budem dělat teďka

jo pořád zkuste držet hlavě jako jaký máme _e jaký máme vlastně problém se sem

vyřešit

my chcem vyřešit T pravděpodobnost

že budeme B

čase je

čase to je ve stavu je

to šíje

chomáč nějakejch cest na začátku teďka přesně tenleten stav tomletom čase a chomáč nějakých cest

na konci

taktika nevyřešili těma hodnota má alfa chomáče těch cest na začátku a to že sou

teďka tady

co nám ještě zbývá vyřešení

tak vodsaď nakonec že jo prostě všechen jako _m všechny nesmyslným cesty vodsaď až nakonec

tak _e jak myslíte že to je to nebudem řešit

eště než tam nám příslušné vobrázek

pudem

vodsaď nakonec nebo

od konce

sem

správně jo takže budeme definovat něco co se menuje _e částečný zpětný likelihoody

který začal jsem na konci modelu a v čase T sem vystavuje a zase si

pojďme udělat _e rovnou malůvku

jak to _e jak to bude vypadat

tak já si možná do té malůvky vezmu _e tu další

rovnici

ne

tedy tady toto

já mám tady zase

u

u

tak _e to je takový pěkný graf Í

_e

tady se mi

rozbíhají ty

různé

cesty a tak dále bla

teďka _e

sem tady

vlastně

na konci

B

B

E stavu

čase

tady je poslední posledních stav modelu

tady mám prostě jako kdyby neexistující čas T plus jedna

a přechodovou pravděpodobnost _e

předposledního stavu modelu

do posledního

tak a _e teďka sem prostě tady někde

uprostřed toho chumlu

vedou myslím cesty _e z času a stavu který jsou potom

a já budu chtít se spočítat _e

_e zpět částečnou zpětnou likelihoody

že sem tam stavu B je

čase _e

v čase T

tak poďme si zase říct co tam tak asi se mi tam tak asi mohlo

bejt

tak je tam asi

následující

částečná zpětná lekli může následujícím ne podle toho jak to počítám ale

následující vše se omlouvám se protože _e takhle čase od konce na jo

takže bude tam _e suma přes všechny napojený stavy

_e kde dám

částečnou zpětnou likelihood a teďka to bude co za čas

když počítám čase to je tak tam musí být

to je plus jedna super

_e co tam bude

eště asi

jsou tady modrý puntíky taky ještě je potřeba nějakým způsobem kvantifikovat i ty čáry bude

co

to budou přechodových pravděpodobností jasně a Í je

a teďka bacha

ty či _e tam asi budeme muset nějak zamixovala

vysílací likelihoody že jo vyslání _e vektoru nějakejma zprávama

ale teďka přesně jak nám tam zkusím něco napsat

zkusím vám tam napsat B

_e je

B je o té

a co myslíte bude tady todle dobře nebo C

prosím

jedna mínus B je

proč

_m ne

vono mi to takhle mohlo fungovat ale uvědomte si že já sem vlastně _e při

výpočtu alfy jo když jsem počítal si tak sem balil takhle prostě jako začátku

a v tom daným stavu

a v tom daným čase

sem tam _e

prásknul hodnotu B je

B hote takže a už vlastně spočítal

teďka jedu

betty které jdou od konce a

hlavě pořád jako musím držet že mě de vo to celkovou pravděpodobnost a že ty

alfy aby ty budu muset nějakým způsobem kombinovat

a teďka najednou kdyby tam bylo to co mám tady nahoře v rovnici tak tam

bit a vysílací i tady klihu daného stavu daným čase byla prostě dvakrát

jo tomto B je o té by tam bylo dvakrát

koš

kdyby nebylo zde bylo moc dobrý to znamená vono to takhle nebude prosím vás

ale v tomto případě

se to B je teďko

bude počítat s každým stavu

se kterýho vlastně jsem se do toho

následujícího nebo s čase předcházejícího mohl dostat tady bude tam B C

o

T plus jedna

jo aby to bylo úplně jasný tak se ještě cely tady tenhleten nesmysl můžem dat

do hranatých závorek aby bylo jasný že prostě sumujeme

celý tento _e celý

celý tento výraz

jo a takhle _e je vypočítaný _e prodlevě vypočítaná částečná zpětná like lidu

a _e teď prosím

se ještě poďme jako říct jak ten algoritmus nahodíme

a jak ho _e jako kill hneme

když ho budeme nahazovat

tak _e

se musíme

podívat někde tadyhle

_e na začátek to znamená posledním

čase

a ve všech možnejch stavech ze kterýho _e ve který můžou být posledním čase většinou

tady toto bývá jenom ten

jenom jediný že většinou a toto je nebývá žádný R

ale

musí to být stav N mínus jedna takto na inicializuji pomocí té poslední nejposlednější

přechodové

pravděpodobnosti

pomocí tady tenhle o které kterou se s toho a nevím se dostanu ven tady

toto je vona

potom si udělám ten svojí iterativní algoritmus

a když budu chtít uzavřít

tak _e musím posbírat

to co sem měl ve všech _e ve všech _e

tu první stavech

toho modelu po násobit to ještě _e vysláním prvního vektoru nemáme vstupního to má

a eště _e eště vlastně jejich _e

jejich částečně na zpětným a likelihoodem a většinou ten vstupní stav je sem samozřejmě jenom

jeden jo prosím vás

A mám prostě

stup

toto

_e s toho prvního vstupního stavu všecko je a mám hotovo mám vlastně _e

částečný zpětnej likelihood

no

čase kterej ještě před začátkem mojí promluvy

a nějakým pomocným stavu který je vlastně ještě před obyčejným a stavem a jenom a

mýho nevím cache teďka mi zase řekněte čemu bude odpovídat tady tahleta

poslední spočítaná

a vlastně prvních čase

pět na tady klid co to bude

jo a zase si uvědomte že postupně jak sem jako balil takhle nazpět čase

tak jsem zase brát v úvahu úplně všechny cesty který se sto modelu

nebo vtom srovnání časovým _e vektoru nastaví modelu mohli vyskytnout

jo poctivě sem nesmlouval

co myslíte že to bude

tak

žádný velký překvapení nebude bude to zase baumwelchovu likelihoody

vyslání téhleté sekvence vektorů modelem po všech možnejch cestách jo vzpomeňte si když sem stavěl

částečných dopředných pravděpodobnosti tak jsem to postupně stavělo začátku do konce

teď sem to postupně počítal úvod konce do začátku ale když sem to dělal dobře

tak by mě měli být úplně stejný hodnoty a zase tady tahleta _e první

jo poslední spočítaná beta bude

celková vám welchova likelihoodu

vyslání téhleté sekvence vektorů tímhletím od a

tak

to je docela mimochodem dobrý že to máme spočítány schválně kde tady to celkovou likelihoodem

potřebovat

do to ještě nezapomněl

normalizaci přesně tak jo takže mám jako super hodnotu

arrow budu schopny _e s každým čase normalizovat _e ty spočítaný

spočítaný hodnoty tak a jak ty hodnoty spočítám no to už je docela v pohodě

protože

já zase opakuju že mě zajímá tady tenhleten čas

tenleten stav

alfy mě

počítají tady tenhleten maglajz

betty mě počítají tady tento maglajz

a já když si spočítat tu svoji

_e

svoji state occuppation probability nebo tady tu _e řekněme měkkou pravděpodobnost bytí s tomletom stavu

tomletom čase tak je prostě vynásobím jsou co

tak to po normu you know celkovou baumwelchovu X mínus

a hotovo nový dělá

takže _e je to zajímavý že jako kvůli jedné hodnotě

nějak která se tady máme L je té sme tady strávili půl hodiny ale toto

je vopravdu naprosto nejdůležitějších hodnota při trénování _e ne mac

tak _e odteď _e

se vás zeptám

kostní teda jako budem dělat

takhle si lety hodnoty třeba při trénování nějakýho jednoduchýho motýlku

můžou vopravdu vypadat

no tohle je dejme tomu

_e ta L

_e

ta funkce zalijete

prvního visí prvního vysílacího stavu

to je ta zelená bude druhýho

to je ta červená bude třetího mám pocit že sem to opravdu jako vygeneroval neskutečnýho

alarmem k a

všimněte se prosím vás

že když si uděláte takhle z S v libovolném čase

tak skutečně suma přes všechny je teďka

jo každým čase těch hodnot nelžete určitě

rovná se jedna to znamená budou to dobrý koeficienty na to aby jsme použili jako

vážený jako vážený průměr i

tak _e

takže teďka zasednu

nebudu vám ukazovat

co dál té přednášce

a zkusíme si napsat nějaký

nějaký rovnice

jak při odhadnout parametry

ale mém k a když jsem zřej s jeho starým a parametrama spočítal takovýhle pěkný

hodnoty L je se

tak

jo mám tady nějaký _m

_e teďka

dejme tomu že tady toto je stav

_e prostě index stavu bude je

tak tady mám velkou

plus tou maticí parametrů o která má první vektor cache

to je tady vektor

a teďka sem si horko těžko pomocí starých hodnot toho _e a

_e spočítal

od M spočítal funkce relied _e

který vlastně zbavujou příspěvek tady těchdle těch vektoru trénování každýho stavu anka tak a chci

spočítat novou hodnotu

střední hodnoty

yettiho stavu a vy mě řeknete jak

tak _e pojem na to jednoduše jo jak by se ta střední hodnota počítala

kdybych tam neměl žádný jako žádnou spočítanou funkci a rijece a kdyby měl prostě k

dispozici jenom tady tuhletu

jenom todleto matici

vstupní vektoru

průměr přesně tak jo tak podpojmy se tam vopravdu napsat průměr

_e téčko valí vod jedničky do té a

_e dám tam

hodnotu o té a podělím to jedna lomeno T a je to pro mě to

umíme všichni že jo

takle bych adam pojďme udělat trochu složitější průměr

přesně tak takže _e budem bude mazat a uděláme to násobení tím zalijete k který

jsem před chvilkou horko těžko vypočítal

a bude tady tohle dobrej průměrnému nebude

ne jak to

tak bacha jo my sme si řekli že ty L je tečka

ty měkký hodnoty

že budou jako hodný s každým s každým čase jo že s každým čase se

nám budou sumovat

L jedna T L dva to je a při té že se nám bude sumovat

do jedničky touto bude super

ale uši sem vám ne zaručil že tady ta suma se do jedničky bude probíhat

i přes všechny časy to bych jako byl docela zázrak kdyby _e kdyby se

čase sumu valy

do jedničky jo to znamená že my budeme muset udělat co

no tak podělit že jo když máte nějaký koeficienty vo kterejch nic moc nevíte a

zapíchl eseje dopočítání vážený o průměru to sme tady nemám mimochodem měli už minule jo

ale a to budu omílat pořád dokola vy vám to neřekla v dostal

takže

po sumujeme pěkně

_e hodnotou

nebo sumou těch koeficientů a tohle už bude dobrý toto už bude krásna _e krásna

průměrná hodnota

tak bezvadný

_e teď prosím

bych chtěl vědět C _e když budeme počítat nějakou třeba _e směrodatnou odchylku

a _e to tady dám nějaký nějaké index třeba K tou směrodatnou odchylku

X

půjdeme na toto

jo to znamená větším stavu řekli sme si že _e by člověk měl řešit jako

kovarianční matice ale v hrozně složitý takže budeme _e budeme řešit _e směrodatnou odchylku

teda toho simku na druhou a ten rozptyl

_e kátýho prvku

toho

yettiho stavu

tak asi tam zase bude nějakej průměr že jo který pojede přes všechny časy

tak si ho tam plněna čára ste se rovná jedna do té co myslíte že

bude tom průměru

dobrý

tak asi ten váhovací koeficient želatině dneska víme

tak a pak tam bude _e

ústředně na hodnot _e toho patřičnýho koeficientu a když počítáme střed _e rozptyl tak to

bude muset mít na druhou jo to znamená bude tam něco jako o

se K to znamená K tedy element T ho vektoru mínus me

je

k a všimněte si že to teďka nepíšu prostě protože to sou skaláry

tady todleto na druhou a mu

no to tak push spokojeni nebo nespokojeni

ne za máme dělat

normalizaci správně děkuji krát

to je se rovná jedna

_e

jednáte L je to je

dobrý tak teďka sme jako byly

_e celkem

celkem rychle hotový se středníma hodnota má _e se směrodatný moc žilkama a teďka začne

jít do druhýho protože já bych potřeboval taky pře odhadnout prosím přechodové pravděpodobnosti

a je

a

to bude

docela zajímavý a musím říct že jako to tohleto z hlavy neumím

pojďme spojme to zkusit

sme si říct _e D jak by to asi tak mohlo být

a potom to s konfrontujeme s realitou

a u těch přechodových pravděpodobností

prosím uvědomíme že jak sme měli takový ty grafiky tady bylo časté

tady prostě byl namalovanej ten

ten model

takže teďka najednou budou řešit nějakou hodnotu která mě bude říkat jak je pravděpodobný že

přelezu ze stavu Í

dostavuje

no a _e

my sme měli v tom grafu takové prostě ty

_e

_e v ošklivé hodnoty své všude spočítané

_e každy

vlastně každý _e každý stav

a každý čas

měl svoji alfu

svojí metu

a _e my s nima si budeme muset něco vyrobit abychom

zjistili jaké teda pravděpodobný

že

přeskočíme ze stavu Í

dojička

tak zkuste radit

jo teď teďka k množinami vostrý

_e Í je

rovná

tak asi zase budeme muset prozkoumat všechny časy že jo protože ty _e ty přeskoky

se mohli objevit ve všech možnejch časech takže asi

_m se nedá nic dělat

dáme tomto je se rovná jedna

načte

tak co dál

mějte si že tam teďka budu moct použít se tu _e posteriorní pravděpodobnost bytí

ve stavu jo čase toto zalijete

to je takový

to je jako s otazníkem že jo protože to mě udává _e pravděpodobnost bytí v

jednom stavu vtom daným času

a teďka jako to mám dělat já to mám ty stavy dva a potřebuju zjistit

jak je pravděpodobný že sem z jednoho přelezu do toho druhýho tak poďme zkusím vymyslet

něco jiného

tak _e

to kdybysme

vložení pánové

zkusili takovou fintu

a to všechny se pravděpodobnost všech možnejch se které jsou tady před tím

před

jo

teďka

přeskok

a pravděpodobnost všech cest který jsou tady po

a tady tu činku nebo spermií nebo jak to vypadá takto musíme ale prosím vás

přes sumovat

přes všechny možný časy

jo takže poďme zkusit _e budeme tam zkusím naplácat nějaký hodnoty tak

navrhujete

částečná dopředná pravděpodobnost čeho

_e bych řekl že toho prvního stavů ne

a času té alfa víte

co tam dáme dál

a to pak neumim nazpaměť lidového taktika to

vymýšlím s mám jako trošku více zkušeností mezi

podpořte město si poradit další

tak teďka _e budu řešit tady tenhleten obláček jako jo po

tak _e

porážce poradce

asi nějakou betu že jo a čeho

jestli ho stavu čase teplu jedna dobrý

teďka že tam něco lechtivý

abych potřebovat tady tyhlety dva stavy nějak propojit

co tam ještě musím namíchat

tu původní pravděpodobnost a je jo to co mám jako teďka potom rozhodně musím dat

a teďka bacha teďka _e sem se dostal do

problému který nevím jestli úplně přesně vidíte

protože

v tomto

_e to si člověk musí uvědomit jak vypadají vzorečky

do výpočty alpha a bad

já sem

tady

určitě namíchal vtom vzorečku pro alfa Í

_e vysílací

v likelihood B Í

B C o té jo

ale když jsem řešil _e ty _e když jsem vyřešil tibet i

tak jsem řekl že tady v tomto bodě tam ten vysílací likelihood nemůžu zamíchat protože

by to bylo špatně a mám tam jenom vysílací likelihoody tady prostě v těch dalších

stavech

a dalších časy

takže mě tady

vysílací likelihoodu chybí a já si ho tam pánové musím dodat takže to bude zde

ve je

R sorry

B je T plus jedna

jo a tím pádem budu mít tu sadu hotovou prostě byl jsem

kdekoli před tím včetně vysílacího likelihoodu teďka tam mám to spojnici

tak tam vysílací lekli both vtom černým tlustým puntíku pak to mám všecko za

a _e tím bych mohl být hotový takže tady ještě doplním B je

to je plus jedna

co bude po tou s čarou zlomkovou

já se přiznám že nevím ale mám pocit že tam je ta celková likelihoody jo

proč by tam neměla být že jo jako i ty i ty přechody by se

mně vydatně jako mohl po normovat

to znamená

_e tady bych si tak tipl

že

bude

to je

o M

ale vůbec si nejsem jistej

jo _e tak se poďme podívat se jak to má být správně

přechodový pravděpodobnosti

_e ta tak tomto mám blbě pardon

takže _e ten _e začátek sme dali dohromady dobře jo vidíte to částečnou dopřednou trade

do stavu Í

částečnou zpětnou která vyráží dál ze stavu je

potom to jejich spojnici reprezentovanou přechodů pravděpodobností potom ještě to se nám tam chybělo tedy

vysílací likelihood sestavuje toho jeho vektoru

a dole sem se sekl je to _e

je to vlastně suma

všech _e

_e všechno věc je teček takže tady tohle teda

to sem

to sem uzeného

s prknem předělám

tak větev

suma přes všechny časy

jo je

tak _e mám to

nebo celkem hotový

tak a teďka prosím vás bych _e bych chtěl vědět

když tady tohleto _e když tady tohleto počítání budete _e budete programovat

nebo u teho programovaly

jak byste to dělali

jaký budou kroky

vaše krok

tak

jo mám

mám prostě nějakou

_e

promluvu

no

on promluvu o je jo

nejsou vektory vod jedničky do péčka

a mám nějaký původní hodnoty _e který sem prostě nějak _e na inicializoval

a poďme teďka se bavit jenom vo těch střední hodnota nebo směrodatných odchylka že

ní je

a _e

_e

firma

je k a

na druhou

tak

rokem prvním bude to že musím pustit _e

_e trénovací algoritmus

nechat ho vlastně jako bublat přes všechny

čili všechny časy

se ve všechny je léčka

a vyhodnotit si maticí všech a of

jo alfa je se

toto prostě vyhodnotím pro všechny časy pro všechny stavy

potom si pustím zpětnej algoritmus

jo takže půjdu kdo takle a zase přes všechny časy se ze všechny stavy

si vyhodnotím matic i zpětnejch

částečný likelihoodu beta jet

vzpomenu si

že

této matici zde a této maticí zde získávám velmi cennou hodnotu

a to je celkovým baumwelchův likelihood P

pro o M

a pak tady ty dva _e pak tedy ty dvě matice vynásobím _e dostanu tu

_e nejcennějšího hodnotu po které sem

no já sem se rovnalo

a to sou to sou ty elka jo to sou prosím vás vlastně konstanty

že

který udávají L je

té jo zase tady je čas

a tady je _e tady stav _e

tady je index stavu je

tak a teďka prosím _e když se podíváme tady na tyhle rovnice

tak _e

si uvědomíme že vlastně já musím _e počítat pro všechny možný stavy

který má to moje vrahy _e miminko

ale že _e tady tyto rovnice sou docela jednoduchý _e ze existuju existují tam hodnoty

C kterým se říká statistiky nultý ho prvního a druhýho řádu

tak a zkuste mě teďka získat i statistiky

se vlastně počítají _e

pro každou promluvu pro celou tu matici velký tlustý o

ale mě zkuste říct co ty statistiky nutilo prvního a rozdělují ho řádu asi budou

se podívat se tady do těhletěch rovni czech

co sou ty statistik

každej stav _e mém k a když se trénuje tak má svoje

patristiky

co to asi bude zas

dávám vám trochu poradím

_e

disky tam budou hrát roli nějaký váhovací koeficienty zalijete

a _e toho co vedle nich sedí když to bude první mocnině

tak to bude prvního řádu když to ve druhé mocnině že teda nějakým už na

ústředně nejde to bude

to bude

druhýho řádu

a když to tam nebude vůbec

tak to bude nultý ho řádu

tak ste my říct _e

ten jiří ze vstupu

horní tak podívejte

_e

předpokládáme že máme

_m že máme

hodnoty

rozjetej stav jo

tohleto

je takzvaná statistika nutnýho řádu znamená

_e nikde tam nevidím žádnou hodnotu

hodnota vektoru není tam

jo

takže ta hodnota vektoru je tam na nultou

není tam vůbec protože statistika nultý pořád

tak teďka sem vám pomoh tak mně řekněte se ta ctatystyka prvního řádu

ten této je ten čitatele že jo to je vlastně ta _e ta _e hodnota

kterou dostanu když _e když budu

M a pravděpodobnostma normálně násobit vobyčejný hodnoty vektoru

zkuste měřítek bude ta statistika nultý ho řádu vypadat

co to bude to skalár vektor

košíček s ovocem

prosím

jak to

A todleto je vektor

todleto je takovymle pěknej vektor

když ho vynásobíte koeficientem

tak do pořád vektor

jo takže bacha

ne já sem říkal nultého tak se líbáme mně se mně se občas jako plete

prosejvala pardon tak se omlouvám takže nultého řádu bude skalár

prvního řádu

bude vektor děkuju

tak a teďka jak to bude se má statistika má druhého řádu tady

_e

tady určitě matice

dyž sem řekl že budou

_e že žádný kovarianční matice nebudou

a že _e budeme pracovat jednotlivým _e element a má že

jako já sem mohl between _e tomu sem tam nadefinovat maticí přijímá jo

ale nejsem hodnej neudělal jsem to

takže si statistiky druhýho řádu v tomhle případě bude budou co

ve

to je trochu otázka já si teďka dívám že vlastně na to abych vám dal

pořádnou odpověď

tak by měl ještě trochu zapracovat na této rovnici ano

a _e přepsat i tak

aby se _e tahleta rovnice dallas vyhodnocovat

eště předtím než budu mít vlastně k dispozici _e než budu mít k dispozici střední

hodnotu

protože

protože tady u této rovnice by to chtělo abychom že jako střední hodnotu spočítanou

no

tak _e

prosím vás pomožte neříkal matematikou

když se počítá _e směrodatná odchylka něčeho

jo sigma

sigma na druhou

tak to může spočítat jako _e jako

jedna lomeno T

suma X

mínus mi

na druhou že jo

a nebo

si to můžu

přepsat

jako jedna lomeno T

suma

X na druhou

mínus

určitě

jo za X mi

vám právě postižené

mínus nějak do v tady možná dokázali odvoditelná nám právě pocit že když je že

když tam máte tu hodnotu mínus dva X mi

tak _e

tak si

tady sme krát E

jo

no to je mínus jedna pokud teda jako děláme nevychýlený odhad a pokud děláme takovej

ten vobyčejný

tak děleno se takhle

dobrý tak jo no tak _e já už radši snižuje si to nechám to si

odvozování protože to dycky dopadá špatně

ale chtěl jsem říct že tady toto _e rovnici vlastně můžeme přepsat

tak to

samozřejmě si do ní zapojíme své váhovací koeficienty jo to znamená

_e tady by to bylo očko že jo a tady bych někde daleko L je

_e kryjete

a _e

tady bych dal

taky L je to jenomže by vlastně mohl dat až na konci a sumu toho

L je T

a chtěl jsem říct že vlastně nám _e bude _e stačit

když budu

ve statistice nultého řádu prostě počítat

průběhu času

přičítat hodnoty nalejete jo udělám si akumulátor ten začátku dám na nulu a při každým

_e při každým _e čase tam budou přiřazovat hodnotu L je to je

jo

pak si udělám druhej akumulátor které bude vektorové A

a s každým čase tam budu přivazovat hodnotu _e relied _e toho váhovací o koeficientu

krát

současnej

vektor právě čase T

jo a tady toto budu pořád prostě dokola spát do akumulátoru

při každým novým čase to tam přičtu

a na konci až doběhne čas dokonce tak budu mít nebudu mít tady tohle jo

a konečně při počítání _e těch směrodatných odchylek

tak si budu muset udělat ještě jeden akumulátor

tedy když teda nepočítáme

splněny kovariančními maticemi tak bude vypadat nějak takhle _e tam budu akumulovat

hodnoty L je T krát _e

a teďka

abych se do toho nezasekl tak vám za napíšu jenom pro tu jednu konkrétní skalární

hodnotu tady

že tam bude _e

je

bude tam

krát _e hodnota

Z

T ho vektoru

a to bude

prosím

na druhou jo takže toto bude můj akumulátor toto budou moje statistiky druhýho řádu

až mě doběhne čas

tak pomocí tady této slavné rovnice kterou sem tady nestačil dodělat

tak dokážeme prostě udělat odhady střední hodnoty odhady

_e směrodatných odchylek

tak

_e dobrý máme vlastně

nějaké více či méně složité rovnice pro odhad parametrů modelu

_e na jedné jediné promluvě

jo teďka prosím vás opakuju

to co sem říkal minule že to trénování probíhá tak že vlastně si napřed inicializují

nějaké hodnoty modelu nějak prostě tu promluvu rozdělím

_e spočí spočítám si původní střední hodnoty původní _e směrodatný odchylky nebo kovarianční matici

a pustím přetrénování první fázi přetrénováním něco dá tady ty nějaké hodnoty L je to

je vlastně ty rozhodovací koeficienty

těma odhadnu nový hodnoty a takhle to potom podstrčím pořád dokolečka až na nějaké kriteriální

funkci což většinou bývá lekli uteklo celé _e z celé promluvy až to prostě přestane

let tak prohlásíme se model do trénovala že jo to

takhle toto brož velmi školní příklad když sem trénoval na jedné promluvě takhle to nikdy

není si promluv mám k dispozici třeba milion

a chci natrénovat jeden model

tak rovině teďka zkuste

povědět

jak

se vyrovnám

s milionem promluv

jo tady ta suma

té se rovná vod jedničky do tečka

to platí tady pro tuto konkrétní

promluvu jednu

já jseš nemám jednu ale milion a přesto chci natrénovat

můj model který má nějaký střední hodnoty nějaký teda ty odchylky nějaký přechodový pravděpodobnost

tak račte co mám dělat

tak

podívejte se kdyby zadali trošku

nebo tady tu pastelkou světelnou a pěkně tady ke každé sumě

eště přidělali jednu

a tam dám třeba

_m to tam mám dat Č rusky

a šel

bude index promluvy

jo všechny pro všechny sumy předělám tak

že pojedou přes všechny promluvy

a v rámci každé promluvit pojedou eště přes všechny časy

jo

jednoduchý prostě

tady budou mít _e

na váhovaný

vektory tentokrát nevím nepromluvili úplně ze všech

dole spočítám jako normalizační koeficienty

taky ze všech a tak dál

jo

takže tady byste si ke všem těm _e ty černým sou mám připsali včel

tady by to asi chtělo

_e eště nějak oindexovat že jo takže by to bylo tady osvč _e

_e by bylo relied Č

_e no taky zvětšil

_e každá bude mít jinou délku takže bysme tosče doplnili like céčku

ale prostě dokázali byste si představit co se děje jo

eště jednou ten algoritmus by _e probíhal tak

že bych dycky vzal promluvu

proto konkrétní promluvu abych spočítal

a osy

dopředným průběhem zpětným průběhem bych počítal betty

abych je

smil dohromady získal bych pro tuhle promluvu

_e ty moje krásný váhovací koeficienty zalijete

a teďka bych prostě

_e za pích no

tyto koeficienty do příslušné neodhadovat tři rovnice a počítal

a teď prosím vás se asi začnete příkladu na to prosím vás tady obtěžoval s

těmi statistikami a s těmi akumulátory že jo

když _e bych totiž měl

jednou promluvu

tak _e by bylo celkem jedno jako jakým pořadí bych tady udělal tu sumu jestli

bych šel napřed přesvědč k a

jo no _e nebo přesčasy

jestli bych si tady tohleto vyhodnotil nejdřív ten vršek vyhodnotil nevyrobit o jedno ale teďka

si představte že máme opravu několik miliard trénovacích vektorů

a každý průchod přes data něco stojí

to znamená já opravdu _e teď

pokud vám těch trénovacích promluv tolik

tak pro ně využil toho že jsem si nadefinoval tady tyhlety pěkný statistiky akumulátorem a

a vlastně na každé promluvě

budu dohořívat

do toho příslušnýho

akumulátoru

do toho nulu toho řádový ho

prvního řádový ho

a ji tady druhou řádový ho

projedu ne pro jednu promluvu ale projede úplně všechny

a teprve až to všechno skončí

tak si udělám nový odhady _e příslušných parametrů jo to znamená když to všechno

_e dokončím

tak tom prvního řádovým akumulátoru budu mít čitatele

no to řádovým akumulátoru budu mít jmenovatele _e prostě podělím a budu mít nový mean

tady té druhé rovnici to budu mít trochu složitější protože jsem to ještě nebylo ale

_e zase ze všech

hodnot který budou mít k dispozici

vypočítám příslušných teda ty howling jo a můžu valit další iteraci přes všechny data

tak

co to bylo asi _e šest co sem chtěl říci

k _e

trénování modelů

kde se teďka na chvilku

podívat S je na rozpoznávání

no tak zvanej viterbiho algoritmu

no jasně

prosím

_e nevím sestavte sme

teďka poslední minutu představte musím

no je

historický

ano sem číslo voznámit přednášky

tak nějak

items

no a o tom _e mít von jako trošku

lukáš není

no ukážeme státech

ví a neví kde to je

_e

volal mi neví jestli to máme dneska nebo jaké

prosím jo

tak dva tři

nouzovým dost dobře možné se měl být na dvou místech stejný čas zahozen

tak _e

poďme prosím vás na rozpoznávání

tak _e to rozpoznávání možná uděláme jako úplně _e úplně na papíře

a

a to následovně

_e vzpomeňte si na výpočet a of

jo a osy probíhaly tak

že sme měli vlastně tady stavy modelu

tady sme měli čas

a teďka sme tam vlast příkaz neměli _e graf T těch různých _e stavových sekvencí

který _e který vypadal

tedy vypadá nějak takhle

a my sme říkali že alfa je T

že je vlastně jakési ohodnocení toho _e že

sem v tomhletom _e stavu v tomletom čase

a předtím sem byl kdekoliv a berou v úvahu všechny možné testy protože při výpočtu

alfy se nám tam někde objevovala nějaká pěkná suma jo

a říkali sme že když prostě jako takhle proběhne a posledním čase

se ocitnu posledním stavu modelů tak saal alfa N

_e T plus jedna protože času skončil ně bude udávat celkovou baumwelchovu

_e likelihood vyslání možných dat _e tím celý modelem

jo a uvědomíme si prosím až F alfy je

se _e zohledněný všechny možné testy čili jsou tam sumy přitom výpočtu

tak a teďka mě zkuste říci ne někdy když sem vám začal povídat o

o

_m skrytých markovových modelech

bychom si mohli zkusit tipnout jak se spočítat ta likelihood P hvězdičkou

R _e se říkalo viterbiho a která vlastně bude likelihood vyslání zase dát mi modelem

a teďka bacha ne po všech možných cesta ale poté úplně nejlepší cestě

tak zkuste tak nějaký návrh

prosím

bude počítat

ale tak pozor tak já vám tam napíšu B vzoreček kterým sme tu alfu _e

které sme tu alfu počítali jo

takže alfa je

ste se počítala jako všechny možný předchozí stavy Í

_e jejich _e něj alfa

a texture tam bude

_e

přechod sorry ste i mínus jedna pardon

zda P T mínus jedna

přechodová pravděpodobnost _e T je a současnej vyslání současnýho

vektoru jo tak takhle jsem počítal

takhle jsem počítal alfy tak mě zkuste říct

_e jaká tam bude změna když budu počítat pouze s tou nejlepší cestu

a poradíme to smazání jednoho symbolu a přepsání třeba písmenka

no

dobrý

a nahradili maxem přesně tak

jo

takže jinými slovy když sme tady v tomhletom puntíku

tak nebereme v úvahu

obě dvě ty předchozí cesty ale berou v úvahu jenom tu kterou která je tlustší

která mi dá lepší hodnotu a tu druhou prostě takhle kimonu neberu ji úvahou vůbec

a zkuste si uvědomit analytik analogii T dynamickým

_e borcení času dete dvojí béčkem

my se vlastně úplně stejně byl jsem nějakým puntíků té _e matice jak se to

menovalo

částečných kumulovaných vzdáleností ne a teďka sem vlastně _e vybíral

odkud se tam dostanu s největší

pro s nejmenší možnou hodnotou

to sem vybrala ty ostatní sem zapomněl

jo tak N při výpočtu viterbiho se to bere naprosto stejně

a když potom dojdu do posledního času a do posledního stavu

tak _e

budou mít

tady

vtom puntíku nikoliv baumwelchovu ale viterbiho pravděpodobnost té o M

která bude vlastně maximum přes všechny možné stavové sekvence

vyslání vektoru o po těchto stavových sekvencích akorát že to _e akorát že to rozhodnutí

nedělám až na konci tedy jako když se podíváte na tu definici tak bych je

měl vlastně jako všechny si vymyslet

všechny spočítat a pak vybrat maximum a tady to míněním tady to maximum vlastně vybírám

lokálně v každém stavu v každém čase a když dojde na konec tak už to

maximum a motole

jo takže to úplně přesně stejné jako při počítání

_e D C dvojtečka

_e prostě

jak se řekne X hospic česky

výčet vyčerpávající prohledávání všech možností sem nahradil

_e výběrem ten nejlepší možnosti s každým uzlu mýho počítání

tak

a _e teď si pod dnem říct jak se tady tohleto dá implementovat co nám

to totiž _e v nám totiž pomůže ještě dál implementuje se toho pomocí takzvaného tokenpassing

a nebo u mě předávání půllitru

a vlastně graficky se to mohli už vidět na těch _e lukášovi k animací které

jsem vám tady předváděl _e které sem vám tady předváděl minule jo

inicializace probíhá takže vožice prázdný půllitr do každého vstupního stavu modelu

potom

_e iterujeme

kdy vlastně

_e kdekoliv

máme

ten

graf který se nám někam

_e někam takhle sdělí

_e sem

vjeď ku teda

sem miječku a sem _e sem čase to je

tak pokud se mohu dostat do nějakého dalšího stavu F prostě ten půllitr vezmu

a pošlu

do každého s těch následujících stavu

po cestě do toho půllitru dole ju

logaritmus a

příjde

plus logaritmus to je vysílací pravděpodobnosti byl

koncovém stavu

a pokud se mi v nějakém stavu se jde více půllitru

tak _e musím být kruťas a nechat jenom ten co má větší hodnotu adresoval menší

hodnotu tak _e tak zabít nebo vy Y vyhodit rozpor

tak

teď prosím vás se mně řekněte jak je možný že tady najednou jako _e začíná

začínám pracovat za S lokalit máma

a že je to takhle jako jednoduchý a předtím když jsem počítal baumwelch je tak

tam řádného velikými nebyly

které se používají taky samozřejmě ale to je to složitější

jak to že teďka si můžu dovolit tak jako projev pohodičce to všecko přepsat do

logaritmu

tam zkusím

přehodit _e ty zápisky

zkuste se podívat _e na původní stav tady tento

tady této rovnice

u

tak

já tam suma

logaritmu je se suma dobře

teďka tam suma není

teďka je tam _e k

a najednou jako je to všechno bezvadný protože vidíte že v této _e v této

rovnici není jedinej součet

sou tam pouze součiny

a součin se krásně převádí prostě na logaritmy takže když si

jenom napíšete log tady přes to všechno takže to log _e je T rovná se

_e sorry teďka už tam nejsou alfy protože _e vitter bod viterbiho částečný

pravděpodobnosti většinou _e značíme jako _e skorkov íčka

takže log svíjet E bude má

to je todle dobrý potom je tam C E

_e té

mínus jedna

co tam mám sandál

plus že jo plus logaritmus _e

a je

plus logaritmus

B

je

no C

jo takže v pohodě to přepíšeme _e a implementujeme to V logaritmy

tak to probíhá

rozpoznávání a pak prosím vás jako když přicházejí vstupní vektory

tak _e necháme _e C modelem pro lítá what _e pro lítala půllitry

_e když dojde na konec

tak jenom musíme vlastně zařídit aby se ten půllitr _e dostal ostrého _e z toho

mého

toho mého modelu

to znamená _e mám tam nějaký _e poslední

poslední vektor

poslední stav modelu

a abych ten půllitr dostal ven tak vlastně jenom

takže sem vám říkal když i muži _e

se

to je vše co se nemá rádo

tak

když mám vlastně tady _e tady ten graf

a _e tady je poslední opravdický čas ste

a je tam poslední vysílací stav modelu tak já mám vlastně poslední krok který musím

učiniti

a toho s toho modelu vylézt

a lezu ven o logaritmické _e pravděpodobnosti a

N

mínus jedna

_e jedna to je prostě ta úplně

je to úplně poslední

a ten _e půllitr který odeberu tady na konci

mě prosím udává

logaritmickou viterbiho pravděpodobnost vyslání sekvence vektorů tím modelem po nejlepší možné cestě

tak

_e

teď prosím

zase vypomůžu tady tohoto prezentaci

skutečně mu

pro s tomu ty

mediální představení

a

chtěl bych abychom se vrátili

_e vůbec tomu

původním problému rozpoznávání co je naším úkolem

naším úkolem je

rozpoznat když máme tady na vstupu nějakou promluvu

nějaký slova třeba jest nebo know bysme se teďka naučili

vyhodnocovat

tady tuhletu pravděpodobnost že sekvence vektorů byla produkována modelem slova je s

anebo že sekvence vektorů byla produkováno modelem slovanů

teď smím úkolem je rozpoznání vlastně co

co udělat

aby ty slova rozpozná tak my si tady tyhlety dvě pravděpodobnosti nebo likelihoody můžeme vyhodnotit

co myslíte že sou tady _e že sou tady ty hodnoty P je saténu co

to je

vidíte z nich nějaký data

vstupní nějak i

jako promluvte rabicka přišla

no jo ale já se ptám jako tady na toto na té jestli naplněnou jestli

to vidíte v nich

ne

v tom žádný nastane jsou to znamená P je schopen O sou jaký pravděpodobnosti

apriorní super

a jaký by bylo takový jako unk třeba doporučení

jak je nastavit

půl přesně tak jo pokud člověk jako nechce

před přiklonit ani jednou ani k druhýmu tak by bylo dobrý jeden a půl

takže _e tenhleten modýlek vyprodukuje jedno číslo

to je vono krát půl tahle modýlek vy po roku je druhý číslo to je

vono krát půl no a teďka prostě když to čísílko je větší tak řeknete že

to bylo jestli bych tohle větší tak řekne ze když to bylo know

tak

_e teď prosím vás ale bychom mohli možná si to dělat něco chytřejšího

a to chytřejší bude rozpoznávání _e spojitých šlo

jo nějaká promlouvá která _e

třeba bude mít _e za úkol rozpoznávat sekvence slov kočkopes

vo může být slovo kočka může být slovo pes

a ona by nám _e když řeknete kočka kočkopes

tak by měla

přesně

přepsat co ste řek

tak

očekávám vaše návrhy jak to budem dělat

nebo mí nebyl ní příklad když se to dělat třeba vytáčení telefonních čísel hlasem

jo máme čísla prostě vod nuly do devítky křížek hvězdička

to číslo může mít

op

_e nevím očistit do

deseti

čísílek

a vy máte rozpoznat

jak to udělá

nemáme se

to by bylo jednoduchý K ale nemáme

jo takže rozpoznávání spojitých

spojených slov

a kolik ano survey zapojíme ale jakým

přesně výstup na vstupu děláme takovou smyčku

kde _e řeknem

_e kde řekneme

dobrý

_e když _e bude to funguje to standardní skrytý markovův model akorát že bude trochu

složitější budou tam lítat _e ty piva do kterých se bude do líbat tady kliku

a když nějaké pivo

vypadne tady toho posledního stavu

tak se vrátí

do prvního stavu zase se prostě ostrov split ne

no všech možných _e modelu

a může se pokračovat dál

tak a teďka akorát si uvědomte E s

tady budeme mít prostě teda tu krásnou promluvu

vod do

která se mi

převede do _e do sekvence

vektoru s akustickými parametry že jo tady bude čas jedna tady bude časté

a _e

tady bude časté _e teďka co uděláme

co uděláme v čase T když ta promluva skončí

no právě tak tady v tomhletom posledním stavu modelu

budeme mít takovýhle velký škopek

S pravděpodobnosti

logaritmickou která bude třeba mínus šest tisíc osum set sedmdesát dva

tak a teď mně řekněte jestli jako sme

epic tady s tímto výsledkem nebo ne

asi na jeho protože když sme měli izolovaná slova

tak sem tam měl dva různý modely jeden byl na kočku druhý byl napsat každý

mně dal nějaký ohodnocení já jsem ta ohodnocení srovnala to co bylo vyšší tak vyhrálo

a rozpoznal

teďka je to takový zlý protože já mám jenom jeden model

potřebujeme trasu klimat došlo a jak by se teďka _e to zařídili co

co takhle

že dobrý ale pozor já vám to začne trochu vrtat maximum se vlastně vybíralo třeba

tady

teďka tady

maximum se vlastně vybírat po každým stavu

tak _e budeme vopravdu jak of bude chtít maximum

tak perfektní že těch děkuju je to naprosto přesně tak mi vlastně musíme _e kontrolovat

těžko píky který nám tady během token pásy nebo pivo passing algoritmu vycházejí tohoto stavu

a pamatovat si jaké sou odkud vylezli

jo když to když to řeknu _e jednoduše to znamená my tady doplníme nějaké

pseudo stavy

ten _e nebudou generovat žádné pravděpodobnosti

ale budou zodpovědné za to

že na ten škopek

který poletí zatím čtverečkem

se napíše

_e se napíše identita toho slova _m odkud _e odtud odkud ten škopek bylo to

znamená tady nissan absolvován

tady by se napsalo na nějakou kartičku tu a tak dále a samozřejmě tady ta

červená čára potom s těch škopku vybere _e vybere jeden

terry přežije

a který se vrátí na vstup

ale už bude mít na sobě kartičku a na té bude napsáno že _e že

_e vyletěl veslovat u

jo takhle to bude skutečně se všemi škopky které nám tam budou říkal s našim

algoritmu

a až nakonec

vypadne ten velký škopek

který bude mít

svou

likelihood která nám vůbec nevadí která nás moc nezajímá

tak bude mít prosím tak je

popsanou kartičku identitami slov

ve kterých V lítal jo a tady tohle

je prosím

to co

to se potřebuju

tak _e jinak tak ať íčka

to se N řeší tak může vlastně každý token nebo každý škopek má na sobě

nějakou struktura strukturu která sem nebral klink rekord

wall or

a při průchodu těmi čtvr a ty mi stavy se do té struktury něco napíše

jo ale to budete potřebovat až kdybyste chtěli něco takového implementovat

tak že jo takže tady je _e v je to

zobrazeno

tak prosím vás kornetistka rozpoznávání ještě trošku

že trošku dále

tady je vlastně _e

s obrazem ten _e ten případ kdy sme měli _e kdy sme měli teda rozpoznávání

dvou různých slov

S možností vracení začátek

s tím že tady budu mít i _e stavy které vlastně mejdlo jí procházející token

i nebo škopky a dávají jim jak identity

tak _e tetě

prosím _e se poďme trochu podívat zpátky na natrénováním modelů

no jasně

no

_e vona tam většinou ani nebývá to mezerami číslo ale takhle uvědomte si že tím

že tou čárkou poslední červenou

tady tímhle tím stavem

že projít _e jeden škopek _e s každým s každým frameu

jo to znamená každý čas každých deset milisekund tam letí jeden škopek není to tak

že by tam jako letěl jeden jako po konci slova mi ani nevíme kde konec

toho slova je jo to znamená každých deset milisekund automata s tam letí škopek

a jsem

ano

ano to se rozskokové na dalších devět

a je to také krok pozor tady toto jednoduchý příklad kde opravdu se trošku pokovená

dalších devět

a všechny škopky dokážeme udržet paměti že děláte nějaké rozpoznávání s velkým slovníkem

který má z dejme tomu padesát tisíc slov a všechny slova sou mezi sebou propojeny

ještě nějakým a jazykovým a pravděpodobnostma ke kterým se dostanem

tak tam všechny škopky nedokážete držet paměti o tom se potom musí dělat nějaký pruning

vy vlastně řeknete budu mít s každým čase aktivních jenom tisíc škopku a všechny ostatní

prostě wiki rujete _e a nenecháte dál žít a budete propagovat jenom těch tisíc aktivních

jo to toto jako vopravdu je potřeba pak při velký rozpoznávačích řešit

tady bysme se dokázali představě že ty škopky opravdu lítají s každým čase každým stavu

všude

a teďka si jenom uvědomte když tady je slovíčko ován

tedy _e který trvá já nevím _e který trvá půl

_e

půl sekundy jo

za jak dlouho tady tohle stavu vylítne první škopek

ne

ano takže po štvrtým jo po štvrtým _e stavu

už tady tento model začne vyhazovat

začne vyhazovat open i

jo ale

jejich kvalita nebude nic moc

protože vlastně se mi

čtyři vektory které jsou tady na začátku natáhnou na čtyři stavy který mají reprezentovat úplně

jiný lásky to znamená

budou to nějaký hrůzy

když se budete ale ten moc model vopravdu bude produkovat

token každej deset milisekund jako mašinka hodin

když se budete blížit konci tady tohoto slova

tak že toho modelu začnou vyhledávat kvalitní škopky

proč

protože prostě je sežer a vy si správný stavy tohoto modelu

to znamená budou to škopky který budou mít dobrý hodnoty

a když se potom _e dostanou dál do toho C E a budou se srovnávat

trošku kam a který vlítnou vodsaď tak budou mi hod naději na to že to

tady tyhlety škopky přežijou

no a potom pojedou dál prostě do _e do mlýnice a pak se to stejný

zopakuje druhým slovem a tak dál a tak dál

jo to znamená _e to _e to rozhodnutí

jak jsem měl vlastně ve své promluvě nasegmentovaná slova jestli to bylo prostě vo vánoci

_e stáhneš

a tady mezi nima byly nějaký hranice takto neděláte během toho rozpoznávací v algoritmu

ale dělat do až na konci protože se podíváte na kartičku

S líbila má která je na tom úplně posledním vyhrávaj tím skok

jo a děkuju tohleto byla velice dobrá otázka řekl

tak _e poďme se teďka podívat

jak to bude trénováním

_e modelu nějaký složitějších _e když třeba nebudu mít rozpoznávač tady jako hle tady nějakej

dvanácti číslo vek ale

padesáti tisíc slov

což je takovej standard pro angličtinu pro češtinu tak tři sta tisíc slov aby to

trošku fungoval

tak jak si myslíte že budem trénovat

zase jako aby model stálo za to

tak potřebuje mít k sobě aspoň

deset ale radši sto

trénovacích promluv

jo tak

představte si že budu mít natrénovat takovédle rozpoznávače teďka jako sto musím sehnat samozřejmě nějaký

data

a _e

u straně popovídat tak bity data měli vypadat

tak _e kdyby tady šlo nějaký kraviny jako třeba _e číslovky jedna nebo slova pes

počkat tak byste možná našli data nějaký zprávy nebo já nevím kdyby se slovo pes

objevovalo sto krát

kočkami tom taky oblast okna to znamená měli bychom šanci

_e tady tyhle modely natrénovat

teďka

_e vy tam byste ale chtěli aby to dobře fungovalo i na slova to kůlny

o ne jiné obhospodařovat silnějšími

a to byste možná jako prošli celý archiv české televize _e celý rok a to

slovy se tam našli jednou nějakým zábavným pořadu

a na takovým slovy byste natrénovali velmi špatný model

na jednom takže

X na to pude

jo teďka de o to abysme postavili modely na který budu mít dost trénovacího materiál

_mhm není sou drazí

nech nechci dělat

a to rozpoznávač teda za týden nemůžete nemodlí

_e

na to byste možná právě to celkové rozpoznávač tak _e řekl určitým nentek

velice slepice problém _e tak jako musíme to rozsekána menší jednotky ne když nepůjde natrénovat

model na slovo pes a na strana tým jako na S _e na kočka půjdou

ale na ty složitější slova nepůjdou takto budeme

hned rozdělit na nějaký jednotky a udělat jednu udělat modely tady těch malých jednotek

a s tohoto potom poskládat a co myslíte jak jednotky tak asi budou

jsme na přímo na jako základní zvuky řeči souhlásky že jo nebo fonémy sečtu budou

modely fonémů tak _e to bude vypadat tak

když budeme chtít udělat slovo je s

tak tam bude model

fonémů že jo

_e

S

a dohromady

tam to bude tvořit slovo je

my vlastně zřetězením _e tady těch tři modelů dostaneme zase normální markovův model

a s toho potom budeme moci ty slova

kdy skládat jo to znamená _e

pokud chceme udělat jo rozpoznávač tak takový velice užitečné je slov ován trumfli

tak to bude vypadat nějak takhle u vána čudu

vy

tak tady zase vidíme E volby

link node i

který má když provalí nějakej token

tak _e tak se to méně napíše

a pak to může jít tedy pěkně

na začátek

tak a co si myslíte že sou tady ty pí one kýtu a P s

V

zase jsou to nějaký pravděpodobnosti že jo

ale sou to pravděpodobnosti který nevidí žádný vstupní data žádný akustický vektory

toho že něco se generuje podle akustických vektoru je schovaných těch

těch kolečka

tak

asi

tam pořád na stejný věci to sou nějaký pravděpodobnosti že jo jaký

apriorní jako

tak takhle jako že bychom dávali apriorní pravděpodobností nějakým izolovaným slovům to asi nebude _e

moc _e moc nutný nebo

jako nebude to moc užitečný

ale už si můžeme _e zkusit představit

že budeme dělat něco složitějšího

a tam budou chtít _e za drát ovace vztahy nebo pravděpodobnosti mezi těmi danými slovy

jo podmíněnou pravděpodobnost

slova tu

když předtím bylo rozpozná viny slovo one

podmíněnou pravděpodobnost slova Q když předtím bylo rozpoznaný slovo tu a tak dál

tady tohle _e se menuje

bigramový jazykový model

digram proto čtem vlastně mám dvojice slov

na nichž počítám jak i pravděpodobnosti

a zase jako _e rozpoznávači slov u want úsilí

nám to asi moc nepomůže ale teďka si představte že _e rozpoznávat E s řeč

s velkým slovníkem

a teďka tam máte prostě _e akustika nebo

to je tyhle vlekli užitých těch more kolečka si nejsou moci sty jestli tam bylo

slova _e slovo prezident _e prezident václav klaus sálem nebo prezident pačes plavu

jo a tady už asi

cítíte že nám ty jazykový pravděpodobnosti nějaký bigramy

můžou pomoct protože podmíněná pravděpodobnost slova václav

když předtím bude prezident bude asi docela velká podmíněná pravděpodobnost klaus když předtím bylo václav

bude asi taky docela velká když to ty vostatní budou asi docela malý

tak kromě zkuste říct _e kde se tady tyhle pravděpodobnosti podmíněny vezmu

si

_e noviny jo ale jak jaké budu počítat

no

no přesně tak za rok dokázali bysme napsat nějakym vzoreček třeba když jako mám u

podmíněnou pravděpodobnost _e

_e slova

klaus

když václav

tak zkusíme sme na dohromady _e

jak by se to dalo vyhodnotit

na velkým korpusu no novinových dat

no přesně tak

jo takže normy tam vlastně k aut

já to budu značit takovým a tím křížkem count

slov

václav

klaus prázdné slovo ale sousloví takhle jo

lomeno count M

_e václav no a

příklad za naprosto přesně

takhle se skutečně o rádio u _e pravděpodobnosti digramu je to zase jako samozřejmě a

pak byste to mohli rozšířit na trigramy for gramy a tak dále ten tohleto schémátko

už tam bylo

o něco _e složitější

a jen jenom tak jako zkusíme ťuknout to si myslíte že tady u těch jazykový

modelu bude trochu problém

N provede ta jasný ale člověk jich jako dycky někde může stáhnout nebo nakoupit nebo

_e na webu je spousta dat srandovní

můžou být neaktuální toto ve velice dobrý když třeba rozpoznávat _e nějakou novou doménu

těch _e i třeba bysme tady dělali přednáškový systém na sítko

tak sme měli nějaký jazykový model který byl udělaný na obecnej českých datech jo jakým

pražský mluvený korpus brněnský mluvili korpus

další korpusy

moc to nefungovalo

jo takže museli jsme vlastně vzít doménový data

chlapci chrousta vy všechny studijním

podpory které jsou tady k dispozici na fit ku

a napočítali z nich _e jazykový model _e se potom vlastně smíchal v interpolováno s

tím standardním českým a začalo to nějak fungovat tak že tady toto je dobrý ale

eště další problém

co třeba když budete rozpoznávat větu

_e

umřel mýmu limon či část macourek

a v životě se trénovacích datech neviděli spojením on syčák macourek

jo když to vezmete čistě _e čistě pravděpodobnostně a procházeli byste tady takovouhle

takovouhle sítí

tak tam prostě budka spojnice mučíš a macourek vůbec nebude anebo tam bude admit bude

mít hodnotu nula

a tím pádem tady tato věta nemůže být nikdy

rozpozná

tak _e kdybyste na to šli

_e dobře jako konstantu jo ona se používají takový techniky jako tak zvaný B kofein

_e backoff _e jako ústup nějaké pozici jo takže já bych chtěl

hodnotou by gramům on či část macourek ale já je nemám protože sem neviděl trénovacích

datech takže můžu ustoupit o krok zpět

a říct tak teraso ryby gram nebude tak bude aspoň ne gram

a _e možná že už sem viděl nějakou pravděpodobnost _e slova macourek

jenom toho jednoho slova

já už samozřejmě dokážu navazovat nějakou pravděpodobnost _e nějakou konstantou a použiju místo B gramu

pravděpodobnost tady tohle mikro mu jo

o tom jako když byste chtěli vědět tak se přihlaste

_e pavlas marže do zapojil zpracování přirozeného jazyka

protože tam se tady tydle vědy docela _e docela dělají dobrý takže jako víme jak

by v zhruba fungovalo

_e rozpoznávání

_e tady s těmi _e s těmi foném ovými modely a trošku sme si řekli

vo jazykových modelech

a možná dokonce přednášky se poďme pobavit potom

jak by se takový fonému V modely

dali natrénovat

tak já vám řeknu _e co typicky bývá vstupem

takovýhle trénování

_e

true

no domluvit se tady zmizet je to dole

tak

_e vstupem trénování

vopravdu rozpoznávače s velkým slovníkem který je založený na fonémech

bývá třeba sto tisíc wavek

jo tady nebudu malovat všechny ale prostě

vždycky wavka a u toho máte textově zapsány _e co je vevnitř

takže

ahoj ferda

tak je tam další _e wavka

a tam je prostě mravenec šel nakoupit semestru takové _e znáte ke každé masce

textové předpisy

a naším cílem je zeť _e při

trénování

mít

sadu modelu

_e tady je prostě modýlek pro písmenko a tady je modýlek pro písmenko B

a tak dále náš pro písmenko Z

a každým to modeluje samozřejmě střední hodnota a nějaký ty směrodatný odchylky a tady jsou

nějaký ty přechodový

pravděpodobnosti jo

tak mi z asi před chvilkou ukázali jak tady toto perfektně zvládneme

když mám jednou promluvu mám jeden model o kterým víme že _e budu na té

promluvě trénovat

a pak sme si tam prostě nadefinovali nějaký jako L je se to magický čísílka

pomocí zalijete sem to všechno zvládnu

a teď tě

sme poněkud těším

případě

kdy mám velikánskou databázi dat

máme ke každé vase textový přepis a to je všecko

tak zkuste poradit

co bude

tak _e první _e první etapa

eště docela jednoduchá bude tak zvaný ditu P

grapheme to phoneme neboli převod slov

na fonémy

v češtině tady tohle docela v pohodě toto vlastně bych si mohl klidně přímo přepsat

do fonému

F _e rodeo tady bych _e třeba

jo sem _e

hrát

tak tady by to bylo trošku složitější že jo takže byste to

_e museli přepsat doméně L

asi by tam bylo polknu T mělo sem

S

_e hra to ale prostě nějak pomocí slovníku nebo pomocí nějakých pravidel bychom tady toto

zvládli to znamená ke každé promluvě teď mám sekvenci fonémů

a nevím kde které je

to znamená takový nápad jako že bych třeba vysekal s těch wavek

jako úseky který odpovídají písmenku S

jo vysekal bych to ze všech sto tisíc wavek a pak bych na trénoval model

S při předem zamítá

potřebujeme nějakou techniku která se dokáže vyrovnat s nesegmentovaný má trénovací má data

no

no toto do začíná vypadat dobře

takže _e já si T asi tady

udělám nějakou _e nějakou jednoduchou promluvu

dejme tomu

dejme tomu P

_e a pak by měl další moc _m promlouvat tam by bylo klepe jo

takže já si skutečně u téhle promluvy

vezmu

model

_e

_e a spojím je do jedno alenka a uvědomíme si prosím vás že vevnitř ty

modely fonému vypadají takhle že prostě každý má nějaký ty stavy _e nějaký přechody pravděpodobnosti

jo takže tady tohle bylo by bylo to je to _e

a u další promluvy bych zase _e udělal _e spojení modelu K

_m

_e

_e

_e

jo každej tady těchto modeluje normální korektní allen

teďka budu předpokládat že jejich _e že jejich _e

ne _e slušnej rozšířit jo je _e

že jejich _e parametry jsou nějakým způsobem inicializovaný

a já ta tak jak sme si to říkali tak si můžu klidně

u každýho s těchto _e těchto modelů vyhodnotit

ty měkké rozhazovat si pravděpodobnosti

který mě budou dávat jak bude který _e jak bude který

_e vektor náležet

kterému stavu

tady těchto

těchto modelu

jo

a teďka pozor

nebudu tady mít

_e tento stav

a tento stav který budou různý

ale protože sou to stavy který pochází z S T ze stejnýho foném ku tak

už budou vědět že tady tohleto je ten

stejný stav

tím pádem

_e pro ty červený

she pečky to znamená pro první stav

modelu pro

ta funkce L je _e já vám tam napíšu třeba L P jedna T

bude vypadat nějak takhle začátku hodně pak málo tak

tak tady zase bude

a tady zase nic jo

takže takhle sem vyhodnotil _e jednu funkci

_e jednu funkci _e

s mi říkali state occuppation likelihood tady tohle prvního stavu tohoto modelu na této promluvě

no ale já si tady toto samozřejmě udělám i na všech ostatních promluvách jo takže

takže _e teď prosím

si vezmu

_e teď si vezmu

další promluvu kde slovo klepe

jo

a

na tom slově klepe

udělám to sami

zase pro ten stejný ne stroj

protestem samý stav tohodle modelu

je to vyjede

někde

někde tady

jo a prosím vás tady tyto _e tyto funkce si uděláte pro všechny stavy vašeho

von nemovi ho

zvěřince

a potom _e jenom naznačit že když budeme neodhadovat

tak si prostě vezmu všechny

parametry tady téhleté

promluvy

a samozřejmě budu updatovat

příslušný akumulátor tady k tomu tomuhle stavu asi si dokážete představit že tady těchto pár

vektoru se uplatní protože budou váženy touto vysokou hodnotou těchto pár vektoru se uplatní

a ty ostatní se neuplatní jo

a potom si vezmu další promluvu a zase ten na tom akumulátoru se budou podílet

vektory které jsou tady po tímto kopečkama ty ostatní se neuplatní

a takhle si projedu všech svých sto tisíc trénovacích promluv

budu mít akumulátory

_e nultého prvního druhého řádu

pro já nevím čtyrycet tři fonému krásy stavy takže budují mít nějaký sto

sto dvacet nebo sto dvacet devět

pro si všecky trénovací data na konci vezmu

těhletěch sto dvacet devět akumulátoru a spočítám z nich nový parametry

svých stavu

jo a kouzlo na tom je takové

že skutečně

_e na začátku toho trénování vůbec nemusím tušit kde ty které fonémy jsou

když uděláte prvních pár iterací _e tak samozřejmě si to sou ty fonémy rozdíly nějak

rovnoměrně ale to totální hallův

ale pokud se podíváte na ty funkce zalijete tak zjistíte že po pár iteracích skutečně

si ty funkce L je to je přesně najdou ty své foném ty datech cache

až by člověk řekl že to je prostě nějaké kouzlo ale není to kouzlo je

to vobyčejný to vobyčejný baumwelch

a _e

optimálně si to ty

modely takle nastaví

jo takže _e

samozřejmě se tam potom musí jako řešit

další různé věci jako jak to optimalizovat jak to počítat C E

_e tak abyste nevyjeli dynamiky

kterou máte na počítači k dispozici a teda ten _e ale ta základní dále vopravdu

velice jednu

ano ve

konec přednášky příští pondělí si pěkně už víte

_e _m prosím vás nejezděte dopravními prostředky

jakými to se řídí

příští pondělí

a uspokojit ze silnice a uvidíme se za dva týdny na poslední přednášce

a na numerickém cvičení večerním