১
‘মেশিন লার্নিং’ কথাটা দিন দিন বেশ জনপ্রিয় হয়ে উঠছে। সহজ ভাষায় মেশিন লার্নিং মানে, মেশিনকে কিছু করতে শেখানো। সাধারণত প্রোগ্রাম লেখার সময় একজন প্রোগ্রামার কম্পিউটার বা যন্ত্রকে বলে দেয়, ঠিক কী কী করতে হবে। মেশিন লার্নিংয়ের কাজ, যন্ত্রকে ঠিক কী কী করতে হবে, সেটা না বলে; কীভাবে করতে হবে, সেটা শিখিয়ে দেওয়া।
অ্যালগোরিদম লিখে এই কাজটা করা হয়। অ্যালগারিদম মানে, একটা কাজ করার যৌক্তিক ধাপগুলো। ফলে কম্পিউটারকে একই ধরনের কাজ দিলে, সেই ধাপ অনুসরণ করে কাজটা নিজে নিজে করার চেষ্টা করে সে।
এখানে একটা গুরুত্বপূর্ণ ব্যাপার আছে। একটা কাজ করার তাত্ত্বিক পদ্ধতি জানলেও, হাতে-কলমে কাজ করতে গিয়ে আমরা সমস্যায় পড়ে যাই। অনেক ধরনের ঝামেলা তৈরি হয়। কিন্তু দেখা যায়, সমস্যাগুলো সমাধান করে এক-দুইবার সেই কাজ করলে আগের মতো ঝামেলা আর হয় না। এক শব্দে আমরা এটাকে বলি অভিজ্ঞতা। আসল ঘটনা হলো, তাত্ত্বিক পদ্ধতি শিখলেও আপনার কাছে আগে প্রয়োজনীয় তথ্য ছিল না। এখন সেসব তথ্য আছে। আপনি সেই তথ্য ব্যবহার করে যৌক্তিকভাবে সিদ্ধান্ত নিচ্ছেন, কোন পথে এগোলে কাজটা ঠিকভাবে করা যাবে। মেশিন লার্নিংয়ে যন্ত্রকে এই অভিজ্ঞতাই শেখানো হয়। সেজন্য সাথে দিতে হয় পর্যাপ্ত পরিমাণ প্রয়োজনীয় তথ্য।
এটুকু সম্ভবত অনেকেই জানেন। কিন্তু ঠিক কীভাবে সেটা করতে হয়, এটা বেশিরভাগ মানুষই জানেন না। আর, এটাই স্বাভাবিক। কিন্তু আধুনিক বিশ্ব যেদিকে আগাচ্ছে, দিন দিন মানুষের কাজ মেশিনকে দিয়ে করানোর প্রবণতা বাড়ছে। তাতে মানুষের যেমন কষ্ট কমে, কাজটাও তেমনি নিখুঁত হয়।
রকিবুল হাসান এই নিয়েই কাজ করেন। কিন্তু নিজে করেই তিনি ক্ষান্ত দেননি, চেষ্টা করছেন মানুষকেও শেখাতে। একরকম উঠে-পড়ে লেগেছেন, বলা যায়। তাঁর প্রথম বই ‘হাতে কলমে মেশিন লার্নিং‘ ২০১৮ সালে আনুষ্ঠানিকভাবে প্রকাশিত হয়। কিন্তু অনানুষ্ঠানিকভাবে বইটির বড় একটি অংশ প্রকাশিত হয়েছে গিটহাবে। এই বইতে তিনি প্রজেক্ট টাইটানিক নামে একটা জিনিস হাতে-কলমে করে দেখিয়েছেন। এই টাইটানিক আমাদের পরিচিত সেই স্বপ্নের জাহাজই। এবং সমস্যাটাও বেশ মজার।
ধরুন, আপনার কাছে একটা ডাটাসেট দেওয়া আছে। না না, ডাটাসেট শুনে ভড়কে যাওয়ার কিছু নেই। এটা আসলে একটা তথ্যভাণ্ডার, যেখানে টাইটানিকের যাত্রীদের ব্যাপারে প্রয়োজনীয় তথ্য আছে। আপনার কাজ হলো, মেশিনকে ডাটাসেটের তথ্যগুলো দেওয়ার সাথে সাথে যৌক্তিক একটা উপায় শিখিয়ে দেওয়া। এই উপায় ব্যবহার করে মেশিনকে হয়ে যেতে হবে জ্যোতিষী! হিসেব কষে (হাতের রেখা দেখে না কিন্তু!) তাকে বলতে হবে, টাইটানিক ডুবলে কে কে বাঁচতে পারে। কিন্তু কথা হলো, মেশিনকে আপনি এটা শেখাবেন কীভাবে?
জ্যোতিষী শব্দটা শুনলে এখন হাস্যকর লাগে। প্রাচীনকালে ঘটনা কিন্তু অন্যরকম ছিল। জ্যোতিষীরা কখন ঝড়-বৃষ্টি হবে, সেটা বলে দিতে পারতেন। মানুষ গ্রহণ ভয় পেত। সূর্য বা চন্দ্রগ্রহণ হলে আতঙ্কিত হয়ে পড়ত। জ্যোতিষীরাই ছিল তাদের একমাত্র ভরসা। এখন কথা হলো, এই জ্যোতিষীরা সেটা কীভাবে করতেন? উত্তরটা আপনিও জানেন। তারা এর পেছনের বিজ্ঞান জানতেন, জানতেন হিসেব কষে কীভাবে এগুলো বের করতে হয়। কিন্তু বিজ্ঞানকে তারা নিজেদের কারিশমা হিসেবে দেখিয়েছেন। সেই সাথে মুঠোয় পুরেছেন ক্ষমতা। যা-ই হোক, আসল কথা হলো, তথ্য হাতে থাকলে সেটা বিশ্লেষণ করে যে ভবিষ্যতের ব্যাপারে বোঝা যায়, এটা আমরা বাস্তবেই দেখেছি। এবং দেখছি। বর্তমানে বিশ্বখ্যাত সব প্রতিষ্ঠান তথ্যের শক্তি ব্যবহার করেই সব বুজরুকি ফলায়। আমরাও টাইটানিকের যাত্রীদের নিয়ে একই কাজই করব।
রকিবুল এখানে সেজন্য দুটো ভাষা ব্যবহার করে কাজ করেছেন। প্রথমে ‘আর’ ল্যাঙ্গুয়েজ বা প্রোগ্রামিং ভাষায় পুরো কাজটি করেছেন। পরে একই কাজ করেছেন পাইথন দিয়ে। ‘আর’ দিয়ে করা অংশটিই উন্মুক্ত করে দেওয়া আছে অন্তর্জালে। প্রথম সংস্করণে বইতেও পুরো ব্যাপারটি শুধু আর-এই ছিল। পরে পাইথন দিয়েও একই কাজ করে দেখিয়েছেন তিনি মানুষের চাহিদা পূরণের জন্য। অনেকেই পাইথন পারেন, তারা নতুন প্রোগ্রামিং ভাষা আর শিখতে চান না। কেউ কেউ আবার না পারলেও, পাইথনের নাম শুনে শুনে অযথাই মনের ভেতরে একটা ভরসা তৈরি হয়েছে এ নিয়ে।
তবে সত্যি কথা হলো, মেশিন লার্নিং একদম শুরু থেকে শিখতে চাইলে ‘আর’ বেশ কাজে লাগে। এর ভিজ্যুয়ালাইজেশন বেশ ভালো। পাইথনের সেটা নেই। তবু পাইথনে অনেকেই শিখতে চান। সহজ মনে করেন। আসলেও পাইথন সহজই। তাছাড়া দিনে দিনে এর জনপ্রিয়তা বাড়ছে বৈ কমছে না।
সব মিলে পাইথন দিয়ে মেশিন লার্নিং শেখার আরেকটি বই লিখেছেন রকিবুল। বইয়ের নাম, শূন্য থেকে পাইথন মেশিন লার্নিং। আগেরটির মতো এরও বেশিরভাগ অংশই উন্মুক্ত করে দেওয়া আছে অন্তর্জালে, গিটহাবে।
এখানেই থামেননি তিনি। সামনে ডিপ লার্নিং নিয়েও তাঁর বই আসছে। এ নিয়েও একটি বই নিয়মিত ব্লগ আকারে অন্তর্জালে প্রকাশ করে যাচ্ছেন রকিবুল। সহজে বাংলায় মেশিন লার্নিংয়ের পথ চেনার জন্য এই বইগুলো দারুণ। আর, একবার পথ চিনে ফেললে পথিকের আর এগোতে সমস্যা হওয়ার কথা না।
প্রকাশিত দুটো বইতেই রকিবুল জোর দিয়েছেন সমস্যার পেছনের দর্শনের উপরে। তিনি যে ব্যাপারটায় জোর দিয়েছেন, এটাই বাংলাদেশের বেশিরভাগ শিক্ষার্থীর আসল সমস্যা। প্রযুক্তি হাতের নাগালে চলে আসায় আমরা হয়ে গেছি সবজান্তা মহা-অজ্ঞ! ছোটকাল থেকে কম্পিউটার চালায় বলে অনেকেই বিশ্ববিদ্যালয় সিএসইতে ভর্তি হয়ে যায়। কিছুদিন পরে বোঝা যায়, একটা ঝামেলা হয়ে গেছে। ঝামেলাটা কী?
প্রোগ্রামিং ভাষা শেখা আসলে সহজ। সময় লাগে, আর সব ভাষার মতোই একটু সময় দিয়ে এর গঠন, গড়ন ইত্যাদি মাথায় ঢুকাতে হয়। ইংরেজিতে যাকে বলে সিনট্যাক্স (Syntax)। কিন্তু এটা কম্পিউটার বিজ্ঞান ও প্রযুক্তির আসল উদ্দেশ্য না। আসল উদ্দেশ্য হলো, সমস্যা বুঝে, সেটা প্রোগ্রাম লিখে সমাধান করা। বেশিরভাগ শিক্ষার্থী সমস্যাটাই বোঝেন না। কেন একটা কাজ করতে হবে, এটা না বুঝে পথে নেমে গেলে খেই হারিয়ে ফেলা স্বাভাবিক। রকিবুল তাই এখানে ভালো ভাবে দর্শনটা শুরুতেই ব্যাখ্যা করেছেন। বারবার বুঝিয়ে বলেছেন, পথে নামার আগে আরো ভাবুন। আপনি আসলেই এ পথে যেতে চান তো?
তাঁর বোঝানোর এই অনন্যতা ও দর্শন এলো কোত্থেকে? সেটা বোঝার জন্য তাঁর জীবনে একটুখানি ঢুঁ দিতে হবে। বুঝতে হবে, মানুষটি যেভাবে ভাবছেন, সেটা এলো কোত্থেকে?
২
রকিবুলের জন্ম ১৯৭০ সালে, ঢাকায়। সে সময়ের ঢাকার সাথে আজকের ঢাকার আকাশ-পাতাল তফাৎ। স্কুলে থাকলেই রেডিও কমিউনেকশন বা বেতার যোগাযোগের প্রেমে পড়ে যান তিনি। বাসার ছাদে বানিয়ে ফেলেন অ্যান্টেনা, বুঝতে শুরু করেন সিগন্যাল অ্যাম্পলিফাই করার ধারণা।
এই প্রেমের হাত ধরেই রকিবুল চলে যান ক্যাডেট কলেজে, এবং সেখান থেকে বাংলাদেশ সেনাবাহিনীর সিগন্যাল কোরে। তাঁর নিজের ভাষায়,
টেলিকম্যুনিকেশন প্রযুক্তির হৃদয়ের ভেতরটা বুঝতে পারি ট্রেনিং ম্যানুয়াল পড়ে আর ‘হাতেকলমে’র অংশগুলো বুঝতে পারি সেনাবাহিনীর সিগন্যালস স্কুলে গিয়ে। সিগন্যাল কোরের নতুন অফিসারদের জন্য এই বাধ্যতামূলক এক বছরের কোর্স আমাকে যতোটুকু “ইনসাইট” দিয়েছে তা ব্যবহার করেই চলছি এখনো। ইলেক্ট্রনিক্স, ডিজিটাল সিগন্যালিং মড্যুলেশন, রেডিও ফ্রিকোয়েন্সি প্রোপাগেশন শক্ত করে দিয়েছে আমার হবিগুলোকে।
শুধু সিগন্যাল কোরই না, রকিবুল কাজ করেছেন আরো দুটো গুরুত্বপূর্ণ জাতীয় প্রতিষ্ঠানে। এর একটি বাংলাদেশ টেলিকম্যুনিকেশন রেগুলেটরি কমিশন, আরেকটি ন্যাশনাল টেলিকম্যুনিকেশন মনিটরিং সেন্টার। শেষের প্রতিষ্ঠানে তিনি আজো কর্মরত।
এরকম প্রতিষ্ঠানে কাজ করার সুবিধা হলো, একটা দেশের প্রায় সব মানুষের প্রয়োজনীয় তথ্য থাকবে আপনার সামনে। সেগুলো নিয়ে সরাসরি কাজ করতে পারবেন আপনি, অভিজ্ঞতা পুরতে পারবেন ঝুলিতে। সেই অভিজ্ঞতাই যে রকিবুলকে তথ্য-বিশ্লেষণ নির্ভর মেশিন লার্নিংয়ে অনন্য করে তুলেছে, সেটা তো বোঝাই যায়।
আরেকটি ব্যাপার হলো তার পড়াশোনা। প্রয়োজনে যথেষ্ট পড়েছেন তিনি, পড়ে যাচ্ছেন আরো। একটা বিষয়ে প্রায় বিশেষজ্ঞ হয়ে যাওয়ার পরেও, হাতে-কলমে কাজের ফাঁকে ফাঁকে তিন বছরে আরো প্রায় অর্ধশত বই পড়া, সেগুলো থেকে নানারকম দৃষ্টিভঙ্গি তুলে নেওয়াটা খুব সহজ কাজ না। রকিবুল এটা করেছেন এবং সহজ ভাষায় সেই স্বীকারোক্তি এবং কৃতজ্ঞতাও তিনি প্রকাশ করেছেন। লেখকের ভাষায়,
ওই একই বিষয় নিয়ে যখন আর একজন ১০-২০ বছর ধরে কাজ করছেন, তাদের সেই পার্সপেক্টিভ আপনি পেয়ে যাচ্ছেন অল্প সময়ের মধ্যে। আপনি তাদের ধারণার পুরো গভীরতা না পেলেও যে পার্সপেক্টিভটা পাবেন সেটাই বা কম কিসে। চল্লিশটা লেখকের ভিন্ন ভিন্ন ইউনিক অভিজ্ঞতাই বা কেন ছেড়ে দিব আমি?
মানব সভ্যতার ভিত্তিও তো এটাই। সেজন্যেই আইজ্যাক নিউটনের প্রাসঙ্গিক একটি উক্তি উল্লেখ করেছেন লেখক,
If I have seen further – it is by standing on the shoulders of Giants.
আমি যদি আজ বেশি জেনে থাকি, সুদূরে চোখ রাখতে পারি, সেটা আমার আগের মহান মনিষী ও জ্ঞানীদের জ্ঞানের ওপরে ভিত্তি করেই মূলত সম্ভব হয়েছে।
রকিবুলরা এখন বাংলাদেশের শিক্ষার্থীদের জন্য এই ভিত্তিটাই দাঁড় করিয়ে দেওয়ার চেষ্টায় কাজ করে যাচ্ছেন অবিরাম।
৩
বইটির প্রকাশক আদর্শ। এই প্রকাশনীটি সাধারণ নিয়ম ভেঙে অ্যাকাডেমিক চমৎকার সব বই প্রকাশ করছে। তাদের এই প্রচেষ্টা সাধুবাদ পাওয়ার যোগ্য।
স্বাভাবিকভাবেই, অ্যাকাডেমিক ঘরানার বইয়ের জনপ্রিয়তা বা বিক্রি তুলনামূলক কম। বিশ্ববিদ্যালয় পর্যায়ে যারা পড়েন, তারা মূলত বিদেশী পাঠ্যবই এবং ক্লাসনোট ইত্যাদির উপরে ভিত্তি করেই কাজ চালান। আর, অন্যদের তো বিশ্ববিদ্যালয় পর্যায়ের এই ব্যাপারগুলোর এত ভেতরের ব্যাপার, গাণিতিক সমীকরণ ইত্যাদি জানার প্রয়োজন নেই। কাজেই অনেকেই এ ধরনের বইগুলোর ব্যাপারে আগ্রহী না।
কিন্তু একটা দেশ এগিয়ে যাওয়ার জন্যে এ ধরনেই বই অনেক জরুরি। বিশ্ববিদ্যালয় পড়ুয়া কেউ হোক বা এই প্রযুক্তির যুগে কেউ নিজে থেকেই শিখতে ইচ্ছুক হোক, ভাষার সীমাবদ্ধতা যেন তাদের আটকে না দেয়, এটা নিশ্চিত করাটা বড় প্রয়োজন। আর আমাদের দেশের বেশিরভাগ কলেজ-বিশ্ববিদ্যালয় শিক্ষার্থীদের ইংরেজির দুর্বলতার কথা তো অনস্বীকার্য।
আদর্শ ঠিক এই কাজটাই করছে। শুধু মেশিন লার্নিংই নয়, গণিত থেকে শুরু করে প্রোগ্রামিং, আরডুইনো থেকে নেটওয়ার্কিং ও মেশিন লার্নিং, এমনকি মার্কেটিং ও গবেষণার পেছনের কথা নিয়েও বই প্রকাশ করেছে তারা। রকিবুলের মতো মানুষদের সবার কাছে পৌঁছে দেওয়ার তাদের এই উদ্যোগ নিঃসন্দেহে প্রশংসনীয়।
৪
বইগুলোর ভালো-মন্দ নিয়ে কিছু না বললে এই আলোচনা অপূর্ণাঙ্গ থেকে যাবে। মানে কথা হলো, এই বইগুলো তাদের উদ্দেশ্য কতটা পূরণ করতে পারছে?
সত্যি বলতে, আগ্রহীদের পথ চিনিয়ে দেওয়ার জন্য বইগুলো আসলেই চমৎকার। লেখকের ভাষাও বেশ প্রাঞ্জল। পাঠকের সাথে সরাসরি কথা বলেছেন লেখক বই জুড়ে। প্রয়োজনে বিভিন্ন রিসোর্সের লিঙ্ক দিয়ে দিয়েছেন, বুঝিয়েছেন ফোরামের ব্যবহার। হাতে-কলমে ধাপে ধাপে করে দেখিয়েছেন একটা প্রজেক্ট নির্ভর কাজ।
তবে অন্তর্জালে প্রকাশিত তার সরাসরি লেখার সাথে মূল বইয়ের কিছুটা পার্থক্য আছে। কলেবরে তো বেড়েছেই, সেটা না। অনেকক্ষেত্রে কিছু জিনিস যুক্ত করা হয়েছে, অনেক জায়গায় ফেলে দেওয়া হয়েছে অনেক কিছু। কিছু ক্ষেত্রে এটা ভালোই হয়েছে। বই হয়ে উঠেছে আরো প্রাঞ্জল। কিন্তু কিছু ক্ষেত্রে লেখার মাঝখান থেকে বাদ দেওয়ায় ঝামেলা হয়ে গেছে, তাল কেটে গেছে।
উদাহরণ হিসেবে হয়তো কোনো কোড এসেছে, যেটা এই মুহূর্তে পাঠকের বোঝার দরকার নেই। আরো ৩০-৪০ পৃষ্ঠা সামনে আগালে বোঝা যাবে এমনিতেই। অন্তর্জালে লেখক বলেই দিয়েছেন এটা। কিন্তু এ ধরনের নোট বা মন্তব্য বইতে বাদ পড়ে যাওয়ায় পাঠক ধাঁধাঁয় পড়ে যাবেন। বিশেষ করে প্রজেক্টের মাঝে এরকম কোড এসে এলোমেলো করে দিতে পারে পাঠকের চিন্তা। সম্পাদনার সময়ই এমনটা হয়েছে বলে ধরে নেওয়া যায়। আশার কথা হলো, চাইলেই পরের মুদ্রণে এগুলো ঠিক করে নেওয়া যাবে।
আসন্ন ভবিষ্যতে এই বইগুলো যে বাংলার অনেক প্রোগ্রামার ও আগ্রহী শিক্ষার্থীদের দারুণ কাজে আসবে, চিনিয়ে দেবে এগিয়ে যাওয়ার পথ; সেটা আর আলাদা করে বলার প্রয়োজন আছে বলে মনে হয় না।
চাকরির ফাঁকে এসব বই লিখে এবং প্রকাশের আগেই অনেকটাই অন্তর্জালে প্রকাশ করে দিয়ে আর কতটাই লাভ (আর্থিক বা খ্যাতির হিসেবে) হয়? তার চেয়ে এ সময় অন্য কাজ করলেই কি আরো বেশি লাভ হতো না? কিন্তু রকিবুলরা এসব লাভ ক্ষতির চেয়ে দেশের কথাই বেশি ভাবেন। এঁরাই আমাদের ভালো একটা ভবিষ্যতের স্বপ্ন দেখান, চুপচাপ গেঁথে যান ভিত্তিপ্রস্তর। জাতির মেরুদণ্ড শক্তিশালী করার এর চেয়ে ভালো উপায় আর হয় না।
বইগুলো কিনতে চাইলে ক্লিক করতে পারেন নিচের লিঙ্কে:
১) শূন্য থেকে পাইথন মেশিন লার্নিং : হাতেকলমে সাইকিট-লার্ন
২) হাতেকলমে মেশিন লার্নিং
এখন পর্যন্ত লেখা ৩টি বই একত্রে কিনতে ক্লিক করতে পারেন নিচের লিংকে