কনভোলিউশনাল নিউরাল নেটওয়ার্ক (CNNs)
স্তরে স্তরে দৃষ্টিশক্তি তৈরি করা
আপনার চোখের দেখার ক্ষমতা কিন্তু চোখের পলকেই আলো থেকে সরাসরি "ওটা তো একটা গোল্ডেন রিট্রিভার কুকুর"-এ লাফ দেয় না। এটি ধাপে ধাপে জিনিসগুলোকে বুঝতে শেখে:
- লেয়ার ১: সাধারণ দাগ বা সীমানা (edges) খুঁজে বের করে — যেমন, সোজা বা বাঁকা লাইন।
- লেয়ার ২: দাগগুলোকে জোড়া লাগিয়ে বিভিন্ন আকৃতি বানায় — যেমন, গোলাকার, চারকোনা বা কোনাকুনি শেপ।
- লেয়ার ৩: আকৃতিগুলোকে জোড়া লাগিয়ে বিভিন্ন অংশ তৈরি করে — যেমন, চোখ, কান, চাকা, বা জানালা।
- আরও গভীর লেয়ার: এই ছোট ছোট অংশগুলো জোড়া লাগিয়ে পুরো বস্তুটাকে চিনে ফেলে — যেমন, চেহারা, গাড়ি, কুকুর, বা বিল্ডিং।
একটি কনভোলিউশনাল নিউরাল নেটওয়ার্ক (CNN) ঠিক এভাবেই একটার পর একটা স্তরে কাজ করে। এটি পরপর অনেকগুলো কনভোলিউশনাল লেয়ারকে একসাথে সাজায়, যেখানে প্রতিটি লেয়ার আগের লেয়ারের চিনে রাখা প্যাটার্নের ওপর ভিত্তি করে কাজ করে। প্রথম লেয়ার দেখে দাগ বা সীমানা। দ্বিতীয় লেয়ার দেখে সাধারণ আকৃতি। আর একদম ভেতরের গভীর লেয়ারগুলো পুরো বস্তুকে চিনে ফেলে। এটা মূলত প্যাটার্ন বা নকশা চেনার এক বিশাল রাজ্য, যা সে পুরোটাই নিজে নিজে ডেটা থেকে শেখে।
সিএনএনের (CNN) রেসিপি
সাধারণত একটি সিএনএনে তিন ধরনের লেয়ার পরপর সাজানো থাকে:
- কনভোলিউশনাল লেয়ার (Convolutional layers) — যেগুলো তাদের শিখে রাখা 'কার্নেল' বা ফিল্টার ব্যবহার করে বিভিন্ন প্যাটার্ন বা নকশা খুঁজে বের করে।
- পুলিং লেয়ার (Pooling layers) — যেগুলো ছবির ছোট ছোট অংশগুলোকে সামারি বা সংক্ষেপ করে ছবিটাকে সাইজে ছোট করে দেয় (যেমন, ম্যাক্স পুলিং একটি ২x২ ব্লকের সবচেয়ে বড় ভ্যালুটা রেখে বাকিগুলো ফেলে দেয়)। এতে কম্পিউটারের খাটুনি কমে এবং কিছুটা ট্রান্সলেশন ইনভ্যারিয়েন্স (translation invariance — অর্থাৎ ছবি একটু ডান-বামে সরলেও সে ঠিকই চিনে ফেলবে) যোগ হয়।
- ফুল্লি কানেক্টেড লেয়ার (Fully connected layers) — একদম শেষে এসে সবকিছুকে লম্বা একটা ভেক্টরে ফ্ল্যাট বা চ্যাপ্টা করে ফেলা হয় এবং সেটার মাধ্যমে জিনিসটাকে আলাদা করে চেনা হয় (যেমন, "এটা একটা কুকুর" নাকি "এটা একটা বিড়াল")।
বিখ্যাত সব সিএনএন (CNN) মডেল
যায়তগুলো বিখ্যাত সিএনএন মডেল তৈরি হয়েছে, তার প্রতিটি তার আগের মডেলের রেকর্ড ভেঙে নতুন মাইলফলক ছুঁয়েছে:
লিনেট-৫ (LeNet-5) - ১৯৯৮ (Yann LeCun)
এটাই পথপ্রদর্শক। ব্যাংকের চেকের হাতে লেখা সংখ্যা পড়ার কাজে এটি ব্যবহৃত হতো। এর লেয়ার ছিল মাত্র ৫টি, কিন্তু এটাই প্রথম প্রমাণ করেছিল যে ছবি চেনার কাজে কনভোলিউশন পদ্ধতি দারুণ কাজ করে।
অ্যালেক্সনেট (AlexNet) - ২০১২ (The Deep Learning Revolution)
ইমেজনেট (ImageNet) প্রতিযোগিতায় বিশাল ব্যবধানে জিতে এটি ভুলের হার ২৬% থেকে এক ধাক্কায় ১৬%-এ নামিয়ে আনে। এর পেছনে কাজ করেছিল দুটি জাদুর কাঠি: আগের চেয়ে গভীর আর্কিটেকচার (৮ লেয়ার) এবং জিপিইউ (GPU) ব্যবহার করে ট্রেনিং করা। এই একটা চমৎকার ফলই আধুনিক গভীর শিখন বা ডিপ লার্নিংয়ের যুগের দুয়ার খুলে দিয়েছিল।
ভিজিজিনেট (VGGNet) - ২০১৪ (Depth Wins)
এটি লেয়ারের সংখ্যা ১৯-এ নিয়ে যায়। এই মডেলটি প্রমাণ করে যে, নেটওয়ার্ক যত গভীর হবে, এটি তত নিখুঁত ফিচার শিখতে পারবে। এর দর্শন ছিল খুব সহজ: শুধু পরপর ৩x৩ কনভোলিউশন সাজাতে থাকো!
রেসনেট (ResNet) - ২০১৫ (Skip Connections)
মাথা খারাপ করা ১৫২ লেয়ারের নেটওয়ার্ক! এর পেছনের সবচেয়ে বড় উদ্ভাবনটি ছিল স্কিপ কানেকশন (skip connections), যা তথ্যকে সরাসরি মাঝের কিছু লেয়ার টপকে সামনে যাওয়ার রাস্তা করে দেয়। এই শর্টকাট রাস্তা না থাকলে এত গভীর নেটওয়ার্ককে ট্রেনিং দেওয়ানো একেবারেই অসম্ভব হতো (কারণ গ্রেডিয়েন্ট ভ্যানিশ বা উধাও হয়ে যেত)। রেসনেট প্রমাণ করেছিল যে, সঠিক আর্কিটেকচার থাকলে, নেটওয়ার্ক যত গভীর হবে ফলাফল ততই ভালো আসার সুযোগ রয়েছে।
একটি সাধারণ সিএনএনের কনসেপ্ট বানানো
শুধু ছবি চেনার বাইরেও সিএনএনের (CNN) যুগান্তকারী ব্যবহার
সিএনএনগুলো কিন্তু শুধু ছবির নাম লেবেল করার কাজে থেমে নেই। এর আরও অনেক সুপারপাওয়ার আছে:
- অবজেক্ট ডিটেকশন (Object detection) (যেমন: YOLO, Faster R-CNN) — ছবির ভেতরে থাকা প্রতিটি বস্তুর চারপাশে বাউন্ডারি বক্স বা বাক্স এঁকে সেগুলোকে আলাদা করে চিনিয়ে দেওয়া।
- সিম্যান্টিক সেগমেন্টেশন (Semantic segmentation) — ছবির ভেতরের প্রতিটা পিক্সেল ধরে আলাদা করা (এই পিক্সেলটা আকাশ, এই পিক্সেলটা রাস্তা, ওই পিক্সেলটা একটা গাড়ি)।
- ফেসিয়াল রিকগনিশন (Face recognition) — ছবিতে কে দাঁড়িয়ে আছে তার পরিচয় বের করা।
- মেডিকেল ইমেজিং (Medical imaging) — এক্সরে রিপোর্টে টিউমার খুঁজে বের করা, স্কিনের বিভিন্ন দাগ বিশ্লেষণ করা বা চোখের রেটিনার স্ক্যান পরীক্ষা করা।
- সেলফ-ড্রাইভিং গাড়ি (Self-driving cars) — রাস্তা চেনা, হেঁটে চলা মানুষ চিহ্নিত করা এবং রাস্তার সিগন্যালগুলো পড়ে সিদ্ধান্ত নেওয়া।
সম্প্রতি, ভিশন ট্রান্সফরমার (Vision Transformers বা ViT) ছবির কাজে ট্রান্সফরমার আর্কিটেকচার ব্যবহার করে সিএনএনের একাধিপত্যকে চ্যালেঞ্জ জানাতে শুরু করেছে। কিন্তু তবুও সিএনএন এখনো অবজেক্ট ডিটেকশন আর কম্পিউটার ভিশনের এক অত্যন্ত মজবুত ভিত্তি হিসেবে পরিচিত। বিশেষ করে মোবাইল ডিভাইসে এর দুর্দান্ত গতির কারণে এর চাহিদা এখনো আকাশচুম্বী।
ছোট কুইজ
পড়া চালিয়ে যান