நரவலைகள் ஒர் அலசல்
செய்யறிவின் (Artificial Intelligence) உறுப்பான கற்குங்கருவியியல் (Machine Learning) கடந்த பத்தாண்டுகளில் எதிர்பாராத அளவிற்கு நுட்பமான செயல்களைப் புரிந்து வருகிறது. படத்தைப் பார்த்து அதில் இருப்பவற்றைக் கண்டறிவது தொடங்கி மொழிபெயர்ப்பு வரை பலதரப்பட்ட சிக்கலான வேலைகளைச் செம்மையுறச் செய்து காட்டியுள்ளது. அதனைப் பற்றி விரிவாக இக்கட்டுரையில் காண்போம்.
மனிதரின் உடலில் ஒவ்வொரு உறுப்பும் சிறப்பானதுதான். மூளையை தனிச் சிறப்பானதாகச் சொல்ல முடியும். காரணம் அதன் துணை கொண்டு கண்கள் வழியே வண்ணங்களைப் பார்க்க முடியும். சிறுவயதில் நாம் பார்த்து பழகிய அனைத்தையும் நம்மால் எளிதில் அடையாளம் கண்டு கொள்ள முடிகிறது. உதாரணத்துக்கு பூனை மற்றும் நாய்க்கான வித்தியாசம் என்பது நமக்கு பார்வையில் உருவாகி பின்னர் பெரியவர்களால் விளக்கமாக சொல்லி தரப்பட்டு பின்நாளில் அதனை நம்மால் எளிதில் பிரித்து உய்த்துணர முடிகிறது. இதனை கணினியை கொண்டு செய்ய இயலுமா என்று யோசிப்போம்! கண்டிப்பாக செய்ய முடியும் !
முதலில் கணினியின் வளர்ச்சியை ஒரு சிறு குறிப்பு மூலமாக அறியலாம்
* 1642-ல் பிளைஸ் பாஸ்கல்(Blaise Pascal) முதல் கூட்டல் கணினியை உருவாக்கினார் தந்தைக்கு அலுவலக கணக்கு போடுவதில் உதவுவதற்காக, 3 ஆண்டுகள் கடுமையாக முயன்று கணக்கு போடும் இயந்திரத்தை உருவாக்கிப் பரிசளித்தார்.
* 1834ம் ஆண்டு கணிதத்தையும், எந்திரத்தையும் இணைத்து பகுப்பாய்வுப்பொறி Analytical Engine என்ற முதல் கணினியை சார்லஸ் பாபேஜ் (Charles Babbage) உருவாக்கினார்.
* 1843ம் ஆண்டு Analytical Engineக்கு நிரலாக்க மொழி எழுதியவர் அடா லவ்லேஸ் (Ada Lovelace), உலகின் முதல் புரோகிராமராக அறியப்படுகிறார்.
* 1943 ஆம் ஆண்டில், வாரன் மெக்கல்லோக் (Warren McCallough) மற்றும் செய்யறிவின் (Artificial Intelligence) உறுப்பான கற்குங்கருவியியல் (Machine Learning) கருவிகள் கடந்த பத்தாண்டுகளில் எதிர்பாராத அளவிற்கு நுட்பமான செயல்களைப் புரிந்து வருகிறது. படத்தைப் பார்த்து அதில் இருப்பவற்றைக் கண்டறிவது தொடங்கி மொழிபெயர்ப்பு வரை பலதரப்பட்ட சிக்கலான வேலைகளைச் செம்மையுறச் செய்து காட்டியுள்ளது.ஆகியோர் “நரம்பியல் வலையமைப்பின் முதல் கணித மாதிரியைப் பதிப்பித்தனர்.
* 1950ம் ஆண்டு அலன் டூரிங் (Alan Turing) ஒரு சோதனையை அறிமுகப்படுத்துகிறார் – டூரிங் சோதனை – இயந்திரங்களின் நுண்ணறிவை சோதிக்கும் ஒரு வழி.
* 1955ம் ஆண்டு செய்யறிவு (Artificial Intelligence)/செயற்கை நுண்ணறிவு என்ற சொல் நிறுவப்பட்டது.
* 1965ம் ஆண்டு ELIZA என்ற இயன்மொழியாள்கை (natural language processing) உருவாக்கப்பட்டது – கணினியை மொழியோடு உறவாடச்செய்தல்.
மனித மூளையில் ஏறக்குறைய பலகோடி நரம்பணுக்கள் உள்ளன. ஒவ்வொரு அணுவும் மற்ற ஆயிரக்கணக்கான அணுக்களோடு பின்னப்பட்டிருக்கும். இப்படியான பின்னப்பட்ட அணுக்களின் எண்ணிக்கை ஏறத்தாழ பலநூறு கோடி அணுக்கள் என்று அறிவியலாளர்கள் கூறுகிறார்கள். கணினியில் எப்படி எளிமையான செயலாக்கம் கொண்ட டிரான்சிசுட்டர்கள், பல்லாயிர எண்ணிக்கையில் சேர்ந்து இயங்கும்போது கணினி வியத்தகு செயல்களைச் செய்கிறதோ அப்படியே எளிமையான நரம்பணுக்கள் கூட்டாக இயங்கும்போது மூளை வியத்தகு வேலைகளைச் செய்கிறது. இயற்கையாக அமைந்த மூளையின் செயலையும் அமைப்பையும் உந்துதலாகக்கொண்டு செய்யறிவறிஞர்கள் படைத்தது தான் செய்நரவலை (Artificial Neural Network) சுருக்கமாக செ.ந.வ (ANN).
மனிதனின் அறிவியல் கண்டுபிடிப்புகள் அனைத்தும் கடின வேலைகளை எளிதாக்கின. அதில் கவனத்தில் கொள்ள வேண்டியவை இரண்டு.
௧. Generalization to Specialization ஒன்று பொதுமையிலிருந்து விதுமை நோக்கி பயணிக்கும் இயல்பு. எடுத்துக்காட்டாக நாம் வீடுகளில் வளர்க்கும் நாய், வேட்டைக்கென்று தனியாகவும், துப்பறிவதற்கு என்று தனியாகவும் இனப்பெருக்கம் செய்யப்படுகிறது.
௨. இரண்டாவது, மூளைச் சுமையைக் குறைக்கும் எந்த உத்திகளும் உயிர் உள்ளவை கிடையாது. மாந்தரின் அறிவுத்திறனை எந்த விலங்கைக் கொண்டும் ஈடு செய்ய இயலவில்லை. பொதி சுமக்கும் கழுதை வேறெந்த வேலையையும் கற்காது. பயணத்திற்கு மாட்டுவண்டியில் பூட்டிய காளைகள் நிலத்தை உழலாம், ஆனால் எத்தனை ஆண்டுகள் வேளாண் நிலத்தில் கிடந்தாலும் அது வேளாண்மை கற்காது.
இருபதாம் நூற்றாண்டு வரை இப்படித்தான். அலான்சோ சர்ச்சு என்பாரும், ஆலன் டூரிங் என்பாரும் கணினியியலை ஒரு துறையாக நிறுவிய பிறகே பொதுமையிலிருந்து-விதுமை விடுத்து பொதுமை நோக்கித் திரும்பியது அறிவியல். கணினி என்ற ஒரே கருவியை ஒன்றுக்குமேற்பட்ட பல்வேறு பணிகளைச் செய்யுமாறு பணிக்கமுடியும் என்ற நிலையை எட்டியது கடந்த நூற்றாண்டில்தான். கணினியை தேவைக் கேற்ப பணிக்க அவற்றுக்கு என்ன செய்யவேண்டும் என்று அறிவுறுத்த வேண்டும். அப்படி அறிவுத்தும் முறைகளை இருபெரும் பிரிவுகளாக பிரிக்கலாம்.
* நிரலாக்கம்(Programming) என்பது பணிகளின் செய்முறையை ஆய்ந்து என்னென்ன செய்யவேண்டும், எந்த வரிசையில் செய்யவேண்டும் என்று கட்டளைகளை எந்தவிதப் பொருள்மயக்கமும் (பொருள்மயக்கங்கள் தான் நிரல் வழுக்களுக்கு(programming bugs) முதற்காரணம்) இல்லாமல் தெளிவாக நிரலாய் தரித்துத் தருவது.
* மாறாக ஒவ்வொரு பணியின் செய்முறைக்கும் நிரல் தரிக்காமல், மாந்தர் எப்படி கற்கின்றனரோ அப்படிக் கற்கச் செய்வது செய்யறிவாகும் (Artificial Intelligence). செய்யறிவில் கணினியோ/கருவியோ எப்படி கற்கிறது, என்ன கற்கிறது என்பதைப் பொறுத்துப் பல துறைகள் அதனுள் அடங்கும்.
அதில் ஒன்று தான் கற்குங்கருவியியல்(Machine Learning). இதையிதை இப்படித்தான் செய்யவேண்டும் என்று கட்டளைகளை எழுதாமல், என்ன செய்யவேண்டும் என்பதை எடுத்துக்காட்டுகளிலிருந்து கணினியை கற்க செய்வது கற்குங்கருவியியல்.
ப. தமிழ் அரசன், மு. செல்வக்குமார்
tamilarasanbakthavatchalam@gmail.com – selva.developer@gmail.com