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

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

இனிய புத்தாண்டு வாழ்த்துக்கள் 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. மற்ற பங்களிப்பாளர்களை உடனடியாக பரிசோதிக்க வேண்டிவது.

நன்றி.