পর্ব-২ঃ সচরাচর গবেষণার ফিল্ডসমূহ (চলমান..)
Published:
লেখার এই অংশটি সবচেয়ে গুরুত্বপূর্ণ, কেননা গবেষণা শুরুর পূর্বে সবচেয়ে কঠিন এবং প্রয়োজনীয় কাজ হল প্রবলেম খুজে বের করা এবং তা কোন উপায়ে সলভ করা সম্ভব সেটা আইডেন্টিফাই করা। এছাড়া নিজের ইন্টারেস্ট এবং প্যাশন খুজে পাওয়া অনেক বড় একটা কঠিন কাজ, যা খুজে পেলে ক্যারিয়ারের অর্ধেক ডিসিশন প্রায় নেয়া হয়ে যায়।
কম্পিউটার সায়েন্স আসলে অনেক বড় একটা ফিল্ড। এটার সবগুলো এরিয়া সম্পর্কে লিখে কভার করা প্রায় অসম্ভব। কেননা- আমি আজকে রাতে হয়তো সবগুলো এরিয়া নিয়ে লিখে ঘুমালাম, সকালে ঘুম থেকে উঠে রেড্ডিট পোস্ট বা হ্যাকারনিউজে আর্টিকেল দেখে জানতে পারলাম নতুন আরেকটি কিছু আবিষ্কৃত হয়েছে যা নিয়ে কমিউনিটিগুলো অনেক ব্যস্ত।
তাই গবেষনা শুরুর আগে কম্পিউটার সায়েন্সের সচরাচর কিছু ফিল্ডসমূহের সংক্ষিপ্ত পরিচিতি নিয়ে এখানে আলোচনা করছি- এখানে আমার জানা এবং আমি যেগুলোতে মোটামুটি কাজ করেছি, সেগুলো ফিল্ডকে বেশি প্রায়োরিটি দিয়েছি।
আর্টিফিশিয়াল ইন্টেলিজেন্স (AI)
- কি এবং কেন
আর্টিফিশিয়াল ইন্টেলিজেন্স বা “কৃত্রিম বুদ্ধিমত্তা” মনেহয় বর্তমান সময়ে কম্পিউটার সায়েন্সের সবচেয়ে বড় গবেষনার ফিল্ড এবং এখন পর্যন্ত এই ফিল্ডের সফলতাও সবচেয়ে বেশি।
এটি আসলে অনেক বিস্তর একটা ফিল্ড। মানুষ যেভাবে তার ব্রেইন এবং ইন্দ্রীয় দিয়ে কাজ করে, ঠিক অনুরূপ কাজই যন্ত্র নিয়ে করানোর প্রয়াসেই এই আর্টিফিশিয়াল ইন্টেলিজেন্স বা “কৃত্রিম বুদ্ধিমত্তা” তৈরির চিন্তা বিজ্ঞানিদের গবেষক করে তুললো।
সচরাচর কাজ যখন এলগোরিদমিক প্রক্রিয়ায় কম্পিউটার মেশিনের সাহায্যে সলভ করা হয় সেটিকে সহজ ভাষায় বলা হয়ে থাকে আর্টিফিশিয়াল ইন্টেলিজেন্স বা “কৃত্রিম বুদ্ধিমত্তা”।
যেমন- রোবট, সেলফ ড্রিভেন কার, চ্যাটবট এবং এরকম আরও অসংখ্য।
আর্টিফিশিয়াল ইন্টেলিজেন্সের সাব-ফিল্ডগুলোর মধ্যে কিছু বেসিক কিছু পার্থক্য থাকলেও সেগুলো আপাতদৃষ্টিতে একই। ওগুলো নিয়ে পরে হয়তো কখনো আলোচনা করবো। এখন চলুন দেখে নেই আর্টিফিশিয়াল ইন্টেলিজেন্সের সাব-ফিল্ডগুলোর সংক্ষিপ্ত পরিচয়-
আর্টিফিশিয়াল ইন্টেলিজেন্সের সাব-ফিল্ডসমূহ
মেশিন লার্ণিং (ML)
- কি এবং কেন
মেশিন লার্নিং হল কম্পিউটারকে শিখিয়ে কৃত্রিম বুদ্ধিমত্তা বানানোর একটি প্রক্রিয়া যেখানে কম্পিউার এক্সামপল থেকে লার্ন করে। এই লার্ন করা ঠিক মানুষের মতই, যেভাবে সে ছোটবেলা থেকে তার চারপাশ থেকে শিক্ষা গ্রহণ করে থাকে। মানুষ অনেক ছোট থেকে হাটতে শেখে, দৌড়াতে শেখে, চিন্তা করতে শেখে এবং একসময় স্বয়ংসম্পূর্ণ হয়ে যায়। মেশিনকেও সেভাবেই শেখানো শুরু করা হয় ট্রেনিং ডেটাসেট দিয়ে।
একাধিক উদাহরণ এখানে ডেটাসেট হিসেবে ব্যবহার করা হয়, যা থেকে একটা মেশিন ট্রেনিং নেয় এবং তার ট্রেনিং ডেটা থেকে একটা ফাইনাল ডিসিশনে উপনীত হয়। এবং এভাবেই একটি মেশিন একটা মানুষের মত অবিকল চিন্তা করতে শেখে এবং কাজ করতে পারে। আর উদাহরণ থেকে শেখার প্রক্রিয়া, এটিই হল মেশিন লার্নিং।
যেমনটি বুঝতে পারি এই টেবিলের উদাহরণ থেকে-
আয়তন (বর্গ ফুট) | রুমের সংখ্যা | রুমের ভাড়া (টাকা) |
---|---|---|
১০০ | ৩ | ১৫০০ |
৮০ | ৩ | ১৩০০ |
১৩০ | ৪ | ১৭০০ |
৫০ | ২ | ১০০০ |
৬০ | ২ | ? |
এই টেবিল থেকে প্রশ্নবোধক (?) স্থানে কত টাকা বসবে তা আমরা কিছু ক্যালকুলেশন করে বের করে ফেলতে পারি। এখানে ৪ টি এক্সামপল দেয়া আছে, কম্পিউটারও এই এক্সামপল থেকে ক্যালকুলেশন করে মানুষের থেকেও নিখুতভাবে, স্বল্প সময়ে উত্তর প্রেডিক্ট করতে পারবে। সেজন্য তাকে ট্রেনিং ডেটা দিয়ে ট্রেইন করানো হয় যার মাধ্যমে সে শিখতে পারে, আর এই শেখানোর প্রক্রিয়াকে বলা হয় মেশিন লার্ণিং।
এর সাহায্যে আমরা ইতোমধ্যে অনেক বাস্তব সমস্যার সমাধান করে ফেলতে পারছি। যেমন-
- বাস্তব প্রয়োগ
- ইউটিউবে কনটেন্ট সাজেশন
- রোগের সম্ভবনা নির্ণয়
- ই-কমার্স সাইটে প্রোডাক্ট রিকমেন্ডেশন
- আবহাওয়ার পূর্বাভাস জানা
- ক্রিমিনাল আইডেন্টিফাই করা
- ফেইক নিউজ ডিটেক্ট করা
- ল্যাংগুয়েজ প্রসেসিং এর কাজ করা
সোজাসুজিভাবে বলতে গেলে এই মেশিন লার্নিংই আরও উন্নত এবং বড় পরিসরে কাজ করাকে বলা হয় ডিপ লার্নিং যা আমরা এর পরের অংশে আলোচনা করবো।
ডিপ লার্নিং (DL)
বর্তমান সময়ে কৃত্রিম বুদ্ধিমত্তার সবচেয়ে বেশি প্রবলেম সলভে কাজে লাগছে এই ডিপ লার্নিং এর এলগোরিদমগুলো। সধারণভাবে বলতে গেলে- মেশিন লার্নিং আর ডিপ লার্নিং এর মধ্যে পার্থক্য হল নিউরাল নেটওয়ার্কের কমপ্লেক্সিটি। যা ডিপ লার্নিং এর ক্ষেত্রে অনেক বেশি কমপ্লেক্স এবং মাল্টি লেয়ার্ড হয়ে থাকে।
এখানে অনেক বেশি ডেটা নিয়ে রিয়াল লাইফ প্রবলেমগুলো সলভ করা হয়। এখানে কম্পিউটেশনাল কস্ট মেশিন লার্নিং এলগোরিদমগুলোর চেয়ে অনেক বেশি হয়ে থাকে, তাই অনেক সময় শক্তিশালী হার্ডওয়্যারের প্রয়োজন হয়।
ডিপ লার্নিং এর আরেকটি মূল পার্থক্যা হল- ব্যাক প্রোপাগেশান, যার মাধ্যমে সিস্টেম খুবই এফিসিয়েন্ট ওয়েতে ডেটা থেকে শিখতে পারে। এছাড়া মেশিন লার্নিং এর অ্যাপ্লিকেশনগুলোই ডিপ লার্নিং এও আমরা দেখতে পাই। সব শেষে, ডিপ লার্নিং হল আরও এফিসিয়েন্ট এবং উন্নত ট্রেইনিং প্রসেস।
কম্পিউটার ভিশন (CV)
- কি এবং কেন
চিন্তা করুন সেলফ ড্রিভেন কারের কথা। আমরা নাহয় আমাদের চোখের মাধ্যমে দেখতে পারি, তাহলে কম্পিউটার কিভাবে রোডের অবস্থা সম্পর্কে অবগত হয়?
হ্যা, ঠিক এই ধারনাটিকেই বাস্তবে প্রয়োগ নিয়ে যেখানে কাজ হয়, সেটিকেই বলে কম্পিউটার ভিশন। কম্পিউটার যন্ত্র “কম্পিউটার ভিশনের” মাধ্যমে কিছু দেখে এবং সে অনুযায়ী মানুষের মত ডিসিশন নেয়। আমরা সাধারণত ছবি, ভিডিও, আ্যানিমেশন নিয়ে যত কাজ করে থাকি তা সবই কম্পিউটার ভিশনের অন্তর্ভুক্ত।
কিন্তু প্রশ্ন আসতে পারে, কেন আমি এটাকে এ-আই এর সাব-ফিল্ড লিখলাম। এটা বলার যথেষ্ট কারন রয়েছে। আমরা জেনেছি মেশিন লার্নিং, ডিপ লার্নিং বা আর্টিফিশিয়াল ইন্টেলিজেন্স যাই বলি না কেন, সবকিছুতেই কম্পিউটার ডেটা থেকে শিখে এবং সে অনুযায়ী ডিসিশন প্রদান করে। আর সেই ডেটা যদি হয় ভিজুয়াল ডেটা বা কম্পিউটার ভিশনের ডেটা তাহলে?
তখন আসলে কম্পিউটার ভিশন আর আর্টিফিশিয়াল ইন্টেলিজেন্স একসাথে মিলেমিশে প্রবলেম সলভ করবে। আর সেজন্যই দুটি ফিল্ড একে অন্যের সাথে সম্পর্কিত।
বর্তমান সময়ে যেসকল টাইপের কাজ কম্পিউটার ভিসন দিয়ে হচ্ছে-
- বাস্তব প্রয়োগ
- হাতের লেখা অক্ষর চিহ্নিতকরন
- সেলফ ড্রিভেন কার রাস্তায় চলাচল
- ফেস রিকগনিশন
- ইশারা ভাষা সাধারণ মানুষের বোধগম্য করা
- বিভিন্ন ডকুমেন্ট ক্লাসিফিকেশন
- অবজেক্ট ডিটেকশন
- স্তন ক্যান্সার প্রেডিকশন
- লিখিত ডকুমেন্টকে রিড করা
- শরীরের ভেতরের ছবি বা এক্স-রে ডেটা দিয়ে রোগ সম্পর্কে জানা
- অগমেন্টেড রিয়্যালিটি
- ভার্চুয়াল রিয়্যালিটি
ডেটা মাইনিং (DM)
- কি এবং কেন
মেশিন লার্নিং, ডিপ লার্নিং থেকে ডেটা মাইনিংও খুব একটা আলাদা কিছু না। অনেক বড় বড় ডেটাসেট থেকে মেশিন লার্নিং ,স্ট্যাটিস্টিক্যাল এনালাইসিসের মাধ্যমে একটা প্যাটার্ণ খুজে বের করাটাই হল ডেটা মাইনিং।
ডেটা মাইনিংকে আবার ডেটাসেটের নলেজ খুজে বের করার টেকনিকও বলা হয়ে থাকে। গুগলের কথা চিন্তা করি- সেখানে প্রায় প্রতিদিন ২.৫ কুইনটিলিয়ন ডেটা প্রডিউস করে এবং সেগুলো থেকে সঠিক ইনফরমেশন আমাদের সরবরাহ করে থাকে। চিন্তা করুন, এত এত ডেটা থেকে কিভাবে অল্প কিছু সঠিক নলেজকে আমাদের জন্য আলাদা করতে পারে?
হ্যা, গুগলের এই প্রক্রিয়াকেই আমরা বলতে পারি এক প্রকার ডেটা মাইনিং। একইভাবে ডেটা মাইনিং আমাদের যেসকল কাজে অনেক বেশি ব্যাবহৃত হচ্ছে-
- বাস্তব প্রয়োগ
- সোস্যাল মিডিয়ার পোস্ট থেকে ইনফরমেশন পাওয়া
- ল্যাংগুয়েজ প্রসেস করা
- ফিনান্স এবং ব্যাংকিং খাতের ডেটা থেকে কোনো ডিসিশন নেয়া
- শেয়ার মার্কেট এনালাইজ এবং রেট প্রেডিক্ট করা
- বায়ো ইনফরমেটিকস এবং জিন এনালাইসিস
বিঃ দ্রঃ বর্তমানে আর্টিফিশিয়াল ইন্টেলিজেন্স যে মানুষের মাথা খেয়েছে সেটা বলতে দিধা নাই। শুধু মাথা খেয়েছে বলতে গেলে ভুল হবে, বিকল্প মাথা তৈরিও করেছে বটে। বিশাল বড় এই ফিল্ডের মূল চালিকাশক্তি হল ম্যাথমেটিকস বা গণিত। প্রোবাবিলিটি থিওরি এবং লিনিয়ার অ্যালজেবরা দিয়ে মানুষের নিউরোনের লজিক কৃত্রিমভাবে বিল্ট করাই হল আর্টিফিশিয়াল ইন্টেলিজেন্স।
কিন্তু আমাদের কাজ করতে গেলে গণিতের সেইসকল টার্ম ম্যানুয়ালি খুব একটা ব্যবহার করতে হয়না। সেজন্য তৈরি হয়েছে প্রোগ্রামিং ল্যাংগুয়েজগুলোর উন্নত সব লাইব্রেরী। এই কাজের জন্য পাইথন একটা বিকল্পহীন টুলস বলা চলে। কারন নিউমেরিক কম্পিউটেসন এবং মেশিন লার্নিং, ডিপ লার্নিং এর কাজের জন্য পাইথনের বিশেষ কিছু লাইব্রেরী রয়েছে, যার বিকল্প নাই। আমি পরবর্তীতে প্রতিটি সেকশনে সম্ভাব্য প্রয়োজনীয় টুলস সম্পর্কে লেখার চেষ্টা করবো।
কি কি থাকছে না
এছাড়াও আমি যে এরিয়াগুলো নিয়ে এখানে আপাতত লিখবোনা, কিন্তু আপনারা চাইলে নিজ উদ্যোগে ওয়েব সার্স করে জেনে নিতে পারেন সেগুলো হতে পারে- (যেগুলো এখন লিখছিনা, পরে সময় করে সবগুলো টপিক একে একে লেখার চেষ্টা করবো)-
- ডেটা ম্যানেজমেন্ট এবং ডেটা সিকিউরিটি
- ব্লকচেইন
- সাইবার সিকিউরিটি
- প্যারালাল কম্পিউটিং
- নেটওয়ার্ক এডমিন্সট্রেশন
- HCI (হিউম্যান কম্পিউটার ইন্টারঅ্যাকশান)
- বায়ো ইনফরমেটিকস
- কম্পিউটার গ্রাফিকস
চলমান..