Meetup X. – Hluboké neuronové sítě v rozpoznávání řeči (18. 2. 2015)

Na jubelijním desátém meetupu jsme se opět věnovali tématu deep learningu. Přišli přednášet výzkumníci ze společnosti ZOOM z Speech Analytics týmu.

Václav Hanžl začal vyprávět o historii speech recognition disciplíny. Ta začíná u modelování fonémů a slov pomocí hidden markov model (HMM) a jejich následnou klasifikací v Gaussian mixture model (GMM). Tato spousta práce z minulosti investovaná do algoritmů zarovnání signálů, časových oken a anotovaných dat se nyní zužitkuje jako předzpracovaný vstup pro hluboké neuronové sítě, které přinášení signifikantní nárust accuracy oproti GMM+HMM modelům.  Abychom je ale byli schopni natrénovat, musíme opustit u neuronů sigmoidskou aktivační funkci a použít tzv. ReLu. Ta přináší výhody jednak v rychlejší evaluaci i ve větší numerickou stabilitou její derivace.

Na Václava navázal Martin Váňa, který vyprávěl o některých teoretických aspektech neuronových sítí. Zmíníl se o fyzikální interpretaci Restricted Boltzmann Machine (RBM) a problémech trénování rekuretních sítí. Dále se věnoval otázkám nelineárních aktivačních funkcí a jejich vzájemným vztahem.

Pavel Šuchmann hovořil o praktické zkušenosti s trénováním netriviálních neuronových sítí. Mluvil například o důležitosti pečlivé přípravy dat, která má znatelný vliv jak na dynamiku učícího procesu tak i na finální performance. Pavel shrnul i některé existující frameworky pro trénování DNN.

IMG_20150218_190643

 

Následná diskuse se dotýkala tématu výběru hyperparametrů a trénování sítí na vlastním hardwaru versus pronajatého v cloudu (např. Amazon). Poté jsme se v hojném počtu přesunuli do blízké restaurace. Těšíme se na vás na dalším meetupu 4. března.

Slidy: TBA

Videozáznam: Youtube

Meetup VI. – Michal Illich (10. 12. 2014)

O prezentaci

Každý den používáme služby založené na strojovém učení, aniž by to většina z nás věděla. Michal Illich vám poví o deep learningu, tedy moderních, hlubokých neuronových sítích – k čemu se dají použít a proč jsou tak dobré.

O Michalu Illichovi

Michal Illich vyvíjel webové vyhledávače od roku 1999. Roku 2002 založil Jyxo, s.r.o., které dodávalo fulltextové vyhledávání pro Atlas, Seznam, Zoznam.sk, Azet.sk, Tango.hu, Vodafone a další. Jyxo také vyvinulo Blog.cz, který se stal pátým nejnavštěvovanějším českým serverem, a reklamní systém, který po 3 a půl roku poháněl Sklik na Seznam.cz. V květnu 2008 firmu Jyxo koupil CET 21 a Michal tam dva roky pracoval jako šéf internetového vývoje. Od června 2010 pracuje na mezinárodních projektech, zejména univerzální čtečce FlowReader.com, testovací službě Testomato.com a komunitním webu Devel.cz. Zároveň je investorem ve http://startupyard.com/ ve kterém je za 4 týdny uzávěrka na přihlášky.

Podrobnosti připravujeme

 

Záznam prezentace: Youtube

Meetup V. – Josef Šlerka (26. 11. 2014)

Josef Šlerka ze Socialbakers zavítal 26. 11. 2014 do Paralelní Polis na poslední MLMU s tématem Fingerprinting. O co se jedná? Josef nám popsal svůj problém, který řeší v Socialbakers – chtějí sledovat impakt tweetu, ovšem pomocí „hard matching“ o něm můžou ztratit přehled – klientská aplikace přidá k textu slova jako RT:, via @…, jiný zkracovač URL apod. a text je rázem jiný.

Myšlenka je tedy taková, že budeme hledat nějaké neprosté zobrazení tak, aby podobné vstupní vzory zobrazovalo na stejné nebo nedaleké obrazy. Jedním z přístupů je použít hashovacích funkcí.

mlmu5a

Josef popsal jeden možný přístup založený na kompresi dvojic vstupů a porovnávání velikosti výsledku s velikostí samotných komprimovaných entit. Intuice je taková, že pokud jsou oba vstupy podobné, tak jejich spojení půjde zkomprimovat také v podobé míře jako vstupy samotné.

Tím se pomalu posouváme k samotné myšlence algoritmu SimHash – pro sekvenci znaků (tj. text). vytvoří její hash tak, aby malá změna v původním textu pouze trochu změnila její simhash. Pokud potom budeme chtít hledat např. podobné tweety, budeme hledat Simhashe v blízké Hammingově vzdálenosti k vstupu. Výhody jsou hnedka dvojí – vyhlazení „šumu“ a efektivita hledání. Algoritmus umožňuje dokonce vážit vstupní slova či znaky, což se hodí pro potlačení vlivu stop-words (bežná výplňová slova v mluvě bez informačního významu) na výsledek.

mlmu5b

 

Po skončení jako vždy následovala neformální diskuse s přednášejícím a mezi samotnými posluchači. Přiště přivítáme Michala Illicha na přednášce o Deep Learningu. Nezapomeňte dorazit!

Prezentace: Slideshare

Videozáznam: Youtube

Meetup IV – Lighting talks (12. 11. 2014)

Po dvou týdenní pauze jsme se opět sešli v Paralelní Polis ale tentokrát trochu s jiným programem – viděli jsme 5 (+1) cca deseti minutových lighting talků z různých zajímavých oblastí. Pojme si je shrnout.

IMG_20141112_183519

Jako první se slova ujali slova Jana Papoušková a Lukáš Drápal ze společnosti CGI a řekli nám něco o platformě Kaggle.com – místo, kde (většinou) velké společnosti vypisují soutěže týkající se jejich problémů, ktIMG_20141112_184102eré mohou data scientists řešit. Jana a Lukáš dokonce jednu z těchto soutěží vyhráli v konkurenci dalších 1400 týmů a dali nám všem tipy, jak v podobných challenges uspět.

IMG_20141112_184102

 

Jako další nastoupil Ondřej Pluskal – student doktorského programu na FEL ČVUT a data scientist ve společnosti Geewa. Mluvil o využití machine learningu v počítačových hrách – například k segmentaci hráčů či predikci in-app nákupů v online hrách, čímž se právě v Geewě zabývá.

IMG_20141112_185358

Petr Baudiš mluvil o svém Question answering systému pro otevřenou doménu dotazů, což znamá, že umí odpovídat na otázky ohledně čehokoliv. Pipeline jeho systému (vlastním jménem brmson) je podobná jako v případě IBM Watson – po anotaci vstupní otázky lingistickými příznaky dojde na entity recognition, poté fulltext search v anglické Wikipedii, čímž se získá seznam kandidátů na odpověď. Ty se ohodnotí logistickou regresí a vrátí se nejpravděpodobnější odpověď. Důležitým příznakem pro tuto poslední fázi je určení, zda vyhledaná odpověď je „stejného typu“ jako otázka (je to řeka? je to osoba? apod.).

IMG_20141112_190852

Marek Modrý ze Seznam.cz nám představil problém Learning to Rank – jak se naučit řadit množinu elementů? Vymezil se oproti přístupům používající regresi či klasifikaci a představil dnešní state-of-the-art metody založené na MART (Multiple Additive Regression Trees). Ty fungují tak, že se snaží aproximovat kriteriální funkci reprezentující kvalitu seřazení (která není diferencovatelná a celkově není hezky vychovaná) pomocí mnoha (stovky až tisíce) mělkých stromů.

IMG_20141112_192944

 

Další byl na řadě Josef Moudřík z MFF UK. Představil nám problémy AI ve hře Go a metodu, jak je částečně řešit pomocí pattern miningu z odehraných her profesionálních hráčů. Díky tomu je schopen predikovat herní styly protivníků či klasifikovat chybné tahy pravděpodobně vedoucí k prohře.

IMG_20141112_194417

Jako poslední promluvil zástupce společnosti Plantyst zabývající se monitoringem průmyslových provozů a různých jiných strojů. Chtěl od nás zjistit nějaké nápady co by se dalo dělat s daty, která mají uloženy za několik posledních let, popřípadě chtěl nahirovat někoho, kdo by jim problém pomohl řešit. V podstatě se jedná o hledání rozličných anomalit a predikci budoucího selhání systému tak, aby včasné řešení minimalizoval ztráty na výrobě.

IMG_20141112_200047

Podle vašich ohlasů se vám všechny talky líbili a chtěli byste speakery pozvat znovu na kompletní přednášku. Díky za vaši přízeň!

Meetup III. – O. Plátek, L. Žilka – Učíme se mluvit s počítačem (29.10.2014)

Ve středu 29.10.2014 jsme se opět sešli, tentokrát v krásných prostorách Paralelního Polis v Holešovicích, na přednášku s názvem Učíme se mluvit s počítačem. Ondra Plátek a Lukáš Žilka z Ústavu formální a aplikované lingvistiky na MFF UK. Představili nám hlavní komponenty jejích dialogového systému Alex. Pokud si jej chcete vyzkoušet a zároveň pomoci rozšířit trénovací množinu učících algoritmů, zavolejte na 800 899 998.

mlmu3b

Začátek přednášky. Proč si povídat s počítačem?

Pipeline systému Alex začíná speech recognition komponentou, která nejprve provede základní techniky zpracování signálů – low pass filter, filtrace šumu apod. Dále se signál segmentuje do časových okýnek, které zhruba reprezentují trifonémy. Ty jsou zclusterovány (pro redukci dimenze) a dále jsou poslány pro evaluaci do akustického modelu, který spočítá pravděpodobnost pozorování signálu za podmínky nějaké hypotézy (slova). Tento model je realizován pomocí HMM. Dále se bere ještě v úvahu pravděpodobnost vlastní hypotézy (language model) realizovaný pomocí n-gram modelu natrénovaného specificky pro doménu Alex.

Takto se vybere list best-n hypotéz, které poté prochází dalšími komponentami, jako například entity recognition, aby se z textu vyparsovala důležitá slova, na které se uživatel vlastně ptá. Následuje komponenta která formou stavového automatu určí, zda-li má dostatek informací k poskytnutí odpovědi nebo jestli se ještě na něco zeptá.

Po syntéze odpovědi (šablonový systém) je výsledek předán do komerčního speech syntetizátoru a přehrán přes telefon.

mlmu3a

Po krátké diskusi po přednášce jsme se přesunuli do blízkého restauračního zařízení, kde jsme dále diskutovali nápady na vylepšení Alex, pravděpodobnostní interpretaci výstupu SVM a řeč přišla i na jazyk Python a jeho varianty Cython, PyPI apod.

Těšíme se opět na dalším meetupu.

Meetup II. – Pavel Kordík: Meta learning (15.října 2014)

Pavel Kordík z ČVUT FIT k nám zavítal do prostor IBM na Chodově a přednášel o meta learningu. Prezentaci odstartoval tématem boostingových a bagging metod – zopakoval princip algoritmu AdaBoost, dále mluvil obecně o ensemble metodách a o tom, proč vlastně fungují.

Pavel Kordík
Přednáška může začít. Marek Modrý, Pavel Kordík (zleva).

Ve druhé části jsme naťukli samotné téma meta learningu – budování databází datasetů a algoritmů, které na nich dobře fungují. Využití těchto technik v praxi doložil jejich aplikací v produktu společnosti Modgen, jejímž je spoluzakladatelem.

Po skončení úvodní přednášky následovala zajímavá diskuze – posluchači se chtěli dozvědět nejvíce zejména detaily implementace a funkcionality výše zmíněného Modgen systému. Hovořili jsme například o tom, jak přesně se optimalizují obecné šablony klasifikátorů a jak se do nich hledají parametry. Z publika bylo také několik dotazů na metodiku měření výkonu naučených klasifikátorů, které Pavel s radostí zodpovídal.

Po mírně moderované diskusi jsme se přesunuli do nedalekého restauračního zařízení, kde dále odborná diskuse pokračovala návrhy na vylepšení ModGenu a dalšího směřování formátu MLMU.

Posluchači Pavla Kordíka
Posluchači během diskuse.

 

Prezentace: k dispozici zde.

Videozáznam: bohužel není k dispozici.

Meetup I. – Jiří Materna: Budoucnost strojového učení (1.října 2014)

Rychlé odkazy: Videozáznam prezentace (YouTube) nebo dole pod článkem

Historicky první MLMU meetup se uskutečnil 1. října 2014 v pražském hackerspacu brmlab, hned vedle zastávky metra Vltavská. Zájem o první meetup překonal (několikanásobně) naše představy a brmlab se tak zaplnil do posledního místa. Řečníkem prvního setkání byl Jiří Materna, šéf výzkumu ve společnosti Seznam.cz, který si připravil prezentaci na téma Budoucnost strojového učení.

Meetup 1 - Zaposlouchané obecenstvoBěhem své prezentace se zaměřil zejména na (dle svých slov) budoucnost praktického strojového učení a to hlavně z pohledu internetového vyhledávače. Přednáška vypíchla hned několik důležitých faktorů, na které se musí moderní machine learning zaměřit a to například zpracování velkého množství dat, škálovatelnost, kvalitu výsledků a v neposlední řáde cenu, za kterou toto všechno získáme. Za nejvýznamnější trendy v machine learningu pak byly vypíchnuty tři oblasti – práce s velkými daty (během prezentace označováno raději jako Large Data, než Big Data), Deep Learning a následně pak využívání Ensemble learning technik.

Náš host se po shrnujícím úvodu dotkl hned několika zajímavých témat, z nichž snad všechny by stály za to, aby byly tématy některých budoucích meetupů (snad se zadaří). Vzhledem k formátu prezentace jsme neměli dost času, abychom mohli některé z témat rozebrat do velkých technických podrobností, ale jako lákavá ochutnávka to jistě stačilo. Sami posuďte, šlo o Learning to Rank, Word2vec, Deep learning, DeViSE a určitě jsme ještě něco zapomněli vyjmenovat. Samotnou budoucnost strojového učení pak Jiří Materna spatřoval v unsupervised a semi-supervised technikách, automaticky konstruovaných hlubokých a komplexních struktur a paralelizaci.

Jiří Materna - ... aneb když se rozbije prezentérCelá prezentace byla samozřejmě streamována a tak si ji můžete sami zpětně prohlédnout.

Po velmi inspirativní prezentaci přišla na řadu moderovaná diskuze. Navzdory našim prvotním obavám se rozproudila velmi živá a zajímavá diskuze, do které se zapojilo mnoho lidí. Probíralo se toho opravdu hodně – vraceli jsme se k word2vecu, k DeViSE a deep learningu, nakousli jsme ontologie, LDA nebo LSA a padla i zmínka o novince jménem neuronové tenzorové sítě. Nejvíc naši diskuzi však rozproudila otázka, která oblast stále odolává a použití ML v ní není úspěšné. Po vyčerpání dotazů na řečníka a další návštěvníky meetupu byla moderovaná diskuze ukončena a volně jsme pokračovali spontánní vytvořením několika hloučků, kteří by diskutovali snad až do půlnoci, kdyby se neozval hlad a především žízeň nekterých účastníků.

Čekání na první meetupNa závěr celého večera jsme se tedy rozhodli přesunout do networkingu přívětivějších prostor – restaurace U Divadla, které je 200 metrů od brmlabu. U piva (či jiného nápoje) jsme se pak setkali opět v hojném počtu – u dvou sousedících stolů nás sedělo okolo dvaceti. Nemluvě o dalších skupinkách, které vyrazili dříve a usadili se jinde. Celý meetup jsme pak rozpustili až okolo 11. hodiny večerní.

Ještě jednou bychom touto cestou chtěli poděkovat všem zúčastněným a především našemu hostu Jirkovi Maternovi za velmi inspirativní prezentaci. Doufáme, že i příště se sejdeme v hojném počtu. Na příští meetup se pokusíme doladit připomínky, které jste k meetupu měli. Budeme se na vás těšit!

Videozáznam prezentace