ओवरफिटिंग से निपटना

PyTorch के साथ Deep Learning परिचय

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

ओवरफिटिंग के कारण

  • ओवरफिटिंग: मॉडल अनदेखे डेटा पर सामान्यीकरण नहीं करता
    • मॉडल प्रशिक्षण डेटा को याद कर लेता है
    • training डेटा पर अच्छा, validation डेटा पर कमजोर प्रदर्शन
  • संभावित कारण:
समस्या समाधान
डेटासेट पर्याप्त बड़ा नहीं है अधिक डेटा लें / डेटा ऑगमेंटेशन करें
मॉडल की क्षमता बहुत अधिक है मॉडल का आकार घटाएँ / ड्रॉपआउट जोड़ें
वेट्स बहुत बड़े हैं वेट डिके
PyTorch के साथ Deep Learning परिचय

ओवरफिटिंग से निपटना

रणनीतियाँ:

  • मॉडल आकार घटाना या ड्रॉपआउट लेयर जोड़ना
  • पैरामीटर्स को छोटा रखने हेतु वेट डिके usar करना
  • नया डेटा प्राप्त करना या डेटा ऑगमेंट करना
PyTorch के साथ Deep Learning परिचय

"Regularization" ड्रॉपआउट लेयर से

  • training के दौरान इनपुट टेन्सर के कुछ एलिमेंट्स को रैंडमली 0 कर देता है
model = nn.Sequential(nn.Linear(8, 4),
                      nn.ReLU(),
                      nn.Dropout(p=0.5))
features = torch.randn((1, 8))
print(model(features))
tensor([[1.4655, 0.0000, 0.0000, 0.8456]], grad_fn=<MulBackward0>)
  • ड्रॉपआउट को एक्टिवेशन फंक्शन के बाद जोड़ा जाता है
  • ट्रेनिंग बनाम इवैल्युएशन में व्यवहार अलग होता है - ट्रेनिंग के लिए model.train() और इवैल्युएशन में ड्रॉपआउट बंद करने के लिए model.eval() इस्तेमाल करें
PyTorch के साथ Deep Learning परिचय

वेट डिके से रेग्युलराइज़ेशन

optimizer = optim.SGD(model.parameters(), lr=0.001, weight_decay=0.0001)

  • ऑप्टिमाइज़र में weight_decay पैरामीटर से नियंत्रित, जिसे आमतौर पर छोटा रखते हैं (जैसे 0.0001)
  • वेट डिके ऑप्टिमाइजेशन के दौरान पेनल्टी जोड़कर वेट्स को छोटा रखने को प्रेरित करता है
  • ओवरफिटिंग घटाने में मदद करता है, वेट्स छोटे रखता है और जनरलाइज़ेशन सुधारता है
PyTorch के साथ Deep Learning परिचय

डेटा ऑगमेंटेशन

डेटा ऑगमेंटेशन के उदाहरण

PyTorch के साथ Deep Learning परिचय

अभ्यास करते हैं!

PyTorch के साथ Deep Learning परिचय

Preparing Video For Download...