২.১. মেশিন লার্নিং হ্যাক

মেশিন লার্নিং হ্যাক

The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn and relearn.

– Alvin Toffler

আমার ধারণা ‘ক্র্যাক’ করে ফেলেছি জিনিসটা। ‘মেশিন লার্নিং’ শেখার একটা সহজ রাস্তা। শর্টকাট নয়। খুঁজছিলাম অনেকদিন ধরেই। এটা সত্যি যে - রাস্তায় নেমে কুল কিনারা করতে পারছিলাম না প্রথম প্রথম। পয়সা নষ্ট করেছি কিছু অনলাইন ‘মুক’ ট্রেনিংয়ে। গায়ে লাগেনি তখন। হ্যাঁ, কিছুটা শিখেছি আধখেচড়া, এদিক ওদিক থেকে। বন্ধুদের সাথে কথা বলে।

চোখ খুলে দিলো ৬০ ঘন্টার টানা একটা ‘বুটক্যাম্প’। শিকাগোতে। প্রতিদিন ১২ ঘন্টা করে ৫ দিন। আমি নিজেও শিখিয়েছি একসময়। তাই জানি কিছুটা। এধরনের হাতে কলমের ‘এক্সটেন্সিভ’ + ‘রিগোরাস’ প্রোগ্রামগুলো চলে সামরিক বাহিনীগুলোতে। সফটওয়্যার ইন্ডাস্ট্রিতেও দেখা যাচ্ছে এই দশকে। ‘বুটক্যাম্প’কে চলতে হয় ঝড়ের বেগে। ইনস্ট্রাকটররা নিঃশ্বাস ফেলতে থাকেন ঘাড়ে।

সাধারণতঃ একজন ক্লান্ত হয়ে গেলে আসেন আরেকজন। ১২ ঘন্টায় ৪ জন ইনস্ট্রাকটর পাগল করে ফেলছিলেন আমাদের এই বুটক্যাম্পে। কেউ পিছিয়ে পড়লে তাকে তোলার কেউ থাকে না আর। কয়েকটা সুযোগ দেয়া হয় বটে। তবে, সেটা করতে হয় তার নিজের সময়ে। আর একারণে সামরিক বাহিনীতে বুটক্যাম্পে আসার আগেই নিজ গ্যারিসনে চলে কয়েক সপ্তাহের প্রি-কোর্স। মক টেস্ট সহ। বুটক্যাম্পের ধকলের জন্য যোগ্য করে তুলতে।

টেক ইন্ডাস্ট্রিগুলোতে ওই প্রি-কোর্সের ব্যাপারটা ঘটে অনলাইনে। ওয়েবইনার + প্রতিদিনের হোমওয়ার্ক দিয়ে। না শিখে যাবে কই? ব্যাপারটা সোনায় সোহাগা হয় যখন ওখানে যোগ হয় একটা সত্যিকারের সমস্যা। তাও কম্পিটিশন হিসেবে। যে কম্পিটিশনে যোগ দিয়েছে পৃথিবীর সবাই। মানে, সব দেশের মানুষ। মানুষ ভালো শেখে যখন সে নিজে থেকে কিছু করে। উই লার্ন বাই ডুইং। তবে, আরো ভালো শেখে - যখন সে আরেকজনকে শেখায়। মনে আছে তো গ্রুপ স্টাডি’র কথা?

অনেকে বলবেন, পিছিয়ে পড়লো যারা - কি হবে তাদের? ভালো কথা। পুরো বুটক্যাম্প বুঝে বের হওয়া মানুষগুলোর সংখ্যা নিতান্তই কম। আমাদের মতো বুড়োদের তো কথা বাদ আগেই। বুটক্যাম্প শেষে পিছিয়ে পড়া মানুষগুলো সহ সবাইকে ঘাটতে হয় কোর্স ম্যাটেরিয়াল। এটা একটা ‘আবশ্যিক’ জিনিস। বুটক্যাম্পের পর পর। মাস ধরে। তখনই হয় আসল ‘চাঙ্কিং’। মনে আছে কোর্সেরা’র ড. বারবারা ওকলি’র ‘লার্নিং হাউ টু লার্ন’ কোর্সের কথা? ছোট ছোট ‘কনসেপ্ট’ থেকে ‘বিগ পিকচার’! শেখা কতো সহজ হয়ে গেছে এখন! তবে জানতে হবে শেখার পন্থা। ‘আন-লার্ন’ করতে হবে আগের ‘মুখস্থ’য়ের ওই চক্কর।

এখানে একটা কথা বলে রাখি আগে। আমরা একটা স্পেসিফিক প্রযুক্তির ওপর ‘পিএইচডি’ নিতে বসিনি এখন। যা উদ্ভাবন হয়েছে সেটাকে আমাদের ‘লোকাল’ সেটিংয়ে অপটিমাইজ করে ব্যবহার করাটাই হবে লক্ষ্য। তৈরি তো? 'ক্যাগল' কম্পিটিশনের উপযোগী না করতে পারলে আমিই খাওয়াবো উল্টো আপনাকে! মেনু আপনার।

চিটকোড

আমাকে অনেকে প্রশ্ন করেন - ১. কিভাবে শিখবো মেশিন লার্নিং? ২. পাইথন শিখছি - হবে কাজ? ৩. এই শেখার গোড়া কোথায়?

আমার অভিজ্ঞতা বলে, ১. আগে ডিফাইন করুন আপনার সমস্যা (প্রবলেম ডোমেইন) ২. ডাটা যেই ইন্ডাস্ট্রির, কথা বলুন তাদের সাথে। তারা জানে ভ্যারিয়েবলগুলোর যোগসূত্র ৩. বুঝতে চেষ্টা করুন ভ্যারিয়েবলগুলো অথবা তাদের কম্বিনেশনে কিছু পাওয়া যায় যদি (মনে রাখবেন একটা দুটো ফীচারই আপনার মডেলকে নিয়ে যেতে পারে অ্যাক্যুরেসির চূড়ায়) * দেখুন উদাহরণ এই কোর্সে।

পাইথন অথবা 'আর' শেখা সমস্যা নয়। সেটা অল্প সময়ের কাজ। আসলেই তাই। প্রোগ্রামিং সমস্যা নয়। 'কোডার' নিয়ে সমস্যা নেই। সমস্যা অন্যখানে। সমস্যা মেশিন লার্নিংএর 'হিউ‌‌ম্যান' অংশে। মেশিন লার্নিং নিয়ে চাকুরির 'অ্যাড' দেখলেই বুঝবেন কি বলতে চাচ্ছি এখানে।

হ্যাপি মেশিন লার্নিং!