நரம்பியல் நெட்வொர்க்குகளுடன் பணிபுரிதல்: பிழைத்திருத்தத்திற்கான சரிபார்ப்பு பட்டியல்

நரம்பியல் நெட்வொர்க்குகளுடன் பணிபுரிதல்: பிழைத்திருத்தத்திற்கான சரிபார்ப்பு பட்டியல்

இயந்திர கற்றல் மென்பொருள் தயாரிப்புகளின் குறியீடு பெரும்பாலும் சிக்கலானது மற்றும் மிகவும் குழப்பமானது. அதில் உள்ள பிழைகளைக் கண்டறிந்து நீக்குவது வளம் மிகுந்த பணியாகும். எளிமையானதும் கூட ஃபீட்ஃபார்வர்டு நரம்பியல் நெட்வொர்க்குகள் நெட்வொர்க் கட்டமைப்பு, எடைகளின் துவக்கம் மற்றும் பிணைய மேம்படுத்தல் ஆகியவற்றில் தீவிர அணுகுமுறை தேவை. ஒரு சிறிய தவறு விரும்பத்தகாத சிக்கல்களுக்கு வழிவகுக்கும்.

இந்த கட்டுரை உங்கள் நரம்பியல் நெட்வொர்க்குகளை பிழைத்திருத்துவதற்கான அல்காரிதம் பற்றியது.

Skillbox பரிந்துரைக்கிறது: நடைமுறை படிப்பு புதிதாக பைதான் டெவலப்பர்.

நாங்கள் நினைவூட்டுகிறோம்: "Habr" இன் அனைத்து வாசகர்களுக்கும் - "Habr" விளம்பரக் குறியீட்டைப் பயன்படுத்தி எந்த Skillbox படிப்பிலும் சேரும்போது 10 ரூபிள் தள்ளுபடி.

அல்காரிதம் ஐந்து நிலைகளைக் கொண்டுள்ளது:

  • எளிதான தொடக்கம்;
  • இழப்புகளை உறுதிப்படுத்துதல்;
  • இடைநிலை முடிவுகள் மற்றும் இணைப்புகளை சரிபார்த்தல்;
  • அளவுரு கண்டறிதல்;
  • வேலை கட்டுப்பாடு.

மற்றவற்றை விட உங்களுக்கு ஏதேனும் சுவாரசியமாகத் தோன்றினால், உடனடியாக இந்தப் பிரிவுகளுக்குச் செல்லலாம்.

எளிதான தொடக்கம்

ஒரு சிக்கலான கட்டமைப்பு, ஒழுங்குபடுத்துதல் மற்றும் கற்றல் வீத திட்டமிடல் ஆகியவற்றைக் கொண்ட ஒரு நரம்பியல் நெட்வொர்க் வழக்கமான ஒன்றை விட பிழைத்திருத்தம் செய்வது மிகவும் கடினம். நாங்கள் இங்கே கொஞ்சம் தந்திரமாக இருக்கிறோம், ஏனெனில் புள்ளியானது பிழைத்திருத்தத்துடன் மறைமுகமாக தொடர்புடையது, ஆனால் இது இன்னும் ஒரு முக்கியமான பரிந்துரை.

ஒரு எளிய தொடக்கமானது, ஒரு எளிமையான மாதிரியை உருவாக்கி, தரவுகளின் ஒரு தொகுப்பில் (புள்ளி) பயிற்சியளிப்பதாகும்.

முதலில் நாம் ஒரு எளிமையான மாதிரியை உருவாக்குகிறோம்

விரைவாகத் தொடங்க, நாங்கள் ஒரு சிறிய பிணையத்தை ஒரு மறைக்கப்பட்ட அடுக்குடன் உருவாக்கி, எல்லாம் சரியாகச் செயல்படுகிறதா என்று சரிபார்க்கிறோம். பின்னர் நாம் படிப்படியாக மாதிரியை சிக்கலாக்குகிறோம், அதன் கட்டமைப்பின் ஒவ்வொரு புதிய அம்சத்தையும் (கூடுதல் அடுக்கு, அளவுரு, முதலியன) சரிபார்த்து, தொடரவும்.

நாங்கள் மாதிரியை ஒரு ஒற்றை செட் (புள்ளி) தரவுகளில் பயிற்சி செய்கிறோம்

உங்கள் திட்டத்திற்கான விரைவான நல்லறிவு சோதனையாக, சிஸ்டம் சரியாக வேலை செய்கிறதா என்பதை உறுதிப்படுத்த, பயிற்சிக்காக ஒன்று அல்லது இரண்டு டேட்டா பாயிண்ட்களைப் பயன்படுத்தலாம். நரம்பியல் நெட்வொர்க் பயிற்சி மற்றும் சோதனையில் 100% துல்லியத்தைக் காட்ட வேண்டும். இது அவ்வாறு இல்லையென்றால், மாதிரி மிகவும் சிறியதாக உள்ளது அல்லது உங்களிடம் ஏற்கனவே பிழை உள்ளது.

எல்லாம் நன்றாக இருந்தாலும், நகர்வதற்கு முன் ஒன்று அல்லது அதற்கு மேற்பட்ட சகாப்தங்களுக்கு மாதிரியை தயார் செய்யவும்.

இழப்பு மதிப்பீடு

மாடலின் செயல்திறனைச் செம்மைப்படுத்த இழப்பு மதிப்பீடு முக்கிய வழி. இழப்பானது சிக்கலுக்குப் பொருத்தமானது என்பதையும், இழப்புச் செயல்பாடுகள் சரியான அளவில் மதிப்பிடப்படுவதையும் உறுதி செய்ய வேண்டும். நீங்கள் ஒன்றுக்கு மேற்பட்ட இழப்பு வகைகளைப் பயன்படுத்தினால், அவை அனைத்தும் ஒரே வரிசை மற்றும் சரியாக அளவிடப்பட்டவை என்பதை உறுதிப்படுத்தவும்.

ஆரம்ப இழப்புகளில் கவனம் செலுத்துவது முக்கியம். மாதிரியானது சீரற்ற யூகத்துடன் தொடங்கப்பட்டால், உண்மையான முடிவு எதிர்பார்த்த முடிவுக்கு எவ்வளவு நெருக்கமாக உள்ளது என்பதைச் சரிபார்க்கவும். IN ஆண்ட்ரி கர்பதியின் படைப்புகள் பின்வருவனவற்றைக் கூறுகின்றன:: “சிறிய எண்ணிக்கையிலான அளவுருக்களுடன் தொடங்கும் போது நீங்கள் எதிர்பார்க்கும் முடிவைப் பெறுவதை உறுதிப்படுத்திக் கொள்ளுங்கள். தரவு இழப்பை உடனடியாகச் சரிபார்ப்பது நல்லது (முறைப்படுத்தலின் அளவு பூஜ்ஜியமாக அமைக்கப்பட்டுள்ளது). எடுத்துக்காட்டாக, Softmax வகைப்படுத்தி கொண்ட CIFAR-10 க்கு, ஆரம்ப இழப்பு 2.302 ஆக இருக்கும் என எதிர்பார்க்கிறோம், ஏனெனில் ஒவ்வொரு வகுப்பிற்கும் 0,1 பரவல் நிகழ்தகவு (10 வகுப்புகள் இருப்பதால்) மற்றும் Softmax இழப்பு என்பது சரியான வகுப்பின் எதிர்மறை பதிவு சாத்தியமாகும். − ln (0.1) = 2.302.”

பைனரி உதாரணத்திற்கு, ஒவ்வொரு வகுப்பிற்கும் ஒரே மாதிரியான கணக்கீடு செய்யப்படுகிறது. இங்கே, எடுத்துக்காட்டாக, தரவு: 20% 0 மற்றும் 80% 1. எதிர்பார்க்கப்படும் ஆரம்ப இழப்பு –0,2ln (0,5) –0,8ln (0,5) = 0,693147 வரை இருக்கும். முடிவு 1 ஐ விட அதிகமாக இருந்தால், நரம்பியல் நெட்வொர்க் எடைகள் சரியாக சமநிலையில் இல்லை அல்லது தரவு இயல்பாக்கப்படவில்லை என்பதைக் குறிக்கலாம்.

இடைநிலை முடிவுகள் மற்றும் இணைப்புகளைச் சரிபார்க்கிறது

ஒரு நரம்பியல் வலையமைப்பை பிழைத்திருத்த, நெட்வொர்க்கில் உள்ள செயல்முறைகளின் இயக்கவியல் மற்றும் அவை இணைக்கப்பட்டுள்ள தனிப்பட்ட இடைநிலை அடுக்குகளின் பங்கைப் புரிந்துகொள்வது அவசியம். நீங்கள் சந்திக்கக்கூடிய பொதுவான பிழைகள் இங்கே:

  • கிரேடில் புதுப்பிப்புகளுக்கான தவறான வெளிப்பாடுகள்;
  • எடை மேம்படுத்தல்கள் பயன்படுத்தப்படவில்லை;
  • வெடிக்கும் சாய்வு.

சாய்வு மதிப்புகள் பூஜ்ஜியமாக இருந்தால், ஆப்டிமைசரில் கற்றல் விகிதம் மிகவும் மெதுவாக உள்ளது அல்லது சாய்வை புதுப்பிப்பதற்கான தவறான வெளிப்பாட்டை நீங்கள் எதிர்கொள்கிறீர்கள் என்று அர்த்தம்.

கூடுதலாக, ஒவ்வொரு அடுக்குகளின் செயல்படுத்தும் செயல்பாடுகள், எடைகள் மற்றும் புதுப்பிப்புகளின் மதிப்புகளை கண்காணிக்க வேண்டியது அவசியம். எடுத்துக்காட்டாக, அளவுரு புதுப்பிப்புகளின் அளவு (எடைகள் மற்றும் சார்புகள்) 1-e3 ஆக இருக்க வேண்டும்.

"Dying ReLU" அல்லது என்று ஒரு நிகழ்வு உள்ளது "மறைந்து போகும் சாய்வு பிரச்சனை", ReLU நியூரான்கள் அதன் எடைகளுக்கு ஒரு பெரிய எதிர்மறை சார்பு மதிப்பைக் கற்றுக்கொண்ட பிறகு பூஜ்ஜியத்தை வெளியிடும் போது. இந்த நியூரான்கள் தரவுகளில் எந்த இடத்திலும் மீண்டும் சுடப்படுவதில்லை.

எண் அணுகுமுறையைப் பயன்படுத்தி சாய்வை தோராயமாக்குவதன் மூலம் இந்த பிழைகளை அடையாளம் காண சாய்வு சரிபார்ப்பைப் பயன்படுத்தலாம். இது கணக்கிடப்பட்ட சாய்வுகளுக்கு அருகில் இருந்தால், பின் பரப்புதல் சரியாக செயல்படுத்தப்பட்டது. சாய்வு சரிபார்ப்பை உருவாக்க, CS231 இலிருந்து இந்த சிறந்த ஆதாரங்களைப் பார்க்கவும் இங்கே и இங்கே, அத்துடன் உடன் பாடம் இந்த தலைப்பில் ஆண்ட்ரூ என்கா.

பைசான் ஷேக் நரம்பியல் வலையமைப்பைக் காட்சிப்படுத்துவதற்கான மூன்று முக்கிய முறைகளைக் குறிக்கிறது:

  • பயிற்சியளிக்கப்பட்ட மாதிரியின் பொதுவான கட்டமைப்பை நமக்குக் காட்டும் எளிய முறைகள் முன்னோடிகளாகும். நரம்பியல் நெட்வொர்க்கின் தனிப்பட்ட அடுக்குகளின் வடிவங்கள் அல்லது வடிப்பான்களின் வெளியீடு மற்றும் ஒவ்வொரு அடுக்கில் உள்ள அளவுருக்கள் ஆகியவை இதில் அடங்கும்.
  • செயல்படுத்துதல் அடிப்படையிலானது. அவற்றில், அவற்றின் செயல்பாடுகளைப் புரிந்துகொள்ள தனிப்பட்ட நியூரான்கள் அல்லது நியூரான்களின் குழுக்களின் செயல்பாடுகளை நாங்கள் புரிந்துகொள்கிறோம்.
  • சாய்வுகளின் அடிப்படையில். இந்த முறைகள் மாதிரி பயிற்சியின் முன்னோக்கி மற்றும் பின்தங்கிய வழிகளில் இருந்து உருவாகும் சாய்வுகளை கையாள முனைகின்றன (உணர்வு வரைபடங்கள் மற்றும் வகுப்பு செயல்படுத்தும் வரைபடங்கள் உட்பட).

தனிப்பட்ட அடுக்குகளின் செயல்பாடுகள் மற்றும் இணைப்புகளை காட்சிப்படுத்த பல பயனுள்ள கருவிகள் உள்ளன, எ.கா. கான்எக்ஸ் и டென்சர்போர்டு.

நரம்பியல் நெட்வொர்க்குகளுடன் பணிபுரிதல்: பிழைத்திருத்தத்திற்கான சரிபார்ப்பு பட்டியல்

அளவுரு கண்டறிதல்

நரம்பியல் நெட்வொர்க்குகள் ஒருவருக்கொருவர் தொடர்பு கொள்ளும் அளவுருக்கள் நிறைய உள்ளன, இது தேர்வுமுறையை சிக்கலாக்குகிறது. உண்மையில், இந்த பிரிவு நிபுணர்களின் செயலில் உள்ள ஆராய்ச்சிக்கு உட்பட்டது, எனவே கீழே உள்ள பரிந்துரைகள் ஆலோசனையாக மட்டுமே கருதப்பட வேண்டும், அதில் இருந்து உருவாக்குவதற்கான தொடக்க புள்ளிகள்.

தொகுப்பு அளவு (தொகுப்பு அளவு) - துல்லியமான பிழை சாய்வு மதிப்பீடுகளைப் பெறுவதற்குத் தொகுதி அளவு பெரியதாக இருக்க வேண்டும், ஆனால் உங்கள் நெட்வொர்க்கை முறைப்படுத்த ஸ்டோகாஸ்டிக் கிரேடியண்ட் டிசென்ட் (SGD) அளவுக்கு சிறியதாக இருக்க வேண்டும். சிறிய தொகுதி அளவுகள், பயிற்சியின் போது ஏற்படும் இரைச்சல் காரணமாக விரைவாக ஒன்றிணைவதற்கும், அதன்பின் தேர்வுமுறை சிக்கல்களுக்கும் வழிவகுக்கும். இது இன்னும் விரிவாக விவரிக்கப்பட்டுள்ளது இங்கே.

கற்றல் விகிதம் - மிகக் குறைவாக இருப்பது மெதுவாக ஒன்றிணைவதற்கு அல்லது உள்ளூர் மினிமாவில் சிக்கிக்கொள்ளும் அபாயத்திற்கு வழிவகுக்கும். அதே நேரத்தில், உயர் கற்றல் விகிதம் தேர்வுமுறை வேறுபாட்டை ஏற்படுத்தும், ஏனெனில் நீங்கள் இழப்பு செயல்பாட்டின் ஆழமான ஆனால் குறுகிய பகுதியின் வழியாக குதிக்கும் அபாயம் உள்ளது. நரம்பியல் நெட்வொர்க்கைப் பயிற்றுவிக்கும் போது அதைக் குறைக்க வேக திட்டமிடலைப் பயன்படுத்த முயற்சிக்கவும். CS231n உடன் புதுப்பித்த நிலையில் உள்ளது இந்த பிரச்சனைக்கு ஒரு பெரிய பிரிவு உள்ளது.

கிரேடியன்ட் கிளிப்பிங்  — அதிகபட்ச மதிப்பு அல்லது விளிம்பு நெறியில் பேக் ப்ரோபாகேஷனின் போது அளவுரு சாய்வுகளை ஒழுங்கமைத்தல். புள்ளி மூன்றில் நீங்கள் சந்திக்கும் வெடிக்கும் சாய்வுகளை சரிசெய்வதற்கு பயனுள்ளதாக இருக்கும்.

தொகுதி இயல்பாக்கம் - ஒவ்வொரு அடுக்கின் உள்ளீட்டுத் தரவையும் இயல்பாக்கப் பயன்படுகிறது, இது உள் கோவாரியட் மாற்றத்தின் சிக்கலைத் தீர்க்க அனுமதிக்கிறது. நீங்கள் டிராப்அவுட் மற்றும் பேட்ச் நார்மாவை ஒன்றாகப் பயன்படுத்துகிறீர்கள் என்றால், இந்த கட்டுரையைப் பாருங்கள்.

சீரான சாய்வு வம்சாவளி (SGD) - வேகம், தழுவல் கற்றல் விகிதங்கள் மற்றும் நெஸ்டெரோவ் முறையைப் பயன்படுத்தும் SGDயின் பல வகைகள் உள்ளன. இருப்பினும், கற்றல் திறன் மற்றும் பொதுமைப்படுத்தல் ஆகிய இரண்டின் அடிப்படையில் அவை எவருக்கும் தெளிவான நன்மை இல்லைவிவரங்கள் இங்கே).

முறைப்படுத்தல் - ஒரு பொதுவான மாதிரியை உருவாக்குவதற்கு முக்கியமானது, ஏனெனில் இது மாதிரி சிக்கலானது அல்லது தீவிர அளவுரு மதிப்புகளுக்கு அபராதம் சேர்க்கிறது. மாடல் மாறுபாட்டை கணிசமாக அதிகரிக்காமல் குறைக்க இது ஒரு வழியாகும். மேலும் விரிவான தகவல் - இங்கே.

எல்லாவற்றையும் நீங்களே மதிப்பீடு செய்ய, நீங்கள் ஒழுங்குபடுத்தலை முடக்க வேண்டும் மற்றும் தரவு இழப்பு சாய்வை நீங்களே சரிபார்க்க வேண்டும்.

வெளியேறுகிறது நெரிசலைத் தடுக்க உங்கள் நெட்வொர்க்கை ஒழுங்குபடுத்தும் மற்றொரு முறையாகும். பயிற்சியின் போது, ​​ஒரு குறிப்பிட்ட நிகழ்தகவு p (hyperparameter) உடன் நியூரானின் செயல்பாட்டை பராமரிப்பதன் மூலம் அல்லது எதிர் வழக்கில் பூஜ்ஜியமாக அமைப்பதன் மூலம் மட்டுமே கைவிடுதல் மேற்கொள்ளப்படுகிறது. இதன் விளைவாக, நெட்வொர்க் ஒவ்வொரு பயிற்சித் தொகுதிக்கும் வெவ்வேறு துணை அளவுருக்களைப் பயன்படுத்த வேண்டும், இது ஆதிக்கம் செலுத்தும் சில அளவுருக்களில் மாற்றங்களைக் குறைக்கிறது.

முக்கியமானது: டிராப்அவுட் மற்றும் பேட்ச் இயல்பாக்கம் இரண்டையும் நீங்கள் பயன்படுத்தினால், இந்த செயல்பாடுகளின் வரிசையைப் பற்றி கவனமாக இருக்கவும் அல்லது அவற்றை ஒன்றாகப் பயன்படுத்தவும். இவை அனைத்தும் இன்னும் தீவிரமாக விவாதிக்கப்பட்டு துணைபுரிகின்றன. இந்த தலைப்பில் இரண்டு முக்கியமான விவாதங்கள் இங்கே ஸ்டாக்ஓவர்ஃப்ளோவில் и ஆர்க்சிவ்.

வேலை கட்டுப்பாடு

இது பணிப்பாய்வு மற்றும் சோதனைகளை ஆவணப்படுத்துவது பற்றியது. நீங்கள் எதையும் ஆவணப்படுத்தவில்லை என்றால், எடுத்துக்காட்டாக, என்ன கற்றல் விகிதம் அல்லது வகுப்பு எடைகள் பயன்படுத்தப்படுகின்றன என்பதை நீங்கள் மறந்துவிடலாம். கட்டுப்பாட்டிற்கு நன்றி, நீங்கள் முந்தைய சோதனைகளை எளிதாகப் பார்க்கலாம் மற்றும் மீண்டும் உருவாக்கலாம். நகல் சோதனைகளின் எண்ணிக்கையைக் குறைக்க இது உங்களை அனுமதிக்கிறது.

இருப்பினும், ஒரு பெரிய அளவிலான வேலையின் விஷயத்தில் கையேடு ஆவணங்கள் கடினமான பணியாக மாறும். உங்கள் மாதிரி (அதிக அளவுருக்கள், மாதிரி செயல்திறன் அளவீடுகள் மற்றும் சுற்றுச்சூழல் தகவல்) உள்ளிட்ட தரவுத்தொகுப்புகள், குறியீடு மாற்றங்கள், சோதனை வரலாறு மற்றும் தயாரிப்பு மாதிரிகள் ஆகியவற்றைத் தானாகப் பதிவுசெய்ய உதவும் Comet.ml போன்ற கருவிகள் இங்குதான் வருகின்றன.

ஒரு நரம்பியல் நெட்வொர்க் சிறிய மாற்றங்களுக்கு மிகவும் உணர்திறன் கொண்டதாக இருக்கும், மேலும் இது மாதிரி செயல்திறன் குறைவதற்கு வழிவகுக்கும். உங்கள் வேலையைக் கண்காணித்து ஆவணப்படுத்துவது உங்கள் சூழலையும் மாடலிங்கையும் தரப்படுத்த நீங்கள் எடுக்கக்கூடிய முதல் படியாகும்.

நரம்பியல் நெட்வொர்க்குகளுடன் பணிபுரிதல்: பிழைத்திருத்தத்திற்கான சரிபார்ப்பு பட்டியல்

உங்கள் நரம்பியல் வலையமைப்பைப் பிழைத்திருத்தம் செய்ய இந்தப் பதிவு ஒரு தொடக்கப் புள்ளியாக இருக்கும் என்று நம்புகிறேன்.

Skillbox பரிந்துரைக்கிறது:

ஆதாரம்: www.habr.com

கருத்தைச் சேர்