Travay ak rezo neral: lis verifikasyon pou debogaj

Travay ak rezo neral: lis verifikasyon pou debogaj

Kòd pwodwi lojisyèl aprantisaj machin yo souvan konplèks ak byen konfizyon. Detekte ak elimine pinèz nan li se yon travay ki gen anpil resous. Menm pi senp lan rezo neral feedforward mande pou yon apwòch grav nan achitekti rezo, inisyalizasyon nan pwa, ak optimize rezo. Yon ti erè ka mennen nan pwoblèm dezagreyab.

Atik sa a se sou yon algorithm pou debogaj rezo neral ou yo.

Skillbox rekòmande: Kou pratik Pwomotè Python soti nan grafouyen.

Nou raple: pou tout lektè "Habr" - yon rabè nan 10 rubles lè w ap enskri nan nenpòt kou Skillbox lè l sèvi avèk kòd pwomosyon "Habr".

Algorithm la konsiste de senk etap:

  • kòmanse fasil;
  • konfimasyon pèt;
  • tcheke rezilta entèmedyè ak koneksyon;
  • dyagnostik paramèt;
  • kontwòl travay.

Si yon bagay sanble pi enteresan pou ou pase rès la, ou ka imedyatman sote nan seksyon sa yo.

Fasil kòmanse

Yon rezo neral ki gen yon achitekti konplèks, regilarize, ak yon pwogramasyon pousantaj aprantisaj pi difisil pou debogaj pase yon sèl regilye. Nou ap yon ti kras difisil isit la, depi pwen nan tèt li se endirèkteman ki gen rapò ak debogaj, men sa a se toujou yon rekòmandasyon enpòtan.

Yon kòmansman senp se kreye yon modèl senplifye epi fòme li sou yon seri (pwen) done.

Premyèman, nou kreye yon modèl senplifye

Pou kòmanse byen vit, nou kreye yon ti rezo ak yon sèl kouch kache epi tcheke si tout bagay mache kòrèkteman. Lè sa a, nou piti piti konplike modèl la, tcheke chak nouvo aspè nan estrikti li yo (anplis kouch, paramèt, elatriye), epi kontinye.

Nou antrene modèl la sou yon seri sèl (pwen) done

Kòm yon chèk saniti rapid pou pwojè ou a, ou ka itilize youn oubyen de pwen done pou fòmasyon pou konfime si sistèm lan ap travay kòrèkteman. Rezo neral la dwe montre 100% presizyon nan fòmasyon ak tès. Si sa a se pa ka a, Lè sa a, swa modèl la twò piti oswa ou deja gen yon ensèk.

Menm si tout byen, prepare modèl la pou youn oswa plizyè epòk anvan ou kontinye.

Evalyasyon pèt

Estimasyon pèt se fason prensipal la rafine pèfòmans modèl la. Ou bezwen asire ke pèt la apwopriye ak pwoblèm nan epi ke fonksyon pèt yo evalye sou echèl ki kòrèk la. Si w itilize plis pase yon kalite pèt, asire w ke yo tout nan menm lòd ak echèl kòrèkteman.

Li enpòtan yo dwe atantif nan pèt inisyal yo. Tcheke ki jan fèmen rezilta aktyèl la se nan rezilta espere a si modèl la te kòmanse ak yon devine o aza. NAN Travay Andrey Karpathy a sijere sa ki annapre yo:: "Asire w ke ou jwenn rezilta ou espere lè ou kòmanse ak yon ti kantite paramèt. Li se pi bon imedyatman tcheke pèt done a (ak degre nan regilarize mete a zewo). Pou egzanp, pou CIFAR-10 ak yon klasifikasyon Softmax, nou espere pèt inisyal la dwe 2.302 paske pwobabilite difize espere a se 0,1 pou chak klas (depi gen 10 klas) ak pèt Softmax la se pwobabilite negatif ki genyen nan klas ki kòrèk la. kòm − ln (0.1) = 2.302.”

Pou egzanp binè a, yo fè yon kalkil menm jan an tou senpleman pou chak nan klas yo. Men, pa egzanp, done yo: 20% 0 ak 80% 1. Pèt inisyal espere a pral jiska -0,2ln (0,5) -0,8ln (0,5) = 0,693147. Si rezilta a pi gran pase 1, li ka endike ke pwa rezo neral yo pa byen balanse oswa done yo pa nòmalize.

Tcheke rezilta entèmedyè ak koneksyon

Pou debogaj yon rezo neral, li nesesè pou konprann dinamik pwosesis yo nan rezo a ak wòl kouch entèmedyè endividyèl yo pandan y ap konekte. Men erè komen ou ka rankontre:

  • ekspresyon ki pa kòrèk pou mizajou gradle;
  • mizajou pwa yo pa aplike;
  • gradiyan eksploze.

Si valè gradyan yo zewo, sa vle di ke pousantaj aprantisaj la nan optimize a twò dousman, oswa ke w ap rankontre yon ekspresyon kòrèk pou mete ajou gradyan an.

Anplis de sa, li nesesè pou kontwole valè deklanchman fonksyon, pwa ak mizajou chak kouch yo. Pou egzanp, grandè mizajou paramèt (pwa ak prejije) ta dwe 1-e3.

Gen yon fenomèn ki rele "Mouri ReLU" oswa "pwoblèm gradyan disparisyon", lè ReLU newòn yo pral pwodiksyon zewo apre yo fin aprann yon gwo valè negatif patipri pou pwa li yo. Newòn sa yo pa janm revoke ankò nan nenpòt ki pwen nan done yo.

Ou ka itilize gradyan tcheke pou idantifye erè sa yo lè w fè apwoksimasyon gradyan an lè l sèvi avèk yon apwòch nimerik. Si li se tou pre gradyan yo kalkile, Lè sa a, backpropagation te aplike kòrèkteman. Pou kreye yon chèk gradyan, tcheke gwo resous sa yo nan CS231 isit la и isit laepi tou avèk leson Andre Nga sou sijè sa a.

Faizan Sheikh endike twa metòd prensipal pou vizyalize yon rezo neral:

  • Preliminè yo se metòd senp ki montre nou estrikti jeneral modèl ki fòme a. Men sa yo enkli pwodiksyon fòm oswa filtè kouch endividyèl rezo neral la ak paramèt ki nan chak kouch.
  • Aktivasyon baze. Nan yo, nou dechifre aktivasyon yo nan newòn endividyèl oswa gwoup newòn yo konprann fonksyon yo.
  • Ki baze sou gradyan. Metòd sa yo gen tandans manipile gradyan ki fòme apati pasaj pou pi devan ak bak nan fòmasyon modèl (ki gen ladan kat sayans ak kat aktivasyon klas).

Gen plizyè zouti itil pou vizyalize deklanchman ak koneksyon kouch endividyèl yo, pa egzanp. ConX и Tensorboard.

Travay ak rezo neral: lis verifikasyon pou debogaj

Diagnostik paramèt

Rezo neral gen yon anpil nan paramèt ki kominike youn ak lòt, ki konplike optimize. Aktyèlman, seksyon sa a se sijè a nan rechèch aktif pa espesyalis, kidonk sijesyon ki anba yo ta dwe konsidere sèlman kòm konsèy, kòmanse pwen soti nan ki bati.

Gwosè pake (gwosè pakèt) - Si ou vle gwosè pakèt la gwo ase pou jwenn estimasyon gradyan erè egzak, men ti ase pou desandan gradyan stochastic (SGD) regilarize rezo ou a. Gwosè pakèt ti ap mennen nan dirèksyon rapid akòz bri pandan pwosesis fòmasyon an epi imedyatman nan difikilte optimize. Sa a se dekri an plis detay isit la.

Pousantaj aprantisaj - twò ba ap mennen nan dirèksyon dousman oswa risk pou yo bloke nan minimòm lokal yo. An menm tan an, yon pousantaj aprantisaj segondè pral lakòz divergens optimize paske ou riske sote nan pati nan fon men etwat nan fonksyon pèt la. Eseye itilize orè vitès pou diminye li pandan w ap fòme rezo neral la. Ajou ak CS231n gen yon gwo seksyon dedye a pwoblèm sa a.

Koupe gradyan  — taye gradyan paramèt pandan backpropagation nan valè maksimòm oswa nòmal majinal. Itil pou depanaj nenpòt gradyan eksploze ou ka rankontre nan pwen twa.

Nòmalizasyon pakèt - itilize nòmalize done yo opinyon nan chak kouch, ki pèmèt nou rezoud pwoblèm nan nan chanjman entèn covariate. Si w ap itilize Dropout ak Batch Norma ansanm, tcheke atik sa a.

Desandan gradyan stochastic (SGD) — gen plizyè varyete SGD ki itilize momantòm, pousantaj aprantisaj adaptatif ak metòd Nesterov la. Sepandan, okenn nan yo pa gen yon avantaj klè an tèm de efikasite aprantisaj ak jeneralizasyon (detay isit la).

Regilarizasyon - enpòtan anpil pou konstwi yon modèl jeneralize, paske li ajoute yon penalite pou konpleksite modèl oswa valè paramèt ekstrèm. Sa a se yon fason pou diminye divèjans modèl san yo pa ogmante siyifikativman patipri li yo. Plis enfòmasyon detaye - isit la.

Pou evalye tout bagay tèt ou, ou bezwen enfim regilarize epi tcheke gradyan pèt done tèt ou.

Depoze se yon lòt metòd pou rasyonalize rezo ou pou anpeche konjesyon. Pandan fòmasyon, abandone se sèlman pa kenbe aktivite a nan newòn nan ak yon sèten pwobabilite p (ipèparamèt) oswa mete li nan zewo nan ka opoze a. Kòm yon rezilta, rezo a dwe itilize yon sous-ensemble diferan nan paramèt pou chak pakèt fòmasyon, ki diminye chanjman nan sèten paramèt ki vin dominan.

Enpòtan: Si w itilize tou de nòmalizasyon pakèt ak abandon, fè atansyon sou lòd operasyon sa yo oswa menm sèvi ak yo ansanm. Tout bagay sa yo toujou ap aktivman diskite ak konplete. Men de diskisyon enpòtan sou sijè sa a sou Stackoverflow и achiv.

Kontwòl travay

Li sou dokimante workflows ak eksperyans. Si ou pa dokimante anyen, ou ka bliye, pou egzanp, ki pousantaj aprantisaj oswa pwa klas yo itilize. Mèsi a kontwòl, ou ka fasilman wè ak repwodui eksperyans anvan yo. Sa pèmèt ou redwi kantite eksperyans kopi.

Sepandan, dokimantasyon manyèl ka vin yon travay difisil nan ka a nan yon gwo volim nan travay. Sa a se kote zouti tankou Comet.ml antre pou ede ou otomatikman konekte done, chanjman kòd, istwa eksperimantal, ak modèl pwodiksyon, ki gen ladan enfòmasyon kle sou modèl ou a (ipèparamèt, mezi pèfòmans modèl, ak enfòmasyon anviwònman).

Yon rezo neral ka trè sansib a ti chanjman, e sa ap mennen nan yon gout nan pèfòmans modèl. Swiv ak dokimante travay ou se premye etap ou ka pran pou estandadize anviwònman ou ak modèl.

Travay ak rezo neral: lis verifikasyon pou debogaj

Mwen espere pòs sa a kapab yon pwen depa pou ou kòmanse debogaj rezo neral ou.

Skillbox rekòmande:

Sous: www.habr.com

Add nouvo kòmantè