फ़ॉलोअर

मंगलवार, 4 अप्रैल 2017

न्यूरल नेटवर्क के सीखने की प्रक्रियाएं -4

पुराने भाग 1, 2, 3

यह श्रंखला artificial intelligence या neural networks से सम्बंधित है । कमोबेश यह उसी प्रकार होता है, जैसे प्राणियों में सीखना होता है ।

इससे पहले के भागों में हमने देखा कि पूर्वाग्रह क्या होता है, पहचान और निर्णय कैसे होते हैं, और "सीखना" कैसे होता है । इस भाग में हम -

1. सीखने  के प्रकार (learning paradigms ) पर बात करते हैं , और

2. सीखने की विधियों ( learning algorithms ) के नाम देखेंगे (इनकी विस्तृत चर्चा अगले भाग में करूंगी, यह पोस्ट अधिक लम्बी हो जायेगी )।

--------------------------------------------------------------

Learning paradigms : यह वे तरीके हैं, जिनसे न्यूरल नेटवर्क अपने आस पास की बाहरी दुनिया के बारे में जानकारी प्राप्त करता है । यह बाहर की दुनिया के साथ interaction करने के प्रकार हैं, भीतर से सीखने के नहीं ।   इनमे तीन मुख्य प्रकार हैं -

1. Learning with a teacher (गुरु की मदद से सीखना)
2. Learning without teacher with supervision (with critic ) (आलोचक / समीक्षक की सहायता से गुरु के बिना सीखना )
3. Unsupervised learning (स्वयं सीखना)

-------------------------
1. Learning With Teacher

Learning With Teacher
इस प्रकार की प्रक्रिया इस तरह से काम करती है कि , "शिष्य" और "गुरु" दोनों ही नेटवर्क्स को बाहरी परिवेश से एक ही इनपुट वेक्टर मिलता है, और दोनों अपना अपना निर्णय लेते हैं । फिर दोनों के निर्णय के तुलना की  जाती है  । शिष्य और गुरु नेटवर्क में फर्क क्या है ?? कुछ भी नहीं, सिवाय इसके की , गुरु नेटवर्क पहले बना है, और वह परिवेश के बारे में पहले से सीख चुका है । यही बात इस तरह से देखिये - जीवन में मैं "teacher" के रूप में कार्य कर रही हूँ, और "शिष्यों" को पढ़ाती हूँ । क्या फर्क है मुझमे और उनमे ? सिर्फ - the accident of the date of birth  :) । यदि वे मुझसे 20 साल पहले जन्म लेकर पढ़ आये होते, तो आज वे मुझे पढ़ा रहे होते, मैं उनकी शिष्य होती ।

तो - "गुरु" नेटवर्क परिवेश के बारे में पहले ही सीख चुका है । वह इनपुट के सम्बन्ध में जो भी निर्णय ले वह "सही "निर्णय या desired output माना जाएगा । और शिष्य का निर्णय इसके साथ जांचा जाएगा । यदि तो शिष्य का उत्तर गुरु के उत्तर के साथ मिल रहा हो,. तो शिष्य को कुछ नहीं करना है । किन्तु यदि उत्तर आपस में न मिलें, तब ? तब बदलाव गुरु में नहीं, सिर्फ शिष्य में आने वाला है इस परिस्थिति में, क्योंकि गुरु feedback loop में नहीं है । सोचिये की एक शिक्षक नन्हे बच्चों को
      अ - अनार का,
      आ - आम का,
       इ - इमली का आदि सिखाता है ।

अब परिवेश से इनपुट आता है यह चित्र ---

* यह इनपुट परीक्षा के लिए प्रधानाध्यापक जी ने दिया है -
* यह प्रश्न " teacher" और "student " दोनों को मिला है ।
* Teacher (जो पहले से सीख चुका है, वह "इसके आगे "" (आम का)  अक्षर होना चाहिए" ही कहेगा । 
* यदि
शिष्य भी "" (आम का)  लिखे - तो उसे कोई बदलाव करने की आवश्यकता नहीं क्योंकि "error "सिग्नल शून्य है

* लेकिन
यदि शिष्य "आ " न लिख कर कोई और अक्षर लिखे - तो उसे और सीखना होगा ।

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

शिष्य तब तक पास नहीं हो सकेगा - जब तक गुरु उसे "सीख चुका" घोषित न करे । { मज़ाक नहीं है यह - हम कर्नाटक में रहते हैं - मेरे बेटे को कई साल पहले यहाँ के एक सर हिंदी पढ़ाते थे जो हिंदी नहीं जानते थे । तो उन्हें मुहावरों के अर्थ सिखाते हुए ऐसे बड़े मज़ेदार (?) किस्से होते रहे । मैं यदि बेटे को सही अर्थ सिखा भेजती भी थी तो वहां लिखने पर उसके अंक कट जाते थे ) कल परसों ही सुज्ञ जी की एक पोस्ट पर यह लिखा मैंने टिप्पणी  में कि आजकल बोर्ड परीक्षाओं में कई शिक्षक खुद नक़ल कराते हैं - तो शिष्यों के यह कैसे सिखाया जाए कि नक़ल करना बुरा है ?

--------------------------

2. Learning without a teacher, in the presence of a critic :

Learning without a teacher, in the presence of a critic  
यह प्रक्रिया ऊपर वाली प्रक्रिया से भिन्न है । पहली बात तो यह है कि शिष्य का उत्तर "गुरु" जांच नहीं रहा है - गुरु तो कोई है ही नहीं । शिष्य को जानने वाले "एक्सपर्ट" से "सलाह" मिल रही है की ऐसा होना चाहिए, ऐसा नहीं । किन्तु वह बाध्य नहीं है इसे मानने के लिए । शिष्य का आउट पुट वापस वातावरण को प्रभावित करता है । और वातावरण क्रिटिक को । तो समय के साथ वातावरण भी बदल सकता है, क्रिटिक भी बदल सकता है, शिष्य भी, और यह भी हो सकता है की दोनों ही न बदलें । जो "reinforcement " है, वह शिक्षण नहीं है । वह सिर्फ एक माहौल है, जो उस समय उन परिस्थितियों में "सही" माना जा रहा है । स्टुडेंट नेटवर्क 100 में से 95 स्थतियों में इसे मान भी लेगा , लेकिन शत प्रतिशत ऐसा नहीं होगा । तो नेटवर्क खुद तो सीखेगा ही, किन्तु सीखते हुए जब वह क्रिटिक से सहमत न होगा, तब नेटवर्क के साथ ही परिवेश भी धीरे धीरे बदलता रहेगा ।

इसके उदाहरण मानवीय सन्दर्भों में । हम जब स्कूल में थे, तब रंग को अंग्रेजी में colour लिखा जाता था । यदि color  लिखा, तो अंक कट जाते थे । लेकिन आज word processors, colour लिखने पर उसे गलत और color को सही बताते हैं । इसी तरह से schedule  को शेड्यूल न पढ़ कर स्केड्यूल पढ़ा जाता है । programme शब्द अब program  बन चुका है । हिंदी फिल्मों की हिरोइन साडी की जगह सलवार कमीज़ पहनने लगी, फिर अब वेस्टर्न ड्रेसेज में ही दिखती है । पिता बूढ़े, थके, सफ़ेद बालों वाले, और धोती कुरते में नहीं, सूटेड बूटेड और कनपटी पर हलकी सफेदी लिए नज़र आते हैं । 

ध्यान दीजिये - विज्ञापनों की माएं भी बदली हैं, परन्तु उतनी नहीं जितनी फिल्मों की । क्योंकि दोनों के टार्गेट औडीएन्स अलग हैं । विज्ञापन अधिकतर गृहिणियों के अपना उत्पाद बेचने के लिए हैं, परिवेश अलग है, क्रिटिक अलग है । तो विज्ञापनों की बेटियां और माएं यदि अधिक ग्लैमरस हुईं, तो अपने दर्शको (उपभोक्ताओं) को दूर कर देंगी । सो वहां परिवेश कम बदला है । वे अब भी थोड़ी मोडर्न तो हैं , लेकिन अल्ट्रा मोडर्न नहीं हैं । लेकिन फिल्म की हिरोइन दर्शकों को टिकट खिड़की पर लाने के लिए है । तो वहां का परिवेश अधिक तेज़ी से बदला, क्योंकि ज्यादा तादाद में "स्टुडेंट" नेटवर्क्स ने परिवेश को समझने वाले  क्रिटिक के विरुद्ध जाने का रिस्क लिया, तो लर्निंग रेट तेज़ रहा । 

----------------------
3. Unsupervised Learning  

Unsupervised Learning 
इसमें कोई किसीको नहीं सिखाता । स्टुडेंट सीखना चाहे और सीख पाए - तो सीखेगा । नहीं, तो नहीं सीखेगा । लेकिन परिवेश कभी नहीं बदलेगा, feedback है ही नहीं । यदि नहीं सीखे, तो survival कठिन है । इसके उदाहरण हैं, जैसा की हमने कहानी सुनी है, मोगली / टार्ज़न की । एक बालक कुछ सीखने समझने की उम्र से पहले ही जंगल में खो जाता है । उसे सिखाने को न वहां गुरु है, न ही क्रिटिक । उसे अपने आप ही सीखना है  ।वह सीखे या न सीखे, परिवेश नहीं बदलने वाला  । कोई उसे बताने वाला भी नहीं की उसने जो सीखा वह सही है, गलत है या कुछ और । वह सीख लेगा, तो जीवित रहेगा, नहीं सीखेगा तो पता नही क्या होगा । यह है अन्सुपर्वाइज्ड लर्निंग ।

--------------------
अगले भाग में हम learning algorithms देखेंगे ।
इनमे प्रमुख हैं -
1. error correction learning,
2. hebbian learning,
3. competetive learning and
4. memory based learning

यदि यह श्रंखला बहुत टेक्नीकल हो रही हो, तो मुझे बताइये । प्रयास तो कर रही हूँ इसे सिम्पल रखने का, पर नहीं जानती की यह कैसा हो पा रहा है  ।

अगले भाग तक तक - विदा ।

15 टिप्‍पणियां:

  1. इस उपयोगी विषय को यथासंभव सरल रूप में हम सबके साथ शेयर करने के लिए आपका बहुत बहुत आभार|

    जवाब देंहटाएं
  2. अगर बात मेरी समझ में आने लगी है तो सरल ही मानूंगा। धन्यवाद! शृंखला जारी रहे!

    जवाब देंहटाएं
    उत्तर
    1. जी,ज़रूर - जारी रहेगी अभी तो | interesting part तो अब आना है आगे - की सीखना इनपुट्स के प्रति और bias के प्रति कैसे होता है :) |

      हटाएं
  3. इसे पुस्तकाकार रूप दें तो यह बहुत महत्वपूर्ण योगदान होगा -मनोविज्ञान और व्यवहार विदों के लिए ...

    जवाब देंहटाएं
    उत्तर
    1. जी मिश्र सर | इंग्लिश में तो टेक्निकल किताब पब्लिश करने ही वाली हूँ - B.E. Course के लिए | कर्नाटक में तो आस पास के कई कॉलेज के lecturers मेरे नोट्स इस्तेमाल कर रहे हैं "न्यूरल नेटवर्क एंड फजी लोजिक" के लिए | हिंदी में अभी तक सोचा नहीं था | शब्द खोजना बहुत कठिन होता है मेरे लिए हिंदी में | फिर भी, आपने आइडिया दिया है, तो सोचूंगी ज़रूर इस बारे में | thanks :)

      हटाएं
  4. मेरे लिए तो वाकई बहुत कठिन है :(
    विषय कठिनता टेक्नीकल गम्भीरता को लेकर नहीं, थोडा सरल सुगम हो जाय यह शृंखला !!
    बाकी विषय बहुत ही विशिष्ठ और उपयोगी है।

    जवाब देंहटाएं
    उत्तर
    1. aabhaar
      @ मेरे लिए तो वाकई बहुत कठिन है
      ... :(
      yathasambhav prayas karoongi ise saral karne ka

      हटाएं
  5. जब मैं कॉलेज में पढता था कोई ४ साल पहले तक तो इलेक्ट्रोनिक्स लैब में भी जाया करता था शौकिया (मैं माइनिंग से हूँ) और प्रोफ़ेसर भट्टाचार्य कभी भी मना नहीं करते थे किसी सवाल पर।
    तो मेरे लिए तो बढ़िया है! बहुत बढ़िया! :)

    जवाब देंहटाएं
    उत्तर
    1. :) professor mehta bhi mana nahin kar rahi hain :)

      Please do read the earlier parts too. i am sure you will enjoy this series.

      हटाएं
    2. Ohh! Have already been all three. Loved the 3rd one most. Just realized that I didn't commented there. My bad. :(

      हटाएं
  6. मुझे दो बार पढ़ना पड़ेगा पर रोचक है तो पढ़ ही लूंगी समझ में नहीं आया तो ...लेकिन आ जाएगा ...:-)

    जवाब देंहटाएं
  7. इस विषय पर एक समय में काफी पढ़ा था .. इसलिए मैं इसे एक संग्रहणीय लेख और एक बेहतरीन प्रयास कहूँगा !

    जवाब देंहटाएं
  8. सुन्दर जानकारीपूर्ण प्रस्तुति.
    काफी सरल बनाने की कोशिश की है आपने.
    सार्थक प्रयास के लिए आभार.

    जवाब देंहटाएं