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

কৃত্রিম বুদ্ধিমত্তা বা Artificial Intelligence কম্পিউটার বিজ্ঞানের একটি অন্যতম শাখা, যা দ্বারা মানুষের বুদ্ধিমত্তা ও চিন্তা শক্তিকে কম্পিউটারের মাধ্যমে অনুকৃত করা হয়। কৃত্তিম বুদ্ধিমত্তার পরিধি অনেক বিশাল। আর সেই পরিধির একাংশ হচ্ছে মেশিন লার্নিং (Machine learning)। মেশিন লার্নিং গত দশকের অন্যতম যুগান্তকারী প্রযুক্তি হিসাবে প্রমাণিত হয়েছে। দিন যত যাচ্ছে এর ব্যবহার বেড়েই চলছে। ধারণা করা হচ্ছে, ভবিষ্যতে মেশিন দিয়েই সকল ধরণের কাজ সম্পাদন করা হবে । তাই বেড়েছে মেশিন লার্নিং এর চাহিদা। একজন মানুষ যেভাবে শেখে, যেভাবে অভিজ্ঞতার ভাণ্ডার তৈরি করে, যেভাবে পূর্বে অর্জিত জ্ঞান ও অভিজ্ঞতা ব্যবহার করে নতুন পরিস্থিতিতে এবং নতুন পরিবেশে নতুন সমস্যার সমাধান করে; ঠিক সেইভাবে একটি প্রোগ্রামকে অভিজ্ঞতা সঞ্চয় করে তা নতুন সমস্যা সমাধানে ব্যবহার করার প্রচেষ্টাই হলো মেশিন লার্নিং। মেশিন লার্নিং এর অর্থ এই বিষয়টি ই বহন করে। আরও সঠিক ভাবে যদি বলি তাহলে বলতে হয়, মেশিন লার্নিং হলো কম্পিউটারকে নিজে নিজে শেখার ক্ষমতা প্রদান করা। মেশিন লার্নিং এর মাধ্যমে সিস্টেমকে দক্ষতা দেয়া হয় নিজে থেকে শেখার এবং সিস্টেমের এই দক্ষতা স্থাপন করা হয় পুরানো ডাটা দিয়ে, আমাদের ভাষায় যেটির অর্থ “অভিজ্ঞতা”। আর মেশিন লার্নিং এর সবচেয়ে মূল বিষয় হলো, এই নিজে নিজে শেখার দক্ষতা সিস্টেমকে শুরুতে প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে দক্ষ করে দেয়া হয়, এরপর বাকিটা সে নিজে থেকে করে (নতুন করে কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ ইনপুট করার প্রয়োজন হয় না)।

আচ্ছা, এবার আরও সহজভাবে বিশ্লেষণ করা যাক “মেশিন লার্নিং” নিয়ে। আমরা মানুষজাতি মানেই অলস। যুগ যুগ ধরে, মানুষ জীবনকে কতটা সহজ থেকে সহজতর করে দেয়া যায় সেই চেষ্টা ই করছে এবং করে যাচ্ছে। আর কাওকে দিয়ে কাজ করিয়ে নিতে উস্তাদ কম নই। তবে সেই “কাওকে” টাও একজন মানুষ ই হয়! তাই মানবজাতি তক্কে তক্কে ছিলো যন্ত্রকে দিয়ে কাজ করানো নিয়ে। এরপর এটি সত্যিতে রুপান্তরও করলো। মানুষ instruction দিলো, যন্ত্র কাজ করলো। যেমন – প্রোগ্রাম লিখলো মানুষ, কাজ করলো বেকুব যন্ত্র। তো, এবার ঝামেলা হিসেবে দাঁড়ালো প্রোগ্রাম লেখাও তো কষ্টের। কি করা যায়? এরপরই আবিষ্কার হলো মেশিন লার্নিং শব্দের। মেশিনকে শিখিয়ে পড়িয়ে দক্ষ করে দিবে। এরপর বাকিটা মেশিন ই করবে। কিন্তু তা কি আদৌও সম্ভব? একটি অবুঝ যন্ত্র, বুঝিয়ে দিলেই যে হয়ে যাবে এমনটিও নয়। তখন মানুষ তাকালো নিজের দিকে। আমরা শিখলাম কিভাবে? আমরাও তো অবুঝ ছিলাম। তখন-ই খেয়ালে এলো আমরা শিখেছি অভিজ্ঞতা থেকে। যেমন, ছোটবেলা থেকে দেখে এসেছি প্রকৃতি পরিবেশ, পশু পাখি ইত্যাদি। অবুঝ আমরা তখন মায়েদের এটা কি, ওটা কি জিজ্ঞেস করে যা দেখতাম সবকিছুর ই প্রশ্ন করতাম। মায়েরাও প্রশ্নের উত্তরে বলতেন এটা গাছ, ওটা পাখি, এটা কুকর, ঐটা বিড়াল। এরপর শিখলাম বইয়ের ছবি দেখে। ছবি ও বাস্তবে এসব দেখে মাথায় ঢুকে গেছে কোনটা কি জিনিস। যেমন ধরা যাক, ভাত। ঘরে একরকম প্লেটে ভাত খেয়ে, আত্মীয়ের বাড়িতে আরেকরকমের প্লেটে ভাত খেয়ে এসে বইয়ের পাতায় একদম পুরো ভিন্নরকম প্লেটে ভাতের ছবি দেখে এটুকু বুঝে ফেলেছি, সে যেমন প্লেটেই থাকুক না কেন সাদা সাদা ঐ দানাগুলোই ভাত। এটাই অভিজ্ঞতা অর্জন। আবার যেমন কুকুর, বাড়ির সামনে সবসময় কালো কুকুর দেখে এসে, বইয়ের পাতায় সাদা ধবধবে কুকুরটি দেখেও বুঝতে ভুল করি না এটি একটি কুকুর ই। এতো গেলো মানুষের অভিজ্ঞতার গল্প। এবার প্রশ্ন আসলো, এই অভিজ্ঞতা কিভাবে যন্ত্রকে দেয়া যায়? অনুসন্ধান করে বের হলো, ডাটা দিয়ে। একটা নয় দুটো নয়, হাজারো ডাটা দিয়ে অভিজ্ঞতা দিতে হবে। এবং সেটির বাস্তবায়নও করা হয়েছে। বর্তমানে আমরা গুগলে যাই লেখি, গুগল ঠিক সেই জিনিসটি ই ফলাফল হিসেবে নিয়ে আসে। কুকুর লিখে সার্চ করা হলে দুনিয়ার সকল কুকুরের ছবি নিয়ে আসে রেজাল্টে। কালো কুকুর, সাদা কুকুর, বসা, হাঁটা, দৌঁড়ানো অবস্থার সকল কুকুরের ছবি নিয়ে আসে। আমরা যদি আরও নির্দিষ্ট করে “সাদা কুকুর” লিখে অনুসন্ধান (Search) করি, তখনও খুঁজে নিয়ে এসে পৃথিবীর সব সাদা কুকুরের ছবি ই রেজাল্টে দেখাবে। এইযে মানুষের মতো পারছে, কিভাবে পারছে? উত্তর একদম ই সহজ, মানুষ যন্ত্রকে শিখিয়েছে। লাখ লাখ কুকুরের ক্যারিকেচার (caricature) ছবি দেখিয়ে যন্ত্রকে শিখিয়েছে এটা কুকুর। এরপর যন্ত্রও শিখে নিয়েছে, সেটাই কুকুর। এভাবেই ট্রেনিং হলো যন্ত্রের আর এটির নামই মেশিন লার্নিং।

মেশিন লার্নিং এর ধরণ

মেশিন লার্নিংকে চারটি শ্রেণিতে ভাগ করা যায় :-
– Supervised Learning (সুপারভাইজড লার্নিং)
– Unsupervised learning (আনসুপারভাইজড লার্নিং)
– Semi-Supervised learning (সেমি-সুপারভাইজড লার্নিং)
– Reinforcement learning (রিইনফোর্সমেন্ট লার্নিং)

১. Supervised Learning (সুপারভাইজড লার্নিং):- এটি একটি প্রোগ্রামকে কতগুলো প্রি-ডিফাইন ডাটাসেটের ভিত্তিতে ট্রেইন করা হয়। আর প্রোগ্রামটিও সংগ্রহকৃত ডাটাসেটের উপর ভিত্তি করে সিদ্ধান্ত গ্রহন করে থাকে।

২. Unsupervised learning (আনসুপারভাইজড লার্নিং):- প্রোগ্রামে কিছু ডাটা ইনপুট দেওয়া হয় এবং প্রোগ্রাম ঐ ডাটার উপর নির্ভর করেই সব ধরনের ডিসিশন দেয়। আনসুপারভাইজড লার্নিং এর ক্ষেত্রে আউটপুট কি সেটা কোথাও বলা থাকে না, প্রোগ্রাম নিজ থেকেই সেটা বুঝে বের করে নেয়। যেমন, একটি মাঠে কিছু ছেলে ও মেয়ে বসে রয়েছে। প্রোগ্রাম ছেলে মেয়েকে কে ভিন্ন ক্যাটেগরিতে ভাগ করবে, এটি হচ্ছে আনসুপারভাইজড লার্নিং ।

৩. Semi-Supervised learning (সেমি-সুপারভাইজড লার্নিং):- সুপারভাইজড এবং আনসুপারভাইজড এর কম্বিনেশন হল সেমি সুপারভাইজড লার্নিং।

৪. Reinforcement learning (রিইনফোর্সমেন্ট লার্নিং):- এটি হলো মেশিন লার্নিং এর সবচেয়ে বৈচিত্র্যপূর্ণ ভাগ। এখানে এলগোরিদম ট্রায়াল অ্যান্ড ইরর এর মাধ্যমে লক্ষ্যে পৌঁছায়। মেশিন লার্নিং এর এই পর্যায়ে মেশিন তার কিছু কিছু প্রোগ্রামকে ক্রমান্বয়ে আপডেট করতে থাকে। তবে এই প্রোগ্রাম নিজ থেকেই বুঝে যে কখন আপডেট করা বন্ধ করতে হবে। অর্থাৎ সে বুঝতে পারে যে আরও সামনের দিকে আগাতে থাকলে প্রোগ্রামটি নিজে থেকেই শেষ হয়ে যেতে পারে তখন এটা নিজের গতি নিজে থেকেই পরিবর্তন করে। অর্থাৎ প্রোগ্রামের অবস্থানটি ভাল বুঝলে এগিয়ে চলে, বিপদ বুঝলে পরিবর্তন অথবা থেমে যায়। এই লার্নিং কে বলা হয় Reinforcement learning (রিইনফোর্সমেন্ট লার্নিং)। উদাহরণ হিসেবে ধরা যাক, একটি রোবট যে জানেনা কিভাবে সামনে কোন বাঁধা থাকলে সেটা অতিক্রম করতে হয়। এখন, রোবটটি সামনে চলতে গিয়ে ট্রায়াল দিয়ে যখন বাঁধা পাবে তখন সেটি হবে ইরর। আবার রোবটটি আরেকভাবে সামনে এগোনোর চেষ্টা করবে, ধরলাম এবারো বাঁধা অতিক্রম করতে পারলো না। এভাবে রোবটটি ট্রায়াল অ্যান্ড ইরর এর মাধ্যমে নিজে নিজে বুঝতে পারবে যে, কিভাবে সামনে এগোনো হলে বাঁধাটা অতিক্রম করা যাবে। আর সেভাবে প্রতিটা স্টেপ নিজে নিজেই শিখে রোবটটি প্রয়োগ করে চলতে শুরু করবে।

মেশিন লার্নিং এর গুরুত্ব

প্রযুক্তি-বিশ্লেষকেরা পূর্বাভাস দিয়েছেন যে, ২০২৪ সালের মধ্যে প্রযুক্তি খাতে মেশিন লার্নিং এর চাকরির সুযোগ বেড়ে যাওয়ার সম্ভাবনা রয়েছে প্রায় ১২ শতাংশ । এছাড়াও সামজিক যোগাযোগ মাধ্যম লিঙ্কডইন (LinkedIn) এর বার্ষিক ইমাজিন জবস (Imaging jobs) রিপোর্ট অনুযায়ী, যুক্তরাষ্ট্রের সবচেয়ে চাহিদাসম্পন্ন কাজের তালিকার শীর্ষে রয়েছে আর্টিফিশিয়াল ইন্টেলিজেন্স ও ডাটা সাইন্স। যা ভবিষ্যতে আরো বৃদ্ধি পাবে। এমনকি এক বক্তব্যে বিল গেটস বলেছেন, মেশিন লার্নিং এর সাফল্য দশটা মাইক্রোসফটের সমান হতে পারে।
বর্তমানে প্রায় প্রতিটি ফিল্ডে মেশিন লার্নিং এর ব্যবহার বেড়ে চলছে। ডাক্তার, ইঞ্জিনিয়ার সহ রাজনীতিবিদরাও ভোটারদের বিহেভিয়ার অ্যানালাইসিস করতে পারবেন। এমনকি তারা তাদের জয় কিংবা হারার প্রোভাবিলিটিও বের করতে পারবেন। আবহাওয়াবিদরা মেশিন লার্নিং প্রয়োগ করে আরো দ্রুত এবং সঠিকভাবে আবহাওয়ার সতর্কতা প্রদান করতে পারবেন। কৃষিবিদরা পূর্বের ডাটা অ্যানালাইসিস করে সিদ্ধান্ত নিতে পারবেন। ফলে দেশের খাদ্য ঘাটতি সহ বিভিন্ন দূর্যোগে আগাম সতর্কতা নেয়া সম্ভব হবে। এজন্য বড় বড় প্রযুক্তি প্রতিষ্ঠানের পাশাপাশি সাধারণ প্রতিষ্ঠানেও মেশিন লার্নিং প্রকৌশলীদের চাহিদা বাড়ছে। প্রতিষ্ঠানের বিভিন্ন তথ্য কাজে লাগিয়ে তা থেকে প্রয়োজনীয় সুবিধা পেতে উৎসাহ দেখাচ্ছে বিভিন্ন প্রতিষ্ঠান। বর্তমানে বড়-ছোট প্রায় সব ধরনের অ্যাপেও মেশিন লার্নিং এর ব্যবহার লক্ষ্যনীয়। যেমন, ইমেজ রিকগনিশন, ডাটা মাইনিং, এক্সপোর্ট সিস্টেম, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং সহ কম্পিউটার প্রকৌশল বিজ্ঞানসহ এআই (AI) এর ভুবনেও এই মেশিন লার্নিং এর ব্যবহার অনস্বীকার্য। মেশিন লার্নিং এর প্রয়োগ দিন দিন বৃদ্ধি হয়েই চলেছে। তবে এই প্রযুক্তি এখনো খুব বেশি অগ্রসর নয় এখনো। এই প্রযুক্তির দেওয়া সিদ্ধান্ত ও সাহায্যের উপর মানুষের নির্ভর করতে হলে এই প্রযুক্তিকে আরও উন্নত হতে হবে। আর এই উদ্দেশ্যে কম্পিউটার সাইন্টিস্টরা ক্রমাগত গবেষণা করে চলেছে; সাথে কাজ করছে গুগল, এমাজন, মাইক্রোসফ্ট, ফেসবুক এর মতো বড় বড় প্রতিষ্ঠান। আশা করি তাদের গবেষণায় আমরা পাবো আরও নির্ভরশীল এলগরিদম (algorithm) যা আমাদের জীবনকে করে তুলবে সহজ ও সুন্দর।
এতক্ষণে নিশ্চয়ই বুঝে গিয়েছেন মেশিন লার্নিং সেক্টরের অদূর ভবিষ্যৎ। খুব শীঘ্রই প্রতিটি কর্মস্থল দখল করবে মেশিন লার্নাররা। আপনাকে মেশিন লার্নিং এর জগতে স্বাগতম জানিয়ে আজকের ব্লগটি এখানেই শেষ করছি। যেকোনো প্রশ্ন জাগলে নির্দ্বিধায় কমেন্টবক্সে কমেন্ট করুন। এবং টেকনোলজি সম্পর্কে আরও তথ্য জানতে আমাদের সঙ্গেই থাকুন। সেইসাথে আমাদের অন্যান্য আর্টিকেলগুলোও পড়তে পারেন। ধন্যবাদ।