ডিপ লার্নিং
পূর্বের পোস্ট থেকে আমরা জানি যে মেশিন লার্নিং কি। ডিপ লার্নিং হলো মেশিন লার্নিংয়েরই একটা সাব-ফিল্ড। এটাও ডেটা এনালাইসিস করে শিখে থাকে। কিন্তু এর স্পেশালিটি হল এর গঠন মানুষের ব্রেইনের নিউরালের নেটাওয়ার্কের গঠন থেকে ইন্সপায়ারড। গত পোস্টে আমরা একটা বাচ্চার উদাহরণ দিয়েছিলাম। ডিপ লার্নিং বাচ্চার ব্রেইনের মতই শিখে থাকে। ডিপ লার্নিংকে মেশিন লার্নিং থেকে আলাদা ভাবার কোন কারণ নেই। এটিও ডেটা থেকে শিখছে। একই ভাবে কাজ করছে। কিন্তু এর এলগরিদমগুলোর গঠন মানুষের নিউরাল নেটওয়ার্কের মত। এটাকে এজন্য আর্টিফিশিয়াল নিউরাল নেট বলা হয়ে থাকে।
ডিপ লার্নিং এর লার্নিং টেকনিক মূলত দুই ধরনের। সুপারভাইজড লার্নিং এবং আনসুপারভাইজড লার্নিং।
সুপারভাইজড লার্নিংঃ ধরুন আপনি এলগরিদমকে ১০০টি বিড়ালের ইমেজ দিয়ে বলছেন এগুলা বিড়াল এবং ১০০ টি কুকুরের ইমেজ দিয়ে বলছেন এগুলা কুকুর। এইডেটা গুলোর সাথে আপনি এদের ক্লাস/লেবেল ও বলে দিচ্ছেন। এই ডেটা থেকে আপনার মডেল শিখে নিচ্ছে কোন কোন ফিচারের জন্য একটাকে কুকুর বলা হয় আর অন্যটাকে বিড়াল। এই ধরনের লার্নিংকে বলা হয় সুপারভাইজড লার্নিং।
আনসুপারভাইজড লার্নিংঃ এবার আপনি ২০০ টি ইমেজ দিয়ে আপনার মডেলকে শিখতে বলছেন। এর মধ্যে ১০০টি কুকুরের ইমেজ এবং ১০০টি বিড়ালের। কিন্তু আপনি বলে দিচ্ছেন না যে কোনগুলো বিড়ালের আর কোনগুলো কুকুরের ইমেজ। আপনার মডেল নিজে থেকেই পার্থক্য বুঝতে চেষ্টা করবে এবং আলাদা করার চেষ্টা করবে। এই ধরনের লার্নিংকে বলা হয় আনসুপারভাইজড লার্নিং।
এই দুই প্রকার ছাড়াও আরেকধরনের লার্নিং ব্যবহার করা হয়। যদিও সেটাকে ট্রিক বলতে পারেন। ধরুন আপনার কাছে ৫০০০০ হাজার মত ইমেজ আছে একটি ফোল্ডারে। ৩০০০০ হাজার কুকুরের এবং ২০০০০ হাজার বিড়ালের। আলাদা করা না। আবার নাম দেখেও বোঝার উপায় নেই কোনটি বিড়ালের ইমেজ আর কোনটি কুকুরের। আপনি অনেক কষ্ট করে ৩০০০০ হাজার কে আলাদা করেছেন। আর ২০০০০ চেক করার মত এনার্জি নেই। তখন আপনার মাথায় একটা নতুন আইডিয়া আসল। আপনি যে ৩০০০০ আলাদা করেছেন, ঐগুলো দিয়ে আপনার মডেলকে ট্রেইন করলেন এবং বললেন যে মিক্স থাকা ২০০০০ কে প্রেডিক্ট করতে। মডেল আপনাকে বাকি ২০০০০ ক্লাসিফাই করে দিলো এবার আপনি সম্পূর্ণ ডেটা দিয়ে ট্রেইন করতে পারেন। এইধরনের লার্নিংকে বলা হয় সেমি-সুপারভাইজড লার্নিং।
ডিপ লার্নিং নিয়ে আরো বিস্তারিত পরবর্তীতে কথা বলব। সেই পর্যন্ত সবার সুস্থতা কামনা করি।
মেশিন লার্নিং
