{"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\/hu\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","title":{"rendered":"Mesters\u00e9ges intelligenci\u00e1kkal dolgozunk: ellen\u0151rz\u0151 lista a hibakeres\u00e9shez","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Mesters\u00e9ges intelligenci\u00e1kkal dolgozunk: ellen\u0151rz\u0151 lista a hibakeres\u00e9shez\" src=\"\/wp-content\/uploads\/2019\/03\/8ce45093bfe44092cb25d947c32bb0b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nA g\u00e9pi tanul\u00e1si szoftverek k\u00f3dja gyakran bonyolult \u00e9s meglehet\u0151sen zavaros. A hib\u00e1k felfedez\u00e9se \u00e9s jav\u00edt\u00e1sa er\u0151forr\u00e1s-ig\u00e9nyes feladat. M\u00e9g a legegyszer\u0171bb <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/soco\/projects\/neural-networks\/Architecture\/feedforward.html\">neuroh\u00e1l\u00f3zatok k\u00f6zvetlen kapcsolattal<\/a><\/noindex> komoly megk\u00f6zel\u00edt\u00e9st ig\u00e9nyel a h\u00e1l\u00f3zati architekt\u00far\u00e1hoz, a s\u00falyok inicializ\u00e1l\u00e1s\u00e1hoz \u00e9s a h\u00e1l\u00f3zat optimaliz\u00e1l\u00e1s\u00e1hoz. Egy apr\u00f3 hiba is kellemetlen probl\u00e9m\u00e1khoz vezethet.<\/p>\n<p>Ez a cikk a neur\u00e1lis h\u00e1l\u00f3zatok hibajav\u00edt\u00e1si algoritmus\u00e1nak szentelt.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><b>A Skillbox aj\u00e1nlja:<\/b> Gyakorlati kurzus <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 fejleszt\u0151 kezd\u0151knek<\/a><\/noindex>.<\/p>\n<p><b>Eml\u00e9keztetj\u00fck:<\/b> <i>minden \u00abHabr\u00bb olvas\u00f3nak 10 000 rubeles kedvezm\u00e9ny j\u00e1r b\u00e1rmely Skillbox kurzus jelentkez\u00e9sekor a \u00abHabr\u00bb prom\u00f3ci\u00f3s k\u00f3d felhaszn\u00e1l\u00e1s\u00e1val.<\/i><\/p><\/blockquote>\n<p><\/p>\n<h3>Az algoritmus \u00f6t l\u00e9p\u00e9sb\u0151l \u00e1ll:<\/h3>\n<p><\/p>\n<ul>\n<li>egyszer\u0171 kezd\u00e9s;<\/li>\n<li>a vesztes\u00e9gek meger\u0151s\u00edt\u00e9se;<\/li>\n<li>k\u00f6zbens\u0151 eredm\u00e9nyek \u00e9s kapcsolatok ellen\u0151rz\u00e9se;<\/li>\n<li>a param\u00e9terek diagnosztiz\u00e1l\u00e1sa;<\/li>\n<li>a munka ellen\u0151rz\u00e9se.<\/li>\n<\/ul>\n<p>\nHa van valami, ami \u00e9rdekelt, azokat a szakaszokat azonnal megnyithatja. <\/p>\n<h3>Egyszer\u0171 kezd\u00e9s<\/h3>\n<p>\nA bonyolult architekt\u00far\u00e1j\u00fa, regulariz\u00e1ci\u00f3val \u00e9s tanul\u00e1si sebess\u00e9g\u00fctemez\u0151vel rendelkez\u0151 neur\u00e1lis h\u00e1l\u00f3zat hibakeres\u00e9se nehezebb, mint egy hagyom\u00e1nyos\u00e9. Kicsit okoskodunk, mert ez a pont a hibajav\u00edt\u00e1s szempontj\u00e1b\u00f3l k\u00f6zvetett kapcsolatban \u00e1ll, de m\u00e9g mindig fontos aj\u00e1nl\u00e1s.<\/p>\n<p>Az egyszer\u0171 kezd\u00e9s l\u00e9nyege egy leegyszer\u0171s\u00edtett modell l\u00e9trehoz\u00e1sa \u00e9s annak tan\u00edt\u00e1sa egy adathalmazon (pontra).<\/p>\n<p><b>El\u0151sz\u00f6r l\u00e9trehozunk egy leegyszer\u0171s\u00edtett modellt<\/b><\/p>\n<p>Gyors kezdethez egy kis h\u00e1l\u00f3zatot hozunk l\u00e9tre egy rejtett r\u00e9teggel \u00e9s ellen\u0151rizz\u00fck, hogy minden helyesen m\u0171k\u00f6dik. Ezut\u00e1n fokozatosan bonyol\u00edtjuk a modellt, ellen\u0151rizve minden \u00faj aspektust a fel\u00e9p\u00edt\u00e9s\u00e9b\u0151l (plusz r\u00e9teg, param\u00e9ter stb.), \u00e9s haladunk tov\u00e1bb.<\/p>\n<p><b>Tan\u00edtjuk a modellt egyetlen adathalmazon (pontra)<\/b><\/p>\n<p>A projekt m\u0171k\u00f6d\u00e9s\u00e9nek gyors ellen\u0151rz\u00e9s\u00e9re egy vagy k\u00e9t pontot haszn\u00e1lhatunk a tan\u00edt\u00e1shoz, hogy meger\u0151s\u00edts\u00fck, hogy a rendszer helyesen m\u0171k\u00f6dik. A neur\u00e1lis h\u00e1l\u00f3zatnak 100%-os tanul\u00e1si \u00e9s teszti pontoss\u00e1got kell mutatnia. Ha nem, akkor vagy a modell t\u00fal kicsi, vagy m\u00e1r van benne hiba.<\/p>\n<p>M\u00e9g ha minden j\u00f3l is megy, k\u00e9sz\u00edtse fel a modellt egy vagy t\u00f6bb epoch \u00e1thalad\u00e1s\u00e1ra, miel\u0151tt tov\u00e1bbhaladna.<\/p>\n<h3>A vesztes\u00e9gek \u00e9rt\u00e9kel\u00e9se<\/h3>\n<p>\nA vesztes\u00e9gek \u00e9rt\u00e9kel\u00e9se a modell teljes\u00edtm\u00e9ny\u00e9nek finom\u00edt\u00e1s\u00e1nak alapvet\u0151 m\u00f3dja. Gy\u0151z\u0151dj\u00f6n meg arr\u00f3l, hogy a vesztes\u00e9g megfelel a feladatnak, \u00e9s a vesztes\u00e9gfunkci\u00f3k megfelel\u0151 sk\u00e1l\u00e1n vannak \u00e9rt\u00e9kelve. Ha t\u00f6bbf\u00e9le vesztes\u00e9g t\u00edpust haszn\u00e1l, \u00fcgyeljen arra, hogy mindegyik azonos rendben legyen \u00e9s helyesen legyenek m\u00e9retezve.<\/p>\n<p>Fontos figyelni a kezdeti vesztes\u00e9gekre. Ellen\u0151rizze, mennyire k\u00f6zel\u00edt a val\u00f3di eredm\u00e9ny a v\u00e1rt eredm\u00e9nyhez, ha a modell v\u00e9letlenszer\u0171 felt\u00e9telez\u00e9ssel indult. I <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#baby\">Andrej Karpati munk\u00e1j\u00e1ban a k\u00f6vetkez\u0151k ker\u00fclnek javaslatra<\/a><\/noindex>: \u201eGy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a v\u00e1rt eredm\u00e9nyt kapja, amikor kis sz\u00e1m\u00fa param\u00e9terrel kezd dolgozni. Jobb azonnal ellen\u0151rizni az adatveszt\u00e9st (a regulariz\u00e1ci\u00f3s fok null\u00e1ra \u00e1ll\u00edt\u00e1s\u00e1val). P\u00e9ld\u00e1ul a CIFAR-10 eset\u00e9ben, a Softmax klasszifik\u00e1torral, azt v\u00e1rjuk, hogy a kezdeti vesztes\u00e9g 2.302 legyen, mivel a v\u00e1rt diff\u00faz val\u00f3sz\u00edn\u0171s\u00e9g 0,1 minden oszt\u00e1lyhoz (mivel 10 oszt\u00e1ly van), \u00e9s a Softmax vesztes\u00e9g a helyes oszt\u00e1ly negat\u00edv logaritmikus val\u00f3sz\u00edn\u0171s\u00e9ge, mint \u2013ln (0.1) = 2.302.\u201d<\/p>\n<p>Egy bin\u00e1ris p\u00e9ld\u00e1n\u00e1l hasonl\u00f3 sz\u00e1m\u00edt\u00e1st v\u00e9gz\u00fcnk minden egyes oszt\u00e1lyra. P\u00e9ld\u00e1ul itt vannak az adatok: 20% 0 \u00e9s 80% 1. A v\u00e1rhat\u00f3 kezdeti vesztes\u00e9g legfeljebb \u20130,2ln(0,5) \u20130,8ln(0,5) = 0,693147 lesz. Ha az eredm\u00e9ny meghaladja az 1-et, az arra utalhat, hogy a neur\u00e1lis h\u00e1l\u00f3zat s\u00falyai nincsenek megfelel\u0151en kiegyens\u00falyozva, vagy az adatok nincsenek normaliz\u00e1lva.<\/p>\n<h3>Ellen\u0151rizz\u00fck az k\u00f6ztes eredm\u00e9nyeket \u00e9s kapcsol\u00f3d\u00e1sokat <\/h3>\n<p>\nA neur\u00e1lis h\u00e1l\u00f3 debuggol\u00e1s\u00e1hoz meg kell \u00e9rten\u00fcnk a h\u00e1l\u00f3zaton bel\u00fcli folyamatok dinamik\u00e1j\u00e1t \u00e9s az egyes k\u00f6ztes r\u00e9tegek szerep\u00e9t, mivel ezek \u00f6sszefon\u00f3dnak. \u00cdme n\u00e9h\u00e1ny tipikus hiba, amellyel szembes\u00fclhet:<\/p>\n<ul>\n<li>helytelen kifejez\u00e9sek a gradiensfriss\u00edt\u00e9sekhez;<\/li>\n<li>nem alkalmaznak s\u00falyfriss\u00edt\u00e9seket;<\/li>\n<li>elt\u0171n\u0151 vagy robban\u00f3 gradiensek (exploding gradients).<\/li>\n<\/ul>\n<p>\nHa a gradiens\u00e9rt\u00e9kek null\u00e1k, az azt jelenti, hogy az optimaliz\u00e1l\u00f3 tanul\u00e1si sebess\u00e9ge t\u00fal alacsony, vagy hogy helytelen kifejez\u00e9ssel tal\u00e1lkozott a gradiensfriss\u00edt\u00e9shez.<\/p>\n<p>Ezenk\u00edv\u00fcl figyelemmel kell k\u00eds\u00e9rni az aktiv\u00e1ci\u00f3s f\u00fcggv\u00e9nyek, s\u00falyok \u00e9s az egyes r\u00e9tegek friss\u00edt\u00e9seinek \u00e9rt\u00e9keit. P\u00e9ld\u00e1ul a param\u00e9terek (s\u00falyok \u00e9s eltol\u00e1sok) friss\u00edt\u00e9seinek nagys\u00e1ga <noindex><a rel=\"nofollow\" href=\"https:\/\/cs231n.github.io\/neural-networks-3\/#summary\">1-e3 kell legyen<\/a><\/noindex>.<\/p>\n<p>Van egy jelens\u00e9g, amit \u201eDying ReLU\u201d-nak vagy <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Vanishing_gradient_problem\">a \u201egradienselt\u0171n\u00e9s probl\u00e9m\u00e1j\u00e1nak\u201d<\/a><\/noindex>nevezt\u00fcnk el, amikor a ReLU neuronok null\u00e1t adnak vissza, miut\u00e1n egy nagy negat\u00edv \u00e9rt\u00e9ket (eltol\u00e1st) tanultak meg a s\u00falyaikhoz. Ezek a neuronok soha t\u00f6bb\u00e9 nem aktiv\u00e1l\u00f3dnak egyetlen adatpontban sem.<\/p>\n<p>A gradiensellen\u0151rz\u00e9s seg\u00edts\u00e9g\u00e9vel \u00e9szlelheti ezeket a hib\u00e1kat a gradiens numerikus megk\u00f6zel\u00edt\u00e9ssel val\u00f3 k\u00f6zel\u00edt\u00e9s\u00e9vel. Ha a sz\u00e1m\u00edtott gradiens \u00e9rt\u00e9kekhez k\u00f6zel \u00e1ll, akkor a h\u00e1trafel\u00e9 terjed\u00e9s helyesen lett v\u00e9grehajtva. A gradiensellen\u0151rz\u00e9s elk\u00e9sz\u00edt\u00e9s\u00e9hez ismerkedjen meg ezekkel a nagyszer\u0171 forr\u00e1sokkal a CS231-b\u0151l. <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#gradcheck\">itt<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/optimization-1\/#gradcompute\">itt<\/a><\/noindex>, valamint <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=P6EtCVrvYPU\">az \u00f3r\u00e1val<\/a><\/noindex> Andrew Nga t\u00e9m\u00e1ban.<\/p>\n<p><noindex>Faizan Sheikh<\/noindex> h\u00e1rom f\u0151 m\u00f3dszert eml\u00edt a neur\u00e1lis h\u00e1l\u00f3zatok vizualiz\u00e1l\u00e1s\u00e1ra:<\/p>\n<ul>\n<li>El\u0151zetes \u2014 egyszer\u0171 m\u00f3dszerek, amelyek bemutatj\u00e1k az oktatott modell \u00e1ltal\u00e1nos strukt\u00far\u00e1j\u00e1t. Ezek k\u00f6z\u00e9 tartozik az egyes r\u00e9tegek kimeneti form\u00e1inak vagy sz\u0171r\u0151inek megjelen\u00edt\u00e9se, valamint a r\u00e9tegenk\u00e9nti param\u00e9terek is.<\/li>\n<li> Aktiv\u00e1ci\u00f3kra \u00e9p\u00fcl\u0151ek. Ezekben a k\u00fcl\u00f6nb\u00f6z\u0151 idegsejtek vagy idegsejt-csoportok aktiv\u00e1ci\u00f3it dek\u00f3doljuk, hogy meg\u00e9rts\u00fck a funkci\u00f3ikat.<\/li>\n<li> Gradiens alap\u00faak. Ezek a m\u00f3dszerek hajlamosak manipul\u00e1lni az el\u0151re- \u00e9s h\u00e1tramenet sor\u00e1n k\u00e9pz\u0151d\u0151 gradienseket a modell tan\u00edt\u00e1sa sor\u00e1n (bele\u00e9rtve a jelent\u0151s\u00e9gi \u00e9s oszt\u00e1lyaktiv\u00e1l\u00f3 t\u00e9rk\u00e9peket).<\/li>\n<\/ul>\n<p>\nSz\u00e1mos hasznos eszk\u00f6z \u00e1ll rendelkez\u00e9sre az aktiv\u00e1ci\u00f3k \u00e9s az egyes r\u00e9tegek kapcsol\u00f3d\u00e1s\u00e1nak vizualiz\u00e1l\u00e1s\u00e1ra, p\u00e9ld\u00e1ul <noindex><a rel=\"nofollow\" href=\"https:\/\/conx.readthedocs.io\/en\/latest\/Getting%20Started%20with%20conx.html#What-is-ConX?\">ConX<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tensorflow.org\/guide\/tensorboard_histograms\">Tensorboard<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Mesters\u00e9ges intelligenci\u00e1kkal dolgozunk: ellen\u0151rz\u0151 lista a hibakeres\u00e9shez\" src=\"\/wp-content\/uploads\/2019\/03\/56e7e88983d6772ef482bc8396dd52a2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Param\u00e9terdiagnosztika<\/h3>\n<p>\nA neur\u00e1lis h\u00e1l\u00f3zatokban rengeteg param\u00e9ter van, amelyek k\u00f6lcs\u00f6nhat\u00e1sba l\u00e9pnek egym\u00e1ssal, ami bonyol\u00edtja az optimaliz\u00e1l\u00e1st. Val\u00f3j\u00e1ban ez a r\u00e9sz a szakemberek akt\u00edv kutat\u00e1s\u00e1nak t\u00e1rgya, ez\u00e9rt az al\u00e1bbi javaslatokat csak tan\u00e1csk\u00e9nt, kiindul\u00f3pontk\u00e9nt kell kezelni.<\/p>\n<p><b>Batch m\u00e9ret<\/b> (batch size) \u2014 gondoskodni kell arr\u00f3l, hogy a batch m\u00e9rete el\u00e9g nagy legyen a gradiens hiba\u00e9rt\u00e9kek pontos becsl\u00e9s\u00e9hez, ugyanakkor el\u00e9g kicsi ahhoz, hogy a Stochastic Gradient Descent (SGD) k\u00e9pes legyen rendezni a h\u00e1l\u00f3zatot. A kicsi batch m\u00e9retek gyors konvergenci\u00e1t eredm\u00e9nyeznek a tanul\u00e1si folyamat zaj\u00e1nak k\u00f6sz\u00f6nhet\u0151en, ezzel egy\u00fctt tov\u00e1bbi optimaliz\u00e1l\u00e1si neh\u00e9zs\u00e9gekhez vezethetnek. Tov\u00e1bbi r\u00e9szletez\u00e9st tal\u00e1l err\u0151l. <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1609.04836\">itt<\/a><\/noindex>.<\/p>\n<p><b>Tanul\u00e1si sebess\u00e9g<\/b> \u2014 ha t\u00fal alacsony, lass\u00fa konvergenci\u00e1t vagy vesz\u00e9lyt jelent, hogy a lok\u00e1lis minimumba ragadunk. Ugyanakkor a magas tanul\u00e1si sebess\u00e9g az optimaliz\u00e1l\u00e1s elt\u00e9r\u00e9st okozhat, mivel kock\u00e1zatot jelent, hogy \"ugrunk\" egy m\u00e9ly, de keskeny r\u00e9sze a vesztes\u00e9gf\u00fcggv\u00e9nynek. Pr\u00f3b\u00e1lja meg alkalmazni a tanul\u00e1si sebess\u00e9g \u00fctemez\u00e9s\u00e9t, hogy cs\u00f6kkentse azt a neur\u00e1lis h\u00e1l\u00f3zat tan\u00edt\u00e1sa sor\u00e1n. A CS231n kurzusban. <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/\">Van egy nagy r\u00e9sz, amely e probl\u00e9m\u00e1nak szentelt.<\/a><\/noindex>.<\/p>\n<p><b>Gradiens v\u00e1g\u00e1s<\/b>\u2014 a gradiens param\u00e9terek lev\u00e1g\u00e1sa a visszafel\u00e9 terjed\u00e9s alatt maxim\u00e1lis \u00e9rt\u00e9k vagy hat\u00e1rnorma szerint. Hasznos minden robban\u00e1sszer\u0171 gradiens probl\u00e9ma megold\u00e1s\u00e1hoz, amellyel a harmadik pontban tal\u00e1lkozhat.<\/p>\n<p><b>Csoportos norm\u00e1l\u00e1s<\/b> \u2014 az egyes r\u00e9teg bemeneti adatainak normaliz\u00e1l\u00e1s\u00e1ra szolg\u00e1l, amely lehet\u0151v\u00e9 teszi a bels\u0151 kovariancia eltol\u00f3d\u00e1s probl\u00e9m\u00e1j\u00e1nak megold\u00e1s\u00e1t. Ha a Dropout \u00e9s a Batch Norma egy\u00fctt ker\u00fcl alkalmaz\u00e1sra, <noindex><a rel=\"nofollow\" href=\"https:\/\/towardsdatascience.com\/pitfalls-of-batch-norm-in-tensorflow-and-sanity-checks-for-training-networks-e86c207548c8\">\u00e9rdemes elolvasni ezt a cikket<\/a><\/noindex>.<\/p>\n<p><b>Stochasztikus gradiens cs\u00f6kken\u00e9s (SGD)<\/b> \u2014 l\u00e9tezik n\u00e9h\u00e1ny v\u00e1ltozata az SGD-nek, amelyek impulzust, adapt\u00edv tanul\u00e1si sebess\u00e9geket \u00e9s Nesterov-m\u00f3dszert haszn\u00e1lnak. Ezzel kapcsolatban egyik\u00fck sem rendelkezik egy\u00e9rtelm\u0171 el\u0151nnyel sem a tanul\u00e1s hat\u00e9konys\u00e1ga, sem az \u00e1ltal\u00e1nos\u00edt\u00e1s szempontj\u00e1b\u00f3l (<noindex><a rel=\"nofollow\" href=\"http:\/\/ruder.io\/optimizing-gradient-descent\/\">r\u00e9szletek itt<\/a><\/noindex>).<\/p>\n<p><b>Regulariz\u00e1ci\u00f3<\/b> \u2014 elengedhetetlen egy \u00e1ltal\u00e1nos\u00edthat\u00f3 modell fel\u00e9p\u00edt\u00e9s\u00e9hez, mivel b\u00fcntet\u00e9st ad a modell \u00f6sszetetts\u00e9ge vagy a param\u00e9terek extr\u00e9m \u00e9rt\u00e9kei miatt. Ez egy olyan m\u00f3dszer, amellyel cs\u00f6kkenthet\u0151 a modell varianci\u00e1ja an\u00e9lk\u00fcl, hogy l\u00e9nyegesen n\u00f6veln\u00e9nk annak elfogults\u00e1g\u00e1t. Tov\u00e1bbi <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#ratio\">t\u00e1j\u00e9koztat\u00e1s itt<\/a><\/noindex>.<\/p>\n<p>Ahhoz, hogy mindent saj\u00e1t magunk \u00e9rt\u00e9kelj\u00fcnk, ki kell kapcsolni a regulariz\u00e1ci\u00f3t, \u00e9s ellen\u0151rizni kell a vesztes\u00e9gadatok gradiens\u00e9t.<\/p>\n<p><b>Dropout <\/b>\u2014 egy m\u00e1sik m\u00f3dszer a h\u00e1l\u00f3zat rendez\u00e9s\u00e9re a t\u00falkapacit\u00e1s megel\u0151z\u00e9se \u00e9rdek\u00e9ben. Az edz\u00e9s sor\u00e1n a dropout csak azzal val\u00f3sul meg, hogy a neuronnak egy bizonyos val\u00f3sz\u00edn\u0171s\u00e9ggel p (hiperparam\u00e9ter) akt\u00edvnak kell lennie, vagy m\u00e1s esetben null\u00e1ra \u00e1ll\u00edtj\u00e1k. Ennek eredm\u00e9nyek\u00e9nt a h\u00e1l\u00f3zatnak minden tan\u00edt\u00f3 batchhez m\u00e1s param\u00e9tersorozatot kell haszn\u00e1lnia, ami cs\u00f6kkenti a bizonyos param\u00e9terek domin\u00e1l\u00e1s\u00e1t.<\/p>\n<p>Fontos: ha a dropoutot \u00e9s a csoportos norm\u00e1l\u00e1st egy\u00fctt haszn\u00e1lja, legyen \u00f3vatos ezen m\u0171veletek sorrendj\u00e9vel vagy ak\u00e1r k\u00f6z\u00f6s haszn\u00e1latukkal kapcsolatban. Mindez m\u00e9g mindig akt\u00edvan vitatott \u00e9s kieg\u00e9sz\u00edtett. Itt van k\u00e9t fontos vita e t\u00e9m\u00e1ban <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/39691902\/ordering-of-batch-normalization-and-dropout\">a Stackoverflow-on<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1801.05134\">Arxiv<\/a><\/noindex>.<\/p>\n<h3>A m\u0171k\u00f6d\u00e9s ellen\u0151rz\u00e9se<\/h3>\n<p>\nA folyamatok \u00e9s k\u00eds\u00e9rletek dokument\u00e1l\u00e1s\u00e1r\u00f3l van sz\u00f3. Ha semmit sem dokument\u00e1lunk, k\u00f6nnyen elfelejthetj\u00fck, p\u00e9ld\u00e1ul, hogy milyen tanul\u00e1si sebess\u00e9get vagy oszt\u00e1lyt\u00f6meget haszn\u00e1lunk. A nyomon k\u00f6vet\u00e9s r\u00e9v\u00e9n probl\u00e9ma n\u00e9lk\u00fcl \u00e1ttekinthetj\u00fck \u00e9s reproduk\u00e1lhatjuk a kor\u00e1bbi k\u00eds\u00e9rleteket. Ez cs\u00f6kkentheti a megism\u00e9tl\u0151d\u0151 k\u00eds\u00e9rletek sz\u00e1m\u00e1t.<\/p>\n<p>Az igaz, hogy a k\u00e9zi dokument\u00e1l\u00e1s neh\u00e9z feladatt\u00e1 v\u00e1lhat nagy munkamennyis\u00e9g eset\u00e9n. Itt seg\u00edtenek olyan eszk\u00f6z\u00f6k, mint a Comet.ml, amelyek automatikusan logolj\u00e1k az adatokat, a k\u00f3dv\u00e1ltoz\u00e1sokat, a k\u00eds\u00e9rletek t\u00f6rt\u00e9net\u00e9t \u00e9s a gy\u00e1rt\u00e1si modelleket, bele\u00e9rtve a modellel kapcsolatos kulcsfontoss\u00e1g\u00fa inform\u00e1ci\u00f3kat (hiperparam\u00e9terek, a modell teljes\u00edtm\u00e9ny\u00e9nek mutat\u00f3i \u00e9s a k\u00f6rnyezeti inform\u00e1ci\u00f3k).<\/p>\n<p>A neur\u00e1lis h\u00e1l\u00f3zatok nagyon \u00e9rz\u00e9kenyek lehetnek a kisebb v\u00e1ltoz\u00e1sokra, ami a modell teljes\u00edtm\u00e9ny\u00e9nek cs\u00f6kken\u00e9s\u00e9hez vezethet. A munka nyomon k\u00f6vet\u00e9se \u00e9s dokument\u00e1l\u00e1sa az els\u0151 l\u00e9p\u00e9s, amelyet \u00e9rdemes megtenni a k\u00f6rnyezet \u00e9s a modellez\u00e9s standardiz\u00e1l\u00e1sa \u00e9rdek\u00e9ben.<\/p>\n<p><img decoding=\"async\" alt=\"Mesters\u00e9ges intelligenci\u00e1kkal dolgozunk: ellen\u0151rz\u0151 lista a hibakeres\u00e9shez\" src=\"\/wp-content\/uploads\/2019\/03\/37b3e4ef97ea39a3d28ffca5c1dbf1e5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nRem\u00e9lem, hogy ez a bejegyz\u00e9s kiindul\u00f3pontk\u00e9nt szolg\u00e1l, amellyel elkezdheti a neur\u00e1lis h\u00e1l\u00f3j\u00e1nak hibakeres\u00e9s\u00e9t.<\/p>\n<blockquote><p><b>A Skillbox aj\u00e1nlja:<\/b><\/p>\n<ul>\n<li>K\u00e9t\u00e9ves gyakorlati tanfolyam <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\">\u201eWebfejleszt\u0151 PRO\u201d<\/a><\/noindex>.<\/li>\n<li>Online kurzus <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#-fejleszt\u0151 0-r\u00f3l\u201d<\/a><\/noindex>.<\/li>\n<li>Gyakorlati \u00e9ves kurzus <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 fejleszt\u0151 a null\u00e1t\u00f3l a PROig\u201d<\/a><\/noindex>.\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>Forr\u00e1s: <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\/hu\/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=\"hu_HU\" \/>\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\/hu\/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\udd47Munk\u00e1nk a neur\u00e1lis h\u00e1l\u00f3zatokkal: hibakeres\u00e9si ellen\u0151rz\u0151lista | ProHoster","description":"A g\u00e9pi szoftverterm\u00e9kek k\u00f3dja.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/30028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=30028"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/30028\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=30028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=30028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=30028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}