অন্যান্য

মেশিন লার্নিং: প্রযুক্তির নতুন অধ্যায়

মানুষ সহজেই যেকোনো বস্তু দেখে বলতে পারে। কিন্তু কম্পিউটার তা পারে না। কারণ মেশিন মানুষের মস্তিষ্কের মত বুদ্ধিমত্তাসম্পন্ন নয়। তাই কম্পিউটারকে বিভিন্ন ধরনের বিষয় ও অভিজ্ঞতা শিখানোর পদ্ধতিকেই বলা হয় “মেশিন লার্নিং”।

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

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

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

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

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

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

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

মেশিন লার্নিংকে সাধারণত ৩ ভাগে ভাগ করা যায়-
১. সুপারভাইজড লার্নিং
২. আন-সুপারভাইজড লার্নিং
৩. রি-ইনফোর্সমেন্ট লার্নিং 

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

সুপারভাইজড লার্নিং মেশিনকে ডাটা দিয়ে গাইড করতে হয় যাতে করে মেশিন একটা মডেল তৈরি করতে পারে। মডেল তৈরি হয়ে গেলে নতুন ডাটা দেখে মডেল অনুসারে একটি ফলাফল পাওয়া যায়। উপরের আপেলের উদাহরণটা হল “সুপারভাইজড লার্নিং”।লিনিয়ার রিগ্রেশন, পলিনমিয়াল রিগ্রেশন, ডিসিশন ট্রি, র‍্যান্ডম ফরেস্ট – হল  সুপারভাইজড লার্নিং এর উদাহরণ। 

২. আন-সুপারভাইজড লার্নিং

যখন আমরা আগে থেকে ধারণা করতে পারি না, ইনপুট করানো ডাটাসেট থেকে কি ধরণের ফলাফল আসতে পারে, কেবল তখনই “আন-সুপারভাইজড লার্নিং” এর ব্যবহার করা হয়। যেহেতু, কোন নির্দিষ্ট ফলাফল আমরা জানি না, তাই আন-সুপারভাইজড লার্নিং আমাদেরকে ফলাফল হিসেবে ‘প্যাটার্ণ’দিয়ে থাকে।

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

সিঙ্গুলার ভ্যালু ডিকম্পসিশন, প্রিন্সিপ্যাল কম্পোনেন্ট অ্যানালাইসিস, ক্লাস্টারিং – হল সুপারভাইজড লার্নিং এর উদাহরণ।    

৩. রি-ইনফোর্সমেন্ট লার্নিং

এটা হল মেশিন লার্নিং এর সবচেয়ে বৈচিত্র্যপূর্ণ ভাগ। এই এলগোরিদম গুলো ট্রায়াল অ্যান্ড ইরর এর মাদ্ধমে একটা লক্ষে পৌঁছায়। এই পদ্ধতিতে একটি এলগোরিদম অনেক ভাবে চেষ্টা করে থাকে তার লক্ষে পৌঁছানোর জন্য। 

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

মেশিন লার্নিং নিয়ে আমাদের প্রথম লেখাটি কেমন লাগলো, কমেন্ট করে জানাতে ভূলবেন না। আপনাদের ভালো রেসপন্স পেলে সামনে মেশিন লার্নিং নিয়ে আরো প্রকাশনা ধাপে ধাপে প্রকাশ করার চেষ্টা করবো।

এই লেখাটি সম্পাদনা করা হয়েছে এপ্রিল ২২, ২০২০ ৬:৩৮ অপরাহ্ন

মারুফ রহমান

আসসালামুয়ালাইকুম! আমি, একজন কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং গ্রাজুয়েট । অনেকদিন যাবত, ওপেন সোর্স টেকনোলজি নিয়ে কাজ করছি । বেশ কয়েকটা প্রযুক্তি বিশয়ক রিসার্চ করেছি। আমার ২ টা রিসার্চ পেপার IEEE Explore এ রয়েছে। মোজিলা ফাউন্ডেশনের সাথে কাজ করছি অনেক দিন ধরে এবং ফায়ারফক্সের ডেভেলপমেন্টে অবদান রাখার চেষ্টা করছি। বর্তমানে, একটা সফটওয়্যার কোম্পানি - তে জুনিয়র টেস্ট ইঞ্জিনিয়ার হিসেবে দায়িত্বপালন করছি । কাজের ফাঁকে, প্রযুক্তি বিশয়ক কন্টেন্ট তৈরি করার চেষ্টা চালিয়ে যাচ্ছি :D

শেয়ার করুন
লিখেছেন

সর্বশেষ প্রকাশনা

প্রোগ্রামিং- সহজ নাকি কঠিন?

প্রোগ্রামিং শুরু করার আগে একটি প্রচলিত লাইন যা প্রায় সকল বিগিনারদের শুনতে হয়- "প্রোগ্রামিং খুব…

এপ্রিল ২৫, ২০২১

ডেনো এবং নোড জেএসের মধ্যে এখন পর্যন্ত কোনটির জনপ্রিয়তা বেশি?

ডেনো কি? ডেনো হচ্ছে জাভাস্ক্রিপ্ট ও টাইপস্ক্রিপ্টের একটি সিকিউর রানটাইম, এটি জাভাস্ক্রীপ্টের V8 ইঞ্জিন এবং…

জানুয়ারি ২৪, ২০২১

নেটওয়ার্কিং বেসিকস

অনেকেরই ধারণা ইন্টারনেট মানে একটি ম্যাজিকেল ক্লাউড যা আমাদের পছন্দের ওয়েবসাইট, অনলাইন শপ এবং অন্তহীন…

অক্টোবর ৪, ২০২০

পিএইচপি কি? কেন কিছু মানুষের কাছে এটি পছন্দনীয় নয়?

ওয়েবের ৭৮.৯% ওয়েবসাইটই পিএইচপি তে রান হওয়া স্বত্বেও এটি ভবিষ্যতের ইকোসিস্টেমের সাথে যাচ্ছেনা। বিশেষ করে…

সেপ্টেম্বর ২৯, ২০২০

MySQL বনাম MongoDB ও এদের মধ্যে পার্থক্য

আমরা প্রত্যেকেই কম বেশি বিভিন্ন প্রয়োজনে সফটওয়্যার, ওয়েবসাইট এবং ওয়েব অ্যাপ ব্যবহার করে থাকি। এসকল…

জুলাই ১৮, ২০২০

ম্যালওয়্যার সম্পর্কে যা জানা জরুরী

ম্যালওয়্যার! বর্তমান সময়ে আসলেই একটি ভয়ের বিষয় হয়ে দাড়িয়েছে। বড় টেক কোম্পানী থেকে ছোট পার্সোনাল…

জুন ২৭, ২০২০