Jak se nejlépe naučit strojové učení bez online kurzů?
Jaký je nejlepší způsob, jak se začít učit strojové učení a hluboké učení bez absolvování jakýchkoli online kurzů? se původně objevil na webu Quora: místo pro získávání a sdílení znalostí, které umožňuje lidem učit se od ostatních a lépe porozumět světu.
Odpověď Erica Janga, výzkumného inženýra ve společnosti Google Brain, na serveru Quora:
Nejprve začnu tím, že neexistuje jediný „nejlepší způsob“, jak se učit strojové učení, a měli byste si najít systém, který vám bude vyhovovat. Někteří lidé dávají přednost struktuře kurzů, jiní rádi čtou knihy svým vlastním tempem a někteří se chtějí rovnou ponořit do kódu.
V roce 2012 jsem začal s kurzem Machine Learning Coursera Andrewa Nga, přičemž jsem téměř neznal lineární algebru a o statistice nebo strojovém učení jsem nevěděl nic. Všimněte si, že ačkoli se kurz zabýval neuronovými sítěmi, nebyl to kurz o hlubokém učení. Moc se mi líbilo, jak kurz formuloval „strojové učení“ jako nic jiného než numerickou optimalizaci.
Pokud jsou pro vás online kurzy příliš pomalé, nejlepším konsolidovaným zdrojem je pravděpodobně kniha Deep Learning od Goodfellowa, Bengia a Courvilla. Má několik kapitol věnovaných základům (něco jako to, co se probírá v Ngově kurzu) a pak se vrhá na praktické DNN.
Statistické/matematicky rigorózní zázemí není k užitečné práci s Deep Learningem nutné, ale opravdu pomáhá formulovat hypotézy o tom, proč modely fungují/nefungují a co by mohlo pomoci. Murphyho učebnice Pravděpodobnostní strojové učení je skvělým základem pro matematicky rigorózní ML (a má také skvělé diagramy!)
Po dokončení knihy DL se můžete „specializovat“ na některý z podoborů/podoborů hlubokého učení tím, že sami implementujete některé z dokumentů. Několik příkladů témat:
- Bayesovské hluboké učení (kombinace neuronových sítí s grafickými modely)
- Hluboké učení s posilováním (AlphaGo, AI hrající Atari, robotika)
- Generativní modely (GAN, PixelCNN, VAE)
- Adverzní metody (GAN, Actor-Critic)
- Teorie hlubokého učení
- Počítačové vidění
- NLP/řeč (překlad, titulky, seq2seq modely)
- Symbolické uvažování (např.g. Řešení důkazů)
- Rekurentní neuronové sítě (např. LSTM, vnější paměť, pozornost)
- Aplikace (řešení doménově specifických problémů, jako je klasifikace rakoviny, skládání proteinů, čtení ze rtů z videa)
- Meta-učení / učení se učení (Synthetic Gradients, Pathnet)
Oblast hlubokého učení se v posledních několika letech dramaticky rozšířila do té míry, že není reálné v krátké době zvládnout všechny podoblasti hlubokého učení. Doporučuji ponořit se do hloubky jedné konkrétní podoblasti a po zvládnutí jedné oblasti je pak snazší naučit se další podoblasti. Tyto oblasti už nemají tolik společného, kromě toho, že všechny využívají vyjadřovací schopnosti hlubokého učení k učení úloh end-to-end a jsou obecně experimentálního rázu (spíše než teoretické informatiky).
V dnešní době přicházejí nejzajímavější práce o hlubokém učení s nějakou veřejně dostupnou implementací v TensorFlow, Pytorch, Torch, Keras nebo Theano, takže jedním ze způsobů, jak si můžete rychle vybudovat intuici, je zjistit, zda můžete vylepšit existující model (např. vytvořit lepší ResNet).
Vlastní balík neuronových sítí v Pythonu byste asi neměli implementovat od nuly. Je to spousta práce se správným vyladěním drobných detailů (viz například tento komentář o tom, jak je v TensorFlow implementována operace softmax).
Rámce pro hluboké učení jsou složité a jejich osvojení zabere trochu času a nejrychlejší způsob, jak si osvojit rámec DL, je implementovat náročnou architekturu neuronové sítě, která procvičí obskurní vlastnosti rámce nebo myšlenky rozkročené mezi více podoblastmi DL. Několik doporučení ohledně složitých architektur/tréninkových potrubí:
- Progresivní sítě
- Hustá síť
- Syntetické gradienty
- Neurální Turingovy stroje
- Embed-to-Control
- Neurální strojový překlad
Nakonec, spousta výzkumníků v oblasti strojového učení je na Twitteru a komunita Reddit Machine Learning je příjemným způsobem, jak získat nejnovější zprávy o neuronových sítích. Tento obor je velmi konkurenční a pohybuje se opravdu rychle, takže pomáhá zůstat v obraze.
Tato otázka se původně objevila na Quora. místo pro získávání a sdílení znalostí, které umožňuje lidem učit se od ostatních a lépe porozumět světu. Quoru můžete sledovat na Twitteru, Facebooku a Google+. Další otázky:
- Strojové učení: Jak obtížné je pro motivovaného vědce vytvořit automatický obchodní systém z domova?
- Počítačové programování: Jak poznáte začínajícího programátora?
- Učení: Jak mohu myslet rychleji a lépe?
Quora: místo pro získávání a sdílení znalostí, které umožňuje lidem učit se od ostatních a lépe porozumět světu.
Načítání …