{"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\/sq\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","title":{"rendered":"Punojm\u00eb me rrjetet nervore: lista kontrolluese p\u00ebr debugging","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Punojm\u00eb me rrjetet nervore: lista kontrolluese p\u00ebr debugging\" src=\"\/wp-content\/uploads\/2019\/03\/8ce45093bfe44092cb25d947c32bb0b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nKodi i produkteve software p\u00ebr m\u00ebsim t\u00eb makinerive shpesh \u00ebsht\u00eb kompleks dhe mjaft i ngat\u00ebrruar. Zbulimi dhe eliminimi i defekteve n\u00eb t\u00eb \u00ebsht\u00eb nj\u00eb detyr\u00eb e shtrenj\u00eb p\u00ebr burime. Edhe m\u00eb e thjeshta <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/soco\/projects\/neural-networks\/Architecture\/feedforward.html\">rrjetet nervore me lidhje t\u00eb drejtp\u00ebrdrejta<\/a><\/noindex> k\u00ebrkojn\u00eb nj\u00eb qasje serioze ndaj arkitektur\u00ebs rrjetore, inicializimit t\u00eb peshave dhe optimizimit t\u00eb rrjetit. Nj\u00eb gabim i vog\u00ebl mund t\u00eb sjell\u00eb probleme t\u00eb pak\u00ebndshme.<\/p>\n<p>Ky artikull i kushtohet algoritmit p\u00ebr debugging t\u00eb rrjetave tuaja neuronale.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><b>Skillbox rekomandon:<\/b> Kurs praktik <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\">Zhvillues Python nga e para<\/a><\/noindex>.<\/p>\n<p><b>Kujtojm\u00eb:<\/b> <i>p\u00ebr t\u00eb gjith\u00eb lexuesit e \u00abHabra\u00bb \u2014 zbritje prej 10,000 rublesh p\u00ebr regjistrimin n\u00eb \u00e7do kurs Skillbox me kodin promovues \u00abHabr\u00bb.<\/i><\/p><\/blockquote>\n<p><\/p>\n<h3>Algoritmi p\u00ebrb\u00ebhet nga pes\u00eb faza:<\/h3>\n<p><\/p>\n<ul>\n<li>fillimi i thjesht\u00eb;<\/li>\n<li>konfirmimi i humbjeve;<\/li>\n<li>kontrollimi i rezultateve nd\u00ebrmjet\u00ebse dhe lidhjeve;<\/li>\n<li>diagnoza e parametrave;<\/li>\n<li>kontrollimi i funksionimit.<\/li>\n<\/ul>\n<p>\nN\u00ebse di\u00e7ka ju duket m\u00eb interesante se sa e tjerash, mund t\u00eb kaloni menj\u00ebher\u00eb n\u00eb k\u00ebto seksione. <\/p>\n<h3>Fillimi i thjesht\u00eb<\/h3>\n<p>\nDebugger nj\u00eb rrjet nervor me arkitektur\u00eb t\u00eb nd\u00ebrlikuar, regularizim dhe planifikues t\u00eb shpejt\u00ebsis\u00eb s\u00eb m\u00ebsimit \u00ebsht\u00eb m\u00eb e v\u00ebshtir\u00eb se sa nj\u00eb e zakonshme. K\u00ebtu po manipulojm\u00eb, pasi pika vet\u00eb p\u00ebr debugging ka nj\u00eb lidhje indirekte, por kjo \u00ebsht\u00eb nj\u00eb rekomandim i r\u00ebnd\u00ebsish\u00ebm.<\/p>\n<p>Fillimi i thjesht\u00eb p\u00ebrfshin krijimin e nj\u00eb modeli t\u00eb thjeshtuar dhe m\u00ebsimin e tij mbi nj\u00eb grup (pik\u00eb) t\u00eb dh\u00ebnash.<\/p>\n<p><b>S\u00eb pari krijojm\u00eb nj\u00eb model t\u00eb thjeshtuar<\/b><\/p>\n<p>P\u00ebr fillim t\u00eb shpejt\u00eb krijojm\u00eb nj\u00eb rrjet t\u00eb vog\u00ebl me nj\u00eb shtres\u00eb t\u00eb fsheht\u00eb dhe e kontrollojm\u00eb q\u00eb gjith\u00e7ka t\u00eb funksionoj\u00eb n\u00eb m\u00ebnyr\u00eb korrekte. Pastaj gradualisht e komplikohemi modelin, duke kontrolluar \u00e7do aspekt t\u00eb ri t\u00eb struktur\u00ebs s\u00eb tij (shtres\u00ebs shtes\u00eb, parametrave etj.), dhe vazhdojm\u00eb m\u00eb tutje.<\/p>\n<p><b>M\u00ebsojm\u00eb modelin mbi nj\u00eb grup t\u00eb vet\u00ebm (pik\u00eb) t\u00eb dh\u00ebnash<\/b><\/p>\n<p>Si nj\u00eb kontroll t\u00eb shpejt\u00eb t\u00eb funksionalitetit t\u00eb projektit tuaj, mund t\u00eb p\u00ebrdorni nj\u00eb ose dy pika t\u00eb dh\u00ebnash p\u00ebr t\u00eb m\u00ebsuar, p\u00ebr t\u00eb konfirmuar n\u00ebse sistemi funksionon si\u00e7 duhet. Rrjeti nervor duhet t\u00eb tregoj\u00eb 100% sakt\u00ebsi n\u00eb m\u00ebsim dhe verifikim. N\u00ebse kjo nuk ndodh, at\u00ebher\u00eb ose modeli \u00ebsht\u00eb shum\u00eb i vog\u00ebl, ose keni nj\u00eb defekt.<\/p>\n<p>Edhe n\u00ebse gjith\u00e7ka \u00ebsht\u00eb mir\u00eb, p\u00ebrgatitni modelin p\u00ebr t\u00eb kaluar nj\u00eb ose disa epok\u00eb para se t\u00eb shkoni m\u00eb tej.<\/p>\n<h3>Vler\u00ebsimi i humbjeve<\/h3>\n<p>\nVler\u00ebsimi i humbjeve \u00ebsht\u00eb m\u00ebnyra kryesore p\u00ebr t\u00eb sakt\u00ebsuar performanc\u00ebn e modelit. Ju duhet t\u00eb siguroheni se humbja i p\u00ebrmbahet detyr\u00ebs, dhe funksionet e humbjes vler\u00ebsohen sipas nj\u00eb shkalle korrekt. N\u00ebse p\u00ebrdorni m\u00eb shum\u00eb se nj\u00eb lloj humbjeje, at\u00ebher\u00eb sigurohuni q\u00eb t\u00eb gjitha ato t\u00eb jen\u00eb t\u00eb nj\u00eb rendi dhe t\u00eb skaluara si\u00e7 duhet.<\/p>\n<p>\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb jeni t\u00eb kujdessh\u00ebm p\u00ebr humbjet fillestare. Kontrolloni sa af\u00ebr \u00ebsht\u00eb rezultati real me at\u00eb t\u00eb pritur, n\u00ebse modeli ka filluar nga nj\u00eb supozim t\u00eb rast\u00ebsish\u00ebm. N\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#baby\">pun\u00ebn e Andrej Karpati ofrohet kjo<\/a><\/noindex>: \u00abSigurohuni q\u00eb po merrni rezultatin q\u00eb pritet kur filloni t\u00eb punoni me nj\u00eb num\u00ebr t\u00eb vog\u00ebl parametrash. \u00cbsht\u00eb m\u00eb mir\u00eb t\u00eb kontrolloni menj\u00ebher\u00eb humbjen e t\u00eb dh\u00ebnave (me vendosjen e grad\u00ebs s\u00eb rregullimit n\u00eb zero). P\u00ebr shembull, p\u00ebr CIFAR-10 me klasifikuesin Softmax ne presim q\u00eb humbjet fillestare t\u00eb jen\u00eb 2.302, sepse probabiliteti i p\u00ebrhapur i pritur \u00ebsht\u00eb 0,1 p\u00ebr \u00e7do klas\u00eb (duke pasur parasysh se ekzistojn\u00eb 10 klasa), dhe humbja Softmax \u00ebsht\u00eb probabiliteti negativ logaritmik i klas\u00ebs s\u00eb sakt\u00eb si \u2013ln (0.1) = 2.302\u00bb.<\/p>\n<p>P\u00ebr shembujt binar\u00eb, thjesht b\u00ebhet nj\u00eb llogaritje e ngjashme p\u00ebr \u00e7do klas\u00eb. Ja, p\u00ebr shembull, t\u00eb dh\u00ebnat: 20% 0-sha dhe 80% 1-sha. Humbja e pritur fillestare do t\u00eb jet\u00eb deri n\u00eb \u20130,2ln(0,5) \u20130,8ln(0,5) = 0,693147. N\u00ebse rezultati \u00ebsht\u00eb m\u00eb i madh se 1, kjo mund t\u00eb tregoj\u00eb se pesha e rrjetit nervor nuk \u00ebsht\u00eb balancuar si\u00e7 duhet ose t\u00eb dh\u00ebnat nuk jan\u00eb normalizuar.<\/p>\n<h3>Kontrolloni rezultatet nd\u00ebrmjet\u00ebse dhe lidhjet <\/h3>\n<p>\nP\u00ebr t\u00eb debuguar rrjetin nervor \u00ebsht\u00eb e nevojshme t\u00eb kuptohet dinamika e proceseve brenda rrjetit dhe roli i shtresave t\u00eb intermediara, pasi ato jan\u00eb t\u00eb lidhura. Ja disa gabime tipike me t\u00eb cilat mund t\u00eb p\u00ebrballeni:<\/p>\n<ul>\n<li>shprehje t\u00eb gabuara p\u00ebr p\u00ebrdit\u00ebsimet e gradienteve;<\/li>\n<li>p\u00ebrdit\u00ebsimet e peshave nuk aplikohen;<\/li>\n<li>gradiente q\u00eb shuhen ose shp\u00ebrthejn\u00eb (exploding gradients).<\/li>\n<\/ul>\n<p>\nN\u00ebse vlerat e gradientit jan\u00eb zero, kjo do t\u00eb thot\u00eb se shpejt\u00ebsia e t\u00eb m\u00ebsuarit n\u00eb optimizues \u00ebsht\u00eb shum\u00eb e ul\u00ebt, ose keni hasur n\u00eb nj\u00eb shprehje t\u00eb gabuar p\u00ebr p\u00ebrdit\u00ebsimin e gradientit.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, \u00ebsht\u00eb e nevojshme t\u00eb monitoroni vlerat e funksioneve t\u00eb aktivizimit, peshave dhe p\u00ebrdit\u00ebsimeve t\u00eb \u00e7do shtrese. P\u00ebr shembull, madh\u00ebsia e p\u00ebrdit\u00ebsimeve t\u00eb parametrave (peshave dhe zhvendosjeve) <noindex><a rel=\"nofollow\" href=\"https:\/\/cs231n.github.io\/neural-networks-3\/#summary\">duhet t\u00eb jet\u00eb 1-e3<\/a><\/noindex>.<\/p>\n<p>Ekziston nj\u00eb fenomen q\u00eb quhet \u201cDying ReLU\u201d ose <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Vanishing_gradient_problem\">\u00abproblemi i gradientit shuhen\u00bb<\/a><\/noindex>, kur neuronet ReLU do t\u00eb japin zero pas studimit t\u00eb nj\u00eb vler\u00eb t\u00eb madhe negative (bias) p\u00ebr peshat e tij. K\u00ebto neurone nuk aktivizohen m\u00eb kurr\u00eb n\u00eb asnj\u00eb vend t\u00eb t\u00eb dh\u00ebnave.<\/p>\n<p>Mund t\u00eb p\u00ebrdorni kontrollin e gradientit p\u00ebr t\u00eb zbuluar k\u00ebto gabime duke aproksimuar gradientin me nj\u00eb qasje numerike. N\u00ebse \u00ebsht\u00eb af\u00ebr gradient\u00ebve t\u00eb llogaritur, at\u00ebher\u00eb p\u00ebrhapja e prapme \u00ebsht\u00eb realizuar si\u00e7 duhet. P\u00ebr t\u00eb krijuar nj\u00eb kontroll t\u00eb gradientit, shikoni k\u00ebto burime t\u00eb shk\u00eblqyera nga CS231 <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#gradcheck\">k\u00ebtu<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/optimization-1\/#gradcompute\">k\u00ebtu<\/a><\/noindex>, si dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=P6EtCVrvYPU\">m\u00ebsimin<\/a><\/noindex> nga Andrew Ng p\u00ebr k\u00ebt\u00eb tem\u00eb.<\/p>\n<p><noindex>Faizan Sheikh<\/noindex> shpjegon tre metoda kryesore t\u00eb vizualizimit t\u00eb rrjetit nervor:<\/p>\n<ul>\n<li>Paraprir\u00ebsit \u2014 metoda t\u00eb thjeshta q\u00eb na tregojn\u00eb struktur\u00ebn e p\u00ebrgjithshme t\u00eb modelit t\u00eb m\u00ebsuar. K\u00ebto p\u00ebrfshijn\u00eb daljet e formave apo filtrave t\u00eb shtresave individuale t\u00eb rrjetit nervor dhe parametrat n\u00eb \u00e7do shtres\u00eb.<\/li>\n<li> T\u00eb bazuara n\u00eb aktivizim. Ato dekriptojn\u00eb aktivizimet e neuron\u00ebve individual\u00eb ose grupeve t\u00eb neuron\u00ebve p\u00ebr t\u00eb kuptuar funksionet e tyre.<\/li>\n<li> T\u00eb bazuara n\u00eb gradient\u00eb. K\u00ebto metoda kan\u00eb tendenc\u00eb t\u00eb manipulojn\u00eb gradient\u00ebt q\u00eb formohen nga kalimi p\u00ebrpara dhe mbrapa gjat\u00eb trajnimit t\u00eb modelit (duke p\u00ebrfshir\u00eb hartat e r\u00ebnd\u00ebsis\u00eb dhe hartat e aktivizimit t\u00eb klas\u00ebs).<\/li>\n<\/ul>\n<p>\nEkzistojn\u00eb disa mjete t\u00eb dobishme p\u00ebr vizualizimin e aktivizimeve dhe lidhjeve t\u00eb shtresave t\u00eb ve\u00e7anta, si\u00e7 jan\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/conx.readthedocs.io\/en\/latest\/Getting%20Started%20with%20conx.html#What-is-ConX?\">ConX<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tensorflow.org\/guide\/tensorboard_histograms\">Tensorboard<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Punojm\u00eb me rrjetet nervore: lista kontrolluese p\u00ebr debugging\" src=\"\/wp-content\/uploads\/2019\/03\/56e7e88983d6772ef482bc8396dd52a2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Diagnostika e parametrave<\/h3>\n<p>\nRrjetet nervore kan\u00eb nj\u00eb shum\u00ebllojshm\u00ebri parametrash q\u00eb nd\u00ebrveprojn\u00eb me nj\u00ebra-tjetr\u00ebn, duke e komplikuar optimizimin. N\u00eb thelb, ky seksion \u00ebsht\u00eb objekt i k\u00ebrkimeve aktive t\u00eb specialist\u00ebve, prandaj propozimet m\u00eb posht\u00eb duhet t\u00eb merren vet\u00ebm si k\u00ebshilla, pika fillestare p\u00ebr t'u nisur.<\/p>\n<p><b>Madh\u00ebsia e grupit<\/b> (batch size) \u2014 n\u00ebse \u00ebsht\u00eb e nevojshme, q\u00eb madh\u00ebsia e grupit t\u00eb jet\u00eb e mjaftueshme p\u00ebr t\u00eb marr\u00eb vler\u00ebsime t\u00eb sakta t\u00eb gradientit t\u00eb gabimit, por e vog\u00ebl mjaftuesh\u00ebm q\u00eb r\u00ebnia stohastike e gradientit (SGD) t\u00eb mund t\u00eb rendis\u00eb rrjetin tuaj. Madh\u00ebsit\u00eb e vogla t\u00eb grupeve do t\u00eb \u00e7ojn\u00eb n\u00eb nj\u00eb konvergjenc\u00eb m\u00eb t\u00eb shpejt\u00eb p\u00ebr shkak t\u00eb zhurm\u00ebs gjat\u00eb procesit t\u00eb m\u00ebsimit dhe m\u00eb pas \u2014 n\u00eb v\u00ebshtir\u00ebsi n\u00eb optimizim. M\u00eb shum\u00eb p\u00ebr k\u00ebt\u00eb \u00ebsht\u00eb p\u00ebrshkruar <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1609.04836\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p><b>Shpejt\u00ebsia e m\u00ebsimit<\/b> \u2014 shum\u00eb e ul\u00ebt do t\u00eb \u00e7oj\u00eb n\u00eb konvergjenc\u00eb t\u00eb ngadalshme ose rrezikun p\u00ebr t\u00eb ngecur n\u00eb minimumet lokale. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, nj\u00eb shpejt\u00ebsi e lart\u00eb m\u00ebsimi do t\u00eb shkaktoj\u00eb divergjenc\u00eb t\u00eb optimizimit, pasi rrezikoni t\u00eb \"kalloni\" p\u00ebrmes nj\u00eb pjese t\u00eb thell\u00eb, por t\u00eb ngusht\u00eb t\u00eb funksionit t\u00eb humbjes. Provoni t\u00eb p\u00ebrdorni planifikimin e shpejt\u00ebsis\u00eb p\u00ebr ta ulur at\u00eb gjat\u00eb procesit t\u00eb m\u00ebsimit t\u00eb rrjetit nervor. <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/\">ka nj\u00eb seksion t\u00eb madh t\u00eb dedikuar k\u00ebtij problemi<\/a><\/noindex>.<\/p>\n<p><b>Klipimi i gradienteve<\/b>\u200a \u2014 \u00ebsht\u00eb prerja e gradienteve t\u00eb parametrave gjat\u00eb p\u00ebrhapjes prapa sipas vler\u00ebs maksimale ose norm\u00ebs kufitare. \u00cbsht\u00eb e dobishme p\u00ebr t\u00eb zgjidhur problemet me \u00e7do gradiant q\u00eb mund t\u00eb shp\u00ebrthej\u00eb, me t\u00eb cilin mund t\u00eb p\u00ebrballeni n\u00eb pik\u00ebn tre.<\/p>\n<p><b>Normalizimi n\u00eb grup<\/b> \u2014 p\u00ebrdoret p\u00ebr t\u00eb normalizuar t\u00eb dh\u00ebnat hyr\u00ebse t\u00eb \u00e7do shtrese, duke ndihmuar n\u00eb zgjidhjen e problemeve me zhvendosjen e brendshme t\u00eb kovariateve. N\u00ebse p\u00ebrdorni Dropout dhe Batch Normalization s\u00eb bashku, <noindex><a rel=\"nofollow\" href=\"https:\/\/towardsdatascience.com\/pitfalls-of-batch-norm-in-tensorflow-and-sanity-checks-for-training-networks-e86c207548c8\">shihni k\u00ebt\u00eb artikull<\/a><\/noindex>.<\/p>\n<p><b>N\u00eb shkall\u00ebn stohastike t\u00eb gradienteve (SGD)<\/b> \u2014 ekzistojn\u00eb disa variante t\u00eb SGD q\u00eb p\u00ebrdorin impuls, shpejt\u00ebsi adaptuese t\u00eb m\u00ebsimit dhe metod\u00ebn Nesterov. Megjithat\u00eb, asnj\u00ebra prej tyre nuk ka nj\u00eb avantazh t\u00eb qart\u00eb as p\u00ebr sa i p\u00ebrket efikasitetit t\u00eb m\u00ebsimit, as p\u00ebr sa i p\u00ebrket p\u00ebrgjith\u00ebsimit (<noindex><a rel=\"nofollow\" href=\"http:\/\/ruder.io\/optimizing-gradient-descent\/\">detaje k\u00ebtu<\/a><\/noindex>).<\/p>\n<p><b>Rregullimi<\/b> \u2014 \u00ebsht\u00eb thelb\u00ebsore p\u00ebr nd\u00ebrtimin e nj\u00eb modeli t\u00eb p\u00ebrgjithsh\u00ebm, pasi shton nj\u00eb nd\u00ebshkim p\u00ebr kompleksitetin e modelit ose p\u00ebr vlerat ekstreme t\u00eb parametrave. Ky \u00ebsht\u00eb nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb ulur varianc\u00ebn e modelit pa rritur ndjesh\u00ebm ndarjen e tij. M\u00eb shum\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/cs231n.github.io\/neural-networks-3\/#ratio\">informacione m\u00eb t\u00eb detajuara \u2014 k\u00ebtu<\/a><\/noindex>.<\/p>\n<p>P\u00ebr t\u00eb vler\u00ebsuar gjith\u00e7ka vet\u00eb, duhen \u00e7aktivizuar rregullimi dhe duhet t\u00eb kontrollohet gradienti i humbjes s\u00eb t\u00eb dh\u00ebnave vet\u00eb.<\/p>\n<p><b>R\u00ebnia <\/b>\u2014 \u00ebsht\u00eb nj\u00eb tjet\u00ebr metod\u00eb p\u00ebr t\u00eb rregulluar rrjetin tuaj p\u00ebr t\u00eb parandaluar mbingarkes\u00ebn. Gjat\u00eb m\u00ebsimit, r\u00ebnia realizohet vet\u00ebm duke mbajtur aktivitetin e neuronit me nj\u00eb probabilitet t\u00eb caktuar p (hiper-parametri) ose duke e vendosur at\u00eb n\u00eb zero n\u00eb rastin e kund\u00ebrt. Si rezultat, rrjeti duhet t\u00eb p\u00ebrdor\u00eb nj\u00eb n\u00ebngrup tjet\u00ebr parametrash p\u00ebr \u00e7do grup m\u00ebsimor, duke reduktuar ndryshimet e parametrave t\u00eb caktuar q\u00eb b\u00ebhen dominuese.<\/p>\n<p>\u00cbsht\u00eb e r\u00ebnd\u00ebsishme: n\u00ebse p\u00ebrdorni si r\u00ebnien, ashtu edhe normalizimin n\u00eb grup, jini t\u00eb kujdessh\u00ebm me rendin e k\u00ebtyre operacioneve ose madje edhe me p\u00ebrdorimin e tyre t\u00eb p\u00ebrbashk\u00ebt. T\u00eb gjitha k\u00ebto jan\u00eb ende duke u diskutuar dhe p\u00ebrmir\u00ebsuar. Ja dy diskutime t\u00eb r\u00ebnd\u00ebsishme mbi k\u00ebt\u00eb tem\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/stackoverflow.com\/questions\/39691902\/ordering-of-batch-normalization-and-dropout\">n\u00eb Stackoverflow<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1801.05134\">Arxiv<\/a><\/noindex>.<\/p>\n<h3>Kontrolli i funksionit<\/h3>\n<p>\nB\u00ebhet fjal\u00eb p\u00ebr dokumentimin e proceseve punuese dhe eksperimenteve. N\u00ebse nuk dokumentoni asgj\u00eb, mund t\u00eb harroni, p\u00ebr shembull, cilat jan\u00eb shpejt\u00ebsia e nx\u00ebnies ose pesha e klasave q\u00eb p\u00ebrdoren. Fal\u00eb kontrollit, mund t\u00eb shqyrtoni dhe riprodhoni n\u00eb m\u00ebnyr\u00eb t\u00eb leht\u00eb eksperimentet e m\u00ebparshme. Kjo ndihmon n\u00eb reduktimin e numrit t\u00eb eksperimenteve t\u00eb dyfishta.<\/p>\n<p>Megjithat\u00eb, dokumentimi manual mund t\u00eb b\u00ebhet nj\u00eb detyr\u00eb e v\u00ebshtir\u00eb n\u00eb rast t\u00eb nj\u00eb volumi t\u00eb madh pun\u00ebsh. K\u00ebtu ndihmojn\u00eb t\u00eb till\u00eb si Comet.ml, q\u00eb ndihmojn\u00eb p\u00ebr t\u00eb loguar automatikisht grumbujt e t\u00eb dh\u00ebnave, ndryshimet n\u00eb kod, historin\u00eb e eksperimenteve dhe modelet prodhuese, p\u00ebrfshir\u00eb informacionin ky\u00e7 mbi modelin tuaj (hiperparametrat, treguesit e performanc\u00ebs s\u00eb modelit dhe informacionin mbi mjedisin).<\/p>\n<p>Nj\u00eb rrjet nervor mund t\u00eb jet\u00eb mjaft i ndjesh\u00ebm ndaj ndryshimeve t\u00eb vogla, dhe kjo do t\u00eb \u00e7oj\u00eb n\u00eb r\u00ebnien e performanc\u00ebs s\u00eb modelit. Ndjekja dhe dokumentimi i pun\u00ebs \u00ebsht\u00eb hapi i par\u00eb q\u00eb duhet t\u00eb nd\u00ebrmerrni p\u00ebr t\u00eb standardizuar mjedisin dhe modelimin.<\/p>\n<p><img decoding=\"async\" alt=\"Punojm\u00eb me rrjetet nervore: lista kontrolluese p\u00ebr debugging\" src=\"\/wp-content\/uploads\/2019\/03\/37b3e4ef97ea39a3d28ffca5c1dbf1e5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nShpresoj se ky post mund t\u00eb jet\u00eb pika e nisjes nga e cila do t\u00eb filloni rregullimin e rrjetit tuaj nervor.<\/p>\n<blockquote><p><b>Skillbox rekomandon:<\/b><\/p>\n<ul>\n<li>Kursi praktik dyvje\u00e7ar <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\">\u00abUn\u00eb jam zhvillues web PRO\u00bb<\/a><\/noindex>.<\/li>\n<li>Kurs online <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\">\u00abProgramues C# nga 0\u00bb<\/a><\/noindex>.<\/li>\n<li>Kurs praktik nj\u00ebvje\u00e7ar <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\">\u00abZhvillues PHP nga 0 n\u00eb PRO\u00bb<\/a><\/noindex>.\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>Burimi: <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.2 - 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\/sq\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47Punojm\u00eb me rrjete nervore: lista e kontrollit p\u00ebr rregullimin | ProHoster","description":"Kodi i produkteve softuerike p\u00ebr makinat.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/rabotaem-s-nejrosetyami-chek-list-dlya-otladki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/30028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30028"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30028\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}