எழில் கணினி நிரலாக்கம் – பயிற்சிப்பட்டறை – மீள்பார்வை

2017-இல் ஒரு பயிற்சிப்பட்டறைக்காக உருவாக்கப்பட்ட காட்சிகோப்புகள் – இதனை கணினி நிரலாக்கம் பயிலவேண்டுமானவர்கள் கண்டிப்பாக படிக்கலாம். மத்தபடி இந்த பட்டறை மாநாட்டில் நடந்ததா என்ற கதையை நீங்கள் எனக்கு ஒரு பீர்/காப்பி (இடம்-பொருள்-நேரம்) எல்லாம் பொருத்து கட்டவிழ்த்து விடுகிறேன். அதுவரை பார்த்து/படித்து மகிழவும்.

சில ஆய்வுகள்

“Tamil Vowel Recognition With Augmented MNIST-like Data Set,” https://arxiv.org/abs/2006.08367

சமிபத்தில், கவிஞர் சல்மா வரிகள் போல, எல்லாரும் வௌவால்களா இந்த கொரொனாவினால் நிலைகுலைந்தனர். அவர்களின் நீண்ட பட்டியலில் நானும் ஒருவன் – ஆனால் அதிகளவு பாதிப்பு ஏதுமில்லை – வீடு, வாசல், சோறு, தண்ணி இதுக்கெல்லாம் திண்டாட்டம் இல்லை என்றாலும், இங்கு அமெரிக்க மண்ணில் 20% வேலையிழந்த பலரையும் போல் வேலைக்கு மட்டும் காவுவாங்கிட்டேன்.

சரி. இந்த நேரத்தில் மற்ற சிலபல செயல்கள் முடிவில்லாமல் தொடங்கியதை முடித்துவைக்க சில படிகள் எடுக்க நேரம் கிடைத்தது. மேலோகத்தில் இருப்பவன், என்றும் அதை நப்புபவர்கள், ஒரு கதவை மூடினால் மற்றொரு கதவை திறப்பார் என்றபடியாக இது தமிழ் வெளியில் எப்போதும் நம்மளை கொண்டு சேர்த்தது.

மொத்தம் 3-ஆய்வுகள், பெரும்பாலும், முடிவு பெற்ற நிலையில் இருந்தன; அவையாவன,

கட்டுரை தலைப்பு – PDF கோப்புகள்
1Tamil Vowel Recognition With Augmented MNIST-like Data Set
2Generation and Parsing of Number to Words in Tamil
3Algorithm to Correct Missing ​Pulli​-Signs in Printed Tamil Text
கொரோனா காலத்தில் உண்டாக்கிய ஆய்வுக்கட்டுரைகள்
  1. தமிழ் உயிரெழுத்துக்கள் செயற்கைப்பின்னல் வழியாக திறன்கண்டுகொள்வது. இதை, ஜூன் 2019-இல் தொடங்கிய ஒரு ஆய்வு என்றாலும் இந்த மூன்று கால இடைவெளியில் தான் இன்று முடிவடைந்தது. இதனை ArXiV-இல் கற்பூரம் மீது சத்தியமிட்டாமல் ஏழு நாள் தாமதத்துடன் வெளியானது. தலைப்பு: “Tamil Vowel Recognition With Augmented MNIST-like Data Set,” https://arxiv.org/abs/2006.08367
  2. அடுத்த கட்டுரை “Generation and Parsing of Number to Words in Tamil”, இதை ArXiV ஏற்க மறுத்தது – காரணம் எங்கள் வாசகர்களுக்கு இது சுவாரசியமானதல்ல என்ற சாக்கைச்சொல்லி மழுப்பினார்கள். இதை நான் மற்றொறு மொழியியல் மாநாட்டிற்கு அனுப்பியுள்ளேன் – என்ன விளைவு என்று பார்க்கலாம்.
  3. அடுத்த கட்டுரை “Algorithm to correct missing pulli signs in printed Tamil text,” என்பது [2] போல் அதே கதி. பார்க்கலாம்.
  4. கடைசியாக எழுத நினைத்தது ஆனால் நேரம் கிடைக்கவில்லாமல் போனது என்றால் “தமிழில் சொற்களை ஒலி எண்களாக பிரிப்பது” (Syllable identification) என்பதை bigram/unigram என்ற எழுத்தளவான புள்ளியியல் வடிவில் கொண்டு இவற்றை செயல்படுத்துவது. இதற்கு உங்களுக்கு ஆர்வம் இருந்தால் என்னுடன் இணைந்து செயல்படலாம் வாங்க.

இந்த பேரிடர் காலகட்டத்தில் என்னை அடைக்கலம் கொடுப்பதில் ஒன்று மொழி, மொழியியல் அதில் வசிக்கும், செயல்படும் அஞ்சா நெஞ்சர்கள். இதையும் காலம் கடந்து செல்வோம். உருதுணையாக இருந்தவர்கள் அனைவருக்கும் நன்றி.

-முத்து

குவாண்டம் கணிமை

குவாண்டம் நிலைகள் என்பவை நுன்உலக செயல்பாட்டின் குவாண்டம் விதிகளை கொண்டு அதன் முக்கிய அம்சமான entanglement (நிலை சிக்கல்பாடு) மற்றும் superposition (பல் நிலைப்பாடு) என்ற விதிகளினைகொண்டு புதுவிதமாக பல்னிலைகளை ஒரே நேரத்தில் அனுகும் வகை நிரல்கள்; இவற்றை எழுத முற்படும் தொழில்னுட்பம் குவாண்டம் கணிமை.

இதில் சிந்திக்கவும், இயற்பியல் அறிவினை கணிமையில் கலக்கவும் மாற்றுத்திசையில் சிந்தனைகள் ஊடுறுவவும் செய்வதினால் பல விடைகள் தீராத கணிமை சிக்கல்களுக்கு விடை கிடைக்கும் என்று அறிவியலாளர்களால் எதிர்பார்க்கப்படுகின்றது.

தற்சமயம் 20இல் இருந்து 30 குவாண்டம் பிட்கள் கூபிட் என்ற அளவிலான கணிதங்களை சராசரி கணினியில் பரிசோதனையாகவும் NMR, Ion Trap, SQUID வழிமுறை குவாண்டம் கணினியிலும் செயல்படுத்த முடிகின்றது. இந்த நிலை விரைவில் (சில ஆண்டுகளில்) மாறலாம்.

மேலும் படிக்க பல சுட்டிகள் – https://github.com/desireevl/awesome-quantum-computing

தமிழ் உரை சம்பந்தமான சில புதிர்கள்

தமிழ் செயற்கையறிவு மற்றும் எந்திர வழி உரை பகுப்பாய்வு போன்ற செயல்பாடுகளின் திறன் தினமும் வளர்ந்து கொண்டே போகின்ற சமயத்தில் (செயற்கையறிவு என்ற பேரலையின் முதுகில் பயணிக்கின்றது என்றபடியாக) இவற்றினால் கடக்கவேண்டிய சில புதிர்கள் என்ன (என்பார்வையில்) என்று இந்த பதிவில் அலசலாம்.

  1. இருபால் சமநிலைப்பாடுத்தல் (gender balanced text)
    • அரசாங்கம், வணிக கார்ப்ரேட் நிறுவனங்கள் தினசரி புழக்கத்தில் பல செய்திகள் விளம்பரப்படுத்தலுக்கும், உள்நிறுவன செயல்பாட்டிற்கும் பகிர்ந்துகொள்ள வேண்டியிருக்கும். இத்தகைய செய்திகளில் சில் கேள்விகள் எழுகின்றன:
      • இந்த செய்திகள் முழுவதும் இருபாலினருக்கும் சரிசமமாக பாரபட்சமின்றி எழுதப்பட்டுள்ளதா?
      • இப்படி இல்லாவிட்டால் செயற்கையாக உரைதிருத்தம் செய்து இருபால் சம நிலைப்படுத்தல் செய்யலாம ?
    • உதாரணம்: “பணியாளர் வேலைக்கு வந்தால் அவர் மனைவியிடம் ஒப்புதல் பெற வேண்டும்..” என்ற படி ஒரு உரை இருந்தால் அது சமனிலைப்படுத்தப்பட்டபின்  “பணியாளர் வேலைக்கு வந்தால் அவர் மனைவியிடம் (அல்லது அவள் கணவனிடம், [துனைவன்/வியிடம்]) ஒப்புதல் பெறவேண்டும்” என்று வரவேண்டும்.
    • இத்தகைய ஒரு செயற்கையறிவு அல்லது தானியங்கியிடம் திருக்குறள் மற்றும் சம்காலத்தில் உருவாகாத பழங்கால உரைகளைக்கொடுத்தால் என்ன ஆகும் ?

மேலும் சில திறன்களை தமிழ் இயல்மொழிபகுப்பாய்வு பெரும் என்றும் நம்பலாம்; அடுத்தகட்ட கேள்விகள் / புதிர்கள் அடுத்த பதிவில்.

நன்றி

-முத்து

 

செயற்கையறிவு – சில சுட்டிகள்

மெரிட் ஏரி, ஓக்லாண்டு, கலிபோர்னியா.

இனிய புத்தாண்டு வாழ்த்துக்கள் 2020. செயற்கையறிவு – சில கட்டமைப்பு பயிற்சி சுட்டிகளை இந்த பதிவில் நான் பகிர்கின்றேன். எனது குறிக்கோள் என்னவென்றால் – இதனை படிக்கும் நீங்கள் பைத்தான், numpy, tensorflow என்ற நுட்பங்களையும் கட்டமைப்புகளையும் கையாண்டு செயற்கையறிவு திறண்களை ஒரு ஆண்டில் அல்லது குறைவான காலத்தில் நீங்கள் பெறலாம் என்பதாவது. இவை அனைத்தையும் கற்றிட ஒரு கூகில் கணக்கு மட்டும் இருந்தால் போதும் – அவர்களது colaboratory = code + laboratory என்ற இணைய சேவை மிக உதவிகரமானது – இங்கு பார்க்கவும்.

  1. முதலில் உங்களுக்கு பைத்தான் மற்றும் numpy, அணிகளின் கணிதம் (linear algebra – எனுக்கு மிகவும் பிடித்தவர் பேராசிரியர். கில்பட் ஸ்டிராங்.) ஒருபடியாக தேர்ச்சியடைந்திருந்தால் நல்லது. இல்லாட்டி வருத்தப்படாமல் கூகில் செய்யுங்க; StackOverflow செய்யுங்கள்.
  2. ஸ்டான்போர்டு பல்களை செய்ற்கையறிவு பாடம், மற்றும் tensorflow நிரல் மாதிரிகள். இதனை இயற்றியவர் சிப்னுயன் என்பவள். இதன்வழி நீங்கள் tensorflow கற்றிடலாம். இவற்றின் மூலம் சில ஆண்டுகளாக நானும் படித்து வருகிறேன்.
  3. மேலும் படி 2-இல் சிக்கல் நேர்ந்தால் அல்லது உங்களுக்கு அதிக அளவு விவரங்கள் தேவைகள் இல்லாவிட்டால் Keras என்ற கட்டமைப்பையும் பயன்படுத்திடலாம். இவை இரண்டும் இல்லாத மற்ற கட்டமைப்புகளான PyTorch மற்றும் Caffe, CNTK என்றும் உள்ளன – இவற்றை பற்றி சொல்வதற்கு எனக்கு தேர்ச்சி இல்லை;
    1. உங்களுக்கு படிப்பதற்கு இவற்றில் ஏதோ ஓன்றினை மற்றும் படித்தால் போதுமானது; அதாவது இவற்றினிடையே வித்தியாசங்கள் எல்லாம் குளிர்பானங்களினிடையே உள்ள வித்தியாசங்களினை மட்டும்தான் என்ற்படி உணரவேண்டும்; நீங்கள் இந்த பலவிதமான செயற்கையறிவு கட்டமைப்புகளினிடையே காணமுடியும் என்றும் சொல்லாம்.
  4. தமிழில் ஒரு முதல் முறையாக சென்ற ஆண்டு வெளிவந்த நூல் “எளிய தமிழில் Machine Learning,” கணியம் திருமதி. து. நித்தியா. இதனை கிண்டில் மின்கருவி/செயலி அல்லது PDF-இலும் இங்கு படிக்கலாம்.
  5. எது செய்தாலும் நீங்கள் பயிற்சி நோக்கில் செய்பட எனது வலியுருத்தல். ஏட்டு சுறைக்காய் கறிக்கு என்றும் உதவாது என்றும் நாம் அறிவோம். மேலும் பயிற்சி செய்து சான்றுகள் பெற இணைய வழி பல்கழைக்கழாக்ங்களும் உதவுகின்றன – Coursera, Udacity போன்றவை.

இந்த செயற்கையறிவு நிரல்களை கொண்டு சில 5 ஆண்டுகளுக்கும் முன்பு எவராலும் இயல்முடியாத செயல்களை இந்த செயற்கை நரம்பு பின்னல்கள் (Deep Neural Networks) என்பவை சாத்தியப்படுத்துகின்றன. இந்தியாவில் இதை எழுதும் சமயம் 50% மேலான மக்கள் 30 வதிற்கும் குறைந்தவர்கள் – இந்த வழி திறண்களைக்கொண்டு புதிய சேவைகளையும் பலதுரைகளின் உருவாக்கியும் வழங்கியும் வாழ்வினை செம்மைப்படுத்தலாம்.

உதாரணம்:

  1. தானியங்கி கார்கள்/வாகனங்கள் செயல்படுத்துதல்: Tesla, Waymo, Cruise போன்ற பல நிறுவனங்கள் இவற்றினை செயல்படுத்துகின்றனர்.
  2. கணினி காட்சி அறிவியல்/உணர்தல்: ImageNet என்ற பல மில்லியன் படங்கள் கொண்ட தறவில் இருந்து பயிற்சி செய்யப்பட்ட செயற்கை நரம்பு பின்னல் 1000-வகையான பொருட்களை மனிதர் திறன் காட்டிலும் துல்லியமாகக் கண்டறிய உதவும். இவற்றைக்கொண்டு என்ன செய்யலாம் – யோசியுங்கள் ?
  3. மொழியில் சேவைகளும் NLP கணினியில் செம்மைபடுத்த இவைகள் உதவும்;
    1. மொழி உரை, ஒலி உணர்தல். (Comprehension)
    2. மொழி உரை->ஒலி மாற்றி (TTS)
    3. மொழி ஒலி -> உரை மாற்றி (ASR)

மேலும் பல. நீங்கள் முயற்சி செய்வீர்களா?

-முத்து.

மென்பொருள் வெளியீட்டில் உள்ள சிக்கல்கள்

சமிபத்தில் ஓப்பன் தமிழ் வரிசை எண் 0.95-ஐ பதிவாக்கி வெளியிட்டோம். ஆனால் ஒரு பெரிய சிக்கல் – இது பொது பயன்பாட்டில் வேலை செய்யவில்லை.

ஏன் என்று பார்த்தால் :

1. PyPi – தளம் மேம்பாட்டின்/மாற்றத்தின் காரணமாக reST என்ற படிவத்தில் மற்றுமே நிரல் தொகுப்புகளின் குறிப்புகளை ஏற்றுக்கொண்டவகை ஆனது. நாங்கள் எப்போதுமே MD படிவத்தில் மட்டும் தான் இந்த குறிப்புகளை எழுதுவது வழக்கமானது. ஆனால் reST குறிப்புகளுக்கு கட்டாயப்படுத்தபட்டோம்.

2. PyPi தளத்தில் நிரல்களை வினியோகல் செய்ய setup.py என்ற நிரல் வழி செயல்படுகின்றது. இந்த நிரல் சரிவர இருந்தாலொளிய பயனரிகளின் நிறுவுதல் கட்டளைகள் வேலைசெய்யாது. ஆகவே, ஓப்பன் தமிழ் நிரல் தொகுப்பு.

 

இதன் காரணத்தை இங்கு பார்க்கலாம்:

bug-pypi

அடுத்த கட்டமாக இதனை நிவரத்தி செய்ய, MANIFEST.in கோப்பில் சரியான தகவல்களை மேம்படுத்தியபின் முதலில் எனது கணினியில் பரிசோதித்தபின், 0.96 வரிசை எண்னை PyPi-இல் பதிவு செய்தேன்.

$ python3 setup.py sdist build

$ python3 -m twine upload dist/*

இதனை, நண்பர்கள் சரிவர உள்ளதாவென்று சரிபார்த்தபின் வழு நீக்கமானதை உணர முடிந்தது.

ஆகவே காரணங்கள் என்னவென்றும், சிக்கல்களை உணர்ந்தபின்னும் பல வழிகளில் இவற்றை மறுமுறை தவிர்க்க வழிகளை கண்டிட நேர்கின்றேன்.

1. அடிக்கடி நிரல்களை வெளியிடுவது. (ஏப்ரல் 2019-இல் உள்ள வெளியீட்டிற்கும், இந்த நவம்பர் மாத வெளியீட்டிற்கும் நடுவில் PyPi தளம் மாற்றம் பெற்றது – இதனை சரிவர கண்டிடலாம்)

2. வெளியீட்டின் பொழுது உடணடியாக பரிசோதிப்பது

3. மற்ற பங்களிப்பாளர்களை உடனடியாக பரிசோதிக்க வேண்டிவது.

நன்றி.