ML प्रैक्टिस: इमेज की कैटगरी

पेश है कंवेंशनल न्यूरल नेटवर्क

इमेज की कैटगरी तय करने के लिए, इमेज बनाने के बारे में एक अहम जानकारी मिली. इसमें पाया गया कि कंसोलेशनल न्यूरल नेटवर्क (CNN) का इस्तेमाल, इमेज कॉन्टेंट में बड़े और ऊंचे लेवल वाले लोगों की जानकारी लेकर किया जा सकता है. डेटा को टेक्स्चर और शेप जैसी सुविधाओं के लिए पहले से प्रोसेस करने के बजाय, इमेज और #39; के रॉ पिक्सल के डेटा को इनपुट के तौर पर इस्तेमाल किया जाता है. "सीखता है और कोट किया जाता है; इन सुविधाओं को कैसे निकाला जाए, और आखिर में यह अनुमान लगाएं कि ये ऑब्जेक्ट कैसे बनी हैं.

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

1. कॉन्वोल्यूशन

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

  • निकाली गई टाइल का साइज़ (आम तौर पर, 3x3 या 5x5 पिक्सल).
  • आउटपुट सुविधा मैप की गहराई, जो लागू किए गए फ़िल्टर की संख्या से मेल खाती है.

कॉन्वोल्यूशन के दौरान, फ़िल्टर (सुविधा का साइज़ टाइल के साइज़ के बराबर ही होता है) इनपुट की सुविधा वाले मैप और #39; ग्रिड को एक-एक करके स्लाइड करता है. एक बार में एक पिक्सल (इमेज 3 देखें) देखें.

4x4 सुविधा वाले मैप पर 3x3 कन्वर्ज़न तीसरी इमेज. 5x5 इनपुट सुविधा मैप पर गहराई 1 के साथ 3x3 कॉन्वोल्यूशन, गहराई 1 पर भी. 5x5 सुविधा वाले मैप से टाइलों को निकालने के लिए, 3x3 जगहों पर नौ मुमकिन है. इसलिए, यह रिज़ॉल्यूशन 3x3 आउटपुट सुविधा वाला मैप बनाता है.

फ़िल्टर-टाइल के हर जोड़े के लिए, सीएनएन फ़िल्टर मैट्रिक्स और टाइल मैट्रिक्स की एलिमेंट के हिसाब से गुणा करता है. इसके बाद, एक ही वैल्यू पाने के लिए नतीजे वाले मैट्रिक्स के सभी एलिमेंट को जोड़ देता है. इसके बाद, हर फ़िल्टर-टाइल पेयर के लिए इनमें से हर वैल्यू, एक साथ दिखाए जाने वाले फ़ीचर के मैट्रिक्स में आउटपुट के रूप में मिलती है (चित्र 4a और 4b देखें).

5x5 सुविधा मैप और 3x3 रिज़ॉल्यूशन चौथी इमेज. बाएं: 5x5 इनपुट सुविधा मैप (गहराई 1). दाईं ओर: 3x3 कॉन्वोल्यूशन (गहरा गहराई 1).

चौथी इमेज. बायां मार्जिन: 3x3 कन्वर्ज़न, 5x5 इनपुट सुविधा वाले मैप पर किया जाता है. दाईं ओर: इसके बाद समाधान की गई सुविधा. आउटपुट सुविधा मैप में किसी मान पर क्लिक करके देखें कि इसकी गणना कैसे की गई थी.

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

2. ReLU

हर कॉन्वोल्यूशन ऑपरेशन के बाद, एनएसएल को रिज़ॉल्व की गई लीनियर यूनिट (आरएलयू) में बदली गई सुविधा पर लागू किया जाता है, ताकि मॉडल में ऑनलाइन मौजूदगी दिखाई जा सके. ReLU फ़ंक्शन, \(F(x)=max(0,x)\), x &gt के सभी मानों के लिए x दिखाता है; 0, और x के सभी मानों के लिए 0 दिखाता है.

3. पूल करना

ReLU, पूलिंग का एक चरण पूरा करता है. इसमें,\nकॉन्टेंट को प्रोसेस करने में लगने वाले समय को बचाने के लिए, सीएनओ ने रिज़ॉल्व की गई सुविधा को कम कर दिया है. हालांकि, यह सुविधा की सबसे ज़रूरी जानकारी को बचाते हुए, मैप मैप के डाइमेंशन की संख्या कम कर देता है. इस प्रोसेस के लिए इस्तेमाल किए जाने वाले सामान्य एल्गोरिदम को मैक्स पूलिंग कहा जाता है.

मैक्सिमम पूलिंग, रिज़ॉल्यूशन के साथ-साथ इसी तरह काम करती है. हम फ़ीचर मैप पर स्लाइड करते हैं और एक खास साइज़ की टाइल निकालते हैं. हर टाइल के लिए, ज़्यादा से ज़्यादा वैल्यू को नए सुविधा मैप पर आउटपुट किया जाता है और अन्य सभी वैल्यू को खारिज कर दिया जाता है. ज़्यादा से ज़्यादा पूल करने की कार्रवाइयों में दो पैरामीटर होते हैं:

  • ज़्यादा से ज़्यादा स्विमिंग फ़िल्टर का साइज़ (आम तौर पर, 2x2 पिक्सल)
  • स्ट्राइड: निकाली गई हर टाइल को अलग करते हुए, पिक्सल में दूरी. कॉन्वोल्यूशन के उलट, जहां सुविधा मैप पिक्सल के ज़रिए स्लाइड करती है, पिक्सल में ज़्यादा से ज़्यादा पूल में, स्ट्राइड तय करता है कि हर टाइल कहां निकाली जाएगी. 2x2 फ़िल्टर के लिए, 2 का स्केल यह बताता है कि पूल करने की सबसे ज़्यादा कार्रवाई, सुविधा मैप से सभी ओवरलैप नहीं करने वाली 2x2 टाइल को निकालेगी (चित्र 5 देखें).

ऐनिमेशन की मदद से, 4x4 सुविधा वाले मैप पर 2x2 के फ़िल्टर और स्ट्राइड के साथ ज़्यादा से ज़्यादा पूल करें

पांचवां डायग्राम. बाईं ओर: 2x2 फ़िल्टर वाले 4x4 सुविधा मैप पर ज़्यादा से ज़्यादा पूलिंग. साथ ही, 2 नंबर वाली स्प्लिट. दाईं ओर: पूल करने की ज़्यादा से ज़्यादा कार्रवाइयों का आउटपुट. ध्यान दें कि नतीजे में मिलने वाली सुविधा का मैप अब 2x2 है. इसमें, हर टाइल से सिर्फ़ ज़्यादा से ज़्यादा वैल्यू सेव की जाएंगी.

पूरी तरह से कनेक्ट की गई लेयर

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

फ़िगर 6, कॉन्वोल्यूशनल न्यूरल नेटवर्क के एंड-टू-एंड स्ट्रक्चर को दिखाता है.

कॉन्वोल्यूशनल न्यूरल नेटवर्क से लेकर एंड-टू-एंड डायग्राम, जिसमें इनपुट,
दो कॉन्वोल्यूशन मॉड्यूल, और दो कनेक्टेड लेयर दिखाए गए हैं, ताकि डेटा को अलग-अलग ग्रुप में बांटा जा सके

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