किसी दूसरी चीज़ के बारे में खोजने की सुविधा

यह इकाई क्वासी-रैंडम खोज पर फ़ोकस करती है.

क्वासी-रैंडम सर्च का इस्तेमाल क्यों करना चाहिए?

ट्यूनिंग समस्या (जिसे हम "एक्सप्लोरेशन फ़ेज़" कहते हैं) के बारे में ज़्यादा से ज़्यादा जानकारी देने के मकसद से बनाई गई, दोहराई जाने वाली ट्यूनिंग प्रोसेस के हिस्से के रूप में इस्तेमाल किए जाने पर, अनोखे ब्लैकबॉक्स ऑप्टिमाइज़ेशन टूल के मुकाबले क्वासी-रैंडम सर्च (कम अंतर वाले क्रम पर आधारित) में हमारी प्राथमिकता है. बायेसियन ऑप्टिमाइज़ेशन और इसके मिलते-जुलते टूल, शोषण के चरण के लिए ज़्यादा बेहतर होते हैं. कम अंतर वाले क्रमों के बीच रैंडम तरीके से की गई खोज को "परेशान, शफ़ल किए गए ग्रिड खोज" के तौर पर देखा जा सकता है, क्योंकि यह समान रूप से, लेकिन रैंडम तरीके से खोज करते हैं. साथ ही, किसी भी क्रम में खोजने के बजाय, सिर्फ़ कुछ खोज पॉइंट दिखाते हैं.

ज़्यादा बेहतर ब्लैकबॉक्स ऑप्टिमाइज़ेशन टूल (जैसे कि बायेसियन ऑप्टिमाइज़ेशन, विकासशील एल्गोरिदम) की तुलना में क्वासी-रैंडम सर्च के फ़ायदे:

  • खोज के लिए ज़रूरत के हिसाब से न चुनने से, प्रयोगों को फिर से चलाए बिना ही पोस्ट हॉक विश्लेषण में ट्यूनिंग के मकसद को बदला जा सकता है. उदाहरण के लिए, आम तौर पर हम ट्रेनिंग के दौरान किसी भी समय, पुष्टि करने में हुई गड़बड़ियों के मामले में सबसे अच्छे ट्रायल का पता लगाना चाहते हैं. हालांकि, रैंडम डेटा खोजने की सुविधा, क्वासी-रैंडम सर्च की सुविधा के मुताबिक नहीं होती है. इसकी मदद से, किसी भी प्रयोग को फिर से चलाए बिना, पुष्टि करने में हुई आखिरी गड़बड़ी, ट्रेनिंग में होने वाली गड़बड़ी या किसी वैकल्पिक आकलन मेट्रिक के आधार पर, सबसे अच्छा ट्रायल खोजने में मदद मिलती है.
  • क्वासी-रैंडम सर्च, एक जैसा और आंकड़ों के आधार पर फिर से जनरेट करने लायक तरीके से काम करता है. छह महीने पहले के अध्ययन को फिर से लागू किया जा सकता है, भले ही सर्च एल्गोरिदम लागू करने के तरीके में बदलाव हो. हालांकि, ऐसा तभी किया जा सकता है, जब सभी एक जैसे प्रॉपर्टी बनाए रखे जा रहे हों. अगर मुश्किल बायेसियन ऑप्टिमाइज़ेशन सॉफ़्टवेयर का इस्तेमाल किया जा रहा है, तो लागू करने का तरीका, वर्शन के बीच अहम तरीके से बदल सकता है. इससे पुरानी खोज को फिर से पूरा करना मुश्किल हो जाता है. किसी पुराने तरीके से लागू करना हमेशा संभव नहीं होता. उदाहरण के लिए, अगर ऑप्टिमाइज़ेशन टूल को सेवा के तौर पर चलाया जाता है.
  • सर्च स्पेस का एक जैसा एक्सप्लोरेशन करने से, नतीजों के बारे में आसानी से पता चल जाता है. इससे यह भी पता चलता है कि वे खोज स्पेस के बारे में क्या सुझाव दे सकते हैं. उदाहरण के लिए, अगर क्वासी-रैंडम सर्च के ट्रैवर्सल में सबसे अच्छा पॉइंट सर्च स्पेस की सीमा पर है, तो यह इस बात का अच्छा संकेत है (लेकिन पूरी तरह सुरक्षित नहीं है) कि सर्च स्पेस की सीमाओं को बदला जाना चाहिए. हालांकि, हो सकता है कि अडैप्टिव ब्लैकबॉक्स ऑप्टिमाइज़ेशन एल्गोरिदम, खोज जगह के बीच में जगह को अनदेखा कर दे, क्योंकि शुरुआती ट्रायल के कुछ फ़ायदे काफ़ी लंबे समय से मौजूद हैं. भले ही, इसमें सभी फ़ायदे समान हों.
  • अडैप्टिव एल्गोरिदम की तरह, अलग-अलग संख्याओं को एक साथ चलाने और क्रम से अलग-अलग ट्रायल चलाने से, क्वासी-रैंडम सर्च या दूसरे नॉन-अडैप्टिव सर्च एल्गोरिदम का इस्तेमाल करने पर, आंकड़ों के हिसाब से अलग नतीजे नहीं मिलते.
  • हो सकता है कि ज़्यादा बेहतर सर्च एल्गोरिदम हमेशा गलत पॉइंट को ठीक से हैंडल न कर पाएं. खास तौर पर, जब उन्हें न्यूरल नेटवर्क हाइपर पैरामीटर ट्यूनिंग को ध्यान में रखकर डिज़ाइन न किया गया हो.
  • क्वासी-रैंडम सर्च आसान है और खास तौर पर तब अच्छा काम करता है, जब कई ट्यूनिंग ट्रायल साथ-साथ चल रहे हों. असल में1, अडैप्टिव एल्गोरिदम के लिए रैंडम तरीके से की गई खोज को हराना बहुत मुश्किल होता है, क्योंकि इसका बजट दोगुना होता है. ऐसा खास तौर पर तब होता है, जब कई ट्रायल को साथ-साथ चलाना होता है. इसलिए, नए ट्रायल लॉन्च करने के दौरान पिछले ट्रायल के नतीजों का इस्तेमाल करने की संभावना बहुत कम होती है. बायेसियन ऑप्टिमाइज़ेशन और ब्लैकबॉक्स को ऑप्टिमाइज़ करने के दूसरे बेहतर तरीकों में विशेषज्ञता के बिना, हो सकता है कि आप वे फ़ायदे न पा सकें जो वे उपलब्ध करा सकते हैं. डीप लर्निंग ट्यूनिंग की असल स्थिति में, बेहतर ब्लैकबॉक्स ऑप्टिमाइज़ेशन एल्गोरिदम की बेंचमार्किंग करना मुश्किल होता है. ये मौजूदा रिसर्च का काफ़ी सक्रिय क्षेत्र है और अनुभवी उपयोगकर्ताओं के लिए ज़्यादा बेहतर एल्गोरिदम में कुछ गलतियां होती हैं. इन तरीकों में माहिर लोगों को अच्छे नतीजे मिल सकते हैं, लेकिन बहुत ज़्यादा समानता वाली स्थितियों में, सर्च स्पेस और बजट का ज़्यादा मायने रखते हैं.

हालांकि, अगर आपके कंप्यूटेशनल रिसॉर्स एक साथ कुछ ही ट्रायल को चलाने की अनुमति देते हैं और एक साथ कई ट्रायल चलाने की सुविधा मिल जाती है, तो बायेसियन ऑप्टिमाइज़ेशन ज़्यादा आकर्षक हो जाता है, लेकिन आपके ट्यूनिंग के नतीजों को समझना मुश्किल हो जाता है.

ओपन-सोर्स Vizier में, क्वासी-रैंडम सर्च सुविधा को लागू किया जा सकता है. इस Vizier इस्तेमाल के उदाहरण में algorithm="QUASI_RANDOM_SEARCH" को सेट करें. इस हाइपर पैरामीटर स्वीप के उदाहरण में इसे लागू करने का एक वैकल्पिक तरीका मौजूद है. इन दोनों तरीकों से, दिए गए खोज स्पेस के लिए हॉल्टन सीक्वेंस जनरेट होता है. इसका मकसद, शिफ़्ट किए गए और स्क्रैंबल किए गए हॉल्टन सीक्वेंस को लागू करना है, जैसा कि क्रिटिकल हाइपर-पैरामीटर: नो रैंडम, नो क्राई में सुझाया गया है.

अगर कम अंतर वाले क्रम पर आधारित कोई क्वैसी-रैंडम सर्च एल्गोरिदम उपलब्ध नहीं है, तो रैंडम तरीके से एक समान खोज का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना थोड़ा कम कारगर हो सकता है. 1-2 डाइमेंशन में, ग्रिड सर्च भी स्वीकार किया जा सकता है. हालांकि, हायर डाइमेंशन में नहीं. (Bergstra & Bengio, 2012 देखें).

क्वैसी-रैंडम सर्च की सुविधा से अच्छे नतीजे पाने के लिए, कितने ट्रायल की ज़रूरत है?

यह तय करने का कोई तरीका नहीं है कि सामान्य तौर पर क्वासी-रैंडम सर्च के नतीजों को पाने के लिए, कितने ट्रायल की ज़रूरत है. हालांकि, कुछ खास उदाहरण देखे जा सकते हैं. जैसा कि इमेज 3 में दिखाया गया है, किसी स्टडी में मुफ़्त में आज़माने की संख्या का नतीजों पर काफ़ी असर पड़ सकता है:

पुष्टि करने के दौरान हुई गड़बड़ी की दर (y-ऐक्सिस) बनाम ट्यूनिंग बजट (x-ऐक्सिस) का बॉक्स प्लॉट, जहां ट्यूनिंग बजट, ट्रायल की संख्या है. ट्यूनिंग बजट बढ़ने के साथ-साथ, पुष्टि करने की औसत गड़बड़ी की दर में आम तौर पर गिरावट आती है.

तीसरी इमेज: ResNet-50 को 100 ट्रायल के साथ ImageNet पर ट्यून किया गया है. बूटस्ट्रैपिंग का इस्तेमाल करके, ट्यूनिंग बजट की अलग-अलग मात्रा को सिम्युलेट किया गया था. मुफ़्त में आज़माने के हर बजट के लिए, सबसे अच्छी परफ़ॉर्मेंस के बॉक्स प्लॉट को प्लॉट किया जाता है.

 

इमेज 3 के बारे में इन बातों पर ध्यान दें:

  • इंटरक्वार्टाइल की रेंज जब 6 ट्रायल का सैंपल लिया गया था, तो वह 20 ट्रायल के सैंपल की तारीख से काफ़ी ज़्यादा होता है.
  • 20 ट्रायल के बावजूद भी, अलग-अलग रैंडम सीड पर इस मॉडल के रीट्रेन के बीच सामान्य वैरिएशन की तुलना में 20 ट्रायल के बीच ज़्यादा अंतर है. तय हाइपर पैरामीटर के साथ, इस वर्कलोड के लिए ~23% की पुष्टि की गड़बड़ी दर पर यह +/- 0.1% हो सकता है.

  1. बेन रेच और केविन जेमीसन ने बताया है कि दो गुना बजट वाले रैंडम तरीके से खोजने की सुविधा एक बेसलाइन के तौर पर कितनी मज़बूत है (हाइपरबैंड पेपर एक जैसे तर्क देता है). हालांकि, बायेसियन ऑप्टिमाइज़ेशन तकनीक की आधुनिक तकनीक और रैंडम तरीके से की जाने वाली खोज की तकनीक, बजट से दोगुना ज़्यादा होती है. ऐसे में, खोज के लिए ऐसे स्पेस और समस्याएं मिल सकती हैं जो मुश्किल होती हैं. हालाँकि, दो गुना बजट वाले रैंडम तरीके से की जाने वाली खोज को दो गुना ज़्यादा कारगर बनाने का काम, ज़्यादा समानांतरता वाले सिस्टम में बहुत मुश्किल हो गया है. ऐसा इसलिए, क्योंकि बायेसियन ऑप्टिमाइज़ेशन के पास पिछली ट्रायल के नतीजों को देखने का कोई अवसर नहीं है.