কেন শিখবেন মেশিন লার্নিং?

আমি আসলে 'ডিপ লার্নিং'কে শুরুতে আলাদা করতে চাইনা। সবকিছুই কিন্তু মেশিন লার্নিং। 'ডিপ লার্নিং' আসলে মেশিন লার্নিং এর সাব-সেট। আমি শুধুমাত্র ডিপ লার্নিং বলার ঘোর বিরোধী, কারণ বেসিক মেশিন লার্নিং না শিখে এই বই ধরা মানা। শুরুতেই https://raqueeb.gitbook.io/scikit-learn/ অথবা এর প্রিন্ট এডিশন অথবা https://developers.google.com/machine-learning/crash-course/

ডিপ লার্নিং কেঁচে গণ্ডূষ করে শুরু করেছিলাম। এতে বেড়ে যাচ্ছে বইয়ের পাতা। আর, বইয়ের পাতা বেড়ে গেলেই বিপদ। আগের ২০০+ পৃষ্ঠার বইয়ের দাম নিয়ে এখনো কথা শুনতে হয়। তাই এই বুদ্ধি। মাঝখানে লিখে ফেললাম 'সাইকিট লার্ন' দিয়ে একটা বই। এর মানে, ডিপ লার্নিং আগাগোড়া শিখতে চাইলে লাগবে দুই বই। দুই কিস্তি। আমি ৪০টা বই পড়লে আপনাকে পড়তে বলবো মাত্র দুটো বই। ডিপ লার্নিং এর ধারণা পেতে।

ধন্যবাদ।

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

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

গত ১০ বছরে দেখছি মেশিন আসলে কতো পাওয়ারফুল হয়ে গেছে এর মধ্যে। এক্সটেনডেটেড মুরস ল। পাশাপাশি আমাদের হাতে চলে এসেছে প্রচুর ডেটা। মেশিন লার্নিং বা ডিপ লার্নিং আজকের কথা নয়। সেই ১৯৫০ সালে এই গল্প তৈরি হলেও, মেশিনের প্রসেসিং এর সীমাবদ্ধতা আর এতো ডাটা হাতের কাছে না থাকাতে এর ধারণা পাচ্ছিল না মানুষ। প্রসেসিং পাওয়ার বাড়ছে দিন দিন, পাশাপাশি র‌্যাম বাড়ছে, স্টোরেজের ক্যাপাসিটি বাড়ছে সঙ্গে সঙ্গে - কমছে দাম। আমাদের হাতে চলে এসেছে সব সম্ভবের জিনিসপত্র।

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

এখন মেশিন শিখছে আমাদের পৃথিবীর সমস্যাগুলোর ভেতরে ঢুকে। ডেটা থেকে শিখছে। মেশিন দিয়ে একটা বড় কাজ হচ্ছে আমাদের আশেপাশে সবকিছুর একটা প্যাটার্ন ধরার জন্য। ধরুন, আপনি যদি আমার প্যাটার্ন বুঝতে পারেন, তাহলে আমার সাথে আপনার কাজ করা সহজ হয়ে যাবে। মানে, আমার মাথাকে হ্যাক করছেন আপনি। আমি সামনে কি চিন্তা করবো সেটা ধরতে। মানুষকে সবাই সবচেয়ে আন-প্রেডিক্টেবল ভাবে, আসলে কি তাই?

সৃষ্টিকর্তা পুরো পৃথিবীকে ফেলে রেখেছেন হাজারো প্যাটার্নের মধ্যে। এই দিক থেকে মেশিন কিন্তু প্রতি মুহূর্তে নতুন নতুন প্যাটার্ন শিখছে বাচ্চাদের মত। সেই প্যাটার্ন থেকেই সে তার নিজের রুল সেট বের করে ফেলছে ওই মুহূর্তের জন্য। একমাত্র মেশিন লার্নিংই পারে এই প্যাটার্ন বুঝতে। ডেটা থেকে। সেটা ক্রাইম ডেটা হোক, আর 'এমআরআই' স্ক্যান হোক।

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

পাশাপাশি, কেক থেকে সেই বাচ্চাটির দূরত্ব দেখে বোঝা যায় কেকটার সাথে তার সম্পর্ক কোথায়। মোমবাতির সংখ্যা দিয়ে সে বলতে পারে কতো বছরে পড়লো সে। আশেপাশের বাচ্চাদের ছবি থেকে ধারণা করতে পারে তার সমবয়সীদের বাবা মা’রা কোন এলাকায় থাকেন। বাচ্চাটা বড় হলে সে কোন কলেজে যাবে সেটার প্রোবাবিলিটি বের করা সমস্যা নয়। সবই আসছে ডেটার ‘কোরিলেশন’ থেকে।

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

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

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

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