মানুষ যেভাবে চিন্তা ভাবনা করে, কৃত্তিম উপায়ে কম্পিউটারে সেভাবে চিন্তা ভাবনা করার সক্ষমতার রূপদান করাকে Artificial Intelligence বা কৃত্তিম বুদ্ধিমত্তা বলা হয়। অধিকাংশ কৃত্রিম বুদ্ধিমত্তার গবেষক ও লেখকের মতে কৃত্তিম বুদ্ধিমত্তা হলো
“The study and design of intelligent agents, where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success.“
অর্থাৎ কম্পিউটার বিজ্ঞানের এই শাখা কৃত্রিম বুদ্ধিমত্তা সম্পন্ন এজেন্ট (Agent) কীভাবে তৈরি করা যায় তা সম্পর্কে কাজ করে। এখানে কৃত্রিম বুদ্ধিমত্তা সম্পন্ন এজেন্ট বলতে এমন একটি সিস্টেম বুঝায় যা চারপাশ প্রত্যক্ষ করে সর্বোচ্চ সাফল্য পাওয়ার জন্য যে সিদ্ধান্ত গ্রহণ করা দরকার, সে অনুসারে তাহার কার্যক্রম পরিচালনা করে থাকে।
কৃত্রিম বুদ্ধিমত্তা বা আর্টিফিসিয়াল ইনটেলিজেন্সের জনক হলেন বৃটিশ বিজ্ঞানী ও গণিতবিদ অ্যালান টুরিং যার পুরো নাম Alan Mathison Turing। ১৯৫০ সালে তাঁর আবিষ্কৃত “টুরিং টেস্ট” কৃত্রিম বুদ্ধিমত্তার ধারণার ভিত্তি স্থাপন করে। “টুরিং টেস্ট” এমন একটি পরীক্ষা যাতে জানা যায় যে মেশিনের চিন্তা করার ক্ষমতা আছে কী না। কম্পিউটার বিজ্ঞান এবং কৃত্রিম বুদ্ধিমত্তার ক্ষেত্রে অসামান্য অবদানের স্বীকৃতিস্বরূপ এসিএম (Association for Computing Machinery-ACM) বাৎসরিক ভিত্তিতে এ. এম. টুরিং এওয়ার্ড চালু করেছে। এই টুরিং এওয়ার্ডকে কম্পিউটার বিজ্ঞানের নোবেল প্রাইজের সমতুল্য ধরা হয়। তাছাড়া অ্যালান টুরিংকে তাত্ত্বিক কম্পিউটার বিজ্ঞানের জনক হিসাবেও বিবেচনা করা হয়। ১৯৫৫ সালে যুক্তরাস্ট্রের MIT এর অধ্যাপক জন ম্যাককার্থি (John McCarthy) কৃত্রিম বুদ্ধিমত্তা বা আর্টিফিসিয়াল ইনটেলিজেন্স (Artificial Intelligence) শব্দটির সাথে পরিচয় করিয়ে দেন। ১৯৫০ এর শেষের দিকে তিনি কৃত্রিম বুদ্ধিমত্তা প্রয়োগের মাধ্যমে সমস্যা সমাধানের জন্য LISP প্রোগ্রামিং ভাষার উদ্ভাবন করেন।
পঞ্চম প্রজন্মের কম্পিউটার গুলো একই সময়ে বহুবিধ কাজ অতিদ্রুততার সাথে সম্পন্ন করতে পারে। পক্ষান্তরে মানুষ একই সময়ে বিভিন্ন বিষয় চিন্তা করতে পারে না। AI বা কৃত্তিম বুদ্ধিমত্তা হচ্ছে কম্পিউটার বিজ্ঞানের একটি শাখা, যেখানে মানব জাতির বুদ্ধিমত্তার মত কম্পিউটার আচরণ করতে পারে। কম্পিউটার কীভাবে মানুষের মত চিন্তা করবে, কীভাবে অসম্পূর্ণ তথ্য দিয়ে পূর্ণাঙ্গ সিদ্ধান্তে পৌঁছবে, কীভাবে সমস্যা সমাধান করবে, কীভাবে বিচক্ষণতার পরিকল্পনা প্রণয়ন করবে, কীভাবে সফলতার সহিত খেলাধুলা করবে ইত্যাদি বিষয়গুলোর জন্যই কৃত্তিম বুদ্ধিমত্তার উপর গবেষণা ও তার ফলাফল বাস্তবে প্রয়োগ করা হচ্ছে। বর্তমানে মেশিন লার্নিং (Machine Learning-ML), প্রাকৃতিক ভাষার প্রক্রিয়াকরণ (Natural Language Processing-NLP), স্পীচ (Speech), রোবট সম্পর্কিত (Robotics), এক্সপার্ট সিস্টেম (Expert System), কম্পিউটার ভিশন (Vision), পরিকল্পনা ও অপটিমাইজেশনের ক্ষেত্রে কৃত্তিম বুদ্ধিমত্তার বিশেষ ব্যবহার পরিলক্ষিত হচ্ছে।
কৃত্তিম বুদ্ধিমত্তাকে প্রয়োগ করার জন্য বিভিন্ন ধরনের প্রোগ্রামিং ল্যাংগুয়েজের ব্যবহার করা হয়। যেমন- LISP(“Lots if Idiotic Silly Parentheses”), CLISP, PROLOG(Programming logic), C/C++, Java, Mathlab, Python ইত্যাদি।
মেশিন লার্নিং
মেশিন লার্নিং হল কৃত্রিম বুদ্ধিমত্তা এবং কম্পিউটার বিজ্ঞানের একটি শাখা যা মানুষের শেখার উপায় অনুকরণ করতে ডেটা এবং অ্যালগরিদম ব্যবহারের উপর ফোকাস করে, ধীরে ধীরে শেখার যথার্থতা উন্নত করে এবং ঐ শিখন কাজে লাগাতে পারে। ডেটা সায়েন্সের ক্রমবর্ধমান ক্ষেত্রগুলোর একটি গুরুত্বপূর্ণ উপাদান হলো মেশিন লার্নিং। অন্যভাবে বলা যায় যে, মেশিন লার্নিং হল সেই শিক্ষা যেখানে একটি মেশিন নিজে নিজেই উদাহরণ এবং পূর্ববর্তী অভিজ্ঞতা থেকে শিখতে পারে। এটির জন্য তৈরি করা প্রোগ্রাম নির্দিষ্ট হতে হবে না এবং স্থিরও হবে না। মেশিন যখন প্রয়োজন তখন তার অ্যালগরিদম পরিবর্তন বা সংশোধন করতে পারে। ১৯৫৯ সালে আর্থার স্যামুয়েল (Arthur Samuel) সর্বপ্রথম “Machine Learning” শব্দটা ব্যবহার করেন। আমরা প্রত্যেকদিন নানাভাবে না জেনেই মেশিন লার্নিং প্রযুক্তির অনেক আপ্লিকেশন ব্যবহার করছি। উদাহরণস্বরূপ বলা যায় যে, গুগলে আমাদের প্রত্যেকটা সার্চ রেজাল্ট এর সঙ্গে মেশিন লার্নিং জড়িত। সার্চ ইঞ্জিন গুলো মেশিন লার্নিং ব্যবহার করে ওয়েব পেইজগুলোকে ক্রম অনুসারে সাজায় বা রেঙ্ক করে। ফেইসবুক এর অটোমেটিক ফটো ট্যাগিং সিস্টেমও মেশিন লার্নিংয়ের ব্যবহার করে। সাধারণত মেশিন লার্নিং এর সমস্যা গুলোকে প্রধানত ৫ (পাঁচ) ভাগে ভাগ করা যায়। নিচের ছকে তা দেখানো হলো।
তত্ত্বাবধানাধীন বা সুপারভাইসড লার্নিং একটি শিশুকে হাঁটার প্রশিক্ষণের অনুরূপ। প্রশিক্ষক শিশুর হাত ধরবেন, তাকে দেখাবেন কিভাবে তার পা সামনে নিয়ে যেতে হয়। যতক্ষণ না শিশু নিজে নিজে হাঁটতে শেখে ততক্ষণ পর্যন্ত প্রদর্শনের জন্য প্রশিক্ষককে হেঁটে দেখাতে হবে। কাজেই সুপারভাইসড লার্নিং এর ক্ষেত্রে একটি ডেটাসেট দেয়া থাকে এবং বলা থাকে সঠিক আউটপুট কি হবে। এক্ষেত্রে অবশ্যই ইনপুট এবং আউটপুট এর সাথে রিলেশন থাকে।
তত্ত্বাবধানহীন বা আনসুপারভাইসড লার্নিংয়ের ক্ষেত্রে আউটপুট কি হবে তা অল্প জানা বা পুরোপুরি অজানা থাকে। এক্ষেত্রে ডেটাসেট এর মধ্যে যেসব ডেটা আছে তাদের মধ্যে একটি স্ট্রাকচার খুঁজে বের করতে হয় যেখানে ডেটাসেটে কোন চলকের কি প্রভাব তা নিয়ে প্রায় কোনও ধারনা থাকে না। ডেটাসেটের চলকগুলোর পারস্পরিক সম্পর্কের উপর ভিত্তি করে আনসুপারভাইসড লার্নিং অ্যালগরিদম ব্যবহার করে ডেটা এর গঠন খুঁজে পাওয়া যেতে পারে। রিইনফোর্সমেন্ট লার্নিং বুঝার জন্য একটি পোষা কুকুরকে প্রশিক্ষণ দেওয়ার কথা বিবেচনা করা যেতে পারে।
পোষা কুকুরকে আমাদের কাছে একটি বল আনতে প্রশিক্ষণ দিই। আমরা একটি নির্দিষ্ট দূরত্বে বলটি নিক্ষেপ করি এবং কুকুরটিকে আমাদের কাছে ফিরিয়ে আনতে বলি। প্রতিবার কুকুরটি এই কাজটি করে, আমরা কুকুরটিকে পুরস্কৃত করি। ধীরে ধীরে, কুকুরটি শিখেছে যে কাজটি সঠিকভাবে করলে তাকে একটি পুরষ্কার দেয় এবং তারপরে কুকুরটি ভবিষ্যতে প্রতিবার সঠিকভাবে কাজটি করতে শুরু করে। সঠিকভাবে, এই ধারণাটি বা শক্তিবৃদ্ধি ধরনের শেখার ক্ষেত্রে প্রয়োগ করা হয়। এই কৌশলটি প্রাথমিকভাবে মেশিনের গেম খেলার জন্য তৈরি করা হয়েছিল। গেমের প্রতিটি পর্যায়ে সমস্ত সম্ভাব্য চালগুলি বিশ্লেষণ করার জন্য মেশিনটিকে একটি অ্যালগরিদম দেওয়া হয়। যন্ত্রটি এলোমেলো পদক্ষেপগুলির মধ্যে একটি নির্বাচন করতে পারে। পদক্ষেপ সঠিক হলে, মেশিন পুরস্কৃত হয়, অন্যথায় এটি জরিমানা হতে পারে। ধীরে ধীরে, মেশিনটি সঠিক এবং ভুল চালগুলির মধ্যে পার্থক্য করতে শুরু করবে এবং বেশ কয়েকটি পুনরাবৃত্তির পরে আরও ভাল নির্ভুলতার সাথে গেমের ধাঁধাটি সমাধান করতে শিখবে। মেশিনটি আরও যত বেশি করে গেম খেলবে গেমটি জেতার নির্ভুলতা তত উন্নত হবে। রিইনফোর্সমেন্ট লার্নিং সিস্টেমটি একটি মডেল বা এজেন্ট এবং একটি পরিবেশ নিয়ে গঠিত। এজেন্ট একটি নির্দিষ্ট লক্ষ্য অর্জনের জন্য গতিশীল বিশ্বের সাথে যোগাযোগ করবে। গতিশীল বিশ্ব তার কর্মের উপর ভিত্তি করে এজেন্টকে পুরস্কৃত করবে বা শাস্তি দেবে। সময়ের সাথে সাথে, এজেন্ট গতিশীল বিশ্বে নেভিগেট করতে শিখবে এবং তার প্রাপ্ত পুরষ্কার এবং শাস্তির উপর ভিত্তি করে তার লক্ষ্য অর্জন করবে।
ডিপ লার্নিং হলো আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক এর উপর ভিত্তি করে তৈরি হওয়া একটি মেশিন লার্নিং মডেল। ডিপ লার্নিং একটি কম্পিউটার সফ্টওয়্যার যা মানব মস্তিষ্কের নিউরনের নেটওয়ার্ককে অনুকরণ করে। এটি মেশিন লার্নিং এর একটি উপসেট এবং একে ডিপ লার্নিং বলা হয় কারণ এটি ডিপ নিউরাল নেটওয়ার্ক ব্যবহার করে। ডিপ নিউরাল নেটওয়ার্ক বস্তু সনাক্তকরণ থেকে বক্তৃতা সনাক্তকরণ পর্যন্ত অনেক কাজে অত্যাধুনিক নির্ভুলতা প্রদান করে। এটি প্রোগ্রামারদের দ্বারা স্পষ্টভাবে কোড করা পূর্বনির্ধারিত জ্ঞান ছাড়াই স্বয়ংক্রিয়ভাবে শিখতে পারে।
কৃত্রিম বা আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক (ANN)
কৃত্রিম নিউরাল নেটওয়ার্ক শব্দটি বায়োলজিক্যাল নিউরাল নেটওয়ার্ক থেকে উদ্ভুত যা মানুষের মস্তিষ্কের গঠনের ক্ষুদ্রতম একক। এই নিউরনগুলোর আন্তঃসংযোগের মাধ্যমে মানুষের বুদ্ধি বা জ্ঞানের বিকাশ ঘটে। মানব মস্তিষ্কের নিউরনের অনুরূপ এক ধরনের কৃত্রিম নিউরন একে অপরের সাথে সংযুক্ত থেকে কম্পিউটারকে কোন কিছু বোঝার এবং মানুষের মতো পদ্ধতিতে, সিদ্ধান্ত নেওয়ার সক্ষমতা দান করাকে আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক বলে। কৃত্রিম নিউরাল নেটওয়ার্কটি কম্পিউটার প্রোগ্রামিং দ্বারা ডিজাইন করা হয় যাতে কৃত্রিম নিউরনগুলো আন্তঃসংযুক্ত মানব মস্তিষ্কের নিউরনের মতো আচরণ করে। কৃত্রিম এই নিউরনগুলো নোড (node) নামে পরিচিত। কৃত্রিম নিউরাল নেটওয়ার্ক প্রাথমিকভাবে তিনটি স্তর নিয়ে গঠিত।
১। ইনপুট স্তর (Input layer)
২। লুক্কায়িত স্তর (Hidden layer)
৩। আউটপুট স্তর (Output layer)।
লুক্কায়িত স্তর এক বা একাধিক স্তর নিয়ে গঠিত হতে পারে। প্রথমে কৃত্রিম নিউরাল নেটওয়ার্ককে জানা নমুনা ইনপুট ও আউটপুট ডেট সেট দিয়ে প্রশিক্ষণ দেওয়া হয়। প্রশিক্ষনের ফলে লুক্কায়িত স্তরটি এমনভাবে পরিবর্তিত হয় যাতে ঐ নমুনা ইনপুট দিলে কাংখিত আউটপুট পাওয়া যায়। যত বেশি ডেটা সেট দিয়ে এই কৃত্রিম নেটওয়ার্ককে প্রশিক্ষণ দেওয়া হবে নেটওয়ার্কটি তত বেশি শিখতে পারবে (লুক্কায়িত স্তর পরিবর্তিত হতে পারবে) এবং কাংখিত আউটপুট দিতে সমর্থ হবে। লুক্কায়িত স্তর একাধিক হলে এই কৃত্রিম নেটওয়ার্ককে আরও বেশি বৃদ্ধিমান করা সম্ভব। সেক্ষেত্রে নেটওয়ার্কটি নিজে নিজেই ডেটা ব্যবহার করা শিখে নিতে পারবে।
এক্সপার্ট সিস্টেম
কোনো বিষয়ের উপর তথ্য সংগ্রহ করে তা সংরক্ষণপূর্বক প্রয়োজনীয় বিশ্লেষণ করে ঐ বিষয়ের উপর কোনো প্রশ্ন করে কম্পিউটার থেকে উহার উত্তর জেনে নেওয়ার ব্যবস্থাকে এক্সপার্ট সিস্টেম বলা হয়। এক্সপার্ট সিস্টেম হলো কৃত্রিম বুদ্ধিমত্তার একটি প্রয়োগ। এটি একটি কম্পিউটার সিস্টেম যা মানুষের চিন্তা ভাবনা করার দক্ষতা এবং সমস্যা সমাধানের সক্ষমতাকে একত্রে ধারণ করে। এটি এমন একটি কম্পিউটার সিস্টেম যার মানব মস্তিষ্কের মত পারিপার্শ্বিক পরিস্থিতি বিশ্লেষণ করে সর্বোচ্চ সাফল্য লাভের উদ্দেশ্যে সিদ্ধান্ত নেওয়ার সক্ষমতা রয়েছে। এই সিস্টেমে কম্পিউটারকে বিশাল তথ্য ভান্ডার দিয়ে সমৃদ্ধ করা হয় যাকে জ্ঞানভান্ডার বলা হয়। জ্ঞানভান্ডারে যে কোন নির্দিষ্ট বিষয়ের উপর প্রশ্ন করে উত্তর জেনে নেওয়া যায়। এ জন্য উচ্চক্ষমতা সম্পন্ন অনেকগুলো মাইক্রোপ্রসেসর ও চিপ ব্যবহার করে প্রোগ্রামিং এর মাধ্যমে কৃত্রিম বুদ্ধিমত্তা তৈরি করা হয় যা ইনফারেন্স ইঞ্জিন নামে পরিচিত। একটি ইউজার ইন্টারফেসের সাহায্যে মানুষের সাথে ইনফারেন্স ইঞ্জিনের মিথক্রয়ার মাধ্যমে সমস্যার সমাধান করা হয়। প্রোগ্রামে ভুল না থাকলে এক্সপার্ট সিস্টেম কাজ করতে কোন ভুল করে না। একজন দক্ষ মানুষের জ্ঞান বুদ্ধির সাহায্যে তৈরি করা প্রোগ্রাম দিয়ে চালিত হলেও এটি অনেক ক্ষেত্রে মানুষের চেয়ে দ্রুত গতিতে কাজ করে থাকে। এক্সপার্ট সিস্টেম সাধারণত একজন দক্ষ মানুষের সমতুল্য হতে পারে, কিন্তু বিকল্প হতে পারে না। এটি একজন দক্ষ মানুষের সাহায্যকারী হিসেবে কাজ করে থাকে মাত্র। মানুষের মত কাজ করার জন্য এক্সপার্ট সিস্টেম তৈরি করার কাজ চলছে। মানব শীররের রোগ নিরাময়ে, বিভিন্ন ডিজাইনের ত্রুটি সংশোধনে, জেট বিমান চালনায় পরিকল্পনা ও সিডিউল তৈরিতে, ভূ-গর্ভস্থ তেল ও খনিজ অনুসন্ধানের ক্ষেত্রে এক্সপার্ট সিস্টেমের ব্যবহার লক্ষ্য করা যায়।


Leave a Reply