{"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\/hr\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","title":{"rendered":"Radimo s neuronskim mre\u017eama: kontrolni popis za otklanjanje gre\u0161aka","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Radimo s neuronskim mre\u017eama: kontrolni popis za otklanjanje gre\u0161aka\" src=\"\/wp-content\/uploads\/2019\/03\/8ce45093bfe44092cb25d947c32bb0b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nKod programskih proizvoda za strojno u\u010denje \u010desto je slo\u017een i prili\u010dno zbunjuju\u0107. Otkrivanje i otklanjanje gre\u0161aka u njemu \u2014 zahtijevan je zadatak. \u010cak i najjednostavnije <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/soco\/projects\/neural-networks\/Architecture\/feedforward.html\">neuralne mre\u017ee s izravnom vezom<\/a><\/noindex> zahtijevaju ozbiljan pristup mre\u017enoj arhitekturi, inicijalizaciji te\u017eina, optimizaciji mre\u017ee. Mala gre\u0161ka mo\u017ee dovesti do neugodnih problema.<\/p>\n<p>Ovaj \u010dlanak posve\u0107en je algoritmu za ispravljanje gre\u0161aka va\u0161ih neuronskih mre\u017ea.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><b>Skillbox preporu\u010duje:<\/b> Prakti\u010dni te\u010daj <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 programer od nule<\/a><\/noindex>.<\/p>\n<p><b>Podsje\u0107amo:<\/b> <i>za sve \u010ditatelje \"Habra\" \u2014 popust od 10 000 rubalja prilikom upisa na bilo koji te\u010daj Skillbox uz promo kod \"Habr\".<\/i><\/p><\/blockquote>\n<p><\/p>\n<h3>Algoritam se sastoji od pet koraka:<\/h3>\n<p><\/p>\n<ul>\n<li>jednostavni po\u010detak;<\/li>\n<li>potvr\u0111ivanje gubitaka;<\/li>\n<li>provjera privremenih rezultata i veza;<\/li>\n<li>dijagnostika parametara;<\/li>\n<li>kontrola rada.<\/li>\n<\/ul>\n<p>\nAko vam se ne\u0161to \u010dini zanimljivijim od ostalog, mo\u017eete odmah prije\u0107i na te odjeljke. <\/p>\n<h3>Jednostavni po\u010detak<\/h3>\n<p>\nTe\u017ee je ispravljati neuronsku mre\u017eu sa slo\u017eenom arhitekturom, regularizacijom i planerom brzine u\u010denja, nego obi\u010dnu. Pomalo se zavaravamo, jer se sam korak za ispravak samo posredno odnosi, ali to je ipak va\u017ena preporuka.<\/p>\n<p>Jednostavni po\u010detak sastoji se od stvaranja pojednostavljene modela i njezina u\u010denja na jednom skupu (to\u010dki) podataka.<\/p>\n<p><b>Prvo stvaramo pojednostavljeni model<\/b><\/p>\n<p>Za brz po\u010detak stvorite malu mre\u017eu s jednim skrivenim slojem i provjerite da sve radi ispravno. Zatim postupno komplicirajte model, provjeravaju\u0107i svaki novi aspekt njegove strukture (dodatni sloj, parametar itd.), i idite dalje.<\/p>\n<p><b>Obu\u010davamo model na jednom skupu (to\u010dki) podataka<\/b><\/p>\n<p>Kao brzu provjeru funkcionalnosti va\u0161eg projekta mo\u017eete koristiti jednu ili dvije to\u010dke podataka kako biste potvrdili funkcionira li sustav ispravno. Neuronska mre\u017ea bi trebala pokazati 100% to\u010dnost u\u010denja i provjere. Ako to nije slu\u010daj, ili je model previ\u0161e mali, ili ve\u0107 imate gre\u0161ku.<\/p>\n<p>\u010cak i ako je sve u redu, pripremite model za prolazak jedne ili vi\u0161e epoha prije nego \u0161to idete dalje.<\/p>\n<h3>Procjena gubitaka<\/h3>\n<p>\nProcjena gubitaka je osnovni na\u010din za fokusiranje na performanse modela. Morate se pobrinuti da gubitak odgovara zadatku, a funkcije gubitka se procjenjuju prema ispravnoj skali. Ako koristite vi\u0161e od jednog tipa gubitka, provjerite jesu li svi istog reda i ispravno skalirani.<\/p>\n<p>Va\u017eno je obratiti pa\u017enju na po\u010detne gubitke. Provjerite koliko su stvarni rezultati blizu o\u010dekivanim, ako je model krenuo s nasumi\u010dnom pretpostavkom. U <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#baby\">radu Andreja Karpati predla\u017ee se sljede\u0107e<\/a><\/noindex>: \u201eProvjerite dobivate li rezultate koje o\u010dekujete kada zapo\u010dnete s malim brojem parametara. Bolje je odmah provjeriti gubitak podataka (postavljanjem razine regularizacije na nulu). Na primjer, za CIFAR-10 s klasifikatorom Softmax o\u010dekujemo da \u0107e po\u010detni gubici biti 2.302, jer o\u010dekivana difuzna vjerojatnost iznosi 0,1 za svaku klasu (budu\u0107i da postoji 10 klasa), a gubitak Softmax je negativna logaritamska vjerojatnost ispravne klase, kao \u2013ln(0.1) = 2.302\u201c.<\/p>\n<p>Za binarni primjer, jednostavno se provodi sli\u010dan izra\u010dun za svaku od klasa. Tako, na primjer, podaci su: 20% 0-ica i 80% 1-ica. O\u010dekivani po\u010detni gubitak \u0107e biti do \u20130,2ln (0,5) \u20130,8ln (0,5) = 0,693147. Ako je rezultat ve\u0107i od 1, to mo\u017ee ukazivati na to da te\u017eine neuronske mre\u017ee nisu pravilno uravnote\u017eene ili da podaci nisu normalizirani.<\/p>\n<h3>Provjeravamo me\u0111urezultate i veze <\/h3>\n<p>\nZa debugiranje neuronske mre\u017ee potrebno je razumjeti dinamiku procesa unutar mre\u017ee i ulogu pojedinih me\u0111uslojnih slojeva, budu\u0107i da su povezani. Evo tipi\u010dnih gre\u0161aka s kojima se mo\u017eete susresti:<\/p>\n<ul>\n<li>pogre\u0161ni izrazi za a\u017euriranje gradijenata;<\/li>\n<li>a\u017euriranja te\u017eina se ne primjenjuju;<\/li>\n<li>nestaju\u0107i ili eksplozivni gradijenti (exploding gradients).<\/li>\n<\/ul>\n<p>\nAko su vrijednosti gradijenata nulte, to zna\u010di da je brzina u\u010denja u optimizatoru preniska ili da ste se suo\u010dili s pogre\u0161nim izrazom za a\u017euriranje gradijenta.<\/p>\n<p>Osim toga, potrebno je pratiti vrijednosti funkcija aktivacije, te\u017eina i a\u017euriranja svakog od slojeva. Na primjer, veli\u010dina a\u017euriranja parametara (te\u017eina i pomaka) <noindex><a rel=\"nofollow\" href=\"https:\/\/cs231n.github.io\/neural-networks-3\/#summary\">trebala bi iznositi 1-e3<\/a><\/noindex>.<\/p>\n<p>Postoji fenomen poznat kao \u201cDying ReLU\u201d ili <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Vanishing_gradient_problem\">\u00abproblem nestaju\u0107eg gradijenta\u00bb<\/a><\/noindex>, kada neuroni ReLU proizvode nulu nakon u\u010denja velike negativne vrijednosti (bias) pomaka za svoje te\u017eine. Ovi neuroni se vi\u0161e nikada ne aktiviraju ni u jednom dijelu podataka.<\/p>\n<p>Mo\u017eete koristiti provjeru gradijenta za identifikaciju ovih gre\u0161aka aproksimacijom gradijenta koriste\u0107i numeri\u010dki pristup. Ako je blizu izra\u010dunatim gradijentima, onda je povratno \u0161irenje pravilno \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e. Da biste stvorili provjeru gradijenta, upoznajte se s ovim odli\u010dnim resursima iz CS231 <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#gradcheck\">ovdje<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/optimization-1\/#gradcompute\">ovdje<\/a><\/noindex>, kao i s <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=P6EtCVrvYPU\">lekcijom<\/a><\/noindex> Andrews Nga o ovoj temi.<\/p>\n<p><noindex>Faizan Sheikh<\/noindex> navodi tri glavne metode vizualizacije neuronske mre\u017ee:<\/p>\n<ul>\n<li>Preliminarne \u2014 jednostavne metode koje nam pokazuju op\u0107u strukturu obu\u010dene mre\u017ee. One uklju\u010duju prikaz oblika ili filtara pojedina\u010dnih slojeva neuronske mre\u017ee i parametara u svakom sloju.<\/li>\n<li> Na temelju aktivacije. U njima dekodiramo aktivacije pojedina\u010dnih neurona ili grupa neurona kako bismo razumjeli njihove funkcije.<\/li>\n<li> Na temelju gradijenata. Ove metode imaju tendenciju manipulirati gradijentima koji se formiraju iz unaprijednog i unazadnog prolaza tijekom obuke modela (uklju\u010duju\u0107i karte va\u017enosti i karte aktivacije klase).<\/li>\n<\/ul>\n<p>\nPostoji nekoliko korisnih alata za vizualizaciju aktivacija i veza pojedina\u010dnih slojeva, poput <noindex><a rel=\"nofollow\" href=\"https:\/\/conx.readthedocs.io\/en\/latest\/Getting%20Started%20with%20conx.html#What-is-ConX?\">ConX<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tensorflow.org\/guide\/tensorboard_histograms\">Tensorboard<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Radimo s neuronskim mre\u017eama: kontrolni popis za otklanjanje gre\u0161aka\" src=\"\/wp-content\/uploads\/2019\/03\/56e7e88983d6772ef482bc8396dd52a2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Dijagnostika parametara<\/h3>\n<p>\nNeuronske mre\u017ee imaju brojne parametre koji me\u0111usobno djeluju, \u0161to ote\u017eava optimizaciju. U su\u0161tini, ovaj odjeljak predstavlja predmet aktivnih istra\u017eivanja stru\u010dnjaka, stoga bi sljede\u0107i savjeti trebali biti smatrani samo kao preporuke, po\u010detne to\u010dke od kojih mo\u017eete krenuti.<\/p>\n<p><b>Veli\u010dina paketa<\/b> (batch size) \u2014 potrebno je da veli\u010dina paketa bude dovoljno velika za dobivanje to\u010dnih procjena gradijenta pogre\u0161ke, ali dovoljno mala da stohasti\u010dki gradijentni spust (SGD) mo\u017ee organizirati va\u0161u mre\u017eu. Male veli\u010dine paketa dovest \u0107e do brze konvergencije zbog buke u procesu u\u010denja i kasnije \u2014 do pote\u0161ko\u0107a u optimizaciji. Vi\u0161e o tome opisano je <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1609.04836\">ovdje<\/a><\/noindex>.<\/p>\n<p><b>Brzina u\u010denja<\/b> \u2014 previ\u0161e niska \u0107e dovesti do sporog konvergiranja ili rizika od zastoja u lokalnim minimumima. S druge strane, visoka brzina u\u010denja izazvat \u0107e divergenciju optimizacije, jer riskirate 'presko\u010diti' duboki, ali u\u017ei dio funkcije gubitka. Poku\u0161ajte koristiti planiranje brzine kako biste je smanjili tijekom u\u010denja neuronske mre\u017ee. U te\u010daju CS231n <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/\">Postoji veliki odjeljak posve\u0107en ovom problemu<\/a><\/noindex>.<\/p>\n<p><b>Ograni\u010davanje gradijenta<\/b>\u2014 ograni\u010davanje gradijenata parametara tijekom unazadne propagacije na maksimalnu vrijednost ili grani\u010dnu normu. Korisno za rje\u0161avanje problema s eksplodiraju\u0107im gradijentima s kojima se mo\u017eete susresti u tre\u0107em stavku.<\/p>\n<p><b>Batch normalizacija<\/b> \u2014 koristi se za normalizaciju ulaznih podataka svakog sloja, \u0161to poma\u017ee u rje\u0161avanju problema unutarnjeg pomaka kovarijante. Ako koristite Dropout i Batch Normalization zajedno, <noindex><a rel=\"nofollow\" href=\"https:\/\/towardsdatascience.com\/pitfalls-of-batch-norm-in-tensorflow-and-sanity-checks-for-training-networks-e86c207548c8\">pro\u010ditajte ovaj \u010dlanak<\/a><\/noindex>.<\/p>\n<p><b>Stohasti\u010dki gradijentni spust (SGD)<\/b> \u2014 postoji nekoliko vrsta SGD-a koji koriste impuls, adaptivne brzine u\u010denja i Nesterov metod. Pri tome nijedna od njih nema o\u010ditu prednost ni u u\u010dinkovitosti u\u010denja ni u generalizaciji (<noindex><a rel=\"nofollow\" href=\"http:\/\/ruder.io\/optimizing-gradient-descent\/\">vi\u0161e detalja ovdje<\/a><\/noindex>).<\/p>\n<p><b>Regulacija<\/b> \u2014 klju\u010dna je za izgradnju modela koji se mo\u017ee generalizirati, budu\u0107i da dodaje kaznu za slo\u017eenost modela ili ekstremne vrijednosti parametara. To je na\u010din smanjenja varijance modela bez zna\u010dajnog pove\u0107anja njegove pristranosti. Vi\u0161e <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#ratio\">informacija je ovdje<\/a><\/noindex>.<\/p>\n<p>Da biste sami sve procijenili, morate isklju\u010diti regulaciju i samostalno provjeriti gradijent gubitka podataka.<\/p>\n<p><b>Dropout <\/b>\u2014 jo\u0161 jedna metoda organiziranja va\u0161e mre\u017ee za sprje\u010davanje preoptere\u0107enja. Tijekom u\u010denja, dropout se provodi samo odr\u017eavanjem aktivnosti neurona s odre\u0111enom vjerojatno\u0161\u0107u p (hiperparametar) ili postavljanjem na nulu u suprotnom slu\u010daju. Kao rezultat, mre\u017ea mora koristiti razli\u010ditu podskupinu parametara za svaku u\u010dionicu, \u0161to smanjuje promjene odre\u0111enih parametara koji postaju dominantni.<\/p>\n<p>Va\u017eno: ako koristite i dropout i batch normalizaciju, budite oprezni s redoslijedom ovih operacija ili \u010dak s njihovom zajedni\u010dkom upotrebom. Sve to se jo\u0161 aktivno raspravlja i dopunjuje. Evo dvije va\u017ene rasprave o ovoj temi <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/39691902\/ordering-of-batch-normalization-and-dropout\">na Stackoverflow<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1801.05134\">Arxiv<\/a><\/noindex>.<\/p>\n<h3>Nadzor rada<\/h3>\n<p>\nRadi se o dokumentiranju radnih procesa i eksperimenata. Ako ni\u0161ta ne dokumentirate, lako mo\u017eete zaboraviti, na primjer, koja se brzina u\u010denja ili te\u017eina klasa koristi. Kontrolom mo\u017eete besprijekorno pregledavati i reproducirati prethodne eksperimente. To omogu\u0107uje smanjenje broja dupliciranih eksperimenata.<\/p>\n<p>Istina, ru\u010dno dokumentiranje mo\u017ee postati slo\u017een zadatak u slu\u010daju velikog obima rada. Ovdje poma\u017eu alati poput Comet.ml, koji automatski logiraju skupove podataka, izmjene koda, povijest eksperimenata i proizvode modele, uklju\u010duju\u0107i klju\u010dne informacije o va\u0161em modelu (hiperparametri, performanse modela i podaci o okru\u017eenju).<\/p>\n<p>Neuralna mre\u017ea mo\u017ee biti prili\u010dno osjetljiva na male promjene, \u0161to mo\u017ee dovesti do pada performansi modela. Pra\u0107enje i dokumentiranje rada prvi su korak koji treba poduzeti za standardizaciju okru\u017eenja i modeliranje.<\/p>\n<p><img decoding=\"async\" alt=\"Radimo s neuronskim mre\u017eama: kontrolni popis za otklanjanje gre\u0161aka\" src=\"\/wp-content\/uploads\/2019\/03\/37b3e4ef97ea39a3d28ffca5c1dbf1e5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nNadam se da \u0107e ova objava poslu\u017eiti kao polazi\u0161na to\u010dka za debagiranje va\u0161e neuronske mre\u017ee.<\/p>\n<blockquote><p><b>Skillbox preporu\u010duje:<\/b><\/p>\n<ul>\n<li>Dvoipogodi\u0161nji prakti\u010dni te\u010daj <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\">\u201eJa sam PRO web programer\u201c<\/a><\/noindex>.<\/li>\n<li>Online te\u010daj <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\">\u00abC# developer od 0\u00bb<\/a><\/noindex>.<\/li>\n<li>Prakti\u010dni godi\u0161nji te\u010daj <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\">\u00abPHP programer od nule do PRO\u00bb<\/a><\/noindex>.\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>Izvor: <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.5 - 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\/hr\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47 Radimo s neuronskim mre\u017eama: checklist za debagiranje | ProHoster","description":"Kod softverskih proizvoda za strojevit.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/30028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=30028"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/30028\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=30028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=30028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=30028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}