ओवरफ़िटिंग: L2 रेगुलराइज़ेशन

L2 रेगुलराइज़ेशन, रेगुलराइज़ेशन की एक लोकप्रिय मेट्रिक है. यह इस फ़ॉर्मूले का इस्तेमाल करती है:

$$L_2\text{ regularization } = {w_1^2 + w_2^2 + ... + w_n^2}$$

उदाहरण के लिए, यहां दी गई टेबल में छह वेट वाले मॉडल के लिए, L2 रेगुलराइज़ेशन की कैलकुलेशन दिखाई गई है:

मान स्क्वेयर्ड वैल्यू
w1 0.2 0.04
w2 -0.5 0.25
w3 5.0 25.0
w4 -1.2 1.44
w5 0.3 0.09
w6 -0.1 0.01
    26.83 = कुल

ध्यान दें कि शून्य के आस-पास के वज़न का L2 रेगुलराइज़ेशन पर ज़्यादा असर नहीं पड़ता, लेकिन बड़े वज़न का काफ़ी असर पड़ सकता है. उदाहरण के लिए, ऊपर दिए गए कैलकुलेशन में:

  • एक वज़न (w3) से कुल जटिलता का करीब 93% हिस्सा तय होता है.
  • अन्य पांच वज़न का कुल योगदान, जटिलता के कुल स्कोर का सिर्फ़ 7% होता है.

L2 रेगुलराइज़ेशन, वज़न को 0 की ओर ले जाता है. हालांकि, यह कभी भी वज़न को पूरी तरह से शून्य नहीं करता.

एक्सरसाइज़: देखें कि आपको कितना समझ आया

अगर किसी मॉडल को ट्रेन करते समय L2 रेगुलराइज़ेशन का इस्तेमाल किया जाता है, तो मॉडल की कुल जटिलता पर आम तौर पर क्या असर पड़ेगा?
सिस्टम की जटिलता कम हो जाएगी.
L2 रेगुलराइज़ेशन, वज़न को 0 की ओर ले जाता है. इसलिए, हो सकता है कि कुल कॉम्प्लेक्सिटी कम हो जाए.
मॉडल की कुल जटिलता शायद स्थिर रहेगी.
इसकी संभावना बहुत कम है.
मॉडल की जटिलता बढ़ सकती है.
ऐसा होने की संभावना कम है. ध्यान रखें कि L2 रेगुलराइज़ेशन, वज़न को 0 की ओर ले जाता है.
अगर मॉडल को ट्रेन करते समय L2 रेगुलराइज़ेशन का इस्तेमाल किया जाता है, तो मॉडल से कुछ सुविधाओं को हटा दिया जाएगा.
सही
L2 रेगुलराइज़ेशन से कुछ वज़न बहुत छोटे हो सकते हैं. हालांकि, इससे कोई भी वज़न कभी भी पूरी तरह से शून्य नहीं होगा. इसलिए, सभी सुविधाएं मॉडल में कुछ न कुछ योगदान देंगी.
गलत
L2 रेगुलराइज़ेशन, वज़न को कभी भी शून्य तक नहीं पहुंचाता.

रेगुलराइज़ेशन रेट (लैम्डा)

जैसा कि बताया गया है, ट्रेनिंग के दौरान नुकसान और जटिलता को कम करने की कोशिश की जाती है:

$$\text{minimize(loss} + \text{ complexity)}$$

मॉडल डेवलपर, मॉडल ट्रेनिंग पर जटिलता के कुल असर को कम करते हैं. इसके लिए, वे इसकी वैल्यू को रेगुलराइज़ेशन रेट नाम के स्केलर से गुणा करते हैं. ग्रीक वर्णमाला का अक्षर लैम्ब्डा, आम तौर पर रेगुलराइज़ेशन रेट को दिखाता है.

इसका मतलब है कि मॉडल डेवलपर का मकसद ये काम करना है:

$$\text{minimize(loss} + \lambda \text{ complexity)}$$

नियमों का पालन करने की दर ज़्यादा हो:

  • यह रेगुलराइज़ेशन के असर को बढ़ाता है. इससे ओवरफ़िटिंग की संभावना कम हो जाती है.
  • इससे मॉडल के वज़न का हिस्टोग्राम जनरेट होता है. इसकी ये विशेषताएं होती हैं:
    • सामान्य डिस्ट्रिब्यूशन
    • औसत वज़न 0 है.

रेगुलराइज़ेशन की कम दर:

  • इससे रेगुलराइज़ेशन का असर कम हो जाता है. इसलिए, ओवरफ़िटिंग की संभावना बढ़ जाती है.
  • इससे मॉडल के वज़न का हिस्टोग्राम बनता है, जिसमें डिस्ट्रिब्यूशन फ़्लैट होता है.

उदाहरण के लिए, ज़्यादा रेगुलराइज़ेशन रेट के लिए मॉडल वेट का हिस्टोग्राम, इमेज 18 में दिखाए गए हिस्टोग्राम की तरह दिख सकता है.

इमेज 18. मॉडल के वज़न का हिस्टोग्राम, जिसका औसत शून्य है और
            नॉर्मल डिस्ट्रिब्यूशन है.
इमेज 18. ज़्यादा रेगुलराइज़ेशन रेट के लिए वज़न का हिस्टोग्राम. माध्य शून्य है. सामान्य डिस्ट्रिब्यूशन.

 

इसके उलट, रेगुलराइज़ेशन रेट कम होने पर हिस्टोग्राम फ़्लैट हो जाता है. जैसा कि इमेज 19 में दिखाया गया है.

इमेज 19. यह ग्राफ़, मॉडल के वज़न का हिस्टोग्राम दिखाता है. इसका मतलब शून्य है. यह फ़्लैट डिस्ट्रिब्यूशन और सामान्य डिस्ट्रिब्यूशन के बीच कहीं है.
इमेज 19. कम रेगुलराइज़ेशन रेट के लिए, वेट हिस्टोग्राम. ऐसा हो सकता है कि औसत शून्य हो या न हो.

 

रेगुलराइज़ेशन रेट चुनना

रेगुलराइज़ेशन की सही दर से ऐसा मॉडल तैयार होता है जो पहले कभी न देखे गए नए डेटा के लिए भी सही अनुमान लगाता है. माफ़ करें, यह सबसे सही वैल्यू डेटा पर निर्भर करती है. इसलिए, आपको कुछ ट्यूनिंग.

अर्ली स्टॉपिंग: यह जटिलता पर आधारित रेगुलराइज़ेशन का एक विकल्प है

अर्ली स्टॉपिंग एक रेगुलराइज़ेशन तरीका है. इसमें जटिलता की गणना शामिल नहीं होती. इसके बजाय, अर्ली स्टॉपिंग का मतलब सिर्फ़ यह है कि मॉडल के पूरी तरह से कन्वर्ज होने से पहले ट्रेनिंग को खत्म कर दिया जाए. उदाहरण के लिए, ट्रेनिंग तब खत्म की जाती है, जब पुष्टि करने वाले सेट के लिए लॉस कर्व बढ़ने लगता है (स्लोप पॉज़िटिव हो जाता है).

हालांकि, जल्दी रोकने से ट्रेनिंग लॉस बढ़ जाता है, लेकिन इससे टेस्ट लॉस कम हो सकता है.

अर्ली स्टॉपिंग, रेगुलराइज़ेशन का एक ऐसा तरीका है जो जल्दी काम करता है, लेकिन यह बहुत कम मामलों में सबसे सही होता है. इस तरह से तैयार किया गया मॉडल, उस मॉडल जितना अच्छा नहीं होगा जिसे रेगुलराइज़ेशन की सही दर पर अच्छी तरह से ट्रेन किया गया है.

लर्निंग रेट और रेगुलराइज़ेशन रेट के बीच संतुलन बनाना

लर्निंग रेट और रेगुलराइज़ेशन रेट, वज़न को विपरीत दिशाओं में ले जाते हैं. ज़्यादा लर्निंग रेट की वजह से, वज़न अक्सर शून्य से दूर हो जाते हैं. वहीं, ज़्यादा रेगुलराइज़ेशन रेट की वजह से, वज़न शून्य के करीब हो जाते हैं.

अगर लर्निंग रेट की तुलना में रेगुलराइज़ेशन रेट ज़्यादा है, तो कमज़ोर वेट की वजह से ऐसा मॉडल तैयार होता है जो सही अनुमान नहीं लगा पाता. इसके उलट, अगर रेगुलराइज़ेशन रेट की तुलना में लर्निंग रेट ज़्यादा है, तो ज़्यादा वेट वाले मॉडल से ओवरफ़िटिंग की समस्या हो सकती है.

आपका लक्ष्य, लर्निंग रेट और रेगुलराइज़ेशन रेट के बीच संतुलन बनाए रखना है. यह मुश्किल हो सकता है. सबसे बुरी बात यह है कि जब आपको वह सही बैलेंस मिल जाता है, तब आपको लर्निंग रेट में बदलाव करना पड़ सकता है. साथ ही, लर्निंग रेट बदलने पर, आपको सबसे सही रेगुलराइज़ेशन रेट फिर से ढूंढना होगा.