তৃতীয় পর্বঃ সব শেখা এক হয় না

সজীব রিফাতকে বুঝানোর পর রিফাতের কিছুটা স্বস্তিবোধ করলেও মনের মধ্যে এখনো অনেক প্রশ্ন। একটা বিষয় এখানে পরিষ্কার যে মেশিন প্রথম থেকে নিজে নিজে শিখতে পারে না। তাকে অন্তত ভুলগুলো বা সঠিকগুলো শিখিয়ে দিতে হয় যাতে করে পরবর্তীতে যেই ডেটা থেকে প্যাটার্ন খুঁজে বের করে। মানুষের মতো আগুনে হাত দিয়ে “উঃ ছেঁকা লাগলো” এভাবে শিখতে পারে না। অর্থাৎ মেশিন এর learning করার জন্য initiate বা শুরুটা করতে হবে অন্তত মানুষকে।
কিন্তু শিখার জিনিসটা কী আসলেই এত সোজা। 2+2=A এই প্যাটার্ন টা ধরতে আমাকে অনেক কিছু জানতে হয়েছে। পড়াশোনা করতে হয়েছে একটু আদটু। At least আমাকে কিছুটা সময় ব্যয় করতে হয়েছে প্যাটার্ণ খুঁজে বের করতে। কিন্তু আরও কঠিন প্যাটার্ন থাকে, বা আরও জটিল জটিল ধাঁধা থাকে তাহলে কী হবে? আমাদেরই যদি এত সময় লাগে তাহলে মেশিন কী আদ্যতেও পারবে? নাহ এগুলো নিয়ে প্রশ্ন তুলতেই হবে।
পরের দিন রিফাতকে এত চিন্তিত দেখে সজীব এর বুঝতে বাকি নেই learning এর অনেক বিষয় রিফাত এখনো সন্ধিহান। কিন্তু সজীবের এটাই ভালো লাগে। পরশন বা জিজ্ঞাসু মন নিয়ে শিখা যায়। তাই সজীব নিজে থেকেই রিফাতকে বলল...

সজীবঃ Learning is not so easy my friend

সজীবের মুখে এমন কথার আগা মাথা কিছু না বুঝতে পারলেও রিফাত যে Learning নিয়ে কিছুটা বিরক্ত সেটা যে সজীব ধরতে পেরেছে সেটা ভালোই বুঝা গেল। সজীবের কথার মানেই বা কী? সে যাক গে। রিফাত প্রশ্ন ছুড়েই দিল...

রিফাতঃ আচ্ছা মেশিন এত সহজেই প্যাটার্ণ খুঁজে বের করে। যদি প্যাটার্ণটা অনেক জটিল হয়। যদি দাবা খেলার মতো হয় যে প্রত্যেকটা দাবার চালে একেক ধরনের কিছু হতে পারে। অনেক অনেক combinations যদি থাকে। তখন কী হবে?

সজীবঃ My dear friend. প্রত্যেকের মাথায় এরকম প্রশ্ন আসবে এটাই স্বাভাবিক। শেখা যদি এতটাই সহজ হতো তাহলে তো হতই। এই জন্য তো প্রথমে এসেই বললাম যে “Learning is not so easy”. আবার প্রত্যেকটা learning এর জন্য যে সমান ভাবে কষ্ট করতে হবে সেটাও না। স্কুল কলেজে যেরকম আমরা প্রত্যেকটা subject এ সমানভাবে গুরুত্ব দিতাম না। যেরকম আমরা বিজ্ঞান বিভাগের যারা ছিলাম তারা physics, chemistry, math এগুলোতে বেশি focused ছিলাম। বাকি সাবজেক্ট গুলো যেমন বাংলা ইংরেজি এগুলো আমরা তুলনামূলক কম পড়াশোনা করতাম, ঠিক তেমনি মেশিন এর শেখারও বিভিন্ন ধরন আছে। যদি সহজ কিছু হয় যেমন Maths or Pattern বা এমন কিছু যাতে প্যাটার্ণ সহজেই পাওয়া যায় বা দেখা যায় এরকম problem গুলো মেশিনে শিখানো হয়।

রিফাতঃ তার মানে complex problem গুলো মেশিন শিখে না।

সজীবঃ হ্যাঁ অবশ্যই শিখে। সেটা মেশিনকে শিখানো হয় Deep learning বা ANN- Artificial Neural Network এর মাধ্যমে।

রিফাতঃ কী সব বিদঘুটে নাম রে ভাই। Machine learning এখন আবার deep learning. আচ্ছা আচ্ছা বুঝলাম Deep ভাবে learning করাকে বলা হয় deep learning.

সজীবঃ হ্যাঁ। গভীরভাবে শিখা। অনেক গভীরভাবে। এইজন্যই Deep learning.

রিফাতঃ থাক ভাই। আদ্যতে আমার মনে হয় না যে এরকম কোনো প্রব্লেম আছে যে deep ভাবে শিখা লাগবে।

সজীবঃ আছে আছে বন্ধু। সময় আসুক তোকে সরাসরি প্রমাণ দিব। ঐসকল situation এ মেশিন কেন আমাদেরও deep ভাবে চিন্তা করার দরকার হবে।

রিফাতঃ কী সব যা তা বক্তেছিস। আমাদের সব কাজে তো deep চিন্তা করার দরকার নেই। যে যতো বেশি Intelligent, সে তত তাড়াতাড়ি Problem solve করতে পারবে।

সজীবঃ সব সময় এটা সত্যি না।

রিফাতঃ আমার তো প্রমাণ লাগবে। শুকনো কথায় তো আর চিরে ভিজবে না।

কলেজে শাফি, রাফি দুই জমজ ভাই। এরা দেখতে হুবহু একই রকমের। প্রায় সমান তাদের আচার আচরণ। হুট করে যে কেউ আলাদা করে চিনতেই পারবে না। কিন্তু এদের দুইজনকে আলাদা করে চিনার জন্য অনেক সূক্ষ্ম কিছু মুখের পরিবর্তন আর কথার ধরণ রয়েছে।
পরের দিন সজীব হুট করেই রিফাতকে বলল যে

সজীবঃ আচ্ছা তোর সামনে যদি ১ সেকেন্ড এর জন্য শাফি বা রাফিকে আনা হয়, তাহলে তুই এক সেকেন্ড এ তাদের আলাদা করে দিতে পারবি? অথবা আরেকটা কঠিন করি, ধর তুই এদের দুইজনকে এক্কেবারে দেখিসই নাই এর আগে। হুট করে যদি এদের একজনের পর আরেকজন আসে তুই কী ধরতে পারবি কোনটা শাফি আর কোনটা রাফি?

রিফাত একটু চিন্তায় পড়ে গেলও কারণ শাফি রাফি দুইজনের চেহারা দেখতে এক। তাই ভালো করে ওদের চেহারার দিকে না তাকালে বুঝা ই যাবে না কে কোনটা। তাই রিফাত বলেই দিল সজীবকে

রিফাতঃ না রে ওদের দেখতে হুবহু একই। আমি এখনো ওদের আলাদা করতে পারই না মাঝে মাঝে। ওদের আলাদা করতে হলে অনেক ভালো করে দেখতে হবে।

সজীবঃ Exactly এই কথাটাই আমি গতকাল তোরে বলেছিলাম যে আমরা সব কাজ খুবই যে দ্রুত চিন্তা করত পারবো সেটার কোনো নিশ্চয়তা নেই। শাফি রাফিকে যেরকম তুই হুট করে একবার দেখেই আলাদা করতে পারবি না, ঠিক তেমনি মেশিনও এরকম অনেক অনেক কাজ আছে যেটা ডিপ চিন্তা করা ছাড়া আলাদা করতে পারবে না।

রিফাতঃ হুম এবার বুঝলাম। আসলেই তো। সব কাজ চিন্তা করা ছাড়াই বা দ্রুত চিন্তা না করেই উত্তর দেওয়া যায় না। আচ্ছা তাহলে এরকম শাফি রাফিদের মতো দুটানায় পড়তে হয় এরকম সিচুয়েশন এর ক্ষেত্রেই কী শুধু deep learning লাগবে নাকি আরও কিছু ক্ষেত্রও বিশেষ আছে যেখানে লাগতে পারে।

সজীবঃ সত্যি কথা বলতে মেশিন যদি ছবি, ভিডিও, অডিও ইত্যাদি নিয়ে যখন কাজ করে তখন Deep learning ব্যবহার করতে হয়।

রিফাতঃ আচ্ছা আমার একটাই প্রশ্ন যে কেন আমাদের ডিপ লার্নিং লাগবে? আর কীভাবেই এটা কাজ করে?

সজীবঃ কেন লাগবে সেটা তো তোরে আগেি বুঝিয়ে দিলাম। এখন প্রশ্ন হলও আমরা কীভাবে শিখি বা কীভাবে চিন্তা করে উত্তর দেই এই কাহিনী ব্যাখ্যা করার। তোর কাছে আমার প্রশ্ন যে আমরা কীভাবে চিন্তা করি?

রিফাতঃ এটা আমি ভালো ব্যাখ্যা করতে পারব। আমরা প্রথমে একটা জিনিস যখন দেখি তখন সেটা আমাদের চোখের নার্ভ হয়ে সেটা ব্রেইন এ যায়। তখন আমাদের ব্রেইন নিউরনের সাহায্যে অনেকগুলো কানেকশন তৈরি করে। সেই কানেকশন অনুযায়ী আমরা মনে রাখি। যতো বেশি কানেকশন তৈরি হবে এবং আমরা সময়ের সাথে কানেকশন গুলো থাকবে আমরা একটা জিনিস তত বেশি মনে রাখতে পারব।

সজীবঃ Exactly Deep learning এভাবেই কাজ করে। এটা হলো Machine Learning এর একটা subset. এখানে আমাদের ব্রেইন এর মতো অনেকগুলো নিউরনের সমন্বয়ে একটা কমপ্লেক্স কিছু algorithm use করে মেশিন কে শিখাই। এর মানে এই না আমরা শিখাই। আমার শুধু বলে দেই যে এটার মানে এটা। মেশিন নিজে নিজেই মনে রাখার জন্য যা যা properties লাগে সেটা শিখে ফেলে। [১]

রিফাতঃ বন্ধু কিছুই বুঝলাম না। একটু সহজ করে বলবি।

সজীবঃ আচ্ছা তুই তো এটা মানভবি যে ছবি, ভিডিও, অডিও এগুলো জন্য আমরা Deep learning ব্যবহার করব।

রিফাতঃ হ্যাঁ এটা মাথায় ভালো মতো ঢুকছে।

সজীবঃ এখন শাফি রাফি র কথা ই ধরা যাক। মেশিন লার্নিং এ এদেরকে আলাদা আলাদা করার জন্য আলাদা আলাদা করে শাফি রাফি র বৈশিষ্ট্য বা চেহাকার সব নিখুঁত পার্থক্য বলে দিতে হবে তাই না। মানে এটা শাফি যার চেহারা এরকম এরকম। এটা রাফি তার বৈশিষ্ট্য এরকম এরকম।

রিফাতঃ হ্যাঁ এভাবেই তো মেশিন লার্নিং কাজ করে। এর পড়ে সেই বৈশিষ্ট্য থেকে প্যাটার্ন বের করবে।

সজীবঃ Very Good. আচ্ছা তুই কিভাবে করলি এটা?

রিফাতঃ আরে তুই তো কয়েকটা দিয়েই দিলি আমি সেখান থেকে প্যাটাররণ খুঁজে বের করলাম ব্যস

সজীবঃ আচ্ছা তোরে যদি আমি প্রথম দুইটা মানে 2 + 2 = A 3 + 3 = C না দিতাম তাহলে তুই পারতি?

রিফাতঃ ধুর কী যে বলিস। তাহলে pattarn কেমনে খুঁজে পাবো?

সজীবঃ এইভাবেই মেশিন নিজে নিজেই শিখে।

রিফাতঃ ছাতার মাথা কী বুঝাতে চাচ্ছিস ?? 😪😪😪

সজীবঃ এই দেখ তোরে আমি কয়েকটা দিয়ে দিলাম। এগুলো থেকে তুই নিজেনিজেই pattarn খুঁজে বের করলি। আমি কিন্তু বলে দেই নি যে Alphabet গুলো দুই দুই করে বাড়বে। তুই নিজে নিজেই সেটা বের করেছিস নিজে মাথা দিয়ে। Machine ও একই কাজ করে। প্রথমে তাক কিছু ডেটা দেওয়া লাগে (তোকে যেভাবে আমি দিয়েছি) এই দেওয়া ডেটা থেকে সে তোর মতো Pattarn খুঁজে বের করে তুই যেরকম নিজে নিজেই Pattarn বের করেছিস। এবং সেই Pattarn অনুজায়ী যে উত্তর অনুমান করে দেয়। এটাই হলো মেশিন লার্নিং (Machine Learning - ML)

রিফাতঃ আচ্ছা তাহলে এই কাহিনী। মধ্য কথা হলও আমি কিছু দিলে Machine সেটা থেকে pattern খুঁজে বের করবে। সেই pattern অনুযায়ী পরবর্তিতে অনুমান করবে।

সজীবঃ হ্যাঁ এটাই। “অনুমান করে” । অনুমান এক্কেবার ছক্কা হাঁকানোর মতো সহজ হতে পারে আবার কিছুটা ভুলও হতে পারে।

রিফাতঃ তারমানে আমি যদি আগে থেকে কোনো কিছু না দেই তাহলে সে পারবে না?

সজীবঃ না পারবে না। কারণ সে শিখবে না বা কী থেকে প্যাটার্ণ খুঁজে বের করবে সেটা পাবে না।

রিফাতঃ তার মানে আমাকে আগে থেকেই ডেটা থাকতে হবে।

সজীবঃ শুধু ডেটা থাকলেই হবে না। সেটার আউটপুট ও থাকতে হবে। মানে প্রশ্ন + উত্তর দেখে দেখেই Machine learn করে।

রিফাতঃ হুম অনুমান করা। pattern খুঁজে বের করা।

সজীবঃ তাহলে মেশিন লার্নিং এর মানে কী দাঁড়ালো।

রিফাতঃ পুর্বের ডেটা থেকে pattern খুঁজে বের করে অনুমান করা। কিন্তু সেই pattern আমরা দেই না। মেশিন নিজে নিজেই বের করে। [১]
তাহলে sumary এটা দাঁড়াল যে এটাও একটা AI যেটা মেশিনকে learn করায়।

সজীবঃ কিছুটা পরিবর্তন করলেই হয়ে যাবে। যেমন ML আর AI একই না। এটা AI এর একটা অংশ। যার কাজ হলও Machine কে শিখানো। [২]

রিফাতঃ মধ্য কথা আমাদের টার্গেট হলও Artificially intelegentএকটা robot বানানো যা আমাদের মতো মানুষকে mimic করতে পারে। এইজন্য প্রথমেই মেশিনকে learn করতে হবে যার কাজ করে AI এর একটা ছোট অংশ যাকে বলা হয় Machine Learning.

সজীবঃ হ্যাঁ। Machine Learning এর প্রধান কাজই হলো মেশিনকে এমনভাবে তৈরি করা যাতে সে Data থেকে তুই যেরকম Hidden pattern বের করেছিল সেইরকম Hidden Pattern/ লুকায়িত Pattern/ similarities between data খুঁজে বের করা বা এক কথায় আবিষ্কার করা। আওরা তাকে বলেই দেই না যে কী প্যাটার্ন রয়েছে।

১) Machine learning is the process of discovering hidden patterns from raw data without explicit programming." [1]

২) "Machine learning is a type/subset of artificial intelligence (AI) that allows software applications to become more accurate at predicting outcomes without being explicitly programmed to do so." [2]

Refernces


[1] T. M. Mitchell, Machine Learning. New York, NY, USA: McGraw-Hill, 1997.
[2] T. M. Mitchell, Machine Learning. New York, NY, USA: McGraw-Hill, 1997.
Next
Your Picture

Shahan Ahmed

Dept of Electrical and Computer Engineering
North South University
Dhaka, Bangladesh