একটা সময় ছিল যখন দাবা ভালো খেলতে জানলে লোকে বলতো, বাহ্! কি বুদ্ধিমান! ছোটবেলায় দাবা খেলা ছিল রীতিমতো বুদ্ধির লড়াই! দাবা খুব প্রতিদ্বন্দ্বিতাপূর্ণও বটে — আমাদের প্রজন্মের অনেকেই স্কুলের বন্ধুদের সঙ্গে ঘণ্টার পর ঘণ্টা ধরে দাবা খেলেছে! এখনো অনেকেই দাবা খেলার গ্রান্ডমাস্টারদের খুব বুদ্ধিমান ভাবে — যেহেতু ভারতে নতুন প্রজন্মের অনেক দাবাড়ু বিশ্বমঞ্চে ভালো করছে, তাই দাবার জনপ্রিয়তাও বাড়ছে!
কিন্তু আমরা সবাই জানি বোধহয়, তিরিশ বছর আগে থেকেই কম্পিউটারেরা মানুষ গ্রান্ডমাস্টারদের হারিয়ে দিচ্ছে সবরকম প্রতিযোগিতামূলক দাবায়! বুদ্ধির খেলায় মানুষ যন্ত্রের কাছে অনেক আগে থেকেই হেরে বসে আছে! বুদ্ধিমান যন্ত্র তাহলে নব্বই-এর দশক থেকেই আছে?
আরো আগে, বড় বড় সংখ্যা মনে মনে যোগ-গুণ ইত্যাদি করাকে লোকে খুব সমীহ করতো। এখনও আমেরিকার অনেক দোকানপাটে তেরো আর সাতষট্টি যোগ করে আশি বলে দিলে ক্লার্ক বলে, কি স্মার্ট! শকুন্তলা দেবী নামে একজন তো খুবই বিখ্যাত এসব করে, তাকে নিয়ে সিনেমাও হয়েছে! কিন্তু এসব তো গত-শতাব্দীর পকেট ক্যালকুলেটর-ই করে দিতে পারে। কম্পিউটারের কাছে এ আর কি ব্যাপার!
তার মানে অনেক আগে থেকেই কৃত্রিম বুদ্ধিমান যন্ত্র রয়েছে — তবে কেন লোকে AI, বা কৃত্রিম বুদ্ধিমত্তা, নিয়ে এতো হৈচৈ করছে? এতো হওয়ার-ই ছিল!
আসলে গত কয়েক বছরে কম্পিউটার সাইন্স-এ যা হয়েছে, তার সঙ্গে এই আগের দাবা-খেলা বা গুণ-করার একটা মৌলিক পাথর্ক্য আছে।
বড় বড় সংখ্যা গুণ করা, বা গ্রান্ডমাস্টারদের সঙ্গে দাবা খেলা সাধারণ মানুষের পক্ষে বেশ কঠিন কাজ। গুণ সহজ ভাবে করার জন্য তো আগে লগ-টেবিল ব্যবহার করতো — হাইস্কুলের ছেলে-মেয়েদের সেসব শিখতে হতো! এখন আর হয় না। কিন্তু এসব করা কম্পিউটারের জন্য জলভাত। এসবের জন্য খুব তাড়াতাড়ি চলে এমন algorithm যেখানে পর পর করা যায় এমন নির্দেশাবলি রয়েছে। কম্পিউটার যেহেতু একই কাজ বারবার করতে, বা খুব বড় লিস্ট থেকে কিছু খুঁজে বের করতে সিদ্ধহস্ত, তাই যোগ-গুণ করা, বা একটা ম্যাপ-এর মধ্যে রাস্তা বের করা কোনো ব্যাপারই না। গত শতকের শেষ ভাগ, এবং দু-হাজার-এর প্রথম দশকে এভাবেই কম্পিউটিং বিপ্লব হয়েছে!
কিন্তু অনেক কাজ মানুষ সহজে করতে পারে, অথচ কম্পিউটার পারে না। যেমন একটি ছবি দেখে বলা এটি কুকুরের ছবি না বেড়ালের। কিছু কাজ আছে যা না মানুষ ভালো করে পারে, না কম্পিউটার — যেমন আবহাওয়ার পূর্বাভাস। এমন algorithm বের করা খুব কঠিন, যা একটা কুকুর আর বেড়াল-এর ছবি দেখে আলাদা করতে পারবে। তাহলে আমরা সেটা এতো সহজে পারি কী করে? ছোটবেলাতেই আমরা দেখে শিখে যাই, বা কেউ শিখিয়ে দেয় প্রথমে: এটা কুকুর, এটা বেড়াল; আর তারপর আমরা খুব সহজেই রাস্তায় একটা নতুন প্রাণী দেখে বলে দিই, এই তো কুকুর, এই তো বেড়াল। দেখে দেখে শিখে যাই আমরা — যন্ত্রকেও হয়তো কিছু জিনিস দেখালে শিখে যাবে সে!
AI কীভাবে হতে পারে তার অনেক রকমফের আছে। Algorithm বা প্লানিং-এর মাধ্যমে বুদ্ধিমান যন্ত্র হতে পারে — যেমন দাবা খেলা কম্পিউটার, বা হোম ডেলিভারি করা রোবট। অন্য যে পন্থায় AI হতে পারে, সেটা হলো এই দেখে দেখে শেখা। এই পন্থাকে বলে মেশিন লার্নিং, বা supervised লার্নিং। আবার অনেকসময় একেই বলা হয় data driven পন্থা বা data সায়েন্স। অনেক পর্যবেক্ষণ-কেন্দ্রিক বিজ্ঞান (যেরকম ফিজিক্স) এই ভাবেই এগোয়। একটা কম্পিউটারকে যদি অনেকগুলো কুকুর এবং বেড়ালের ছবি দিয়ে বলে দেওয়া হয় কোনটা কুকুর আর কোনটা বেড়াল, তাহলে কি একটা নতুন ছবি দেখলে কম্পিউটার বলে দিতে পারবে সেটা কুকুর না বেড়াল?
হুবহু এই কাজ করার জন্য গত শতকের পঞ্চাশের দশকে ফ্রাঙ্ক রোজেনব্লাট perceptron নামে একটি প্রোগ্রাম লেখেন। সেই perceptron নিয়ে বেশ হৈচৈ হয়েছিল — সাথে নিউ ইয়র্ক টাইমস (1958) -এ বের হওয়া একটা খবরও দেওয়া হলো।

Perceptron যেভাবে কাজ করে সেটা কিন্তু বেশ সহজ। প্রায় সমস্ত মেশিন লার্নিং প্রক্রিয়াই একটি সর্বজনীন কাঠামোর (বা abstraction) ওপর দাঁড়িয়ে আছে। আমি একটি যন্ত্রকে একটি ইনপুট দেবো (যেমন একটি ছবি, বা একটি অজানা ভাষায় লেখা গল্প, বা একটি প্রশ্ন), আর যন্ত্রটি আমায় একটি আউটপুট দেবে (যথাক্রমে, ছবিটি কুকুরের না বেড়ালের, বা গল্পটির বাংলা অনুবাদ, বা আমার প্রশ্নের উত্তর)! এটি নিচের ছবিতে দেখানো হয়েছে।

এখন প্রশ্ন, কীভাবে যন্ত্র এই ইনপুট-কে আউটপুট এ রূপান্তরিত করল? কেন, আগের অনেক উদাহরণ দেখে। মনে করে দেখো, যন্ত্রকে কিন্তু অনেক ইনপুট-আউটপুট-এর জুড়ি দেখানো হয়েছে। যন্ত্র এমন একটি রূপান্তর খুঁজে বের করার চেষ্টা করছে, যা আগে দেখা এই সব জুড়িদের সঙ্গে সঙ্গতিপূর্ণ।
একটি সাদামাটা উদাহরণ দিই। যদি যন্ত্রকে দেখানো হয়, (ইনপুট 1, আউটপুট 2), (ইনপুট 2, আউটপুট 4), (ইনপুট 3, আউটপুট 6) — তাহলে যন্ত্র খুঁজে বের করবে যে রূপান্তরটি হলো 2 দিয়ে গুণ করা। তখন একটি ইনপুট যদি দেওয়া হয় 5, তাহলে যন্ত্র বলে দেবে আউটপুট হলো 10।
এভাবেই সাধারণ মেশিন লার্নিং কাজ করে। Perceptron এই রূপান্তর খুঁজে বের করার একটি পন্থা। সাধারণ স্কুলে শেখানো অংকের চেয়ে সামান্য বেশি অংক লাগে বলে আমি এর বিস্তারিত বিবরণ দিচ্ছি না [1]।
এরপর দুটো জিনিস হলো। প্রথমত দেখা গেলো perceptron খুবই সহজ কিছু কাজ করতে পারে। কোনো জটিল রূপান্তর এর পক্ষে খুঁজে বের করা সম্ভব নয়। দ্বিতীয়ত, আগে বলা সর্বজনীন কাঠামোটির ভিত্তিতে একটি অংকের তত্ত্ব তৈরি হলো। এই অংকের তত্ত্বের ওপর ভিত্তি করে perceptron-এর চেয়ে ভালো কিছু পন্থাও আবিষ্কৃত হলো। কিন্তু যুগান্তকারী কিছু হলো না।
বিজ্ঞানীরা, বা প্রযুক্তিবিদরা এমন সব পদ্ধতি পছন্দ করেন যা ব্যাখ্যাযোগ্য। ওই যে অংকের তত্ত্বের কথা বললাম, সেগুলো দিয়েই ব্যাখ্যা করার চেষ্টা করা হয় কোনো পদ্ধতি ভালো না খারাপ। এসবের বাইরেও আছে কিছু পদ্ধতি, যেগুলো সম্পূর্ণ ভাবে ব্যাখ্যাযোগ্য নয়। হতে পারে সেই পদ্ধতি খুবই জটিল-কুটিল — তাই বলা মুশকিল এ কাজ করবে কিনা। এগুলোকে বলা হয় heuristic পন্থা। কম্পিউটার সাইন্স এবং ইঞ্জিনিয়ারিং -এ যারা বেশি heuristic কাজকর্ম করেন তাদেরকে একটু নিচুচোখেই দেখা হতো।
এরকম একটি heuristic পন্থা ছিল নিউরাল নেটওয়ার্কস, যা প্রাণীদের মস্তিষ্কের নির্মাণের অনুকরণে তৈরি। ওই যে রূপান্তরের কথা বলেছিলাম, এই নিউরাল নেটওয়ার্কস সেই রূপান্তরই করে, বেশ জটিল একটি প্রক্রিয়ায়, যেটা এখনো খুব সুষ্ঠু এবং ব্যাখ্যাযোগ্য নয়। সম্মানিত কম্পিউটার সায়েন্টিস্টসদের মধ্যে খুব কম লোকই এই নিয়ে কাজ করছিলেন — কিন্তু য়ান লেকুন, জিওফ্রে হিন্টন এবং যশুয়া বেঞ্জিও – এই তিনমূর্তি — যাদের এখন গডফাদার অফ AI ও বলা হয় — নিউরাল নেটওয়ার্কস নিয়ে কাজ চালিয়ে যান আশির দশক থেকে। ব্যাখ্যাযোগ্যতা এদের তিনজনের মুখ্য উদ্দেশ্য কখনোই ছিল না, এঁরা অংকের বিশারদ এমন দাবীও কেউ করে না। এঁরা মূলত চাইছিলেন খুবই জটিল নিউরাল নেটওয়ার্ক-কে মাপযোগ্য করতে — যাতে কম্পিউটারে এগুলো চালানো যায়। 2000 সালের পর থেকে কম্পিউটার হার্ডওয়্যার এবং কীভাবে অনেকগুলো কম্পিউটারকে একসঙ্গে কাজে লাগানো যেতে পারে সেই নিয়ে এতো অগ্রগতি হলো, যে খুব কম সময়ের মধ্যে জটিল নিউরাল নেটওয়ার্ক বাস্তবে কার্যে পরিণত হয়ে গেল।
দেখা গেল, ওই কুকুর-বেড়াল চেনা বা বাংলা থেকে ইংরেজি অনুবাদ সবই এই নিউরাল নেটওয়ার্ক করতে পারছে। আগের চেয়ে অনেক ভালো। 2018 সালে ওই ত্রয়ী টুরিং অ্যাওয়ার্ড পেলেন, যা কিনা কম্পিউটার সাইন্স-এর নোবেল, আর 2024 সালে সবাইকে অবাক করে হিন্টন পেলেন আসল নোবেল প্রাইজ, ফিজিক্সে।
2018 সালেরই শেষ দিকে গুগলের কিছু সায়েন্টিস্টরা একটি বিশেষ ধরনের নিউরাল নেটওয়ার্ক ব্যবহার করলেন, সাধারণ ভাষায় প্রশ্ন-উত্তরের জন্য। এর নাম ট্রান্সফরমার (সেই রূপান্তরের গল্প)! তারপর কথ্যভাষায় প্রশ্নোত্তরের দুনিয়ায় সত্যি-ই যুগান্তকারী পরিবর্তন চলে এলো। আমরা সবাই প্রায় চ্যাটজিপিটি ব্যবহার করা শুরু করলাম। কিছু মানুষ যদিও এখনো গজগজ করেন — কারণ এই পন্থাগুলো কাজ করার সম্পূর্ণ তাত্ত্বিক ব্যাখ্যা এখনো নেই।
অন্যান্য টুকিটাকি:
[1] এই প্রসঙ্গে বলি, যেমন বিজ্ঞান ও প্রযুক্তির ছাত্রদের কিছু শিল্প বা কলা সম্বন্ধে ধারণা থাকা উচিত, অনেকে মনে করেন যে সমস্ত বুদ্ধিমান এবং যুক্তিবান মানুষেরই পাটিগণিতের ঊর্দ্ধে যে mathematical theorem-proof, সে ব্যাপারে খানিক ধারণা থাকা উচিত। অঙ্কবিদ জি এইচ হার্ডি এরকম দুটো 2000 বছর আগের theorem-proof এর উদাহরণ দিয়েছিলেন যা প্রায় সবারই জানা উচিত (অগণিত মৌলিক সংখ্যা আছে, এবং 2 -এর বর্গমূল দুটো পূর্ণ-সংখ্যার অনুপাত নয়)! সেই হিসেবে দেখতে গেলে হয়তো সব কলেজ ছাত্রের-ই perceptron কীভাবে কাজ করে বুঝতে পারা উচিত। কিন্তু আমরা এখনো সেই অবস্থায় নেই।
