कन्वोल्यूशनल neural networks के लिए एक गाइडः AI छवियों का अर्थ कैसे बनाता है
सीएनएन स्थानीय फ़िल्टर, स्ट्राइड, पैडिंग, रीलू और पूलिंग के साथ छवियों को संसाधित करते हैं, स्थानिक विशेषताओं को सीखने और चित्रों को वर्गीकृत करने के लिए पैरामीटर साझा करते हैं।
मुख्य जानकारी
- सीएनएन समतल वेक्टरों के बजाय स्थानिक ग्रिड के रूप में छवियों को संसाधित करते हैं, स्थानीय संबंधों का संरक्षण करते हैं और कच्चे पिक्सेल पर घने नेटवर्क की भारी लागत से बचते हैं।
- छोटे सीखने योग्य फ़िल्टर किनारों, आकार और उच्च-स्तरीय दृश्य पैटर्न का पता लगाने के लिए छवियों पर स्लाइड करते हैं, जबकि पैरामीटर साझाकरण मॉडल को कॉम्पैक्ट रखता है।
- चरण, पैडिंग, ReLU और पूलिंग नियंत्रण फ़ीचर-मैप आकार जोड़ें, महत्वपूर्ण दृश्य संकेतों को संरक्षित करते हुए गणना को कम करें।
- सीएनएन को उच्च परिशुद्धता और अपेक्षाकृत कम मापदंडों के साथ एक सरल एमएनआईएसटी उदाहरण द्वारा दिखाए गए अनुसार, वर्ग संभावनाओं में सीखी गई विशेषताओं को बदलने के लिए बैकप्रोपेगेशन द्वारा प्रशिक्षित किया जाता है।
मेटा विवरण: जानें कि कैसे सीएनएन फ़िल्टर, स्ट्राइड, पैडिंग, रीएलयू और पूलिंग का उपयोग पिक्सेल ग्रिड को बिल्ली की तरह छवि भविष्यवाणियों में बदलने के लिए करते हैं।
टैगः सीएनएन, computer vision , छवि वर्गीकरण, MNIST, मूल बातें
विशेष रुप से प्रदर्शित छवि: पिक्सेल ग्रिड पर फिसलने वाले एक छोटे फ़िल्टर का अमूर्त अनुकूल चित्रण, बिल्ली जैसे आकार प्रकट करता है; कोई वास्तविक लोग, लोगो या पाठ नहीं।
computer vision सीखने वाले पाठकों के लिए, यह व्याख्याकार दिखाता है कि कैसे Convolutional Neural Networks (सीएनएन) पिक्सेल ग्रिड को भविष्यवाणियों में बदलते हैं जैसे "यह एक बिल्ली है"। एक एकल फोटो में हजारों संख्याएं होती हैं, और पड़ोसी पिक्सल स्वतंत्र नहीं होते हैंः जो मायने रखता है वह अक्सर होता है जहां चीजें एक दूसरे से सापेक्ष होती हैं न कि कच्चे मान। सीएनएन छवि संरचना का सम्मान करते हैं और छवि वर्गीकरण, face recognition , ऑब्जेक्ट डिटेक्शन, मेडिकल इमेज विश्लेषण और self-driving सिस्टम का समर्थन करते हैं।
क्यों सामान्य neural networks छवियों के साथ संघर्ष
एक कंप्यूटर बिल्ली नहीं देखता है। यह संख्याओं को देखता हैः पिक्सल का ग्रिड, प्रत्येक तीव्रता के साथ। ग्रेस्केल में प्रति पिक्सेल एक नंबर होता है; रंग में लाल, हरे और नीले रंग के लिए एक ग्रिڈ होता है, स्टैक किया जाता है, इसलिए आकार ऊंचाई x चौड़ाई x 3 होता है। 28x28 ग्रेस्केल छवि काले के लिए 0 और सफेद के लिए 255 का उपयोग करती है; एक नमूना ग्रिડ 0, 20, 50, फिर 80, 120, 200, फिर 255, 180, 90 दिखा सकता है।
एक सामान्य neural network इसे एक लंबी सूची में समतल करता है और पड़ोस खो देता है। 100x100 रंग छवि के लिए, यह 30,000 इनपुट है। पहली घनी परत में 1,000 न्यूरॉन्स के साथ, उसे 30 मिलियन वजन की आवश्यकता होती है। लागत बहुत बड़ी है, ओवरफिटिंग को आमंत्रित करती है (लेख #5), कचरा गणना, स्थानिक संबंधों को छोड़ देता है और बुरी तरह से स्केल करता हैः छवि का आकार दोगुना करना फिर से लागत बढ़ाता है।
3x3 फ़िल्टर दृश्य संरचना कैसे सीखते हैं
एक सीएनएन neural network है जो स्वचालित रूप से छवियों से उपयोगी सुविधाओं को सीखने के लिए डिज़ाइन किया गया है। यह फिल्टर, जिसे कर्नेल भी कहा जाता है, जो स्थानीय पैच स्कैन करते हैं, के साथ घनी वायरिंग की जगह लेता है। शब्द फ़िल्टर और कर्नल अक्सर परस्पर बदलकर उपयोग किए जाते हैं। एक फिल्टर सामान्य नेटवर्क वजन की तरह लर्निबल वेट्स का एक छोटा ग्रिड होता है। आम आकार 3x3 और 5x5 होते हैं।
एक ऊर्ध्वाधर-किनारे फ़िल्टर प्रत्येक पंक्ति में 1, 0, -1 का उपयोग करता हैः यह प्रतिक्रिया देता है जहां बाएं उज्ज्वल और दाएं अंधेरा होता है, और सपाट पैच पर लगभग शून्य। अन्य फिल्टर क्षैतिज किनारों, कोनों या बनावट को पकड़ते हैं। स्टैकिंग परतें जटिलता बनाते हैंः layer 1 किनारे, layer 2 आकार, लेयर 3 पार्ट्स जैसे कि आंख या पहिया, लेअर 4 ऑब्जेक्ट जैसे चेहरा या कार।
प्रत्येक फ़िल्टर एक विशेषता सीखता है। 3x3 आरजीबी फिल्टर के पास 3×3×3 = 27 भार प्लस पूर्वाग्रह होता है और छवि में पुनः उपयोग किया जाता है, जिसे पैरामीटर साझाकरण कहा जाता है। 32-फ़िल्टर परत को 896 मापदंडों की आवश्यकता होती है, लाखों नहीं।
स्टेप, पैडिंग, आरईएलयू और पूलिंग
स्ट्रेड सेट मूवमेंट: 1 एक पिक्सेल शिफ्ट करता है, 2 दो शिफ्ट; बड़ा कदम आउटपुट को छोटा कर देता है। बिना पैडिंग के, आउटपुट का आकार (i - k) / s + 1, नीचे गोल किया जाता है; 7-पिक्सेल-वाइड इनपुट और 3x3 कर्नेल के लिए चरण 1, यह 5 देता है. पैडिंग सीमा के चारों ओर शून्य जोड़ता हैः वैध पैडिंग बॉर्डर नहीं जोड़ती है और आउटपुट सिकुड़ जाती है; वही पैडिंग स्थानिक आयाम रखता है। पैडिंग पी के साथ, आकार (आई - के + 2 पी) / एस + 1. पैडिंग भी किनारे वाले पिक्सलों की मदद करती है, जो अन्यथा कम बार कवर हो जाते हैं।
संकुचन के बाद, ReLU लागू होता है max(0, x): -5 -> 0, 2 -> 2, 8 -> 8. यह गैर-रैखिकता जोड़ता है, स्टैक की गई परतों को एक रैखिक ऑपरेशन में ढहने से रोकता है और सस्ता होता है; लकी रीएलयू छोटे नकारात्मक ढलान के साथ मृत न्यूरॉन्स से बचा जाता है। एक फ़िल्टर एक फीचर मैप देता है; 32 फिल्टर चैनल की तरह ढेर किए गए 32 मानचित्र देते हैं।
पूलिंग नक्शे को संकुचित करता हैः अधिकतम पूलिंग एक ब्लॉक में सबसे बड़ा मूल्य रखता है, इसलिए [1 3; 2 5] बन जाता है 5; औसत पूलिंग माध्य रखती है। पूलिंग कंप्यूटेशन को कम करती है, मजबूत सिग्नल बनाती है, छोटे बदलावों को सहन करती है और ओवरफिटिंग में मदद करती है।
प्रशिक्षण, एमएनआईएसटी उदाहरण और आगे क्या होगा
एक विशिष्ट सीएनएन संकुचन, ReLU और पूलिंग दोहराता है, फिर पूरी तरह से जुड़ी परतों के लिए अंतिम सुविधा मानचित्र को एक वेक्टर में समतल करता है, जो साक्ष्य का वजन करते हैं, क्योंकि उन परतों को एक आयामी सूची की उम्मीद होती है। सॉफ्टमैक्स स्कोर को संभावनाओं में बदल देता है जो 1 तक जोड़ते हैं; एक मॉडल यह सुनिश्चित कर सकता है कि वह बिल्ली देखता है। फ़िल्टर यादृच्छिक रूप से शुरू होते हैं और बैकप्रोपेगेशन और ग्रेडिएंट वंश द्वारा प्रशिक्षित किए जाते हैं; किनारे डिटेक्टर उभरते हैं क्योंकि वे नुकसान कम करते हैं न कि इसलिए कि उन्हें प्रोग्राम किया गया था।
MNIST के लिए छोटे Keras Sequential CNN हस्तलिखित अंक लोड, सामान्यीकरण, निर्माण, प्रशिक्षण, मूल्यांकन, पूर्वानुमान दिखाते हैं। यह इनपुट ((shape=(28, 28, 1) से शुरू होता है), training data आकार (60000, 28, 28, 1), द्वारा विभाजित करके ट्रेन और परीक्षण को सामान्य करता है 255.0, फिर Conv2D ((32, 3, activation="relu"), MaxPooling2D))) का उपयोग करता है , कन्वर्ट करने के लिए 1600, Dense ((64, 3 सक्रियण =" relu "), मैक्सपूलिंग 2 डी ((2), Flatten to 1600), डेंसे ((64), Activation=" relu ") और डेन्से ("10", activation =" softmax") 10 वर्गों के लिए पिक्सल. आकार 28x28 से 26x26x32 तक जाते हैं, 13x13x32, 11x11x64, 5x5x64. यह ऑप्टिमाइज़र ", denseadam loss_categorical_cross_parentry metrics" [] Keras Sequential CNN, प्रत्येक प्रोब्स के साथ ट्रेनिंग और टेस्टिंग को सामान्य बनाता है, जो कि epochs पर वैधता प्राप्त कर रहा है 99% ।
सीएनएन पहले से ही फोन पर face recognition का समर्थन करते हैं, नंबर प्लेट मान्यता, एक्स-रे और स्कैन विश्लेषण, कैमरों और वाहनों में ऑब्जेक्ट डिटेक्शन, इमेज सर्च और हस्तलेखन पहचान। व्याख्याकार मूल रूप से माध्यम पर Towards AI द्वारा प्रकाशित किया गया था। पाठकों के लिए, टेकअवे यह है कि CNNs स्थानिक पैटर्न में उत्कृष्टता प्राप्त करते हैं। अगला सवाल आदेश हैः एक छवि को किसी भी क्रम में पढ़ा जा सकता है, लेकिन वाक्य, समय के साथ स्टॉक की कीमतें और घटना अनुक्रम नहीं हो सकते हैं, इसलिए मॉडल जो अनुक्रम संभालते हैं वे प्रासंगिक बन जाते हैं।

Comments (0)