বিজ্ঞান ব্লগ

মেশিন লার্নিং: কম্পিউটার যেভাবে শিখে 

মেশিন লার্নিং: 

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

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

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

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

তাহলে, সহজে বললে, মেশিন লার্নিং হচ্ছে কম্পিউটার তথা মেশিনকে একটা কাজ শিখানো, যাতে সে পরে কোনো সুপারভাইজিং ছাড়াই নিজে নিজেই সে কাজটা করতে পারে।

কিন্তু, কম্পিউটার কীভাবে শিখে? 

কম্পিউটার কীভাবে শিখে তা জানার আগে, আগে আমরা কীভাবে শিখি সেটা দেখে আসি! 

ধরি, আমার সামনে একটা গরু আছে। আমি কীভাবে বুঝবো এটা গরু? এটা মানুষ না, বিড়াল না, ছাগল কিংবা উটও না? 

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

তারপর, আমি দেখবো যে, গরুর যা যা বৈশিষ্ট্য তা তা মিলছে কিনা আমার সামনের প্রাণির সাথে। যদি মিলে, তাহলে এটা গরু! মানে, এটার ৪টা পা, মাথাটা একটু বড়, 

যদি, দেখি যে, না, এর দুইটা পা; মাথাটা গোলগাল টাইপের, সোজা হয়ে দাঁড়ায় নাক-মুখ ও একটু অন্যরকম। তাহলে? এটা মানুষ!

আবার, যদি দেখি যে, লেজটা একটু লম্বাকে ও গোল ধরনের? বিড়াল!

যদি দেখি, গলাটা বেশ লম্বা? উট!

তাইনা?

মজার বিষয় হচ্ছে, কম্পিউটারও ঠিক এইভাবেই শিখে!

আমরা প্রথমে কিছু এলগরিদম ঠিক করে দেই। এটা ফিক্স করে যে, সে কীভাবে শিখবে। যেমন, আমাদের এই উদাহরণেই আসি, আমরা কিছু এলগরিদম ঠিক করে দিলাম, যে ছবির মধ্যে কিছু বৈশিষ্ট্য খুঁজবে। যে, পা-টা কতটুকু লম্বা, শরীরটা দেখতে কেমন, এরকম যা যা সম্ভব, সব! 

কীভাবে? কিছু ম্যাথমেটিক্যাল এলগরিদমের সাহায্যে। 

কোথা থেকে শিখবে? ১-২টা ছবি? না। আমরা তাকে হাজার হাজার, লাখ-লাখ ছবি দিবো। প্রতিটা ছবিতে একটা ট্যাগ লাগিয়ে দিবো যে, এটা এটা গরু, এটা এটা উট, এরকম। তারপর, সে শিখতে বসবে। এলগরিদমগুলা প্রতিটা ছবিতে বিভিন্ন বৈশিষ্ট্যগুলো মাপবে।

যে, আচ্ছা, গরুর পা গুলা এরকম হয়, এতটকু লম্বা হয়।

উটের গলাটা দেখি বেশ লম্বা হয়! পিঠে দুটো লম্বা লম্বা কী জানি আছে!

বিড়াল তো পিচ্চি! লেজটা কেমন যেন একটু গোল, অন্যগুলোওর মতো না!

মানুষ? আরে, এর তো লেজই নেই! পা ও কম, দুটো মাত্র!

ডাটা সায়েন্স মেশিন লার্নিং ক্যাগল Data science Machine learning kaggle science bee
ছবিঃ মেশিন লার্নিং মডেল  বিড়ালের ছবি থেকে বিড়ালের বিভিন্ন বৈশিষ্ট্য শিখছে

এভাবে হাজার হাজার ছবি দেখে সে নিজে নিজেই বুঝে ফেলবে যে, মানুষ দেখতে কিরকম হয়, উট দেখতে কিরকম হয়, গরু দেখতে কিরকম হয়, কার কি কি বৈশিষ্ট্য আছে। 

পরে, আমি যখন একটা ছবি দেখিয়ে জিজ্ঞেস করবো, “এই কম্পিউটার, এটা কি?”

সে তখন দেখবে তাঁর কি কি আছে, যখন দেখলো যে, তাঁর দুইটা কুঁজ আছে- গলাটা লম্বা; সে দেরি না করে সে ঠুস করে বলে দিবে যে, “এটা তো উট!” কেননা, সে ইতোমধ্যে শিখে গেছে যে, উটের কুঁজ আছে- গলা এতটুকু লম্বা হয়। 

আমরাও তো এভাবেই শিখি, তাইনা?

আরো কিছু উদাহরণঃ

ছবিঃ হাতে লিখা 0 থেকে 9 পর্যন্ত ডিজিট গুলো থেকে কম্পিউটার যেসব প্যাটার্ণ শিখেছে
ছবিঃ বিভিন্ন বস্তু থেকে কীভাবে কম্পিউটার ধাপে ধাপে বিভিন্ন ফিচার (বৈশিষ্ট্য) শিখছে
ছবিঃ মানুষের বিভিন্ন হাটার ভঙ্গি থেকে  কীভাবে কম্পিউটার ধাপে ধাপে বিভিন্ন ফিচার(বৈশিষ্ট্য) শিখছে

মেশিন লার্নিং এর প্রয়োজন কী?

প্রশ্ন আসতেই পারে যে, আমরাই যদি কাজটা পারি; তাহলে মেশিন লার্নিং এর দরকার কী ভাই?

ধরি, আমার কাছে, ১ লাখ ছবি আছে। কোনটা মানুষ, কোনটা উট এরকম বের করতে হবে। আমি যদি নিজে নিজে করতে চাই, আমার কতক্ষণ লাগবে? ১ মাস?

কিন্তু, কম্পিউটারকে এটা শিখালে সে এটা ১ মিনিটেই করে ফেলতে পারবে!

একইভাবে,

ইউটিউবে ডেইলি কোটি কোটি মানুষ ভিডিও দেখে। কোন ভিডিওটা কে দেখতে ভালোবাসে, এটা যদি একটা মানুষ সব ডেটা চেক করে ঠিক করে দেয়, তাঁর ১ টা মানুষের ১ ঘন্টার ভিডিও রিকোমেন্ড করতেই ৩ মাসের এনালাইসিস লাগবে! কম্পিউটারের কতক্ষণ লাগবে? ১ সেকেন্ড!

আমরা মানুষেরা এতো দ্রুত কাজ করতে পারিনা, যত দ্রুত কম্পিউটার পারে। তাই আমাদের নিজেদের সময় বাঁচানোর জন্য, বেশি লাভের জন্যই মেশিন লার্নিং এর প্রয়োজন। 

মেশিন লার্নিং এর প্রকারভেদ:

মেশিন লার্নিং মূলত দুই প্রকার।

সুপারভাইজড লার্নিং:

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

আনসুপারভাইজড লার্নিং:

কম্পিউটারকে আমরা যখন আগে থেকে কিছু না শিখিয়ে তাকে কিছু প্যাটার্ণ খুজে নিতে বলি, সেটা হচ্ছে আনসুপারভাইজড লার্নিং।

যেমন, আমি অনেকগুলা ছবি দিয়ে বললাম, “কম্পিউটার, তুমি দেখো তো কিছু বুঝো কিনা!”

সে ছবি গুলো দেখে কয়েকটা গ্রুপ করবে। কীভাবে?

কতগুলা ছবির তো দেখলাম গলাটা দেখি বেশ লম্বা হয়! পিঠে দুটো লম্বা লম্বা কী জানি আছে! আমি তাহলে এগুলোকে এক দলে রাখি! (উট)

এটা তো খুব ছোট! লেজটা কেমন যেন একটু গোল, অন্যগুলোওর মতো না! এটাকেও একটা আলাদা গ্রুপ করি! (বিড়াল)

আরে, এর তো লেজই নেই! পা ও কম, দুটো মাত্র! এটাকেও একটা আলাদা গ্রুপ করি! (মানুষ)

এভাবে, পরে আমাকে জানালো যে, এখানে ৩ গ্রুপের জিনিসপত্র পাওয়া গেছে। 

মেশিন লার্নিং এর ক্ষেত্র:

ইমেজ রিকগনিশন:

ছবি দেখে ছবি চিনতে পারা। অনেক ছবির মধ্যে মিল বের করা। আমরা যেটা নিয়ে কথা বললাম উপরে। ক্যান্সার- হার্ট অ্যাটাক সহ অনেক রোগ নির্ণয়েও এক্সরে ছবি ইউজ করে খুব অল্প সময়েই রোগ নির্ণয় করা যায়। 

স্পিচ রিকগনিশন:

কথা/ সাউন্ড শুনে কোনটা কি বের করা, সাউন্ড থেকে স্পিচ এ কনভার্ট করা। যেমন, ভয়েস সার্চ। 

প্রিডিকশন/ Prediction:

আবহাওয়া কেমন হবে বুঝতে পারা। শেয়ার বাজারে স্টকের দাম বাড়া-কমা অনুমান করা। আর্টিফিশিয়াল ইন্টেলিজেন্স এর ব্যবহার করে বিভিন্ন সাইট/ সোশ্যাল মিডিয়া নেটওয়ার্কে ব্যবহারকারীর চাহিদা অনুমান করে সে অনুযায়ী তাকে বিভিন্ন প্রোডাক্ট/ রিকমেন্ডেশন দেওয়া। 

ন্যাচারাল লাঙ্গুয়েজ প্রসেসিং:

টেক্সট থেকেই কি নিয়ে লিখা, সেটা কোন টাইপের নিউজ এসব বুঝতে পারে। বা, রিভিউ দিলে পজেটিভ না নেগেটিভ রিভিউ তা বুঝতে পারে। যেমন, গুগল সার্চ!

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

Exit mobile version