बॉटलनेक ब्लॉक एक विशेष रेसिडुअल ब्लॉक है जिसका उपयोग गहरे तंत्रिका नेटवर्क में किया जाता है, विशेष रूप से ResNet आर्किटेक्चर में। इसे 2015 में Microsoft Research के शोधकर्ताओं (काइमिंग ही, जियांग्यु झांग, शाओकिंग रेन और जियान सन सहित) ने छवि पहचान के लिए पेश किया था, और परिणामी नेटवर्क ने उस वर्ष की ImageNet Large Scale Visual Recognition Challenge (ILSVRC) जीती थी। यह ब्लॉक कम्प्यूटेशनल लागत को कम करते हुए प्रतिनिधित्व शक्ति बनाए रखने के लिए डिज़ाइन किया गया है, जिससे सैकड़ों परतों वाले बहुत गहरे नेटवर्क को प्रशिक्षित करना संभव हो जाता है।
बॉटलनेक ब्लॉक मानक रेसिडुअल ब्लॉक का परिष्कृत रूप है। मानक रेसिडुअल ब्लॉक में, फ़ंक्शन \(F(x)\) आम तौर पर दो या तीन कनवॉल्यूशनल परतों का ढेर होता है। बॉटलनेक ब्लॉक इसे तीन-परत वाले ढेर से बदल देता है: एक 1x1 कनवॉल्यूशन जो चैनल आयाम को कम करता है, एक 3x3 कनवॉल्यूशन जो कम आयाम पर काम करता है, और एक और 1x1 कनवॉल्यूशन जो मूल चैनल आयाम को बहाल करता है। यह डिज़ाइन सीधे दो 3x3 कनवॉल्यूशन का उपयोग करने की तुलना में पैरामीटर और फ्लोटिंग-पॉइंट ऑपरेशन (FLOPs) की संख्या को कम करता है, जबकि जटिल विशेषताओं को सीखने की क्षमता को बनाए रखता है।
आर्किटेक्चर
एक बॉटलनेक ब्लॉक में तीन कनवॉल्यूशनल परतें होती हैं। पहली परत एक 1x1 कनवॉल्यूशन है जो चैनलों की संख्या को एक कारक (आम तौर पर 4) से कम करती है। उदाहरण के लिए, यदि इनपुट में 256 चैनल हैं, तो पहला 1x1 कनवॉल्यूशन इसे 64 चैनलों तक कम कर देता है। दूसरी परत एक 3x3 कनवॉल्यूशन है जो इन 64 चैनलों पर काम करती है, स्थानिक विशेषता निष्कर्षण करती है। तीसरी परत एक और 1x1 कनवॉल्यूशन है जो चैनल संख्या को वापस 256 तक बढ़ा देती है। ब्लॉक का इनपुट रेसिडुअल कनेक्शन के माध्यम से आउटपुट में जोड़ा जाता है, जो एक पहचान मानचित्रण है जो कनवॉल्यूशनल परतों को बायपास करता है।
रेसिडुअल कनेक्शन को \(y = F(x) + x\) के रूप में परिभाषित किया गया है, जहां \(F(x)\) तीन-परत वाले ढेर का आउटपुट है। यह जोड़ संभव है क्योंकि इनपुट और आउटपुट के आयाम समान हैं। यदि इनपुट और आउटपुट आयाम भिन्न हैं (उदाहरण के लिए, जब ब्लॉक चैनलों की संख्या बदलता है), तो एक प्रोजेक्शन कनेक्शन का उपयोग किया जाता है: \(y = F(x) + P(x)\), जहां \(P(x)\) आम तौर पर स्थानिक आयामों का मिलान करने के लिए स्ट्राइड 2 के साथ एक 1x1 कनवॉल्यूशन है।
बॉटलनेक ब्लॉक का उपयोग ResNet-50, ResNet-101 और ResNet-152 में किया जाता है, जो मूल ResNet-34 के गहरे रूप हैं। इन नेटवर्कों में, बॉटलनेक ब्लॉक उथले संस्करणों में उपयोग किए जाने वाले दो-परत वाले रेसिडुअल ब्लॉकों की जगह लेता है। गणना में कमी नेटवर्क को प्रशिक्षण समय या मेमोरी उपयोग में आनुपातिक वृद्धि के बिना अधिक परतें रखने की अनुमति देती है।
प्रेरणा
बॉटलनेक ब्लॉक की प्राथमिक प्रेरणा कम्प्यूटेशनल दक्षता है। दो 3x3 कनवॉल्यूशन वाले मानक रेसिडुअल ब्लॉक में, दिए गए इनपुट चैनल संख्या \(C\) के लिए पैरामीटर की संख्या \(2 \times 9 \times C^2 = 18C^2\) है। बॉटलनेक ब्लॉक में, पैरामीटर संख्या \(1 \times 1 \times C \times (C/4) + 3 \times 3 \times (C/4) \times (C/4) + 1 \times 1 \times (C/4) \times C = C^2/4 + 9C^2/16 + C^2/4 = (8/16 + 9/16)C^2 = 17C^2/16\) है, जो लगभग 1.06C^2 या मानक ब्लॉक के पैरामीटर का लगभग 6% है। यह कमी बड़ी चैनल संख्याओं के लिए महत्वपूर्ण है।
बॉटलनेक डिज़ाइन प्रशिक्षण स्थिरता में भी मदद करता है। पैरामीटर की संख्या कम करके, ब्लॉक ओवरफिटिंग के जोखिम को कम करता है और गहरे नेटवर्क की अनुमति देता है। रेसिडुअल कनेक्शन, जो ब्लॉक का एक प्रमुख घटक है, विलुप्त ग्रेडिएंट समस्या को कम करने में मदद करता है, जिससे सैकड़ों परतों वाले नेटवर्क का प्रभावी प्रशिक्षण संभव होता है।
रेसिडुअल नेटवर्क से संबंध
बॉटलनेक ब्लॉक रेसिडुअल ब्लॉक अवधारणा का एक विशिष्ट कार्यान्वयन है। रेसिडुअल कनेक्शन मूल ResNet पेपर में पेश किया गया था, जिसने दिखाया कि नेटवर्क की परतों में पहचान मानचित्रण जोड़ने से बहुत गहरे नेटवर्क का प्रशिक्षण संभव होता है। बॉटलनेक ब्लॉक इस विचार का अनुकूलन है, जिससे 50, 101 या 152 परतों वाले नेटवर्क का प्रशिक्षण व्यावहारिक हो जाता है।
रेसिडुअल नेटवर्क में, परतें परत इनपुट के संदर्भ में रेसिडुअल फ़ंक्शन सीखती हैं। बॉटलनेक ब्लॉक इस सिद्धांत का पालन करता है: तीन कनवॉल्यूशनल परतें एक रेसिडुअल \(F(x)\) सीखती हैं, और आउटपुट \(F(x) + x\) है। यह नेटवर्क को आवश्यकता पड़ने पर पहचान मानचित्रण सीखने की अनुमति देता है, जो अनुकूलन के लिए फायदेमंद है।
बॉटलनेक ब्लॉक की सफलता ने कई बाद के आर्किटेक्चर को प्रभावित किया। उदाहरण के लिए, U-Net अपनी एनकोडर-डिकोडर संरचना में रेसिडुअल कनेक्शन का उपयोग करता है, और Transformer मॉडल अपनी ध्यान और फीड-फॉरवर्ड परतों में रेसिडुअल कनेक्शन का उपयोग करते हैं। बॉटलनेक अवधारणा को अन्य डोमेन में भी अनुकूलित किया गया है, जैसे बड़े भाषा मॉडल और जनरेटिव AI मॉडल।
कम्प्यूटेशनल दक्षता
बॉटलनेक ब्लॉक की कम्प्यूटेशनल दक्षता को FLOPs (फ्लोटिंग-पॉइंट ऑपरेशन) के संदर्भ में मापा जाता है। \(H \times W \times C\) आकार के इनपुट टेंसर के लिए, दो 3x3 कनवॉल्यूशन वाले मानक रेसिडुअल ब्लॉक को लगभग \(2 \times 9 \times C^2 \times H \times W\) FLOPs की आवश्यकता होती है। कमी कारक 4 वाले बॉटलनेक ब्लॉक को लगभग \(1 \times 1 \times C \times (C/4) \times H \times W + 3 \times 3 \times (C/4) \times (C/4) \times H \times W + 1 \times 1 \times (C/4) \times C \times H \times W = (C^2/4 + 9C^2/16 + C^2/4) \times H \times W = (17C^2/16) \times H \times W\) की आवश्यकता होती है। यह मानक ब्लॉक के FLOPs का लगभग 6% है।
यह कमी विशेष रूप से सीमित मेमोरी या कंप्यूट वाले हार्डवेयर पर प्रशिक्षण के लिए महत्वपूर्ण है, जैसे AWS इंस्टेंस या Google Cloud TPU। यह तेज़ अनुमान को भी सक्षम बनाता है, जो Waymo की सेल्फ-ड्राइविंग कारों या Tesla Autopilot जैसे रीयल-टाइम अनुप्रयोगों के लिए महत्वपूर्ण है।
रूप और सुधार
बॉटलनेक ब्लॉक के कई रूप प्रस्तावित किए गए हैं। एक सामान्य रूप प्री-एक्टिवेशन बॉटलनेक है, जहां बैच नॉर्मलाइज़ेशन और सक्रियण फ़ंक्शन कनवॉल्यूशन से पहले लागू किए जाते हैं, बाद में नहीं। यह बाद के कार्यों में प्रशिक्षण और नियमितीकरण में सुधार दिखाया गया।
एक अन्य रूप उलटा बॉटलनेक है, जिसका उपयोग MobileNetV2 जैसे मॉडलों में किया जाता है। इस डिज़ाइन में, 1x1 कनवॉल्यूशन पहले चैनल आयाम का विस्तार करता है, फिर एक डेप्थवाइज़ 3x3 कनवॉल्यूशन विस्तारित आयाम पर काम करता है, और एक और 1x1 कनवॉल्यूशन इसे वापस कम कर देता है। यह मानक बॉटलनेक के विपरीत है, लेकिन यह मोबाइल और एम्बेडेड डिवाइसों के लिए अधिक कुशल है।
बैच नॉर्मलाइज़ेशन और लेयर नॉर्मलाइज़ेशन में, बॉटलनेक ब्लॉक अक्सर कनवॉल्यूशन के बीच नॉर्मलाइज़ेशन परतें शामिल करता है। रेसिडुअल कनेक्शन परतों के इनपुट के विचरण को स्थिर करने में मदद करता है, और कुछ कार्य रेसिडुअल कनेक्शन को \(1/L\) से स्केल करने का सुझाव देते हैं, जहां \(L\) कुल रेसिडुअल परतों की संख्या है, ताकि प्रशिक्षण को और स्थिर किया जा सके।
अनुप्रयोग
बॉटलनेक ब्लॉक कई अत्याधुनिक मॉडलों में उपयोग किया जाता है। कंप्यूटर विज़न में, यह ResNet का मुख्य निर्माण खंड है, जो छवि वर्गीकरण, ऑब्जेक्ट डिटेक्शन और सेगमेंटेशन के लिए व्यापक रूप से उपयोग किया जाता है। उदाहरण के लिए, Intuitive Surgical चिकित्सा छवि विश्लेषण के लिए गहन शिक्षण का उपयोग करता है, और Fermata कृषि के लिए कंप्यूटर विज़न का उपयोग करता है।
प्राकृतिक भाषा प्रसंस्करण में, रेसिडुअल कनेक्शन Transformer मॉडलों में उपयोग किए जाते हैं, जो OpenAI के GPT और Anthropic के Claude जैसे बड़े भाषा मॉडल की नींव हैं। हालांकि ये मॉडल 1x1 कनवॉल्यूशन का उपयोग नहीं करते हैं, रेसिडुअल कनेक्शन अवधारणा ResNet से उधार ली गई है।
सुदृढीकरण शिक्षण में, DeepMind के AlphaGo Zero और AlphaStar जैसे सिस्टम में ResNet आर्किटेक्चर का उपयोग बॉटलनेक ब्लॉक के साथ किया गया है, जो बोर्ड स्थितियों या गेम स्क्रीन को संसाधित करने के लिए रेसिडुअल नेटवर्क का उपयोग करते हैं।
गहन शिक्षण पर प्रभाव
बॉटलनेक ब्लॉक ने गहन शिक्षण के क्षेत्र पर महत्वपूर्ण प्रभाव डाला है। बहुत गहरे नेटवर्क का प्रशिक्षण सक्षम करके, इसने छवि पहचान और अन्य कार्यों में तेजी से प्रगति में योगदान दिया। गणना को कम करने के लिए 1x1 कनवॉल्यूशन का उपयोग करने का विचार कई बाद के आर्किटेक्चर में अपनाया गया है, जिसमें U-Net और विभिन्न जनरेटिव मॉडल शामिल हैं।
रेसिडुअल कनेक्शन, जो बॉटलनेक ब्लॉक का एक प्रमुख घटक है, तंत्रिका नेटवर्क डिज़ाइन में एक मानक रूपांकन बन गया है। इसका उपयोग Transformer मॉडल, बड़े भाषा मॉडल और कई अन्य आर्किटेक्चर में किया जाता है। बॉटलनेक ब्लॉक इस बात का प्रमुख उदाहरण है कि कैसे आर्किटेक्चरल नवाचार प्रदर्शन और दक्षता में महत्वपूर्ण सुधार ला सकते हैं।