{"id":30028,"date":"2019-10-31T21:33:18","date_gmt":"2019-10-31T18:33:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki\/"},"modified":"2019-10-31T21:33:18","modified_gmt":"2019-10-31T18:33:18","slug":"rabotaem-s-nejrosetyami-chek-list-dlya-otladki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","title":{"rendered":"Pracujeme s neuronov\u00fdmi s\u00edt\u011bmi: kontroln\u00ed seznam pro lad\u011bn\u00ed","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pracujeme s neuronov\u00fdmi s\u00edt\u011bmi: kontroln\u00ed seznam pro lad\u011bn\u00ed\" src=\"\/wp-content\/uploads\/2019\/03\/8ce45093bfe44092cb25d947c32bb0b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nK\u00f3d softwarov\u00fdch produkt\u016f pro strojov\u00e9 u\u010den\u00ed b\u00fdv\u00e1 \u010dasto slo\u017eit\u00fd a pom\u011brn\u011b matouc\u00ed. Odhalov\u00e1n\u00ed a odstra\u0148ov\u00e1n\u00ed chyb v n\u011bm je n\u00e1ro\u010dn\u00fd \u00fakol. I nejjednodu\u0161\u0161\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/soco\/projects\/neural-networks\/Architecture\/feedforward.html\">neuronov\u00e9 s\u00edt\u011b s p\u0159\u00edmou vazbou<\/a><\/noindex> vy\u017eaduj\u00ed v\u00e1\u017en\u00fd p\u0159\u00edstup k s\u00ed\u0165ov\u00e9 architektu\u0159e, inicializaci vah a optimalizaci s\u00edt\u011b. Mal\u00e1 chyba m\u016f\u017ee v\u00e9st k nep\u0159\u00edjemn\u00fdm probl\u00e9m\u016fm.<\/p>\n<p>Tento \u010dl\u00e1nek je v\u011bnov\u00e1n algoritmu lad\u011bn\u00ed va\u0161ich neuronov\u00fdch s\u00edt\u00ed.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><b>Skillbox doporu\u010duje:<\/b> Praktick\u00fd kurz <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/python\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=PTNDEV&amp;utm_content=articles&amp;utm_term=neuronet\">Python v\u00fdvoj\u00e1\u0159 od z\u00e1klad\u016f<\/a><\/noindex>.<\/p>\n<p><b>P\u0159ipom\u00edn\u00e1me:<\/b> <i>pro v\u0161echny \u010dten\u00e1\u0159e \"Habra\" \u2013 sleva 10 000 korun p\u0159i registraci na jak\u00fdkoli kurz Skillbox s promok\u00f3dem \"Habr\".<\/i><\/p><\/blockquote>\n<p><\/p>\n<h3>Algoritmus se skl\u00e1d\u00e1 z p\u011bti etap:<\/h3>\n<p><\/p>\n<ul>\n<li>jednoduch\u00fd start;<\/li>\n<li>ov\u011b\u0159en\u00ed ztr\u00e1t;<\/li>\n<li>kontrola meziv\u00fdsledk\u016f a spojen\u00ed;<\/li>\n<li>diagnostika parametr\u016f;<\/li>\n<li>kontrola funkce.<\/li>\n<\/ul>\n<p>\nPokud v\u00e1m n\u011bco p\u0159ipad\u00e1 zaj\u00edmav\u011bj\u0161\u00ed ne\u017e ostatn\u00ed, m\u016f\u017eete okam\u017eit\u011b p\u0159ej\u00edt k t\u011bmto \u010d\u00e1stem. <\/p>\n<h3>Jednoduch\u00fd start<\/h3>\n<p>\nLad\u011bn\u00ed neuronov\u00e9 s\u00edt\u011b se slo\u017eitou architekturou, regularizac\u00ed a pl\u00e1nova\u010dem tempa u\u010den\u00ed je n\u00e1ro\u010dn\u011bj\u0161\u00ed ne\u017e b\u011b\u017en\u00e9. Trochu zde podv\u00e1d\u00edme, proto\u017ee tento bod m\u00e1 nep\u0159\u00edmou souvislost s lad\u011bn\u00edm, ale je to st\u00e1le d\u016fle\u017eit\u00e1 doporu\u010den\u00ed.<\/p>\n<p>Jednoduch\u00fd start spo\u010d\u00edv\u00e1 ve vytvo\u0159en\u00ed zjednodu\u0161en\u00e9ho modelu a jeho natr\u00e9nov\u00e1n\u00ed na jedin\u00e9 sad\u011b (bodu) dat.<\/p>\n<p><b>Nejprve vytvo\u0159\u00edme zjednodu\u0161en\u00fd model<\/b><\/p>\n<p>Pro rychl\u00fd start vytvo\u0159\u00edme malou s\u00ed\u0165 s jedinou skrytou vrstvou a zkontrolujeme, \u017ee v\u0161e funguje spr\u00e1vn\u011b. Pot\u00e9 postupn\u011b komplikuje model, p\u0159i\u010dem\u017e otestujeme ka\u017ed\u00fd nov\u00fd aspekt jeho struktury (dal\u0161\u00ed vrstvy, parametry atd.) a pokra\u010dujeme d\u00e1l.<\/p>\n<p><b>Natr\u00e9nujeme model na jedn\u00e9 sad\u011b (bodu) dat<\/b><\/p>\n<p>Jako rychl\u00e9 ov\u011b\u0159en\u00ed funk\u010dnosti va\u0161eho projektu m\u016f\u017eete pou\u017e\u00edt k natr\u00e9nov\u00e1n\u00ed jeden nebo dva body dat, abyste potvrdili, \u017ee syst\u00e9m funguje spr\u00e1vn\u011b. Neuronov\u00e1 s\u00ed\u0165 by m\u011bla zajistit 100% p\u0159esnost p\u0159i u\u010den\u00ed a testov\u00e1n\u00ed. Pokud tomu tak nen\u00ed, je model p\u0159\u00edli\u0161 mal\u00fd nebo m\u00e1te u\u017e chybu.<\/p>\n<p>I kdy\u017e je v\u0161echno v po\u0159\u00e1dku, p\u0159ipravte model na pr\u016fchod jednou nebo v\u00edce epochami, ne\u017e p\u016fjdete d\u00e1l.<\/p>\n<h3>Hodnocen\u00ed ztr\u00e1t<\/h3>\n<p>\nHodnocen\u00ed ztr\u00e1t je hlavn\u00ed zp\u016fsob, jak up\u0159esnit v\u00fdkonnost modelu. Mus\u00edte se ujistit, \u017ee ztr\u00e1ta odpov\u00edd\u00e1 \u00fakolu, a funkce ztr\u00e1t se hodnot\u00ed spr\u00e1vnou stupnic\u00ed. Pokud pou\u017e\u00edv\u00e1te v\u00edce ne\u017e jeden typ ztr\u00e1t, ujist\u011bte se, \u017ee v\u0161echny jsou stejn\u00e9ho \u0159\u00e1du a spr\u00e1vn\u011b \u0161k\u00e1lov\u00e1ny.<\/p>\n<p>Je d\u016fle\u017eit\u00e9 v\u011bnovat pozornost po\u010d\u00e1te\u010dn\u00edm ztr\u00e1t\u00e1m. Zkontrolujte, jak bl\u00edzko skute\u010dn\u00fd v\u00fdsledek odpov\u00edd\u00e1 o\u010dek\u00e1van\u00e9mu, pokud model za\u010dal s n\u00e1hodn\u00fdm p\u0159edpokladem. V <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#baby\">pr\u00e1ci Andreje Karpatiho je navr\u017eeno n\u00e1sleduj\u00edc\u00ed<\/a><\/noindex>: \u201eUjist\u011bte se, \u017ee dosahujete v\u00fdsledku, kter\u00fd o\u010dek\u00e1v\u00e1te p\u0159i za\u010d\u00e1tku pr\u00e1ce s mal\u00fdm po\u010dtem parametr\u016f. Je lep\u0161\u00ed zkontrolovat ztr\u00e1tu dat hned od za\u010d\u00e1tku (nastaven\u00edm stupn\u011b regularizace na nulu). Nap\u0159\u00edklad pro CIFAR-10 s klasifik\u00e1torem Softmax o\u010dek\u00e1v\u00e1me, \u017ee po\u010d\u00e1te\u010dn\u00ed ztr\u00e1ty budou 2.302, proto\u017ee o\u010dek\u00e1van\u00e1 difuzn\u00ed pravd\u011bpodobnost je 0,1 pro ka\u017edou t\u0159\u00eddu (proto\u017ee existuje 10 t\u0159\u00edd), a ztr\u00e1ta Softmax je z\u00e1porn\u00fdm logaritmick\u00fdm pravd\u011bpodobnostn\u00edm korektn\u00edho t\u0159\u00eddy jako \u2013ln (0.1) = 2.302\u201c.<\/p>\n<p>Pro jednoduch\u00fd bin\u00e1rn\u00ed p\u0159\u00edklad se stejn\u00fd v\u00fdpo\u010det provede pro ka\u017edou z t\u0159\u00edd. Nap\u0159\u00edklad, m\u00e1me data: 20 % 0 a 80 % 1. O\u010dek\u00e1van\u00e1 po\u010d\u00e1te\u010dn\u00ed ztr\u00e1ta bude a\u017e \u20130,2ln (0,5) \u20130,8ln (0,5) = 0,693147. Pokud je v\u00fdsledek v\u011bt\u0161\u00ed ne\u017e 1, m\u016f\u017ee to nazna\u010dovat, \u017ee v\u00e1hy neuronov\u00e9 s\u00edt\u011b nejsou spr\u00e1vn\u011b vyv\u00e1\u017een\u00e9 nebo \u017ee data nejsou normalizov\u00e1na.<\/p>\n<h3>Kontrolujeme meziv\u00fdsledky a spojen\u00ed <\/h3>\n<p>\nPro lad\u011bn\u00ed neuronov\u00e9 s\u00edt\u011b je t\u0159eba rozum\u011bt dynamice proces\u016f uvnit\u0159 s\u00edt\u011b a roli jednotliv\u00fdch mezivrstv, proto\u017ee jsou propojen\u00e9. Zde jsou typick\u00e9 chyby, na kter\u00e9 m\u016f\u017eete narazit:<\/p>\n<ul>\n<li>nespr\u00e1vn\u00e9 v\u00fdrazy pro aktualizace gradientu;<\/li>\n<li>aktualizace v\u00e1h nejsou aplikov\u00e1na;<\/li>\n<li>miz\u00edc\u00ed nebo vybuchuj\u00edc\u00ed gradienty (exploding gradients).<\/li>\n<\/ul>\n<p>\nPokud jsou hodnoty gradientu nulov\u00e9, znamen\u00e1 to, \u017ee rychlost u\u010den\u00ed v optimaliz\u00e1toru je p\u0159\u00edli\u0161 n\u00edzk\u00e1, nebo \u017ee jste narazili na nespr\u00e1vn\u00fd v\u00fdraz pro aktualizaci gradientu.<\/p>\n<p>Krom\u011b toho je t\u0159eba sledovat hodnoty aktivac\u00ed, vah a aktualizac\u00ed ka\u017ed\u00e9 z vrstev. Nap\u0159\u00edklad velikost aktualizac\u00ed parametr\u016f (v pod\u00edlech a posunech) <noindex><a rel=\"nofollow\" href=\"https:\/\/cs231n.github.io\/neural-networks-3\/#summary\">by m\u011bla b\u00fdt 1-e3<\/a><\/noindex>.<\/p>\n<p>Existuje jev, kter\u00fd se naz\u00fdv\u00e1 \u201eDying ReLU\u201c nebo <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Vanishing_gradient_problem\">\u201eprobl\u00e9m miz\u00edc\u00edho gradientu\u201c<\/a><\/noindex>, kdy neuronov\u00e9 prvky ReLU budou po osvojen\u00ed velk\u00e9 z\u00e1porn\u00e9 hodnoty (bias) pro sv\u00e9 v\u00e1hy vracet nulu. Tyto neurony se ji\u017e nikdy neaktivuj\u00ed v \u017e\u00e1dn\u00e9m z dat.<\/p>\n<p>M\u016f\u017eete pou\u017e\u00edt kontrolu gradientu k odhalen\u00ed t\u011bchto chyb t\u00edm, \u017ee p\u0159ibli\u017eujete gradient pomoc\u00ed numerick\u00e9ho p\u0159\u00edstupu. Pokud je bl\u00edzko k vypo\u010dten\u00fdm gradient\u016fm, pak bylo zp\u011btn\u00e9 \u0161\u00ed\u0159en\u00ed implementov\u00e1no spr\u00e1vn\u011b. Chcete-li vytvo\u0159it kontrolu gradientu, pod\u00edvejte se na tyto skv\u011bl\u00e9 zdroje z CS231 <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#gradcheck\">zde<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/optimization-1\/#gradcompute\">zde<\/a><\/noindex>, a tak\u00e9 na <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=P6EtCVrvYPU\">lekci<\/a><\/noindex> Andrew Nga na toto t\u00e9ma.<\/p>\n<p><noindex>Faizan Sheikh<\/noindex> uv\u00e1d\u00ed t\u0159i hlavn\u00ed metody vizualizace neuronov\u00e9 s\u00edt\u011b:<\/p>\n<ul>\n<li>P\u0159edb\u011b\u017en\u00e9 \u2014 jednoduch\u00e9 metody, kter\u00e9 n\u00e1m ukazuj\u00ed celkovou strukturu vytr\u00e9novan\u00e9ho modelu. Zahrnuj\u00ed v\u00fdstup tvar\u016f nebo filtr\u016f jednotliv\u00fdch vrstev neuronov\u00e9 s\u00edt\u011b a parametry v ka\u017ed\u00e9 vrstv\u011b.<\/li>\n<li> Zalo\u017een\u00e9 na aktivaci. V nich dek\u00f3dujeme aktivace jednotliv\u00fdch neuron\u016f nebo skupin neuron\u016f, abychom pochopili jejich funkce.<\/li>\n<li> Zalo\u017een\u00e9 na gradientech. Tyto metody maj\u00ed tendenci manipulovat s gradienty, kter\u00e9 vznikaj\u00ed z pr\u016fchodu vp\u0159ed a zp\u011bt p\u0159i tr\u00e9nov\u00e1n\u00ed modelu (v\u010detn\u011b map d\u016fle\u017eitosti a map aktivace t\u0159\u00eddy).<\/li>\n<\/ul>\n<p>\nExistuje n\u011bkolik u\u017eite\u010dn\u00fdch n\u00e1stroj\u016f pro vizualizaci aktivac\u00ed a spojen\u00ed jednotliv\u00fdch vrstev, nap\u0159\u00edklad <noindex><a rel=\"nofollow\" href=\"https:\/\/conx.readthedocs.io\/en\/latest\/Getting%20Started%20with%20conx.html#What-is-ConX?\">ConX<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tensorflow.org\/guide\/tensorboard_histograms\">Tensorboard<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Pracujeme s neuronov\u00fdmi s\u00edt\u011bmi: kontroln\u00ed seznam pro lad\u011bn\u00ed\" src=\"\/wp-content\/uploads\/2019\/03\/56e7e88983d6772ef482bc8396dd52a2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Diagnostika parametr\u016f<\/h3>\n<p>\nNeuronov\u00e9 s\u00edt\u011b maj\u00ed spoustu parametr\u016f, kter\u00e9 vz\u00e1jemn\u011b interaguj\u00ed, co\u017e komplikuje optimalizaci. Tento odd\u00edl je vlastn\u011b p\u0159edm\u011btem aktivn\u00edho v\u00fdzkumu odborn\u00edk\u016f, a proto by n\u00e1sleduj\u00edc\u00ed n\u00e1vrhy m\u011bly b\u00fdt pova\u017eov\u00e1ny pouze za rady, v\u00fdchoz\u00ed body, od kter\u00fdch se m\u016f\u017eete odrazit.<\/p>\n<p><b>Velikost d\u00e1vky<\/b> (batch size) \u2014 je t\u0159eba, aby byla dostate\u010dn\u011b velk\u00e1, aby se dos\u00e1hlo p\u0159esn\u00fdch odhad\u016f gradientu chyby, ale dostate\u010dn\u011b mal\u00e1, aby stochastick\u00fd gradientn\u00ed sestup (SGD) mohl uspo\u0159\u00e1dat va\u0161i s\u00ed\u0165. Mal\u00e9 velikosti d\u00e1vek vedou k rychl\u00e9 konvergenci na \u00fakor \u0161umu v procesu u\u010den\u00ed a pozd\u011bji k probl\u00e9m\u016fm s optimalizac\u00ed. V\u00edce se o tom p\u00ed\u0161e <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1609.04836\">zde<\/a><\/noindex>.<\/p>\n<p><b>Rychlost u\u010den\u00ed<\/b> \u2014 p\u0159\u00edli\u0161 n\u00edzk\u00e1 povede k pomal\u00e9 konvergenci nebo riziku uv\u00edznout v lok\u00e1ln\u00edch minimech. Na druh\u00e9 stran\u011b vysok\u00e1 rychlost u\u010den\u00ed zp\u016fsob\u00ed divergenci optimalizace, proto\u017ee riskujete, \u017ee \"p\u0159esko\u010d\u00edte\" hlubokou, ale \u00fazkou \u010d\u00e1st funkce ztr\u00e1ty. Zkuste pou\u017e\u00edt pl\u00e1nov\u00e1n\u00ed rychlosti, abyste ji b\u011bhem tr\u00e9nov\u00e1n\u00ed neuronov\u00e9 s\u00edt\u011b sn\u00ed\u017eili. V kurzu CS231n <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/\">existuje velk\u00e1 \u010d\u00e1st v\u011bnovan\u00e1 tomuto probl\u00e9mu<\/a><\/noindex>.<\/p>\n<p><b>O\u0159\u00edznut\u00ed gradientu<\/b>\u2014 o\u0159\u00edznut\u00ed gradient\u016f parametr\u016f b\u011bhem zp\u011btn\u00e9ho \u0161\u00ed\u0159en\u00ed podle maxim\u00e1ln\u00ed hodnoty nebo mezn\u00ed normy. U\u017eite\u010dn\u00e9 pro \u0159e\u0161en\u00ed probl\u00e9m\u016f s p\u0159\u00edpadn\u00fdmi exploduj\u00edc\u00edmi gradienty, na kter\u00e9 m\u016f\u017eete narazit v t\u0159et\u00edm bod\u011b.<\/p>\n<p><b>Batched normov\u00e1n\u00ed<\/b> \u2014 pou\u017e\u00edv\u00e1 se k normalizaci vstupn\u00edch dat ka\u017ed\u00e9 vrstvy, co\u017e p\u0159isp\u00edv\u00e1 k vy\u0159e\u0161en\u00ed probl\u00e9mu vnit\u0159n\u00edho posunu kovariance. Pokud pou\u017e\u00edv\u00e1te Dropout a Batch Norm dohromady, <noindex><a rel=\"nofollow\" href=\"https:\/\/towardsdatascience.com\/pitfalls-of-batch-norm-in-tensorflow-and-sanity-checks-for-training-networks-e86c207548c8\">sezn\u00e1mte se s t\u00edmto \u010dl\u00e1nkem<\/a><\/noindex>.<\/p>\n<p><b>Stochastick\u00fd gradientn\u00ed sestup (SGD)<\/b> \u2014 existuje n\u011bkolik variant SGD, kter\u00e9 vyu\u017e\u00edvaj\u00ed moment, adaptivn\u00ed rychlosti u\u010den\u00ed a Nesterovovu metodu. P\u0159i\u010dem\u017e \u017e\u00e1dn\u00e1 z nich nem\u00e1 z\u0159ejmou v\u00fdhodu ani co se t\u00fd\u010de efektivity u\u010den\u00ed, ani co se t\u00fd\u010de generalizace (<noindex><a rel=\"nofollow\" href=\"http:\/\/ruder.io\/optimizing-gradient-descent\/\">podrobnosti zde<\/a><\/noindex>).<\/p>\n<p><b>Regularizace<\/b> \u2014 je rozhoduj\u00edc\u00ed pro vytvo\u0159en\u00ed generalizovan\u00e9 modelu, proto\u017ee p\u0159id\u00e1v\u00e1 penalizaci za slo\u017eitost modelu nebo extr\u00e9mn\u00ed hodnoty parametr\u016f. Je to zp\u016fsob, jak sn\u00ed\u017eit variabilitu modelu bez v\u00fdznamn\u00e9ho zv\u00fd\u0161en\u00ed jeho zkreslen\u00ed. V\u00edce <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#ratio\">podrobn\u00e9 informace \u2014 zde<\/a><\/noindex>.<\/p>\n<p>Abychom si v\u0161e sami vyhodnotili, je t\u0159eba vypnout regularizaci a zkontrolovat gradient ztr\u00e1tov\u00fdch dat samostatn\u011b.<\/p>\n<p><b>Dropout <\/b>\u2014 dal\u0161\u00ed metodou uspo\u0159\u00e1d\u00e1n\u00ed va\u0161\u00ed s\u00edt\u011b, aby se zabr\u00e1nilo p\u0159et\u00ed\u017een\u00ed. B\u011bhem u\u010den\u00ed se dropout prov\u00e1d\u00ed pouze udr\u017eov\u00e1n\u00edm aktivity neuronu s ur\u010ditou pravd\u011bpodobnost\u00ed p (hyperparametr) nebo jeho nulov\u00e1n\u00edm v opa\u010dn\u00e9m p\u0159\u00edpad\u011b. V d\u016fsledku toho mus\u00ed s\u00ed\u0165 pou\u017e\u00edt jinou podmno\u017einu parametr\u016f pro ka\u017edou tr\u00e9ninkovou d\u00e1vku, co\u017e zmen\u0161uje zm\u011bny specifick\u00fdch parametr\u016f, kter\u00e9 se st\u00e1vaj\u00ed dominantn\u00edmi.<\/p>\n<p>D\u016fle\u017eit\u00e9: pokud pou\u017e\u00edv\u00e1te jak dropout, tak batched normov\u00e1n\u00ed, bu\u010fte opatrn\u00ed s po\u0159ad\u00edm t\u011bchto operac\u00ed nebo dokonce s jejich spole\u010dn\u00fdm pou\u017eit\u00edm. To v\u0161e je st\u00e1le aktivn\u011b diskutov\u00e1no a dopl\u0148ov\u00e1no. Zde jsou dv\u011b d\u016fle\u017eit\u00e9 diskuse na toto t\u00e9ma <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/39691902\/ordering-of-batch-normalization-and-dropout\">na Stackoverflow<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1801.05134\">Arxiv<\/a><\/noindex>.<\/p>\n<h3>Kontrola pr\u00e1ce<\/h3>\n<p>\nJedn\u00e1 se o dokumentaci pracovn\u00edch proces\u016f a experiment\u016f. Pokud se nic nedokumentuje, m\u016f\u017ee se snadno zapomenout, nap\u0159\u00edklad jak\u00e1 rychlost u\u010den\u00ed nebo v\u00e1ha t\u0159\u00edd se pou\u017e\u00edv\u00e1. D\u00edky kontrole je mo\u017en\u00e9 bez probl\u00e9m\u016f prohl\u00ed\u017eet a reprodukovat p\u0159edchoz\u00ed experimenty. To pom\u00e1h\u00e1 sn\u00ed\u017eit po\u010det duplicitn\u00edch experiment\u016f.<\/p>\n<p>Samoz\u0159ejm\u011b, \u017ee ru\u010dn\u00ed dokumentace m\u016f\u017ee b\u00fdt slo\u017eit\u00fdm \u00fakolem p\u0159i velk\u00e9m objemu pr\u00e1ce. Na pomoc p\u0159ich\u00e1zej\u00ed n\u00e1stroje jako Comet.ml, kter\u00e9 automaticky loguj\u00ed datov\u00e9 sady, zm\u011bny k\u00f3du, historii experiment\u016f a produk\u010dn\u00ed modely, v\u010detn\u011b kl\u00ed\u010dov\u00fdch informac\u00ed o va\u0161em modelu (hyperparametry, metriky v\u00fdkonu modelu a informace o prost\u0159ed\u00ed).<\/p>\n<p>Neur\u00e1ln\u00ed s\u00ed\u0165 m\u016f\u017ee b\u00fdt velmi citliv\u00e1 na mal\u00e9 zm\u011bny, co\u017e povede ke zhor\u0161en\u00ed v\u00fdkonu modelu. Sledov\u00e1n\u00ed a dokumentace pr\u00e1ce je prvn\u00edm krokem, kter\u00fd byste m\u011bli podniknout pro standardizaci prost\u0159ed\u00ed a modelov\u00e1n\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Pracujeme s neuronov\u00fdmi s\u00edt\u011bmi: kontroln\u00ed seznam pro lad\u011bn\u00ed\" src=\"\/wp-content\/uploads\/2019\/03\/37b3e4ef97ea39a3d28ffca5c1dbf1e5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nDouf\u00e1m, \u017ee tento p\u0159\u00edsp\u011bvek se stane v\u00fdchoz\u00edm bodem, ze kter\u00e9ho za\u010dnete lad\u011bn\u00ed va\u0161\u00ed neur\u00e1ln\u00ed s\u00edt\u011b.<\/p>\n<blockquote><p><b>Skillbox doporu\u010duje:<\/b><\/p>\n<ul>\n<li>Dvouro\u010dn\u00ed praktick\u00fd kurz <noindex><a rel=\"nofollow\" href=\"https:\/\/iamwebdev.skillbox.ru\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=WEBDEVPRO&amp;utm_content=articles&amp;utm_term=neuronet\">\u201eJsem webov\u00fd v\u00fdvoj\u00e1\u0159 PRO\u201c<\/a><\/noindex>.<\/li>\n<li>Online kurz <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/c-sharp\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=CSHDEV&amp;utm_content=articles&amp;utm_term=neuronet\">\u201eC# v\u00fdvoj\u00e1\u0159 od nuly\u201c<\/a><\/noindex>.<\/li>\n<li>Praktick\u00fd ro\u010dn\u00ed kurz <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/php\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=PHPDEV&amp;utm_content=articles&amp;utm_term=neuronet\">\u201ePHP v\u00fdvoj\u00e1\u0159 od 0 do PRO\u201c<\/a><\/noindex>.\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillbox\/blog\/444684\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0438 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u043c. \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438 \u043b\u0438\u043a\u0432\u0438\u0434\u0430\u0446\u0438\u044f \u0431\u0430\u0433\u043e\u0432 \u0432 \u043d\u0435\u043c \u2014 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0435\u043c\u043a\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u0414\u0430\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 \u0441 \u043f\u0440\u044f\u043c\u043e\u0439 \u0441\u0432\u044f\u0437\u044c\u044e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0435\u0441\u043e\u0432, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0442\u0438. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432\u0430\u0448\u0438\u0445 \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439. Skillbox \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442: [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30028","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044f\u043c\u0438: \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:33:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:33:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pracujeme s neur\u00e1ln\u00edmi s\u00edt\u011bmi: kontroln\u00ed seznam pro lad\u011bn\u00ed | ProHoster","description":"K\u00f3d programov\u00fdch produkt\u016f pro strojov\u00e9.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044f\u043c\u0438: \u0447\u0435\u043a-\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 | ProHoster","og:description":"\u041a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/cs\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:33:18+00:00","article:modified_time":"2019-10-31T18:33:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30028","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 23:28:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:43:15","updated":"2026-01-20 23:28:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/30028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=30028"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/30028\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=30028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=30028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=30028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}