Ħidma ma 'netwerks newrali: lista ta' kontroll għad-debugging

Ħidma ma 'netwerks newrali: lista ta' kontroll għad-debugging

Il-kodiċi tal-prodotti tas-softwer tat-tagħlim tal-magni ħafna drabi huwa kumpless u pjuttost konfuż. Is-sejbien u l-eliminazzjoni tal-bugs fih huwa kompitu li juża ħafna riżorsi. Anke l-aktar sempliċi netwerks newrali feedforward jeħtieġu approċċ serju għall-arkitettura tan-netwerk, l-inizjalizzazzjoni tal-piżijiet, u l-ottimizzazzjoni tan-netwerk. Żball żgħir jista 'jwassal għal problemi spjaċevoli.

Dan l-artikolu huwa dwar algoritmu għad-debugging tan-netwerks newrali tiegħek.

Skillbox jirrakkomanda: Kors prattiku Iżviluppatur Python mill-bidu.

Infakkrukom: għall-qarrejja kollha ta '"Habr" - skont ta' 10 rublu meta tirreġistra fi kwalunkwe kors ta 'Skillbox billi tuża l-kodiċi promozzjonali "Habr".

L-algoritmu jikkonsisti f'ħames stadji:

  • bidu faċli;
  • konferma tat-telf;
  • verifika ta' riżultati u konnessjonijiet intermedji;
  • dijanjostika tal-parametri;
  • kontroll tax-xogħol.

Jekk xi ħaġa tidher aktar interessanti għalik mill-bqija, tista' immedjatament taqbeż għal dawn it-taqsimiet.

Bidu faċli

Netwerk newrali b'arkitettura kumplessa, regolarizzazzjoni, u skedar tar-rata tat-tagħlim huwa aktar diffiċli biex jiġi debugjat minn wieħed regolari. Qegħdin inkunu ftit delikati hawnhekk, peress li l-punt innifsu huwa indirettament relatat mad-debugging, iżda din għadha rakkomandazzjoni importanti.

Bidu sempliċi huwa li toħloq mudell simplifikat u tħarreġ fuq sett wieħed (punt) ta 'dejta.

L-ewwel noħolqu mudell simplifikat

Biex tibda malajr, noħolqu netwerk żgħir b'saff moħbi wieħed u niċċekkjaw li kollox jaħdem b'mod korrett. Imbagħad nikkomplikaw gradwalment il-mudell, niċċekkjaw kull aspett ġdid tal-istruttura tiegħu (saff addizzjonali, parametru, eċċ.), u nimxu 'l quddiem.

Aħna nħarrġu l-mudell fuq sett wieħed (punt) ta 'dejta

Bħala kontroll ta 'sanità ta' malajr għall-proġett tiegħek, tista 'tuża punt ta' data wieħed jew tnejn għat-taħriġ biex tikkonferma jekk is-sistema hijiex taħdem sew. In-netwerk newrali għandu juri preċiżjoni ta '100% fit-taħriġ u l-ittestjar. Jekk dan ma jkunx il-każ, allura jew il-mudell huwa żgħir wisq jew diġà għandek bug.

Anke jekk kollox ikun tajjeb, ipprepara l-mudell għal epoka waħda jew aktar qabel ma tkompli.

Valutazzjoni tat-telf

L-istima tat-telf hija l-mod ewlieni biex tirfina l-prestazzjoni tal-mudell. Għandek bżonn tiżgura li t-telf ikun xieraq għall-problema u li l-funzjonijiet tat-telf huma kklassifikati fuq l-iskala korretta. Jekk tuża aktar minn tip ta 'telf wieħed, kun żgur li huma kollha tal-istess ordni u skalati b'mod korrett.

Huwa importanti li tkun attenta għat-telf inizjali. Iċċekkja kemm ir-riżultat attwali huwa qrib ir-riżultat mistenni jekk il-mudell beda bi raden każwali. IN Ix-xogħol ta 'Andrey Karpathy jissuġġerixxi dan li ġej:: “Aċċerta ruħek li tikseb ir-riżultat li tistenna meta tibda b’numru żgħir ta’ parametri. Huwa aħjar li tiċċekkja immedjatament it-telf tad-dejta (bil-grad ta 'regolarizzazzjoni stabbilit għal żero). Pereżempju, għal CIFAR-10 bi klassifikatur Softmax, nistennew li t-telf inizjali jkun 2.302 minħabba li l-probabbiltà diffusa mistennija hija 0,1 għal kull klassi (peress li hemm 10 klassijiet) u t-telf Softmax huwa l-probabbiltà ta' log negattiva tal-klassi korretta. bħala − ln (0.1) = 2.302.”

Għall-eżempju binarju, kalkolu simili huwa sempliċement magħmul għal kull waħda mill-klassijiet. Hawnhekk, pereżempju, hija d-dejta: 20% 0's u 80% 1's. It-telf inizjali mistenni jkun sa –0,2ln (0,5) –0,8ln (0,5) = 0,693147. Jekk ir-riżultat ikun akbar minn 1, jista 'jindika li l-piżijiet tan-netwerk newrali mhumiex ibbilanċjati sew jew id-dejta mhix normalizzata.

Iċċekkjar ta 'riżultati intermedji u konnessjonijiet

Biex tiddibaggja netwerk newrali, huwa meħtieġ li tifhem id-dinamika tal-proċessi fin-netwerk u r-rwol ta 'saffi intermedji individwali hekk kif huma konnessi. Hawn huma l-iżbalji komuni li tista' tiltaqa' magħhom:

  • espressjonijiet skorretti għal aġġornamenti gradle;
  • aġġornamenti tal-piż mhumiex applikati;
  • gradjenti li jisplodu.

Jekk il-valuri tal-gradjent huma żero, dan ifisser li r-rata ta 'tagħlim fl-ottimizzatur hija bil-mod wisq, jew li qed tiltaqa' ma 'espressjoni mhux korretta biex taġġorna l-gradjent.

Barra minn hekk, huwa meħtieġ li jiġu mmonitorjati l-valuri tal-funzjonijiet ta 'attivazzjoni, piżijiet u aġġornamenti ta' kull wieħed mis-saffi. Pereżempju, il-kobor tal-aġġornamenti tal-parametri (piżijiet u preġudizzji) għandu jkun 1-e3.

Hemm fenomenu msejjaħ "Dying ReLU" jew "problema tal-gradjent li qed tgħibu", Meta n-newroni ReLU se joħorġu żero wara li jitgħallmu valur ta 'preġudizzju negattiv kbir għall-piżijiet tiegħu. Dawn in-newroni qatt ma jerġgħu jiġu sparati fi kwalunkwe punt fid-dejta.

Tista' tuża l-iċċekkjar tal-gradjent biex tidentifika dawn l-iżbalji billi tapprossima l-gradjent billi tuża approċċ numeriku. Jekk tkun qrib il-gradjenti kkalkulati, allura backpropagation ġiet implimentata b'mod korrett. Biex toħloq verifika gradjent, iċċekkja dawn ir-riżorsi kbar minn CS231 hawn и hawnu wkoll ma lezzjoni Andrew Nga dwar dan is-suġġett.

Faizan Sheikh jindika tliet metodi ewlenin għall-viżwalizzazzjoni ta’ netwerk newrali:

  • Il-preliminari huma metodi sempliċi li juruna l-istruttura ġenerali tal-mudell imħarreġ. Dawn jinkludu l-output ta 'forom jew filtri tas-saffi individwali tan-netwerk newrali u l-parametri f'kull saff.
  • Ibbażat fuq l-attivazzjoni. Fihom, aħna niddeċifraw l-attivazzjonijiet ta 'newroni individwali jew gruppi ta' newroni biex nifhmu l-funzjonijiet tagħhom.
  • Ibbażat fuq gradjenti. Dawn il-metodi għandhom it-tendenza li jimmanipulaw gradjenti li huma ffurmati mill-passaġġi 'l quddiem u lura tat-taħriġ tal-mudell (inklużi mapep ta' saliency u mapep ta 'attivazzjoni tal-klassi).

Hemm diversi għodod utli għall-viżwalizzazzjoni tal-attivazzjonijiet u l-konnessjonijiet tas-saffi individwali, eż. ConX и Tensorboard.

Ħidma ma 'netwerks newrali: lista ta' kontroll għad-debugging

Dijanjostika tal-parametri

In-netwerks newrali għandhom ħafna parametri li jinteraġixxu ma 'xulxin, u dan jikkomplika l-ottimizzazzjoni. Fil-fatt, din it-taqsima hija s-suġġett ta 'riċerka attiva minn speċjalisti, għalhekk is-suġġerimenti ta' hawn taħt għandhom jitqiesu biss bħala pariri, punti ta 'tluq minn fejn jibnu.

Daqs tal-pakkett (daqs tal-lott) - Jekk trid li d-daqs tal-lott ikun kbir biżżejjed biex tikseb stimi preċiżi tal-gradjent tal-iżbalji, iżda żgħir biżżejjed biex jinżel gradjent stochastic (SGD) biex jirregolarizza n-netwerk tiegħek. Daqsijiet ta 'lottijiet żgħar se jwasslu għal konverġenza rapida minħabba l-istorbju matul il-proċess ta' taħriġ u sussegwentement għal diffikultajiet ta 'ottimizzazzjoni. Dan huwa deskritt f'aktar dettall hawn.

Rata ta' tagħlim - baxx wisq iwassal għal konverġenza bil-mod jew ir-riskju li wieħed jeħel fil-valuri minimi lokali. Fl-istess ħin, rata għolja ta 'tagħlim tikkawża diverġenza ta' ottimizzazzjoni għaliex tirriskja li taqbeż mill-parti fonda iżda dejqa tal-funzjoni tat-telf. Ipprova uża l-iskedar tal-veloċità biex tnaqqasha waqt li tħarreġ in-netwerk newrali. Aġġornata ma 'CS231n hemm taqsima kbira ddedikata għal din il-problema.

Qtugħ tal-gradjent  — it-tirqim tal-gradjenti tal-parametri matul il-propagazzjoni lura fil-valur massimu jew in-norma marġinali. Utli biex issolvi l-problemi ta' kwalunkwe gradjenti li jisplodu li tista' tiltaqa' magħhom fil-punt tlieta.

Normalizzazzjoni tal-lott - użat biex jinnormalizza d-dejta tal-input ta 'kull saff, li jippermettilna nsolvu l-problema ta' bidla interna kovarjata. Jekk qed tuża Dropout u Batch Norma flimkien, iċċekkja dan l-artikolu.

Inżul tal-gradjent stokastiku (SGD) — hemm diversi varjetajiet ta' SGD li jużaw momentum, rati ta' tagħlim adattivi u l-metodu Nesterov. Madankollu, l-ebda wieħed minnhom ma għandu vantaġġ ċar kemm f’termini ta’ effiċjenza tat-tagħlim kif ukoll ta’ ġeneralizzazzjoni (dettalji hawn).

Regolarizzazzjoni - hija kruċjali għall-bini ta' mudell ġeneralizzabbli, peress li żżid penali għall-kumplessità tal-mudell jew valuri ta' parametri estremi. Dan huwa mod kif titnaqqas il-varjanza tal-mudell mingħajr ma żżid b'mod sinifikanti l-preġudizzju tagħha. Aktar informazzjoni dettaljata - hawn.

Biex tevalwa kollox lilek innifsek, trid tiddiżattiva r-regolarizzazzjoni u tiċċekkja l-gradjent tat-telf tad-dejta lilek innifsek.

Tkeċċija huwa metodu ieħor biex tissimplifika n-netwerk tiegħek biex tevita l-konġestjoni. Matul it-taħriġ, it-tluq jitwettaq biss billi tinżamm l-attività tan-newron b'ċerta probabbiltà p (iperparametru) jew issettjaha għal żero fil-każ oppost. Bħala riżultat, in-netwerk għandu juża subsett differenti ta 'parametri għal kull lott ta' taħriġ, li jnaqqas il-bidliet f'ċerti parametri li jsiru dominanti.

Importanti: Jekk tuża kemm in-normalizzazzjoni tat-tluq kif ukoll il-lott, oqgħod attent dwar l-ordni ta 'dawn l-operazzjonijiet jew saħansitra tużahom flimkien. Dan kollu għadu qed jiġi diskuss u supplimentat b'mod attiv. Hawn żewġ diskussjonijiet importanti dwar dan is-suġġett fuq Stackoverflow и arkivju.

Kontroll tax-xogħol

Huwa dwar id-dokumentazzjoni tal-flussi tax-xogħol u l-esperimenti. Jekk ma tiddokumenta xejn, tista' tinsa, pereżempju, liema rata ta' tagħlim jew piżijiet tal-klassi jintużaw. Grazzi għall-kontroll, tista 'faċilment tirrevedi u tirriproduċi esperimenti preċedenti. Dan jippermettilek tnaqqas in-numru ta 'esperimenti duplikati.

Madankollu, id-dokumentazzjoni manwali tista 'ssir biċċa xogħol diffiċli fil-każ ta' volum kbir ta 'xogħol. Dan huwa fejn jidħlu għodod bħal Comet.ml biex jgħinuk awtomatikament tilloggja settijiet tad-dejta, bidliet fil-kodiċi, storja sperimentali, u mudelli ta 'produzzjoni, inkluża informazzjoni ewlenija dwar il-mudell tiegħek (iperparametri, metriċi tal-prestazzjoni tal-mudell, u informazzjoni ambjentali).

Netwerk newrali jista 'jkun sensittiv ħafna għal bidliet żgħar, u dan iwassal għal tnaqqis fil-prestazzjoni tal-mudell. It-traċċar u d-dokumentazzjoni tax-xogħol tiegħek huwa l-ewwel pass li tista’ tieħu biex tistandardizza l-ambjent u l-immudellar tiegħek.

Ħidma ma 'netwerks newrali: lista ta' kontroll għad-debugging

Nittama li din il-kariga tista 'tkun punt tat-tluq għalik biex tibda tiddibaggja n-netwerk newrali tiegħek.

Skillbox jirrakkomanda:

Sors: www.habr.com

Żid kumment