মেশিন লার্নিং কি, কেন দরকার, আর কিভাবে কাজ করে?








মেশিন লার্নিং কি?

আমরা কম্পিউটার ব্যবহার করি মুলত আমাদের কাজে সহায়তা করার জন্য। প্রসেস “অটোমেট”করার জন্য।আমরা কিছু প্রোগ্রাম লিখি,আর কম্পিউটার সেই প্রোগ্রামের আদলে কাজটা করে দেয় আমাদের। এই প্রোগ্রামটাকেই বলতে পারি এক ধরণের অটোমেশন। আর,প্রোগামিংটা করে দেয় কে?কে আবার, মানুষ। 


এদিকে প্রোগ্রাম করাও যেমন কষ্ট,আবার দরকার মত প্রোগ্রামিং করার মানুষও পাওয়া যায়না। তাহলে কি করা যায়? মানুষের জায়গায় ডেটাই করে দিবে সেই প্রোগ্রামিং। মেশিন লার্নিং হচ্ছে কম্পিউটারকে সেই প্রোগ্রামিং শেখানোর মত।ডেটাই বলে দিবে কিভাবে কম্পিউটার নিজেকে প্রোগ্রাম করবে। প্রোগ্রামিং যদি অটোমেশন হিসেবে ধরে নিই,তাহলে মেশিন লানিং হচ্ছে ওই ‘অটোমেশনের ’ প্রসেসকে অটোমেট করার সিস্টেম। প্রোগ্রামিংয়ের ইনপুট দেবে ডেটা। সেভাবেই শিখবে আমাদের লার্নিং অ্যালগরিদম।শিখে মানুষের মত নিজে থেকে কারেকশন দিবে। মানুষ যেভাবে শেখে,সেভাবেই শিখবে যন্ত্র।


কৃত্তিম বুদ্ধিমত্তার একটা বিভাগ হচ্ছে মেশিন লার্নিং।এটা এমন একটি অ্যাপ্লিকেশন যার বৈশিষ্টগুলো হচ্ছে...

১. এটি আপনার সিস্টেমকে নিজে তেকে শিখার একটা দক্ষতা দিবে।

২. সিষ্টেমের শেখাটা আসে পুরোনো ডেটা তথা ‘অভিজ্ঞতা’ থেকে।

৩. এই শেখানোটা মেশিনকে কিন্তু আলাদাভাবে প্রোগামিং করে দেওয়া হয়নি।



মানুষ যাই আবিষ্কার করেছে,তা করেছে প্রকৃতিকে দেখে । বাজপাখির ওডা থেকে উডোজাহাজ,বাদুড় থেকে সাবমেরিন ‘সোনার’ আরও কত -কি?!এতদিন মানুষ পশু পাখিকে দিয়ে সে কিছু কিছু কাজ করিয়ে নিয়েছে। কিন্তু যে জিনিসের প্রাণ নেই,সেই জিনিস দিয়ে কাজ করানোর আইডিয়া মানুষের কত বড় বুদ্ধিমত্তার পরিচয়--একবার ভাবুন। মানুষ প্রোগামিং করে ‘ইনস্ট্রাকশন’দেয়,কাজ করে বেকুব যন্ত্র।কিন্তু প্রোগ্রাম লেখাও তো কষ্টের । তাহলে কি করা যায়?


মানুষ তাকাল নিজের দিকে ।এই যে আমরা ছোটবেলা থেকে বৈশিষ্টের উপর বেস করে গরুকে গরু,ছাগলকে ছাগল কিংবা বিড়ালকে বিডাল হিসেবে চিহ্নিত করতে পারতেছি।্েভোবে আমরা ভিন্ন ভিন্ন বৈশিষ্ট বেস সবকিছু সম্পর্কে অভিজ্ঞতা অর্জন করি।


কিন্তু যন্ত্রকে অভিজ্ঞ করে তুলা যায় কেমনে...কেন আমরা যেভাবে অভিজ্ঞতা অর্জন করি ;যেমন একটা হাতির নানা বৈশিষ্ট জানার মাধ্যমে আমরা হাতি সম্পর্কে অভিজ্ঞতা লাভ করি।ঠিক একইভাবে মেশিন কেউ তথ্য তথা ডেটা দিয়ে অভিজ্ঞ করে তুলা সম্ভব।


মেশিনকে কি আসলেই ”লার্নিং” করা পচিবল?



সাধারণত আর্থার স্যামুয়েল নামক একজন আমেরিকান বিজ্ঞানী “মেশিন লার্নিং” টার্মটা সবার আগে ইউস করেন।তাঁকে এ-আই ও কম্পিউটার গেমিংয়ের উদ্বাবক ও বলা হয়। তার তৈরি “স্যামুয়েল চেকার্স প্লেয়িং” প্রোগ্রামটি বিশ্বের প্রথম প্রোগ্রাম।যেটা নিজে নিজে খেলা শিখতে পারার ক্ষমতা রাখতো।

মেশিনকে দু’ধরণের অ্যালগরিদম দিয়ে লানিং করানো হয়:

1. সুপারভাইজড (Supervised)লার্নিং অ্যালগরিদম

2. আনসুপারভাইজড(Unsupervised)লার্নিং অ্যালগরিদম

সুপারভাইজড মানে হচ্ছে,,কেউ একজনকে কোন কিছু এমনভাবে বুঝায় দেওয়া,শিখিয়ে দেওয়া বা দেখিয়ে দেওয়া যাতে সে পরবর্তিতে সেই কাজটা নিজে নিজে করতে পারে। সুতরাং মেশিন লার্নিয়ের ক্ষেত্রেও সুপারভাইজড লার্নিং অ্যালগরিদম মানে হলো এমন কিছু,যা কম্পিউটারকে মানুষের মত চিন্তা করার ট্রেনিং দেওয়া হয়।আর ট্রেনিংয়ের সময় মেশিনকে পর্যাপ্ত উদাহারণও দিতে হবে।

সহজ একটি উদাহারণ নিই,ধরা যাক আপনি কখনো বাঘ দেখেননি।তাইলে কেউ যদি আপনাকে চিড়িয়াখানায় নিয়ে গিয়ে বলে যে দেখুন ভাই এটিই হলো বাঘ । গায়ে ডোরাকাটা চামড়া,দুটি কান,মুখে হালকা গোঁফ,মাথা মোটা আর পেছনে লেজ আছে।তখন আপনি নিশ্চয় ভালো করে বাঘটিকে দেখবেন।ওর চেহেরা আর যে যে বৈশিষ্টগুলো আছে,সেগুলো মনে রাখার চেষ্টা করবেন।

পরবর্তীতে যদি কেউ আপনাকে কোন একটি প্রাণির ছবি দিয়ে যদি আইডেনটিফাই করতে বলে যে ওই প্রাণিটা বাঘ কিনা,তাইলে আপনি নির্ধিধায় বলে দিতে পারবেন। কারণ আপনার জানা থাকা বাঘের সেই বৈশিষ্টগুলোর সাথে আপনি ওই প্রাণির বৈশিষ্ট মিলাবেন,যদি মিলে যায়,তাহলে বাঘ,অন্যথায় আপনি বলতে পারেন ওটা বাঘ নয়।

এই যে বাঘকে দেখিয়ে আর বাঘের বৈশিষ্ট্য বলে আপনার মস্তিষ্ককে ট্রেনিং দেওয়া হলো বাঘ চেনার জন্য।এরপর আপনাকে যে প্রাণির ছবিই দেওয়া হোক না কেন,আপনি আলাদা করতে পারবেন যে কোনটি বাঘ আর কোনটি বাঘ না।এই টাইপস লার্নিংগুলোকে বলা হয় ক্লাসিফিকেশন প্রবলেম(Classification Problem)।

আরেকটি উদাহারণ দিই,মনে করেন আপনার ফুডপান্ডা বার্গার খুব পছন্দের।যেহেতু আপনি নিয়মিত বার্গার অর্ডার করেন তাই আগে থেকেই আপনার ভিবিন্ন সাইজের বার্গারের দাম (৬ইঞ্চি বার্গার ২০০/- , ৯ইঞ্চি ২৯০/- ,১২ইঞ্চি ৫৮০/-, ১৫ইঞ্চি ৭৯০/-)আপনি আগে থেকেই জানেন।

এখন আপনার বন্ধু যদি আপনাকে জিজ্ঞেস করে - দোস্ত নতুন একটি বার্গার এসেছে শুনলাম,সাইজ ১৪ ইঞ্চি। পুরো চিকেনে ভরপুর।বার্গারটির দাম কত হতে পারে আন্দাজ করে বলতো?তখন আপনি সহজেই বলে দিতে পারবেন যে,দামটি ৬৭৬/- টাকার কাছাকাছি হবে ।এটা বলতে পারার রহস্যটা হলো আপনি ১৫ইঞ্চি আর ১২ইঞ্চি খুব কাছাকাছি,সুতরাং এর দামও কাছাকাছি কোন একটি ভেল্যু হবে।এভাবে আপনাকে যদি ১৬ দামও আস্ক করা হয়,আপনি সেটিও পূর্বের অভিজ্ঞতা থেকে বলতে পারবেন।এই টাইপস প্রবলেমগুলোকে রিগ্রেশন প্রবলেম বলা(Regression Problem)হয়।

আর ক্লাসিফিকেশন প্রবলেম(Classification Problem) এবং রিগ্রেশন প্রবলেম(Regression Problem) দুটিই হলো সুপারভাইসড লার্নিং।

আনসুপারভাইজড লার্নিংয়ে ট্রেনিংয়ের সময় সঠিক উত্তরটি জানিয়ে দেওয়া হয়না।শুধু ট্রেনিংয়ের জন্য ডেটা দেওয়া হয়।সে নিজের মত করে ডেটার মধ্যে বিভিন্ন প্যাটার্ন বা বিভিন্ন ডেটার মধ্যে সামন্জস্য খুঁজে বের করে।সেই সামন্জস্য বা প্যাটার্ন এর উপর ভিত্তি করে বিভিন্ন গ্রুপে সাজাবে।এই টাইপস প্রবলেমগুলোকে বলা হয় ক্লাস্টারিং প্রবলেম(Clustering Problem)।এটি আনসুপারভাইজড লার্নিংয়ের সব থেকে জনপ্রিয় একটি উদাহারণ।



আচ্ছা, কেনই’বা দরকার এই “মেশিন লার্নিং” জিনিসটা?🤔



অকে,আপনি একটু ভাবুন তো? আনসারটেইন্টি ভরা এই বিশাল পৃথিবীটাকে কিভাবে আপনি প্রোডিক্ট করবেন? আর যদি করা যায় তাহলে সেটা সম্ভব কিভাবে। সাধারণত, ডেটা নিয়ে যারা খেলাধোলা (অ্যানালাইসিস) করে তাদের অনেক সময় অল্প ডেটাতে সঠিক জিানসটা প্রেডিক্ট করা পচিবল হয়না, প্রয়োজন হয় আরো বড় স্কেলের ডেটাফ্রেম। সব থেকে ইন্টারেস্টিং বিষয়টা কি জানেন? এই পুথিবীতে আপনি যতগুলোই অবজেক্ট দেখেতে পাবেন,সবকিছুরই একটা প্যাটার্ন ফাইন্ড-আউট করতে পারবেন। হয়তো কোনটা বুঝতে অল্প সময়ের দরকার পড়ে আর কোনটা বুঝতে অনেক বেশি সময়ের (কয়েক হাজার বছরও) দরকার পড়ে। ধরুন, এই যে আমাদের গ্যালাক্সির কথাই যদি আপনি চিন্তা করেন তাইলে আপনি দেখতে পাবেন যে,প্রত্যেকটা গ্রহ,উপগ্রহ তাদের নিজ নিজ গতিতে প্রতিনিয়ত ছুটাছুটি করছে এবং অণু-পরমাণুর ইলেকট্রনগুলোও চলছে নিজষ্ব গতিতে আর সেটা একটা নির্দিষ্ট প্যাটার্ন মেইনটেইন করে।

আর মেশিন লার্নিংটাকে আপনি পরিসংখ্যান আর কম্পিউটার বিজ্ঞানের একটি ছোট অংশ হিসেবে ধরে নিতে পারেন। তবে এটা শুধু কম্পিউটার বিজ্ঞানীদের কর্মক্ষেত্র নয়, বরং এটা নিয়ে বাইরের মানুষজন তাদের নিজ নিজ ডোমেইনে কাজ চালায় যাচ্ছে। ধরেন একটা নেটওয়ার্ক বিল্ডআপ করার আগে সেই নেটওয়ার্কের লোড কি পরিমাণ নিতে পারবে,সেটি রোল-আউটারের বহু আগে তার ডিজাইন ক্যাপাসিটি বের করতে হবে।সেই স্টুরেজ আর্থাৎ ডেটা সেন্টারের হার্ডডিস্ক কবে শেষ ফেইলর হতে পারে সেটা নিয়ে অভিজ্ঞতা না থাকলে তো কেমনে কি!!

মেশিন লার্নিয়ের উপর বেশ কিছু কাজ করছে ‘লিগ্যাল প্র্যাকটিশনার ’ আর হেলথকেয়ার ইন্ডাস্ট্রি। আর যদি বলতে হয় বিলিয়ন ডলারেরও ও বেশি ইনভেস্টমেন্ট চলে গেছে ‘অটোনোমাস’ কার ইন্ডাস্ট্রিতে। দেশের আন্তবিভাগ লরিগুলো কে চালাবে? অনেক শহরজুড়ে স্বয়ংক্রিয়ভাবে চলছে পাবলিক ট্রানজিট সিস্টেম। এই যে ফেসবুকে আপনার ২০/৩০ বছরের পুরোনো বন্ধু চেনায় কে?

এসবকিছু আসলে হচ্ছে কিভাবে?

কিছু বছর আগে আইবিএম’র এক বিজ্ঞাপনের কথা শেয়ার করা যাক...

একটি দেশের পুলিশ ডিপার্টমেন্টের কাজই বদলায় দিতে পারে মেশিন লার্নিং ব্যবহার করে। হিস্ট্রিক্যাল যে ক্রাইম ডেটাগুলো আছে ওইগুলোর প্যাটার্ন দেখে বুঝে যাইতো দেশের আইন প্রয়োগকারি সংস্থা। এটাই ছিল বিজ্ঞাপনের মূল কন্সেপ্ট ছিল এই জিনিসটাই।

বিজ্ঞাপনটি অনেকটা এমন-

দোকানে ডাকাতির উদ্দেশ্যে গাড়ি থেকে নামতেই দোকানের সামনে গিয়ে দেখে পুলিশ দাড়িয়ে আছে। দুর থেকে তাদের চোখাচোখি হলো। পুলিশ কফি খাওয়া অবস্থায় তার কফির কাপ তুলে ডাকাতের উদ্দেশ্যে একটা ‘ফ্রেন্ডলি জেসচার’ দিলো। লোকটা ডাকাতি ফেলে তার নিজের ডোরায় ফিরে যায়।এভাবেই পুলিশ, ডাকাত আর দোকানদার উভয়কেই ঝুঁকি থেকে বাচিয়ে দেয়। উন্নত দেশগুলোতেও টেরোরিজম এর উৎস খুঁজতেও মেশিন লার্নিংয়ের হেল্প নেয়।

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


Jubair Ahmed Junjun

ICT POINT

Post a Comment

0 Comments