ከነርቭ ኔትወርኮች ጋር መስራት፡ ለማረም ዝርዝር

ከነርቭ ኔትወርኮች ጋር መስራት፡ ለማረም ዝርዝር

የማሽን መማሪያ ሶፍትዌር ምርቶች ኮድ ብዙ ጊዜ ውስብስብ እና ግራ የሚያጋባ ነው። በውስጡ ያሉ ስህተቶችን ማግኘት እና ማስወገድ ሀብትን የሚጨምር ተግባር ነው። በጣም ቀላሉ እንኳን አስተባባሪ የነርቭ አውታረ መረቦች ለአውታረ መረብ አርክቴክቸር፣ የክብደት አጀማመር እና የአውታረ መረብ ማመቻቸት ከባድ አቀራረብን ይጠይቃል። ትንሽ ስህተት ወደ ደስ የማይል ችግሮች ሊያመራ ይችላል.

ይህ ጽሑፍ የነርቭ አውታረ መረቦችዎን ለማረም ስለ አልጎሪዝም ነው።

Skillbox ይመክራል፡ ተግባራዊ ኮርስ የ Python ገንቢ ከባዶ.

እኛ እናስታውስዎታለን- ለሁሉም የ "ሀብር" አንባቢዎች - የ "Habr" የማስተዋወቂያ ኮድን በመጠቀም በማንኛውም የ Skillbox ኮርስ ውስጥ ሲመዘገቡ የ 10 ሩብልስ ቅናሽ.

አልጎሪዝም አምስት ደረጃዎችን ያቀፈ ነው-

  • ቀላል ጅምር;
  • የኪሳራ ማረጋገጫ;
  • መካከለኛ ውጤቶችን እና ግንኙነቶችን መፈተሽ;
  • የፓራሜትር ምርመራዎች;
  • ሥራን መቆጣጠር.

አንድ ነገር ከሌሎቹ የበለጠ ለእርስዎ አስደሳች መስሎ ከታየ ወዲያውኑ ወደ እነዚህ ክፍሎች መዝለል ይችላሉ።

ቀላል ጅምር

ውስብስብ አርክቴክቸር፣ መደበኛ አሰራር እና የትምህርት ደረጃ መርሐግብር ያለው የነርቭ አውታረ መረብ ከመደበኛው ለማረም በጣም ከባድ ነው። ነጥቡ ራሱ በተዘዋዋሪ ከማረም ጋር የተያያዘ ስለሆነ እዚህ ትንሽ ተንኮለኛ እየሆንን ነው፣ ነገር ግን ይህ አሁንም ጠቃሚ ምክር ነው።

ቀላል ጅምር ቀለል ያለ ሞዴል ​​መፍጠር እና በአንድ የውሂብ ስብስብ (ነጥብ) ላይ ማሰልጠን ነው።

በመጀመሪያ ቀለል ያለ ሞዴል ​​እንፈጥራለን

በፍጥነት ለመጀመር አንድ የተደበቀ ንብርብር ያለው ትንሽ አውታረ መረብ እንፈጥራለን እና ሁሉም ነገር በትክክል መስራቱን ያረጋግጡ። ከዚያም ሞዴሉን ቀስ በቀስ ውስብስብ እናደርጋለን, እያንዳንዱን አዲስ የአወቃቀሩን ገጽታ (ተጨማሪ ንብርብር, መለኪያ, ወዘተ) እንፈትሻለን እና እንቀጥላለን.

ሞዴሉን በአንድ የውሂብ ስብስብ (ነጥብ) ላይ እናሠለጥናለን

ለፕሮጀክትዎ ፈጣን የንፅህና ማረጋገጫ እንደመሆንዎ መጠን ስርዓቱ በትክክል እየሰራ መሆኑን ለማረጋገጥ አንድ ወይም ሁለት የመረጃ ነጥቦችን ለስልጠና መጠቀም ይችላሉ። የነርቭ አውታር በስልጠና እና በሙከራ ውስጥ 100% ትክክለኛነት ማሳየት አለበት. ጉዳዩ ይህ ካልሆነ, ሞዴሉ በጣም ትንሽ ነው ወይም ቀድሞውኑ ስህተት አለብዎት.

ምንም እንኳን ሁሉም ነገር ደህና ቢሆንም, ከመቀጠልዎ በፊት ሞዴሉን ለአንድ ወይም ከዚያ በላይ ጊዜያት ያዘጋጁ.

የጠፋ ግምገማ

የኪሳራ ግምት የአምሳያው አፈጻጸምን ለማጣራት ዋናው መንገድ ነው. ጥፋቱ ለችግሩ ተስማሚ መሆኑን እና የኪሳራ ተግባራቶቹን በትክክለኛው መጠን መመዘኑን ማረጋገጥ አለብዎት. ከአንድ በላይ የኪሳራ አይነት ከተጠቀሙ፣ ሁሉም ተመሳሳይ ቅደም ተከተል ያላቸው እና በትክክል የተስተካከሉ መሆናቸውን ያረጋግጡ።

ለመጀመሪያዎቹ ኪሳራዎች ትኩረት መስጠት አስፈላጊ ነው. አምሳያው በዘፈቀደ ግምት ከጀመረ ትክክለኛው ውጤት ወደሚጠበቀው ውጤት ምን ያህል ቅርብ እንደሆነ ያረጋግጡ። ውስጥ የአንድሬ ካርፓቲ ሥራ የሚከተሉትን ይጠቁማል-: "በትንሽ መለኪያዎች ሲጀምሩ የሚጠብቁትን ውጤት ማግኘትዎን ያረጋግጡ. የውሂብ መጥፋትን ወዲያውኑ መፈተሽ የተሻለ ነው (በመደበኛነት ደረጃ ወደ ዜሮ ከተቀመጠው ጋር)። ለምሳሌ, ለ CIFAR-10 ከሶፍትማክስ ክላሲፋየር ጋር, የመጀመሪያው ኪሳራ 2.302 ይሆናል ብለን እንጠብቃለን ምክንያቱም የሚጠበቀው የስርጭት እድል 0,1 ለእያንዳንዱ ክፍል (10 ክፍሎች ስላሉት) እና የሶፍትማክስ መጥፋት ለትክክለኛው ክፍል አሉታዊ የምዝግብ ማስታወሻ ዕድል ነው. እንደ - ln (0.1) = 2.302።

ለሁለትዮሽ ምሳሌ, ተመሳሳይ ስሌት በቀላሉ ለእያንዳንዱ ክፍል የተሰራ ነው. እዚህ ፣ ለምሳሌ ፣ ውሂቡ፡ 20% 0 እና 80% 1s። የሚጠበቀው የመጀመሪያ ኪሳራ እስከ -0,2ln (0,5) -0,8ln (0,5) = 0,693147 ይሆናል. ውጤቱ ከ 1 በላይ ከሆነ, የነርቭ አውታረመረብ ክብደቶች በትክክል አለመመጣጠን ወይም መረጃው መደበኛ አለመሆኑን ሊያመለክት ይችላል.

መካከለኛ ውጤቶችን እና ግንኙነቶችን በመፈተሽ ላይ

የነርቭ አውታረ መረብን ለማረም በኔትወርኩ ውስጥ ያሉትን ሂደቶች ተለዋዋጭነት እና በተገናኙበት ጊዜ የነጠላ መካከለኛ ንብርብሮችን ሚና መረዳት ያስፈልጋል። ሊያጋጥሙህ የሚችሉ የተለመዱ ስህተቶች እነኚሁና፡

  • ለግሬድ ዝመናዎች የተሳሳቱ አባባሎች;
  • የክብደት ዝመናዎች አይተገበሩም;
  • የሚፈነዳ ቀስቶች.

የግራዲየንት እሴቶቹ ዜሮ ከሆኑ፣ ይህ ማለት በአመቻች ውስጥ ያለው የመማሪያ ፍጥነት በጣም ቀርፋፋ ነው ወይም ቅልመትን ለማዘመን የተሳሳተ አገላለጽ እያጋጠመዎት ነው።

በተጨማሪም የእያንዳንዱን ንብርብር የማግበር ተግባራት ፣ ክብደቶች እና ዝመናዎች እሴቶችን መከታተል አስፈላጊ ነው። ለምሳሌ፣ የመለኪያ ዝማኔዎች መጠን (ክብደቶች እና አድሎአዊነት) 1-e3 መሆን አለበት.

"Dying ReLU" ወይም የሚባል ክስተት አለ። "የጠፋ ቀስ በቀስ ችግር"ለክብደቱ ትልቅ አሉታዊ አድሎአዊ እሴት ከተማሩ በኋላ ReLU የነርቭ ሴሎች ዜሮን ሲወጡ። እነዚህ የነርቭ ሴሎች በመረጃው ውስጥ በማንኛውም ጊዜ እንደገና አይተኮሱም.

የቁጥራዊ አቀራረብን በመጠቀም ቅልመትን በመጠጋት እነዚህን ስህተቶች ለመለየት ቀስ በቀስ ማረጋገጥን መጠቀም ይችላሉ። ከተሰሉት ቅልጥፍናዎች ጋር የሚቀራረብ ከሆነ፣ የኋለኛው ፕሮፓጋንዳ በትክክል ተተግብሯል። የግራዲየንት ፍተሻ ለመፍጠር፣ እነዚህን ምርጥ ግብዓቶች ከCS231 ይመልከቱ እዚህ и እዚህእና እንዲሁም ጋር ትምህርት በዚህ ርዕስ ላይ Andrew Nga.

ፈይዛን ሼክ የነርቭ አውታረ መረብን ለመመልከት ሶስት ዋና ዘዴዎችን ያሳያል-

  • ቅድመ-ዝግጅት የሰለጠነ ሞዴል አጠቃላይ መዋቅርን የሚያሳዩ ቀላል ዘዴዎች ናቸው. እነዚህም የነጠላው የነርቭ አውታረ መረብ ንጣፎች ቅርጾች ወይም ማጣሪያዎች እና በእያንዳንዱ ንብርብር ውስጥ ያሉ መለኪያዎችን ያካትታሉ።
  • በማግበር ላይ የተመሰረተ። በእነሱ ውስጥ, የነጠላ የነርቭ ሴሎችን ወይም የነርቭ ሴሎችን ተግባራቸውን ለመረዳት የእንቅስቃሴዎችን እንፈታለን.
  • በደረጃዎች ላይ የተመሠረተ። እነዚህ ዘዴዎች ከሞዴል ስልጠና ወደ ፊት እና ወደ ኋላ ማለፊያዎች (የጨዋማ ካርታዎችን እና የክፍል ማግበር ካርታዎችን ጨምሮ) የሚፈጠሩ ቅልመትን የመቆጣጠር አዝማሚያ አላቸው።

የነጠላ ንብርብሮችን ማግበር እና ግንኙነቶችን ለማየት በርካታ ጠቃሚ መሳሪያዎች አሉ, ለምሳሌ. ConX и Tensorboard.

ከነርቭ ኔትወርኮች ጋር መስራት፡ ለማረም ዝርዝር

የመለኪያ ምርመራዎች

የነርቭ አውታረ መረቦች እርስ በርስ የሚገናኙ ብዙ መለኪያዎች አሏቸው, ይህም ማመቻቸትን ያወሳስበዋል. እንደ እውነቱ ከሆነ, ይህ ክፍል በልዩ ባለሙያዎች ንቁ ምርምር ርዕሰ ጉዳይ ነው, ስለዚህ ከዚህ በታች ያሉት ምክሮች እንደ ምክር ብቻ ሊወሰዱ ይገባል, መገንባት የሚጀምሩባቸው ነጥቦች.

የጥቅል መጠን (የባች መጠን) - ትክክለኛ የስህተት ቀስ በቀስ ግምቶችን ለማግኘት የቡድን መጠኑ ትልቅ እንዲሆን ከፈለጉ፣ ነገር ግን አውታረ መረብዎን መደበኛ ለማድረግ ለstochastic gradient descent (SGD) ትንሽ። አነስተኛ መጠን ያላቸው መጠኖች በስልጠናው ሂደት ውስጥ ባለው ጫጫታ እና ከዚያም ወደ ማመቻቸት ችግሮች ምክንያት ወደ ፈጣን ውህደት ይመራሉ ። ይህ በበለጠ ዝርዝር ውስጥ ተገልጿል እዚህ.

የመማሪያ መጠን - በጣም ዝቅተኛ ወደ ዝግተኛ ውህደት ወይም በአካባቢያዊ ዝቅተኛነት ውስጥ የመጣበቅ አደጋን ያስከትላል። በተመሳሳይ ጊዜ ከፍተኛ የመማሪያ ፍጥነት የማመቻቸት ልዩነትን ያስከትላል ምክንያቱም ጥልቅ ግን ጠባብ በሆነው የኪሳራ ተግባር ውስጥ መዝለልን አደጋ ላይ ይጥላሉ። የነርቭ ኔትወርክን በሚያሠለጥኑበት ጊዜ ለመቀነስ የፍጥነት መርሃ ግብርን ለመጠቀም ይሞክሩ። በCS231n የተዘመነ ለዚህ ችግር የተዘጋጀ ትልቅ ክፍል አለ.

ቀስ በቀስ መቁረጥ  - በከፍተኛው እሴት ወይም የኅዳግ መደበኛ መጠን በጀርባ ስርጭት ጊዜ መለኪያዎችን መከርከም። በነጥብ ሶስት ውስጥ ሊያጋጥሙህ የሚችሉትን ማንኛውንም የሚፈነዳ ቀስ በቀስ ለመፈለግ ይጠቅማል።

የቡድን መደበኛነት - የእያንዳንዱ ንብርብር የግቤት ውሂብን መደበኛ ለማድረግ ይጠቅማል ፣ ይህም የውስጣዊ ኮቫሪያን ለውጥን ችግር ለመፍታት ያስችለናል ። Dropout እና Batch Norma አብረው እየተጠቀሙ ከሆነ፣ ይህንን መጣጥፍ ይመልከቱ.

ስቶካስቲክ ቅልመት ውረድ (SGD) - ሞመንተም ፣አስማሚ የመማሪያ ተመኖች እና የኔስተሮቭ ዘዴን የሚጠቀሙ በርካታ የኤስጂዲ ዓይነቶች አሉ። ነገር ግን፣ አንዳቸውም ቢሆኑ የመማር ቅልጥፍናን እና አጠቃላይነትን በተመለከተ ግልጽ የሆነ ጥቅም የላቸውም (ዝርዝሮች እዚህ).

መደበኛ ማድረግ - ለአጠቃላይ ሞዴል ግንባታ ወሳኝ ነው፣ ምክንያቱም ለሞዴል ውስብስብነት ወይም ለከፍተኛ የመለኪያ እሴቶች ቅጣት ስለሚጨምር። ይህ አድሏዊነትን በከፍተኛ ሁኔታ ሳይጨምር የሞዴል ልዩነትን የሚቀንስበት መንገድ ነው። ተጨማሪ ዝርዝር መረጃ - እዚህ.

ሁሉንም ነገር እራስዎ ለመገምገም መደበኛነትን ማሰናከል እና የውሂብ መጥፋት ቅልጥፍናን እራስዎ ማረጋገጥ ያስፈልግዎታል።

በመጣል ላይ መጨናነቅን ለመከላከል አውታረ መረብዎን ለማቀላጠፍ ሌላኛው ዘዴ ነው። በስልጠና ወቅት ማቋረጥ የሚከናወነው በተወሰነ ፕሮባቢሊቲ ፒ (hyperparameter) ወይም በተቃራኒ ሁኔታ ውስጥ ወደ ዜሮ በማቀናጀት የነርቭ ሴሎችን እንቅስቃሴ በመጠበቅ ብቻ ነው. በውጤቱም, አውታረ መረቡ ለእያንዳንዱ የሥልጠና ባች የተለያዩ መለኪያዎችን መጠቀም አለበት, ይህም በተወሰኑ መለኪያዎች ላይ የበላይ የሆኑትን ለውጦች ይቀንሳል.

ጠቃሚ፡ ሁለቱንም ማቋረጥ እና ባች ኖርማልላይዜሽን ከተጠቀምክ ስለእነዚህ ክንውኖች ቅደም ተከተል ተጠንቀቅ አልፎ ተርፎም አንድ ላይ ተጠቀም። ይህ ሁሉ አሁንም በንቃት እየተወያየ እና እየተጨመረ ነው። በዚህ ርዕስ ላይ ሁለት አስፈላጊ ውይይቶች እዚህ አሉ በ Stackoverflow ላይ и አርክስቭ.

ሥራን መቆጣጠር

የስራ ሂደቶችን እና ሙከራዎችን ስለመመዝገብ ነው። ምንም ነገር ካልመዘገብክ፣ ለምሳሌ ምን ዓይነት የመማሪያ መጠን ወይም የክፍል ክብደት ጥቅም ላይ እንደሚውል ልትረሳ ትችላለህ። ለቁጥጥር ምስጋና ይግባውና የቀድሞ ሙከራዎችን በቀላሉ ማየት እና ማባዛት ይችላሉ። ይህ የተባዙ ሙከራዎችን ቁጥር እንዲቀንሱ ያስችልዎታል.

ነገር ግን በእጅ የሚሰራ ሰነድ ትልቅ መጠን ያለው ስራ ሲሰራ ከባድ ስራ ሊሆን ይችላል። እንደ Comet.ml ያሉ መሳሪያዎች የውሂብ ስብስቦችን፣ የኮድ ለውጦችን፣ የሙከራ ታሪክን እና የአመራረት ሞዴሎችን በራስ-ሰር እንዲያስገቡ የሚያግዙዎት ሲሆን ይህም ስለ ሞዴልዎ ቁልፍ መረጃ (hyperparameters፣ የሞዴል አፈጻጸም መለኪያዎች እና የአካባቢ መረጃ) ጨምሮ ነው።

የነርቭ ኔትወርክ ለአነስተኛ ለውጦች በጣም ስሜታዊ ሊሆን ይችላል, እና ይህ ወደ ሞዴል አፈፃፀም ይቀንሳል. ስራዎን መከታተል እና መመዝገብ አካባቢዎን እና ሞዴሊንግዎን ደረጃውን የጠበቀ ለማድረግ ሊወስዱት የሚችሉት የመጀመሪያው እርምጃ ነው።

ከነርቭ ኔትወርኮች ጋር መስራት፡ ለማረም ዝርዝር

ይህ ልጥፍ የነርቭ አውታረ መረብዎን ማረም ለመጀመር መነሻ ሊሆንዎት እንደሚችል ተስፋ አደርጋለሁ።

Skillbox ይመክራል፡

ምንጭ: hab.com

አስተያየት ያክሉ