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