অধ্যায় ১: তথ্য ও যোগাযোগ প্রযুক্তি: বিশ্ব ও বাংলাদেশ প্রেক্ষিত — ১.৩.১ আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence)
তথ্য ও যোগাযোগ প্রযুক্তি · HSC | টেক্সটবুক
🔗 ২০. ১.৩.১ আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence)
চিন্তাশক্তি, বুদ্ধি কিংবা বিশ্লেষণ ক্ষমতা মানুষের সহজাত, একটি যন্ত্রকে মানুষের মতো বুদ্ধিমত্তা দিয়ে, সেটিকে চিন্তা করানো কিংবা বিশ্লেষণ করানোর ক্ষমতা দেওয়ার ধারণাটিকে সাধারণভাবে আটিফিশিয়াল ইন্টেলিজেন্স বা কৃত্রিম বুদ্ধিমত্তা বলা হয়। কিছুদিন আগেও কৃত্রিম বুদ্ধিমত্তা বা আর্টিফিশিয়াল ইন্টেলিজেন্স ছিল দূর ভবিষ্যতের একটি কাল্পনিক বিষয়। কিন্তু অতি সম্প্রতি এই দূরবর্তী ভবিষ্যতের বিষয়টি আমাদের দৈনন্দিন জীবনের অংশ হতে শুরু করেছে। তার প্রধান কারণ, পৃথিবীর মানুষ ডিজিটাল বিশ্বে এমনভাবে সম্পৃক্ত হয়েছে যে, হঠাৎ করে অচিন্তনীয় পরিমাণ ডেটা সৃষ্টি হয়েছে এবং সেই ডেটাকে প্রক্রিয়া করার মতো ক্ষমতাশালী কম্পিউটার আমাদের হাতে চলে এসেছে।
এই ডেটা বা তথ্যকে প্রক্রিয়া করার জন্য অনেক সময় সাধারণ কম্পিউটার প্রোগ্রাম যথেষ্ট নয়, এমন আযালগরিদম বা পদ্ধতি প্রয়োজন যার মাধ্যমে কম্পিউটার চিন্তা করে কোনো সমাধান বের করতে পারে এবং পরিবর্তিত পরিস্থিতির সাথে নিজেকে খাপ খাইয়ে নিতে পারে ঠিক যেমনটা মানুষ বা অন্যান্য বুদ্ধিমান প্রাণী করে থাকে | এ ধরনের পদ্ধতি এবং আ্যালগরিদম নিয়েই আর্টিফিশিয়াল ইন্টেলিজেস কাজ করে থাকে। আর্টিফিশিয়াল ইন্টেলিজেন্সের আওতায় বেশ কিছু ক্ষেত্র রয়েছে, যার মধ্যে উল্লেখযোগ্য হচ্ছে: মেশিন লার্নিং, রোবটিক্স,
কম্পিউটার ভিশন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP), স্পিচ প্রসেসিং ইত্যাদি। মেশিন লার্নি-এর কাজ হচ্ছে এমনভাবে কম্পিউটারকে প্রশিক্ষণ দেয়া যেন সে কোনো সিস্টেম সম্পর্কে বিভিন নিয়ম নিজেই শিখতে পারে এবং নিজের ভূল থেকে শিক্ষা নিয়ে পরে তা কাজে লাগাতে চিত্র ১.৭: আর্টিফিসিয়াল ইন্টেলিজেসের বিভিন্ন ক্ষেত্র এবং তার ইন্টেলিজেন্স কাজে লাগিয়ে একটি রোবট উদাহরণ বা যন্ত্রকে স্বয়ধক্রিয়ভাবে কাজ করানোর বিদ্যা। ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং দ্বারা মানুষ সচরাচর যেসব ভাষা ব্যবহার করে (যেমন: বাংলা, ইংরেজি, আরবি) সেসব ভাষায় কম্পিউটারের সাথে তথ্য আদান-প্রদান করার ব্যবস্থা করা হয়। কম্পিউটার ভিশন হচ্ছে ক্যামেরা দিয়ে একটা মেশিন যা দেখতে পায় তা থেকে বিভিন্ন তথ্য প্রক্রিয়া করার উপায় ঠিক যেমনটা মানুষ চোখ দিয়ে করে থাকে | আর স্পিচ প্রসেসিং হচ্ছে মূলত কম্পিউটারকে দিয়ে কথা বলানো ও শোনানোর কৌশল।
| করেছেন। তার মধ্যে অন্যতম জনপ্রিয় ও বহুল ব্যবহৃত একটি পদ্ধতি হচ্ছে নিউরাল নেটওয়ার্ক, যা কিছুটা মানুষের মস্তিষ্কের মতো কাজ করে। তোমরা নিশ্চয়ই জানো যে মানবমস্তিষ্কে আছে অসংখ্য নিউরন, যারা পরস্পরের সাথে তথ্য আদান-প্রদান করে বলেই মানুষ চিন্তা করতে পারে এবং বিভিন্ন অনুভূতি বোধ করতে (perceptron) বলা হয়ে থাকে | এই কৃত্রিম নিউরনগুলোকে বিভিন্ন স্তরে সাজিয়ে এদের মধ্যে যোগাযোগ স্থাপন করে যে নেটওয়ার্ক তৈরি হয়, তাকেই নিউরাল নেটওয়ার্ক বলে | নিউরাল নেটওয়ার্কের কাজ হচ্ছে কিছু ইনপুট থেকে একটা নির্দিষ্ট আউটপুট কীভাবে পাওয়া যেতে পারে তেমন একটা ফাংশন শেখা | সাধারণত একটি নিউরাল নেটওয়ার্কে তিনটি স্তর থাকে — ইনপুট স্তর, লুক্কায়িত স্তর (hidden layer) ও আউটপুট স্তর | নাম শুনেই বোঝা যাচ্ছে যে ইনপুট আর আউটপুট স্তরের কাজ হচ্ছে কম্পিউটারকে যে ফাংশনটা শেখানো হবে যথাক্রমে তার ইনপুট গ্রহণ করা ও আউটপুট প্রদান করা | এবার যেকোনো ইনপুটের জন্য সঠিক আউউপুটটা ব্যবহার করা হয়। নিউরাল নেটওয়ার্কটিকে অনেক ধরনের ইনপুট দিয়ে প্রশিক্ষণ দিতে থাকলে সে ধীরে ধীরে লুকায়িত স্তরের সঠিক মানগুলো শিখে যায়, যা ব্যবহার করে পরবর্তীতে তাকে নতুন কোনো ইনপুট দিলেও সে তত ভালো কাজ করবে। লুক্কায়িত স্তরের সংখ্যা একটা না রেখে অনেকগুলো স্তর ব্যবহার করলে বেশ জটিল ফাংশন শেখা সম্ভব- এ প্রক্রিয়াকে বলা হয় ডিপ লার্নিং (Deep Learning) | ডিপ লার্নিং-এর সাহায্যে ইদানীং কম্পিউটার দ্বারা বেশ কঠিন সব সমস্যার সমাধান হচ্ছে, যা আজ থেকে ১০-১২ বছর আগেও ভাবা যেত না। |
কৃত্রিম বুদ্ধিমত্তা প্রয়োগের ক্ষেত্রে প্রধানত C/C++, Java, MATLAB, Python, SHRDLU, PROLOG, LISP, CLISP, R ইত্যাদি প্রোগ্রামিং ল্যাংগুয়েজ ব্যবহার করা হয়। কার্যকারিতা ও প্রয়োজনীয়তার ভিত্তিতে ডেভেলপারগণ তীদের পছন্দসই প্রোগ্রাম ব্যবহার করে থাকেন।
| আর্টিফিশিয়াল ইন্টেলিজেন্সের সবচেয়ে সফল ক্ষেত্র হিসেবে মেশিন লার্নিং-এর কথা বলা যায়। মেশিন লার্নি-কে মোটা দাগে তিন ভাগে ভাগ করা যায়: সুপারভাইজড (Supervised) লার্নিং, আনসুপারভাইজড (unsupervised) লার্নিং এবং রিইনফোর্সমেন্ট (reinforcement) লার্নিং। Supervised Learning-4 হয়, যা থেকে তথ্য আহরণ করে সে শিখে যায় তাকে কী করতে হবে। করে শিখে ফেলবে কোন কোন বৈশিষ্ট্যর দিক থেকে এ দু'টো প্রাণীকে আলাদা করা যায়, আর এরপর নতুন কোনো ছবি দেখলে নিজেই শনাক্ত করতে পারবে সেটা কুকুর নাকি বিড়াল। অন্যদিকে Unsupervised Learning-4 কম্পিউটারকে নির্দিষ্ট করে কিছু বলে দেয়া হয় না, অনেকগুলো ডেটা বিশ্লেষণ করে সে বুঝতে পারবে ডেটাগুলোর পরস্পরের সাথে মিল বা অমিল কতটুকু | যেমন ধরো, চিত্র ১.৮: নিউরাল নেটওয়ার্কের গঠন কম্পিউটারকে অনেকগুলো প্রাণীর ছবি দিয়ে আমরা যদি কোনোটারই নাম না বলে দেই, তাও সে বুঝতে পারবে যে কুকুর আর নেকড়ে অনেকটা একই রকম, আবার এরা বানর ও শিম্পার্জির থেকে ভিন্ন। Reinforcement | 91111£-এর ক্ষেত্রে কম্পিউটারকে আলাদাভাবে কিছু শেখানো হয় না, নিজের মতোই কাজ করতে দেয়া হয়। কাজ শেষে তাকে শুধু বলা হয় কাজটা কতটুকু ঠিক হয়েছে বা ভুল হয়েছে, যাতে কম্পিউটার এর পরের বার তার আচরণ বা সিদ্ধান্ত পরিবর্তন করতে পারে। এভাবে প্রথম প্রথম সিদ্ধান্ত নিতে ভুল হবে, কিন্তু অনেকবার কাজটা করতে করতে সে ঠিকই ভুল থেকে শিক্ষা নিয়ে সঠিক সিদ্ধান্ত নিতে শিখবে | একটু খেয়াল করে দেখো, আমরা আমাদের জীবদ্দশাতেই আর্টিফিশিয়াল ইন্টেলিজেন্সের কিছু সফল প্রয়োগ দেখতে পাব, তার একটি হচ্ছে ড্রাইভারবিহীন স্বয়ংক্রিয় গাড়ি। আবহাওয়ার সফল ভবিষ্যদ্ববাণী আমরা ইতোমধ্যে দেখতে শুরু করেছি। এ ছাড়াও বর্তমান বিশ্বে কম্পিউটার প্রযুক্তিনির্ভর এমন কোনো ক্ষেত্র খুঁজে পাওয়া যাবে না যেখানে কৃত্রিম বুদ্ধিমস্তার ব্যবহারিক প্রয়োগ নেই। যেমন চিকিৎসাবিদ্যা, অটোমোবাইল, ফাইন্যান্স, সার্ভেইল্যান্স, সোশাল শেয়ার লেনদেন, আইনি সমস্যার সম্ভাব্য সঠিক সমাধান, বিমান চালনা, যুদ্ধক্ষেত্র পরিচালনা ইত্যাদি ক্ষেত্রে এর ব্যাপক ব্যবহার বর্তমানে পরিলক্ষিত হচ্ছে। |
মেশিন লার্নিং এবং ডিপ লার্নিং ব্যবহার করে বর্তমানে উচ্চক্ষমতা সম্পন্ন ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) সফটওয়্যার তৈরি করা হচ্ছে। যেমন: ChatGPT, Microsoft Copilot এবং Goggle Bard এই সফটওয়্যাওর বা টুলগুলো যেকোনো প্রশ্নের উত্তর দিতে পারে প্রায় মানুষের মতো করেই। ইন্টারনেট এবং তাদের নিজস্ব ডাটা সেটের লক্ষ লক্ষ রিপোর্ট বিশ্লেষণ করে নিমিষেই উত্তর দিতে পারে যেকোনো প্রশ্নের। কবিতা লেখা থেকে শুরু করে প্রোগ্রামিং ল্যা্গুয়েজ কোডসহ মাধ্যমে ছোটখাটো যেকোনো সফটওয়্যারের কোডও লিখে দিতে পারো।