एआई में न्यूरॉन्स: सिर्फ फंक्शन नहीं

एआई में न्यूरॉन्स: सिर्फ फंक्शन नहीं

अगर आपने तकनीकी क्षेत्रों में “तंत्रिका नेटवर्क” शब्द सुना है, तो आप शायद कुछ जैविक कल्पना करते हैं। न्यूरॉन शब्द शुरुआती लोगों को यह सोचने के लिए प्रेरित कर सकता है कि उन्हें एआई के साथ काम करने के लिए मस्तिष्क जीव विज्ञान को समझने की जरूरत है। लेकिन वास्तव में उन्हें नहीं करनी चाहिए। एक न्यूरॉन वास्तव में क्या करता है और यह कोड में लिखे गए फंक्शन से कैसे अलग है - इस बारे में भ्रम असली है। और वह अंतर महत्वपूर्ण है [1][2]।

न्यूरॉन वास्तव में क्या है?

एआई में एक न्यूरॉन एक कम्प्यूटेशनल यूनिट है। मूल रूप से, यह एक चीज है जो इनपुट लेता है, गणना करता है, और एक आउटपुट देता है। एक फंक्शन जैसा लगता है, है ना? हाँ, कुछ हद तक। लेकिन यहीं से समानता समाप्त होती है।

यहाँ एक कृत्रिम न्यूरॉन के अंदर क्या होता है [1]:

  • इनपुट कहीं और से आते हैं (या तो मूल डेटा या पिछले न्यूरॉन्स के आउटपुट)
  • प्रत्येक इनपुट को एक वजन से गुणा किया जाता है - एक संख्यात्मक मान जो निर्धारित करता है कि वह इनपुट कितना महत्वपूर्ण है
  • सभी भारित इनपुट को एक साथ जोड़ा जाता है
  • एक पूर्वाग्रह जोड़ा जाता है (एक स्वतंत्र समायोज्य संख्या)
  • परिणाम एक सक्रियण फंक्शन से गुजरता है [3]
  • एक एकल आउटपुट निकलता है

तो न्यूरॉन कुछ इस तरह की गणना करता है: output = activation_function(sum(inputs × weights) + bias).

यह फंक्शन से कैसे अलग है

मान लीजिए आप एक पायथन फंक्शन लिखते हैं:

def add_numbers(a, b):
    return a + b

यह फंक्शन हमेशा एक ही तरीके से व्यवहार करता है। इसे 2 और 3 दें, 5 मिलेगा। इसे हमेशा एक ही इनपुट दें, आपको हमेशा वही आउटपुट मिलेगा। तर्क निश्चित है।

एक न्यूरॉन? इसका व्यवहार समय के साथ बदलता है [2]। वजन और पूर्वाग्रह स्थिरांक नहीं हैं जिन्हें आप हार्डकोड करते हैं। वे पैरामीटर हैं जो प्रशिक्षण के दौरान समायोजित किए जाते हैं। न्यूरॉन यादृच्छिक वजन के साथ शुरू होता है, अपने आउटपुट के बारे में प्रतिक्रिया प्राप्त करता है कि वे सही थे या गलत, और फिर अगली बार बेहतर करने के लिए उन वजन को समायोजित करता है। आपका हार्डकोड किया गया फंक्शन यह नहीं कर सकता।

एक और अंतर: एक नियमित फंक्शन नियतात्मक और पारदर्शी है। मैं कोड पढ़ सकता हूँ और बिल्कुल देख सकता हूँ कि यह क्या करता है। एक न्यूरॉन की गणना दृश्यमान है, निश्चित रूप से, लेकिन यह वजन समायोजन क्यों किए गए यह कम स्पष्ट है। जब एक तंत्रिका नेटवर्क हजारों उदाहरणों पर प्रशिक्षित होता है, तो यह पता लगाना कि एक विशेष न्यूरॉन इनपुट ए के लिए वजन 0.75 के साथ क्यों समाप्त हुआ बजाय 0.73 के, यह वास्तव में कठिन हो जाता है [2]।

वजन और पूर्वाग्रह - सीखने योग्य हिस्से

यह वही बात है जो न्यूरॉन्स को फंक्शन से अलग करती है। वे वजन और पूर्वाग्रह? वे हाथ से नहीं लिखे हैं। वे सीखे जाते हैं।

प्रशिक्षण के दौरान, एक एल्गोरिदम (आमतौर पर बैकप्रोपेगेशन कहा जाता है) न्यूरॉन द्वारा दिए गए आउटपुट को देखता है, उन्हें उस चीज़ से तुलना करता है जो उसे देना चाहिए था, और वजन और पूर्वाग्रह को उस त्रुटि को कम करने के लिए समायोजित करता है। यह लाखों बार करें अरबों पैरामीटर के लिए, और अचानक नेटवर्क ने डेटा में ऐसे पैटर्न सीख लिए हैं जो मनुष्यों ने कभी स्पष्ट रूप से प्रोग्राम नहीं किए [4]।

एक इनपुट पर वजन नियंत्रित करता है कि वह इनपुट न्यूरॉन के आउटपुट को कितना प्रभावित करता है। उच्च वजन का अर्थ है “यह इनपुट बहुत महत्वपूर्ण है।” एक नकारात्मक वजन का अर्थ है “अगर यह इनपुट अधिक है, तो आउटपुट को कम करें।”

पूर्वाग्रह एक ऑफसेट है। यह न्यूरॉन को अपनी निर्णय सीमा को स्थानांतरित करने का एक तरीका है भले ही सभी इनपुट शून्य हों। इसे न्यूरॉन की आधारभूत प्रवृत्ति के रूप में सोचें - क्या यह कोई डेटा आने से पहले 1 या 0 आउटपुट करने की ओर झुकता है? [4][5]

सक्रियण फंक्शन - न्यूरॉन्स को गैर-रैखिकता की क्यों जरूरत है

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

(w1*x1 + b) → (w2*(w1*x1 + b) + b2) → अभी भी सिर्फ एक लाइन

सक्रियण फंक्शन इसे तोड़ता है। यह भारित योग पर लागू किया गया एक गैर-रैखिक फंक्शन है। सामान्य विकल्प:

  • ReLU (Rectified Linear Unit): अगर इनपुट नकारात्मक है, तो आउटपुट 0। अन्यथा, इनपुट को आउटपुट करें। सरल लेकिन शक्तिशाली।
  • सिग्मॉइड: आउटपुट को 0 और 1 के बीच दबाता है। संभावनाओं के लिए अच्छा।
  • Tanh: सिग्मॉइड के समान लेकिन -1 और 1 के बीच आउटपुट करता है।

सक्रियण फंक्शन यह है जो न्यूरॉन्स को दिलचस्प तरीकों से जोड़ने देता है जटिल संबंधों को मॉडल करने के लिए [3]।

एक न्यूरॉन उपयोगी नहीं है। कई हैं।

एक एकल न्यूरॉन? बहुत शक्तिशाली नहीं। यह डेटा की दो श्रेणियों के बीच एक सरल रैखिक सीमा सीख सकता है। लेकिन सैकड़ों या हजारों को एक साथ जोड़ें - उन्हें परतों में व्यवस्थित करें जहाँ प्रत्येक परत का आउटपुट अगले में खिलाया जाता है - और अचानक आप अविश्वसनीय रूप से जटिल पैटर्न सीख सकते हैं [1]।

वह स्तरबद्ध व्यवस्था तंत्रिका नेटवर्क है। पहली परत कच्चे इनपुट को संसाधित करती है। बीच की छिपी परतें संकेत को परिष्कृत करती हैं। आउटपुट परत आपको अंतिम उत्तर देता है। न्यूरॉन्स के बीच प्रत्येक कनेक्शन का अपना वजन है, और प्रशिक्षण के दौरान, ये सभी एक साथ समायोजित होते हैं [3]।

तो इसे न्यूरॉन क्यों कहते हैं?

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

समरूपता तेजी से टूट जाती है अगर आप इसे बहुत दूर तक ले जाते हैं। असली न्यूरॉन्स बहुत अधिक जटिल हैं, विभिन्न प्रकारों के साथ, समय पर निर्भर गतिशीलता, और रासायनिक प्रक्रियाएं जो हम पूरी तरह से नहीं समझते हैं। लेकिन एआई मॉडल बनाने के उद्देश्यों के लिए, समरूपता पर्याप्त करीब है [1][2]।

व्यावहारिक निष्कर्ष

जब आप एक तंत्रिका नेटवर्क बना रहे हों या उपयोग कर रहे हों, न्यूरॉन्स को लघु प्रोग्राम के रूप में न सोचें। उन्हें समायोज्य गणितीय गेट के रूप में सोचें। प्रत्येक सरल है। अपने आप में मूर्ख भी। बुद्धिमत्ता कई से आती है, डेटा से सीखते हैं, और उनके वजन उपयोगी मानों में परिवर्तित होते हैं।

एक फंक्शन एक निश्चित व्यवहार है जो एक बार लिखा जाता है और हमेशा के लिए चलता है। एक न्यूरॉन एक सीखने योग्य घटक है जो डेटा के आधार पर अनुकूल होता है। वह मूल अंतर है, और यह है कि तंत्रिका नेटवर्क ऐसी चीजें कर सकते हैं जो पारंपरिक प्रोग्रामित फंक्शन नहीं कर सकते।

अंत

स्रोत

  1. कृत्रिम न्यूरॉन क्या है? | TechTarget से परिभाषा
  2. कृत्रिम न्यूरॉन - विकिपीडिया
  3. तंत्रिका नेटवर्क: नोड्स और छिपी परतें | मशीन लर्निंग | डेवलपर्स के लिए गूगल
  4. पर्सेप्ट्रॉन क्या है? - तंत्रिका नेटवर्क की बेसिक्स | Towards Data Science
  5. पर्सेप्ट्रॉन: कृत्रिम तंत्रिका नेटवर्क का बिल्डिंग ब्लॉक