সরাসরি পর্বে যান
পর্ব ০২ · ৭৯-এর মধ্যে · মডিউল ১

AI-এর ইতিহাস — Turing, Dartmouth, শীতকাল আর deep learning-এর উত্থান

A History of AI — Turing, Dartmouth, the AI Winters and the Rise of Deep Learning

Taught in Bangla, this lesson traces AI from Boole, Babbage, Lovelace and McCulloch–Pitts through Turing, Dartmouth, the perceptron and the Minsky–Papert book, the two AI winters and expert systems, backpropagation, Deep Blue, AlexNet, the Transformer and ChatGPT. It runs a mini ELIZA, a perceptron learning AND, OR and failing XOR, and a timeline in the page, separating facts from common myths.

এই পর্বে যা শিখবেন

  • ১৮৪০-এর দশক থেকে ২০২২ পর্যন্ত AI-এর প্রধান মাইলফলক — সাল, মানুষ আর আসলে কী ঘটেছিল
  • Python-এ Rosenblatt-এর perceptron নিয়ম চালিয়ে দেখা — AND আর OR শেখে, XOR কেন শেখে না
  • ELIZA-র মতো কয়েকটি নিয়ম দিয়ে “কথা বলা” প্রোগ্রাম বানিয়ে বোঝা — অগভীর নিয়মও কেন বুদ্ধিমান মনে হয়
  • দুই AI winter, expert system আর পরিসংখ্যানের দিকে মোড় — কারণগুলো কী ছিল
  • প্রচলিত মিথ চেনা, আর AI নিয়ে যেকোনো দাবি যাচাইয়ের একটি অভ্যাস

১ · ইতিহাস কেন পড়বেন — আর মিথ কীভাবে চিনবেন

একটি পরিচিত দৃশ্য দিয়ে শুরু করি। কোনো ফেসবুক পোস্টে লেখা: “১৯৫৬ সালে বিজ্ঞানীরা ভেবেছিলেন এক গ্রীষ্মেই AI বানিয়ে ফেলবেন!” আরেকটিতে: “Minsky একটা বই লিখে neural network মেরে ফেলেছিলেন।” তৃতীয়টিতে: “ChatGPT সব বোঝে, AGI এসে গেছে।” তিনটি বাক্যেই কিছুটা সত্য আছে, আর অনেকটা অতিরঞ্জন। এই পর্বের কাজ হলো সত্যের অংশটুকু আলাদা করা।

ইতিহাস পড়ার তিনটি কারণ। প্রথমত, আজকের প্রায় প্রতিটি “নতুন” ধারণার শিকড় পুরোনো — neural network-এর ধারণা ১৯৪৩ সালের। দ্বিতীয়ত, ইতিহাস দেখায় কোন দাবি টেকেনি, যা নতুন দাবি যাচাই করতে শেখায়। তৃতীয়ত, বিশ্ববিদ্যালয়, চাকরি বা ইন্টারভিউর পরীক্ষায় সাল আর নাম প্রায়ই জিজ্ঞেস করা হয়।

পুরোনো ঘটনার গল্প মুখে মুখে ছড়ানো পারিবারিক গল্পের মতো: দাদার “এক মণ চাল দশ টাকায়” নাতির মুখে হয়ে যায় “দুই টাকায়”; আসল দাম জানায় সেই সময়ের দোকানের হিসাব খাতা। AI-এর ইতিহাসেও আমরা যতটা পারি মূল দলিল দেখব: মূল paper, মূল প্রস্তাব, মূল রিপোর্ট।

মিথ চেনার তিন প্রশ্ন

যেকোনো ঐতিহাসিক দাবি শুনলে জিজ্ঞেস করুন: (১) মূল উৎস কী বলেছিল? (যেমন paper-এর আসল বাক্য) (২) “প্রথম” দাবিটি কোন অর্থে প্রথম? (প্রথম ধারণা, প্রথম প্রকাশ, না প্রথম জনপ্রিয়তা) (৩) একটি ঘটনাকে কি একাই সব কিছুর কারণ বলা হচ্ছে? বাস্তবে প্রায় সবসময় অনেক কারণ একসাথে কাজ করে।

যেখানে ঐতিহাসিকদের মধ্যে মতভেদ আছে, সেখানে “মোটামুটি” বা “অনেকে বলেন” লেখা হয়েছে। এটিই সৎ ইতিহাস।

২ · পূর্বসূরিরা — Boole, Babbage, Lovelace আর McCulloch–Pitts

“যন্ত্র কি চিন্তা করতে পারে?” প্রশ্নটি কম্পিউটারের চেয়েও পুরোনো। তবে আধুনিক AI-এর সরাসরি পূর্বসূরি হিসেবে সাধারণত চারটি কাজের কথা বলা হয়।

George Boole — যুক্তিকে বীজগণিতে আনা

ইংরেজ গণিতবিদ George Boole ১৮৪৭ সালে The Mathematical Analysis of Logic আর ১৮৫৪ সালে An Investigation of the Laws of Thought প্রকাশ করেন। তাঁর মূল চিন্তা: “এবং”, “অথবা”, “না” — এই যুক্তিগুলোকে সংখ্যার মতো হিসাব করা যায়, যেখানে মান শুধু ১ (সত্য) বা ০ (মিথ্যা)। এটাই আজকের Boolean logic, যা প্রতিটি কম্পিউটারের সার্কিটে আর প্রতিটি if শর্তে কাজ করে। বিস্তারিত দেখতে পারেন কম্পিউটার ফান্ডামেন্টালস কোর্সের বুলিয়ান অ্যালজেব্রা পর্বে। যুক্তিকে যান্ত্রিক হিসাবে বদলানোর এই স্বপ্নই পরে “symbolic AI”-এর ভিত্তি হয়।

Babbage আর Lovelace — প্রথম সাধারণ-উদ্দেশ্যের যন্ত্রের নকশা

Charles Babbage ১৮৩০-এর দশকে Analytical Engine-এর নকশা করেন — punched card দিয়ে নির্দেশ নেওয়া, আলাদা “store” (মেমরি) আর “mill” (হিসাবের অংশ) সহ একটি যান্ত্রিক কম্পিউটার। যন্ত্রটি তাঁর জীবদ্দশায় পুরো তৈরি হয়নি। Ada Lovelace ১৮৪৩ সালে এই যন্ত্র নিয়ে Luigi Menabrea-র একটি প্রবন্ধ ইংরেজিতে অনুবাদ করেন এবং তার সঙ্গে নিজের দীর্ঘ টীকা জুড়ে দেন। সেই টীকার শেষটিতে (Note G) Bernoulli সংখ্যা হিসাবের একটি ধাপে ধাপে পদ্ধতি আছে।

মিথ সাবধান: Lovelace-কে প্রায়ই “পৃথিবীর প্রথম প্রোগ্রামার” বলা হয়। ঐতিহাসিকদের মধ্যে এ নিয়ে বিতর্ক আছে — Babbage নিজেও আগে কিছু হিসাবের ধাপ লিখেছিলেন, আর টীকার কতটা কার অবদান, তা নিয়ে মত ভিন্ন। নিরাপদ কথা হলো: Lovelace-এর টীকা একটি যন্ত্রের জন্য প্রকাশিত প্রথম দিকের বিস্তারিত অ্যালগরিদমগুলোর একটি, আর তিনি বুঝেছিলেন যে যন্ত্রটি সংখ্যা ছাড়াও প্রতীক (যেমন সুর) নিয়ে কাজ করতে পারে।

AI-এর জন্য Lovelace-এর সবচেয়ে বিখ্যাত বাক্যটি অন্য জায়গায়: তিনি লেখেন, Analytical Engine নিজে থেকে কিছু “originate” (সৃষ্টি) করার দাবি রাখে না; আমরা যা করতে নির্দেশ দিতে জানি, সে শুধু তাই করে। Turing তাঁর ১৯৫০ সালের paper-এ এর নাম দেন “Lady Lovelace’s Objection” এবং এর জবাব দেওয়ার চেষ্টা করেন। আজকের “AI কি সত্যিই নতুন কিছু বানায়?” তর্ক এরই নতুন রূপ।

McCulloch আর Pitts (১৯৪৩) — নিউরনের গাণিতিক মডেল

১৯৪৩ সালে স্নায়ুবিজ্ঞানী Warren McCulloch আর তরুণ যুক্তিবিদ Walter Pitts প্রকাশ করেন “A Logical Calculus of the Ideas Immanent in Nervous Activity” (Bulletin of Mathematical Biophysics). তাঁরা মস্তিষ্কের নিউরনকে খুব সরল করে ভাবলেন: কয়েকটি input আসে, প্রতিটি হয় চালু (১) নয়তো বন্ধ (০); মোট উত্তেজনা একটি সীমা (threshold) পার হলে নিউরন “জ্বলে ওঠে” (১), না হলে চুপ থাকে (০)। এটাই প্রথম দিকের artificial neuron.

তাঁরা দেখালেন, এমন নিউরন জুড়ে AND, OR, NOT — যেকোনো যুক্তির হিসাব বানানো যায়। কিন্তু একটি বড় ফাঁক ছিল: এই নিউরনগুলোর weight আর threshold মানুষকে হাতে বসাতে হতো। নিউরন নিজে থেকে শিখত না। শেখার নিয়ম আসে ১৫ বছর পরে, Rosenblatt-এর হাতে (অংশ ৫)।

এই সময়ের আরও দুটি কাজ প্রায়ই উল্লেখ করা হয়: Alan Turing-এর ১৯৩৬ সালের paper “On Computable Numbers”, যা দেখায় একটি সরল কাল্পনিক যন্ত্র (আজ যাকে Turing machine বলি) যেকোনো যান্ত্রিক হিসাব করতে পারে; আর Claude Shannon-এর ১৯৩৭ সালের master’s thesis, যা দেখায় Boole-এর যুক্তি দিয়ে বৈদ্যুতিক switch সার্কিট নকশা করা যায়। কম্পিউটারের সাধারণ ইতিহাস দেখতে পারেন কম্পিউটারের ইতিহাস ও প্রজন্ম পর্বে।

৩ · Turing ১৯৫০ আর Dartmouth ১৯৫৬ — প্রশ্ন আর নাম

“যন্ত্র কি চিন্তা করতে পারে?” — প্রশ্নটিকে বদলে দেওয়া

১৯৫০ সালে দর্শনের জার্নাল Mind-এ Alan Turing প্রকাশ করেন “Computing Machinery and Intelligence”. তিনি শুরুতেই বলেন, “চিন্তা করা” শব্দটির সংজ্ঞা নিয়ে তর্ক করলে কোনো ফল আসবে না। তাই তিনি প্রশ্নটিকে একটি খেলায় বদলে দেন — imitation game, যা আজ Turing test নামে পরিচিত। একজন প্রশ্নকর্তা লেখার মাধ্যমে দুজনের সঙ্গে কথা বলেন — একজন মানুষ, একটি যন্ত্র। প্রশ্নকর্তা যদি নির্ভরযোগ্যভাবে বলতে না পারেন কোনটি যন্ত্র, তাহলে কী বলা যায়?

ভাবুন, বোর্ড পরীক্ষার খাতায় নাম থাকে না, শুধু রোল নম্বর; পরীক্ষক শুধু উত্তর দেখে বিচার করেন। Turing-এর প্রস্তাবও এমন। এতে বিচারটি “যন্ত্রটা দেখতে কেমন” থেকে সরে “সে কী করতে পারে”-তে আসে।

Turing একটি সতর্ক ভবিষ্যদ্বাণীও করেছিলেন: প্রায় পঞ্চাশ বছরের মধ্যে প্রায় 109 storage-এর কম্পিউটারকে এমনভাবে প্রোগ্রাম করা যাবে যে একজন গড় প্রশ্নকর্তা পাঁচ মিনিট প্রশ্নের পর ৭০ শতাংশের বেশি ক্ষেত্রে সঠিকভাবে চিনতে পারবেন না। খেয়াল করুন, তিনি “যন্ত্র চিন্তা করবে” বলেননি; একটি নির্দিষ্ট, মাপা যায় এমন দাবি করেছিলেন। paper-এর শেষ অংশে তিনি “learning machine”-এর কথাও লেখেন — শিশুর মনের মতো একটি যন্ত্র বানিয়ে তাকে শেখানো। আজকের machine learning-এর চিন্তার সঙ্গে এর মিল চোখে পড়ার মতো।

মিথ সাবধান: Turing test-কে প্রায়ই “বুদ্ধিমত্তার সংজ্ঞা” বলা হয়। Turing নিজে এটিকে সংজ্ঞা হিসেবে দেননি; তিনি একটি অস্পষ্ট প্রশ্নের জায়গায় একটি পরীক্ষাযোগ্য প্রশ্ন বসাতে চেয়েছিলেন। আরেকটি সাবধানতা: মাঝে মাঝে খবর আসে “অমুক chatbot Turing test পাস করেছে।” এসব দাবির পেছনে সাধারণত ছোট সময়, বিশেষ শর্ত বা নির্দিষ্ট বিচারক থাকে। দাবি শুনলে জিজ্ঞেস করুন — কতজন বিচারক, কত মিনিট, কী নিয়মে?

Dartmouth প্রস্তাব (১৯৫৫) আর গ্রীষ্মের workshop (১৯৫৬)

৩১ আগস্ট ১৯৫৫ তারিখের একটি প্রস্তাবে চারজন — John McCarthy (তখন Dartmouth College), Marvin Minsky (Harvard), Nathaniel Rochester (IBM) আর Claude Shannon (Bell Labs) — Rockefeller Foundation-এর কাছে ১৯৫৬ সালের গ্রীষ্মে Dartmouth-এ “২ মাস, ১০ জনের” একটি গবেষণার জন্য অর্থ চান। প্রস্তাবের শিরোনামেই ছিল “artificial intelligence” — এটিকেই সাধারণত শব্দটির প্রথম লিখিত ব্যবহার ধরা হয়, আর নামটি বেছে নেওয়ার কৃতিত্ব সাধারণত McCarthy-কে দেওয়া হয়।

প্রস্তাবের মূল অনুমানটি এখনো প্রায়ই উদ্ধৃত হয়: শেখার প্রতিটি দিক বা বুদ্ধিমত্তার যেকোনো বৈশিষ্ট্য নীতিগতভাবে এত নিখুঁতভাবে বর্ণনা করা যায় যে একটি যন্ত্র দিয়ে তার অনুকরণ করানো সম্ভব। তালিকায় ছিল ভাষা ব্যবহার, abstraction, নিজে থেকে উন্নতি, “neuron nets”, এমনকি সৃজনশীলতা।

মিথ সাবধান: “তাঁরা ভেবেছিলেন এক গ্রীষ্মেই AI বানিয়ে ফেলবেন” — মূল প্রস্তাব এত বড় দাবি করেনি। সেখানে লেখা ছিল, যত্ন করে বাছাই করা একদল বিজ্ঞানী এক গ্রীষ্ম একসাথে কাজ করলে এক বা একাধিক সমস্যায় “significant advance” — উল্লেখযোগ্য অগ্রগতি — সম্ভব বলে তাঁরা মনে করেন। দাবিটি আশাবাদী ছিল, কিন্তু “পুরো সমাধান” নয়। আর অংশগ্রহণকারীরা সবাই একসাথে পুরো সময় ছিলেন না; বিভিন্ন সময়ে এসে কয়েক সপ্তাহ করে থেকেছেন।

৪ · প্রথম দিকের প্রোগ্রাম — Logic Theorist, Samuel-এর checkers আর ELIZA

১৯৫০ আর ৬০-এর দশকের প্রোগ্রামগুলো আজকের মাপে ছোট, কিন্তু তিনটি ভিন্ন পথ দেখায় — যুক্তি দিয়ে খোঁজা, অভিজ্ঞতা থেকে শেখা, আর কথার নকল।

🧮 Logic Theorist (১৯৫৫–৫৬)

Allen Newell, Herbert Simon আর প্রোগ্রামার Cliff Shaw-এর কাজ। Whitehead আর Russell-এর Principia Mathematica-র দ্বিতীয় অধ্যায়ের প্রথম ৫২টি উপপাদ্যের ৩৮টি প্রমাণ করে বলে সাধারণত বলা হয়। পদ্ধতি: সম্ভাব্য প্রমাণের মধ্যে heuristic দিয়ে বেছে বেছে খোঁজা।

যুক্তি + search

♟️ Samuel-এর checkers

IBM-এর Arthur Samuel ১৯৫০-এর দশক জুড়ে একটি checkers খেলার প্রোগ্রাম বানান, যা নিজের খেলা থেকে অবস্থার মূল্যায়ন উন্নত করত। ১৯৫৯ সালের paper “Some Studies in Machine Learning Using the Game of Checkers” — “machine learning” কথাটি জনপ্রিয় করার কৃতিত্ব প্রায়ই তাঁকে দেওয়া হয়।

অভিজ্ঞতা থেকে শেখা

💬 ELIZA (১৯৬৪–৬৬)

MIT-তে Joseph Weizenbaum-এর বানানো প্রোগ্রাম, paper ১৯৬৬ সালে (Communications of the ACM). সবচেয়ে বিখ্যাত script “DOCTOR” একজন মনোচিকিৎসকের মতো প্রশ্ন ফিরিয়ে দিত। ভেতরে ছিল শুধু keyword খোঁজা আর বাক্য সাজানোর নিয়ম।

কথার নকল

“প্রথম AI প্রোগ্রাম” কোনটি? Logic Theorist-কে প্রায়ই এই নাম দেওয়া হয়। কিন্তু তার আগেও খেলার প্রোগ্রাম ছিল — যেমন ১৯৫০-এর দশকের শুরুতে Christopher Strachey-র checkers আর Samuel-এর প্রথম দিকের সংস্করণ। “প্রথম” কথাটি কোন সংজ্ঞায়, সেটা না বললে দাবিটি অর্থহীন। পরীক্ষায় লিখলে “প্রথম দিকের গুরুত্বপূর্ণ AI প্রোগ্রামগুলোর একটি” লেখাই নিরাপদ।

ELIZA নিজে বানিয়ে দেখুন

ELIZA কীভাবে কাজ করত, তা বোঝার সবচেয়ে ভালো উপায় একটি ছোট সংস্করণ নিজে চালানো। নিচের প্রোগ্রামে আছে কয়েকটি pattern matching নিয়ম — উপরে থেকে নিচে যে নিয়ম প্রথম মেলে, সেটাই উত্তর বানায়। “my”-কে “your”, “I”-কে “you” করে বাক্য ফিরিয়ে দেওয়াই (reflection) পুরো কৌশলের অর্ধেক। প্রথমবার “চালান” চাপলে Python লোড হতে কয়েক সেকেন্ড লাগতে পারে; পরের বার দ্রুত হবে।

import re

REFLECT = {"i": "you", "my": "your", "me": "you", "am": "are", "you": "I"}
RULES = [  # (pattern, reply template) - checked from top to bottom
    (r"i need (.*)", "Why do you need {0}?"),
    (r"i am (.*)", "How long have you been {0}?"),
    (r"my (.*) is (.*)", "Why do you say your {0} is {1}?"),
    (r".*\b(mother|father|family)\b.*", "Tell me more about your family."),
    (r"(.*)\?", "Why do you ask that?"),
    (r"(.*)", "Please, go on."),            # fallback: always matches
]

def reflect(text):
    return " ".join(REFLECT.get(w, w) for w in text.split())

def reply(sentence):
    s = sentence.lower().strip(" .!")
    for pattern, template in RULES:
        m = re.fullmatch(pattern, s)
        if m:
            return template.format(*[reflect(g) for g in m.groups()])

chat = ["I am worried about my exam.",
        "My shop is losing money",
        "I need a better delivery plan",
        "My father runs the shop with me",
        "Can you help me?",
        "Sales in Rajshahi fell 20% but rose in Khulna, why?",
        "It is raining"]
for line in chat:
    print("USER :", line)
    print("ELIZA:", reply(line))

আসল আউটপুট (পাতায় চালানো):

USER : I am worried about my exam.
ELIZA: How long have you been worried about your exam?
USER : My shop is losing money
ELIZA: Why do you say your shop is losing money?
USER : I need a better delivery plan
ELIZA: Why do you need a better delivery plan?
USER : My father runs the shop with me
ELIZA: Tell me more about your family.
USER : Can you help me?
ELIZA: Why do you ask that?
USER : Sales in Rajshahi fell 20% but rose in Khulna, why?
ELIZA: Why do you ask that?
USER : It is raining
ELIZA: Please, go on.

প্রথম চারটি উত্তর বেশ “মনোযোগী” শোনায়। কিন্তু খেয়াল করুন: প্রোগ্রাম “exam”, “shop” বা “money”-র অর্থ কিছুই জানে না — সে শুধু “i am” আর “my … is” প্যাটার্ন মিলিয়ে বাকি অংশ উল্টে ফিরিয়ে দিচ্ছে। “father” শব্দটি দেখেই family-র নিয়ম চলেছে, বাক্যের বাকিটা উপেক্ষা করে। আসল প্রশ্ন — রাজশাহীতে বিক্রি কেন কমল — এলেই ফাঁকটা ধরা পড়ে: “?” দেখে একটি বাঁধা বুলি। আর কোনো নিয়ম না মিললে “Please, go on.” এটাই অগভীর নিয়মের শক্তি আর সীমা, দুটোই।

Weizenbaum অবাক হন যে মানুষ এই সরল প্রোগ্রামের সঙ্গে আবেগ নিয়ে কথা বলছে — তাঁর নিজের লেখা একটি গল্পে সেক্রেটারি একান্তে ELIZA-র সঙ্গে কথা বলতে তাঁকে ঘর ছাড়তে বলেন। এই অভিজ্ঞতা থেকেই তিনি ১৯৭৬ সালে Computer Power and Human Reason বইয়ে সতর্ক করেন: কোন কাজ যন্ত্রকে দেওয়া উচিত, সেই প্রশ্ন “পারে কি না”-র চেয়ে আলাদা। সরল প্রোগ্রামের আচরণে মানুষের বুদ্ধি আরোপ করার এই প্রবণতাকে আজ বলা হয় ELIZA effect — আধুনিক chatbot-এর যুগে কথাটি আরও প্রাসঙ্গিক।

৫ · Perceptron, XOR আর Minsky–Papert — আসলে কী প্রমাণ হয়েছিল

McCulloch–Pitts নিউরনের weight হাতে বসাতে হতো। ১৯৫৭-৫৮ সালে Cornell Aeronautical Laboratory-র মনোবিজ্ঞানী Frank Rosenblatt এর সঙ্গে যোগ করলেন একটি শেখার নিয়ম। ১৯৫৮ সালে Psychological Review-এ প্রকাশিত “The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain” এই কাজের সবচেয়ে উদ্ধৃত রূপ। পরে Mark I Perceptron নামে একটি বিশেষ হার্ডওয়্যারও বানানো হয়, যার ক্যামেরায় ২০×২০ = ৪০০টি আলোক-কোষ ছিল বলে বর্ণনা পাওয়া যায়।

Perceptron কীভাবে সিদ্ধান্ত নেয়

একটি perceptron প্রতিটি input x-কে একটি weight w দিয়ে গুণ করে যোগ করে, সঙ্গে একটি bias b যোগ করে। যোগফল s শূন্যের বেশি হলে উত্তর ১, না হলে ০। এই “হয় ১, নয় ০” সিদ্ধান্তকে বলে step function.

s = w1x1 + w2x2 + b   →   output = 1 যদি s > 0, নাহলে 0

এখানে x1, x2 হলো দুটি input (০ বা ১), w1, w2 তাদের গুরুত্ব, আর b হলো সীমা সরানোর একটি সংখ্যা — b যত ঋণাত্মক, ১ বলতে তত বেশি “প্রমাণ” লাগে।

একটি perceptron-এর ভেতরে

Inputs are weighted, summed with a bias, then passed through a step function

Perceptron: weighted sum, bias আর step function x1 x2 ∑ b 0/1 w1 w2 step s = যোগফল
ছবি ২.১ — input × weight, যোগফল + bias, তারপর step: হয় ১, নয় ০।

শেখার নিয়ম (Rosenblatt-এর perceptron learning rule) খুবই সহজ। প্রতিটি উদাহরণে উত্তর মিলিয়ে দেখুন। ঠিক হলে কিছু বদলাবেন না। ভুল হলে:

w ← w + η·(t − out)·x    এবং    b ← b + η·(t − out)

এখানে t হলো সঠিক উত্তর (target), out হলো perceptron-এর উত্তর, আর η (eta) হলো learning rate — প্রতিবার কতটা সরবেন। উত্তর ০ হওয়ার কথা কিন্তু ১ এলে (t − out = −1) weight-গুলো ওই input থেকে দূরে সরে; উল্টোটা হলে কাছে আসে। সব উদাহরণ একবার করে দেখা শেষ হলে বলে এক epoch.

চায়ের দোকানের মালিক ঠিক করেন সকালে কত কাপ চা বানাবেন — দুটো তথ্য দেখে: বৃষ্টি হচ্ছে কি না, আর হাটবার কি না। প্রথম দিকে আন্দাজ ভুল হয়। চা বেশি বেঁচে গেলে পরের বার ওই অবস্থায় একটু কম বানান; কম পড়লে একটু বেশি। ভুল হলেই সামান্য শোধরানো, ঠিক হলে কিছু না বদলানো — perceptron-এর নিয়ম ঠিক এটাই।

নিজে চালিয়ে দেখুন — AND, OR আর XOR

নিচের প্রোগ্রাম একই নিয়ম তিনটি ছোট সমস্যায় চালায়। চারটি input জোড়া — (0,0), (0,1), (1,0), (1,1). AND-এ শুধু (1,1)-এর উত্তর ১; OR-এ যেকোনো একটি ১ হলেই ১; আর XOR-এ ঠিক একটি ১ হলে ১। শুরুর weight একটি নির্দিষ্ট seed (42) দিয়ে বাছাই করা, তাই সবাই একই সংখ্যা দেখবেন।

import numpy as np

X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
targets = {"AND": [0, 0, 0, 1], "OR": [0, 1, 1, 1], "XOR": [0, 1, 1, 0]}

def train(y, epochs=8, lr=1.0):
    rng = np.random.default_rng(42)          # same start for every reader
    w = np.round(rng.uniform(-1, 1, 2), 1)   # two weights
    b = 0.0                                  # bias (threshold)
    for ep in range(1, epochs + 1):
        errors = 0
        for x, t in zip(X, y):
            out = 1 if w @ x + b > 0 else 0  # step function
            if out != t:                     # Rosenblatt rule:
                w = w + lr * (t - out) * x   # move w toward/away from x
                b = b + lr * (t - out)
                errors += 1
        print(f"  epoch {ep}: errors={errors}  w={w}  b={b:+.1f}")
        if errors == 0:
            return True
    return False

for name, y in targets.items():
    print(name)
    ok = train(np.array(y))
    print("  ->", "converged" if ok else "did NOT converge")

আসল আউটপুট (পাতায় চালানো, NumPy):

AND
  epoch 1: errors=2  w=[0.5 0.9]  b=+0.0
  epoch 2: errors=2  w=[1.5 0.9]  b=+0.0
  epoch 3: errors=3  w=[1.5 0.9]  b=-1.0
  epoch 4: errors=2  w=[1.5 1.9]  b=-1.0
  epoch 5: errors=1  w=[1.5 0.9]  b=-2.0
  epoch 6: errors=0  w=[1.5 0.9]  b=-2.0
  -> converged
OR
  epoch 1: errors=1  w=[0.5 0.9]  b=+1.0
  epoch 2: errors=1  w=[0.5 0.9]  b=+0.0
  epoch 3: errors=0  w=[0.5 0.9]  b=+0.0
  -> converged
XOR
  epoch 1: errors=2  w=[-0.5 -0.1]  b=+0.0
  epoch 2: errors=2  w=[-1.5 -0.1]  b=+0.0
  epoch 3: errors=3  w=[-1.5 -0.1]  b=+1.0
  epoch 4: errors=4  w=[-1.5 -0.1]  b=+1.0
  ...
  epoch 8: errors=4  w=[-1.5 -0.1]  b=+1.0
  -> did NOT converge

AND ৬ epoch-এ, OR ৩ epoch-এ শূন্য ভুলে পৌঁছায় (AND-এর শেষ weight-এর যাচাই নিচের stepper-এর শেষ ধাপে)। XOR-এ epoch 4 থেকে প্রতি epoch-এ ৪টি ভুল, আর epoch-এর শেষে weight একই জায়গায় ফিরে আসে — নিয়মটি একটি চক্রে ঘুরছে। epoch বাড়ালেও লাভ নেই, কারণ সমস্যাটি সময়ের নয়, গঠনের; নিচের দ্বিতীয় ডায়াগ্রামে কারণটি দেখবেন। (“…” দিয়ে epoch 5–7-এর একই লাইনগুলো ছোট করা হয়েছে।)

AND-এর প্রথম epoch-টি ধাপে ধাপে দেখা যাক। “পরে” চাপুন আর প্রতিটি ধাপে s, উত্তর আর weight-এর বদল খেয়াল করুন। সংখ্যাগুলো উপরের প্রোগ্রামের একই seed থেকে নেওয়া।

# x1 x2 → t1  0  0 → 02  0  1 → 03  1  0 → 04  1  1 → 1
perceptron-এর অবস্থা
epoch
w1
w2
b
s
out / t
এই epoch-এ ভুল
  1. শুরু। seed 42 থেকে w = [0.5, −0.1], b = 0. এখনো কোনো উদাহরণ দেখা হয়নি।
  2. Epoch ১, উদাহরণ (0,0) → 0. s = 0.5·0 + (−0.1)·0 + 0 = 0.00. শর্ত “s > 0” মিথ্যা, তাই out = 0. ঠিক, কিছু বদলায় না।
  3. উদাহরণ (0,1) → 0. s = −0.1 + 0 = −0.10, out = 0. আবার ঠিক।
  4. উদাহরণ (1,0) → 0. s = 0.5 + 0 = 0.50 > 0, তাই out = 1, অথচ t = 0. ভুল! t − out = −1, তাই w থেকে x = (1,0) বাদ: w = [−0.5, −0.1], আর b = 0 − 1 = −1.
  5. উদাহরণ (1,1) → 1. s = −0.5 − 0.1 − 1 = −1.60, out = 0, কিন্তু t = 1. ভুল! এবার t − out = +1, তাই w-তে x = (1,1) যোগ: w = [0.5, 0.9], b = 0. প্রথম epoch-এ মোট ২টি ভুল।
  6. Epoch ২ থেকে ৫ — আরও কয়েকটি সংশোধন। এই চার epoch-এ মোট ৮টি ভুল ধরা পড়ে আর শোধরানো হয়। Epoch ৫-এর শেষ উদাহরণ (1,1)-এ w = [1.5, 0.9], b = −2 নিয়ে s = 0.40, out = 1 — ঠিক। এই epoch-এ ভুল ছিল ১টি, (0,1)-এ।
  7. Epoch ৬ — শূন্য ভুল। চারটি উদাহরণে s = −2.0, −1.1, −0.5, 0.4. শুধু (1,1)-এ s ধনাত্মক, তাই শুধু সেখানেই ১. শেখা শেষ। রেখা 1.5·x1 + 0.9·x2 = 2 এখন (1,1)-কে বাকি তিনটি থেকে আলাদা করছে।

কেন একটি রেখা XOR আলাদা করতে পারে না

Perceptron-এর সিদ্ধান্তের সীমানা হলো w1x1 + w2x2 + b = 0 — দুই মাত্রায় এটি একটি সরল রেখা। রেখার এক পাশে ১, অন্য পাশে ০। যেসব সমস্যায় একটি সরল রেখা দিয়ে দুই দল আলাদা করা যায়, তাদের বলে linearly separable. Rosenblatt-এর convergence theorem (পরে Novikoff ১৯৬২ সালে পরিষ্কার প্রমাণ দেন) বলে: সমস্যা linearly separable হলে নিয়মটি সীমিত সংখ্যক ভুলের পর থামবেই। XOR তেমন নয় — নিচে দেখুন।

AND, OR আর XOR-এর চারটি বিন্দু x1 x2 0 1 0 1 AND ✓ OR ✓ XOR ✗ ✗ দুই রেখার মাঝে = ১
  1. AND. সবুজ = ১, লাল = ০. শুধু (1,1) সবুজ। নীল রেখাটি তাকে বাকি তিনটি থেকে আলাদা করে — perceptron এমন একটি রেখাই খুঁজে পেয়েছিল।
  2. OR. এবার শুধু (0,0) লাল। একটি রেখা তাকে কোণে আলাদা করে দেয়। তাই OR-ও linearly separable, আর শেখা ৩ epoch-এ শেষ হয়েছিল।
  3. XOR. সবুজ বিন্দু দুটি — (0,1) আর (1,0) — একটি কোণাকুণি; লাল দুটি — (0,0) আর (1,1) — অন্য কোণাকুণি। একই রঙের বিন্দুরা একে অপরের মুখোমুখি কোণে।
  4. প্রথম চেষ্টা। OR-এর রেখাটি (0,0)-কে আলাদা করে, কিন্তু (1,1) লাল হলেও সবুজদের পাশেই পড়ে যায়। একটি বিন্দু ভুল দিকে (✗)।
  5. দ্বিতীয় চেষ্টা। AND-এর রেখাটি (1,1)-কে আলাদা করে, কিন্তু এবার (0,0) সবুজদের দিকে থেকে যায়। আবার একটি ভুল। রেখা যেভাবেই ঘোরান, অন্তত একটি বিন্দু ভুল দিকে থাকবে — কারণ দুটি কোণাকুণি জোড়াকে একটি সরল রেখা আলাদা করতে পারে না।
  6. সমাধান: দুটি রেখা, অর্থাৎ একটি লুকানো স্তর। একটি নিউরন “OR”, আরেকটি “AND” শেখে; তৃতীয় নিউরন বলে “OR হ্যাঁ আর AND না” — দুই রেখার মাঝের পট্টি = ১. এটাই multi-layer network. ১৯৬০-এর দশকে সমস্যা ছিল এমন network-এর weight কীভাবে শেখানো যায়, সেটা জানা না থাকা।

Minsky–Papert (১৯৬৯) — কী দেখিয়েছিল, কী দেখায়নি

১৯৬৯ সালে Marvin Minsky আর Seymour Papert প্রকাশ করেন Perceptrons: An Introduction to Computational Geometry. বইটি গাণিতিকভাবে কঠোর। এটি দেখায়, একটি নির্দিষ্ট ধরনের perceptron (এক স্তরের শেখার weight, সীমিত “দৃষ্টি”-র input অংশ) কিছু জিনিস হিসাব করতে পারে না বা তার জন্য অবাস্তব রকম বড় হতে হয় — যেমন parity (১-এর সংখ্যা জোড় না বিজোড়; XOR তার সবচেয়ে ছোট রূপ) আর একটি ছবির আকৃতি “connected” কি না।

প্রচলিত দাবিযা বেশি নির্ভুল
“বইটি প্রথম দেখায় যে perceptron XOR পারে না”XOR একটি রেখায় আলাদা হয় না — এটা আগেই জানা সহজ জ্যামিতি। বইয়ের অবদান ছিল আরও সাধারণ ও কঠিন ফল, যেমন parity আর connectedness-এর জন্য কত বড় perceptron লাগে।
“বইটি প্রমাণ করে neural network কাজ করে না”ফলগুলো নির্দিষ্ট ধরনের এক-স্তরের perceptron নিয়ে। বহুস্তরের network যে XOR হিসাব করতে পারে, তা জানা ছিল; লেখকেরা বহুস্তরের network নিয়ে নিজেদের সন্দেহের কথা লিখেছিলেন, কিন্তু সেটা প্রমাণ নয়, মতামত।
“এই বই একাই neural network গবেষণা থামিয়ে দেয়”বইটির প্রভাব বড় ছিল বলে অনেকে মনে করেন, কিন্তু আরও অনেক কারণ ছিল (ভাবনার প্রশ্ন ২ দেখুন); গবেষণা পুরো থামেনি।

Rosenblatt ১৯৭১ সালে এক নৌকা দুর্ঘটনায় মারা যান। আর একটি প্রায়ই উদ্ধৃত ঘটনা: ১৯৫৮ সালের জুলাইয়ে Navy-র একটি সংবাদ সম্মেলনের পর The New York Times-এ perceptron নিয়ে এমন খবর ছাপা হয়, যেখানে বলা হয় যন্ত্রটি একদিন হাঁটবে, কথা বলবে, দেখবে, লিখবে, এমনকি নিজের অস্তিত্ব সম্পর্কে সচেতন হবে বলে আশা করা হচ্ছে। perceptron থেকে ছোট network নিজে NumPy দিয়ে বানাবেন পর্ব ৬৮-এ (Neural network-এর ধারণা)।

৬ · দুই শীতকাল — Lighthill রিপোর্ট, expert system আর পতন

১৯৬০-এর দশকে AI নিয়ে আশাবাদ ছিল আকাশছোঁয়া। Herbert Simon ১৯৬৫ সালে লেখেন, বিশ বছরের মধ্যে যন্ত্র মানুষের যেকোনো কাজ করতে পারবে — এমন বক্তব্য তখনকার পরিবেশ বোঝায়। কিন্তু দাবা খেলা বা উপপাদ্য প্রমাণের মতো “কঠিন” সমস্যার চেয়ে ভাষা অনুবাদ, ছবি চেনা বা সাধারণ বুদ্ধির মতো “সহজ” কাজ অনেক বেশি কঠিন প্রমাণিত হলো।

প্রথম শীতকাল (মোটামুটি ১৯৭০-এর দশকের মাঝামাঝি থেকে ১৯৮০ পর্যন্ত)

  • যন্ত্র-অনুবাদের হতাশা: ১৯৬৬ সালে যুক্তরাষ্ট্রের ALPAC রিপোর্ট machine translation-এর অগ্রগতিকে কম বলে মূল্যায়ন করে, আর ওই খাতে সরকারি অর্থ কমে।
  • Lighthill রিপোর্ট (১৯৭৩): যুক্তরাজ্যের Science Research Council-এর অনুরোধে গণিতবিদ Sir James Lighthill “Artificial Intelligence: A General Survey” লেখেন। তাঁর সমালোচনার মূল কথা: AI তার বড় প্রতিশ্রুতি রাখতে পারেনি, আর বাস্তব সমস্যায় বড় হলে সম্ভাবনার সংখ্যা বিস্ফোরিত হয় (combinatorial explosion). এর পর যুক্তরাজ্যে AI গবেষণার অর্থায়ন অনেক কমে যায় বলে সাধারণত বলা হয়; তবে কতটা সরাসরি এই রিপোর্টের কারণে, তা নিয়ে আলোচনা আছে।
  • যুক্তরাষ্ট্রে: সামরিক গবেষণা সংস্থা DARPA একই সময়ে তাৎক্ষণিক ফলের প্রকল্পে অর্থ সরায়।

Expert system-এর বসন্ত (১৯৮০-এর দশক)

সমাধান এলো একটি ব্যবহারিক মোড় থেকে: সাধারণ বুদ্ধি নয়, একটি সরু বিষয়ের বিশেষজ্ঞ জ্ঞান “যদি … তাহলে …” নিয়ম হিসেবে লিখে রাখা। একে বলে expert system. পূর্বসূরি ছিল Stanford-এর DENDRAL (১৯৬৫ থেকে, রাসায়নিক অণুর গঠন অনুমান) আর MYCIN (১৯৭০-এর দশক, রক্তের সংক্রমণে antibiotic পরামর্শ; নিয়মিত চিকিৎসায় ব্যবহৃত হয়নি)।

বাণিজ্যিক সাফল্যের সবচেয়ে বেশি উদ্ধৃত উদাহরণ R1, পরে নাম XCON: Carnegie Mellon-এর John McDermott Digital Equipment Corporation (DEC)-এর জন্য বানান, যা গ্রাহকের অর্ডার অনুযায়ী VAX কম্পিউটারের যন্ত্রাংশের সঠিক বিন্যাস ঠিক করত। মোটামুটি ১৯৮০ সাল থেকে এটি DEC-এ ব্যবহার হতে থাকে, আর নিয়মের সংখ্যা সময়ের সঙ্গে হাজার হাজারে পৌঁছায়। এতে কোম্পানির কত টাকা বেঁচেছিল, তার নানা অঙ্ক বিভিন্ন উৎসে আছে; সংখ্যাগুলো মেলে না বলে এখানে কোনোটি দিচ্ছি না। ১৯৮২ সালে জাপান শুরু করে বিশাল Fifth Generation Computer Systems প্রকল্প, যার প্রতিক্রিয়ায় যুক্তরাষ্ট্র ও ইউরোপেও AI-তে অর্থ বাড়ে।

Expert system অনেকটা একজন অভিজ্ঞ ডাক্তারের নোটখাতার মতো: “জ্বর আর গলা ব্যথা থাকলে এই পরীক্ষা।” খাতার ভেতরে দ্রুত আর নির্ভুল, খাতার বাইরের নতুন রোগে অচল, আর নতুন জ্ঞান যোগ করতে প্রতিবার একজন বিশেষজ্ঞকে বসে নিয়ম লিখতে হয়। এই “নিয়ম লেখার খরচ”-কে বলা হয় knowledge acquisition bottleneck.

দ্বিতীয় শীতকাল (মোটামুটি ১৯৮০-এর দশকের শেষ থেকে ১৯৯০-এর দশকের শুরু)

১৯৮৭ সালের দিকে Lisp ভাষার বিশেষ কম্পিউটার (Lisp machine)-এর বাজার ভেঙে পড়ে, কারণ সাধারণ workstation আর PC সস্তা ও যথেষ্ট শক্তিশালী হয়ে যায়। বড় expert system রক্ষণাবেক্ষণ ব্যয়বহুল প্রমাণিত হয়। জাপানের Fifth Generation প্রকল্প ১৯৯২ সালে শেষ হয় বড় লক্ষ্যগুলো পূরণ না করে। আবার অর্থ কমে, আর অনেক গবেষক নিজের কাজকে “AI” না বলে অন্য নামে ডাকতে শুরু করেন।

নিচের ডায়াগ্রামে পুরো চক্রটি ধাপে ধাপে দেখুন। খেয়াল করুন, প্রতিটি উত্থানের পেছনে একটি বাস্তব অর্জন ছিল, আর প্রতিটি পতনের পেছনে ছিল সেই অর্জনকে অনেক বড় করে বলা।

  1. ১৯৫৬–১৯৭০-এর শুরুDartmouth, LT, perceptronপ্রথম উৎসাহ
  2. মোটামুটি ১৯৭৪–১৯৮০ALPAC, Lighthill 1973প্রথম শীত
  3. ১৯৮০-এর দশকXCON, Fifth Generationexpert system-এর বাজার
  4. মোটামুটি ১৯৮৭–১৯৯৩Lisp machine-এর পতনদ্বিতীয় শীত
  5. ১৯৯০–২০১০HMM, SVM, Bayes netনিঃশব্দ অগ্রগতি
  6. ২০১২–২০২২AlexNet → Transformer → LLMdeep learning-এর উত্থান
  7. আজবিশাল বিনিয়োগ, বড় দাবিপরের অধ্যায় অজানা
  1. প্রথম উৎসাহ। নাম পাওয়া গেল, প্রথম প্রোগ্রাম উপপাদ্য প্রমাণ করল, perceptron শিখল। বাস্তব অর্জন ছিল, কিন্তু খবরে ও বক্তব্যে প্রতিশ্রুতি তার চেয়ে অনেক বড়।
  2. প্রথম শীত। অনুবাদ আর সাধারণ বুদ্ধির কাজ আটকে গেল; ALPAC (১৯৬৬) আর Lighthill (১৯৭৩)-এর মতো মূল্যায়নের পর অর্থ কমল। সালের সীমা নিয়ে ঐতিহাসিকদের মত ভিন্ন, তাই “মোটামুটি”।
  3. Expert system-এর বাজার। সরু বিষয়ে নিয়মভিত্তিক সিস্টেম টাকা বাঁচাল (XCON-এর মতো উদাহরণ), বহু কোম্পানি তৈরি হলো, সরকারি প্রকল্পে বিনিয়োগ এলো।
  4. দ্বিতীয় শীত। বিশেষ হার্ডওয়্যারের বাজার ভাঙল, নিয়মের পাহাড় রক্ষণাবেক্ষণে অচল হলো, বড় প্রকল্প লক্ষ্যে পৌঁছাল না। “AI” শব্দটিই কিছুদিন অজনপ্রিয় হয়ে গেল।
  5. নিঃশব্দ অগ্রগতি। শিরোনামের বাইরে পরিসংখ্যানভিত্তিক পদ্ধতি — speech recognition-এ HMM, Bayesian network, support vector machine — বাস্তব পণ্যে ঢুকে পড়ল।
  6. Deep learning-এর উত্থান। বড় ডেটা, GPU আর উন্নত পদ্ধতি মিলে ২০১২ সাল থেকে ছবি, শব্দ আর ভাষায় দ্রুত উন্নতি; ২০১৭ সালে Transformer, ২০২২ সালের শেষে ChatGPT জনসাধারণের হাতে।
  7. আজ — খোলা প্রশ্ন। বিনিয়োগ আর প্রত্যাশা দুটোই আগের যেকোনো সময়ের চেয়ে বড়। আরেকটি শীত আসবে কি না, কেউ নিশ্চিত জানে না; তবে ইতিহাস বলে, যেখানে দাবি প্রমাণের চেয়ে দ্রুত বাড়ে, সেখানে সংশোধন আসে।

৭ · পরিসংখ্যানের মোড় আর backpropagation

নিয়ম লেখা থেকে ডেটা থেকে শেখা

১৯৮০ আর ৯০-এর দশকে AI-এর একটি বড় অংশ ধীরে ধীরে নিয়ম হাতে লেখা থেকে ডেটা থেকে সম্ভাবনা হিসাব-এর দিকে সরে আসে। কয়েকটি মাইলফলক:

  • Speech recognition: IBM-এ Frederick Jelinek-এর দলসহ বিভিন্ন গবেষক ১৯৭০-৮০-এর দশকে Hidden Markov Model দিয়ে কথা চেনায় বড় উন্নতি আনেন। Jelinek-এর নামে একটি ঠাট্টা চালু আছে — “যতবার একজন ভাষাবিদকে বিদায় করি, system-এর ফল ভালো হয়” — যদিও তিনি ঠিক কবে, কোন ভাষায় বলেছিলেন, তা নিয়ে বর্ণনা ভিন্ন। (Markov model দেখবেন পর্ব ৫৩-এ।)
  • Bayesian network: Judea Pearl-এর ১৯৮৮ সালের বই Probabilistic Reasoning in Intelligent Systems অনিশ্চয়তা নিয়ে যুক্তির একটি পরিষ্কার কাঠামো দেয় (পর্ব ৫২-এ দেখবেন)।
  • Support vector machine: Cortes আর Vapnik-এর ১৯৯৫ সালের paper-এর পর SVM এক দশকের বেশি সময় classification-এর জনপ্রিয় পদ্ধতি থাকে।

এই মোড়কেই বলা যায় machine learning-এর প্রাধান্য পাওয়া: প্রোগ্রামার নিয়ম লেখেন না, উদাহরণ দেন; যন্ত্র উদাহরণ থেকে নিয়মের মতো কিছু শেখে। কোন পথ কখন ভালো — নিয়মভিত্তিক, পরিসংখ্যানভিত্তিক না neural — তা নিয়ে বিস্তারিত তুলনা পরের পর্বে (পর্ব ৩ · AI-এর তিন পথ)।

Backpropagation — ১৯৮৬ সালে জনপ্রিয়, কিন্তু শিকড় আগের

XOR-এর ডায়াগ্রামে দেখেছেন, লুকানো স্তর থাকলে সমস্যার সমাধান হয় — প্রশ্ন ছিল লুকানো স্তরের weight কীভাবে শেখানো যায়। উত্তর: শেষের ভুলকে chain rule দিয়ে পেছনের দিকে ভাগ করে দেওয়া, প্রতিটি weight-এর জন্য “ভুল কমাতে একে কোন দিকে কতটা সরাতে হবে” হিসাব করা। এটাই backpropagation.

১৯৮৬ সালে David Rumelhart, Geoffrey Hinton আর Ronald Williams Nature-এ প্রকাশ করেন “Learning representations by back-propagating errors”. একই বছর Rumelhart আর McClelland-এর সম্পাদনায় Parallel Distributed Processing বইগুলোও বের হয়। এই কাজগুলো দেখায় যে লুকানো স্তর নিজে থেকেই কাজের উপযোগী “representation” শিখতে পারে, আর পদ্ধতিটি ব্যাপকভাবে জনপ্রিয় হয়।

মিথ সাবধান: “Backpropagation ১৯৮৬ সালে আবিষ্কৃত” — এটা ঠিক নয়। মূল গণিতের শিকড় আগে: ১৯৬০-এর দশকে control theory-তে (Kelley, Bryson প্রমুখ) একই ধরনের হিসাব ছিল; ১৯৭০ সালে Seppo Linnainmaa তাঁর master’s thesis-এ আজকের reverse-mode automatic differentiation বর্ণনা করেন; ১৯৭৪ সালে Paul Werbos-এর PhD thesis neural network-এ এর প্রয়োগের কথা বলে। কার কতটা কৃতিত্ব, তা নিয়ে আজও বিতর্ক আছে। নিরাপদ কথা: “১৯৮৬ সালের paper backpropagation-কে neural network-এ জনপ্রিয় করে।”

১৯৮৯ সালে Yann LeCun ও সহকর্মীরা backpropagation দিয়ে convolutional network-কে হাতে লেখা ZIP কোড চেনাতে ব্যবহার করেন; ১৯৯৮ সালের LeNet-5 paper-এ চেক পড়ার মতো বাস্তব প্রয়োগ দেখানো হয়। তবু ২০০০-এর দশকে neural network আবার কিছুটা পিছিয়ে পড়ে — গভীর network শেখানো কঠিন ছিল, আর SVM প্রায়ই সমান ফল দিত। ২০০৬ সালে Hinton ও সহকর্মীদের deep belief network-এর কাজ “deep learning” নামটিকে আবার আলোচনায় আনে।

৮ · Deep Blue থেকে ChatGPT — চারটি মাইলফলক

সালঘটনাভেতরে কী ছিলযা দাবি করা ঠিক নয়
১৯৯৭IBM-এর Deep Blue ছয় খেলার ম্যাচে বিশ্বচ্যাম্পিয়ন Garry Kasparov-কে ৩½–২½ ব্যবধানে হারায় (১৯৯৬ সালের প্রথম ম্যাচে Kasparov জিতেছিলেন)বিশেষ chess chip দিয়ে বিপুল গতিতে search, বিশেষজ্ঞদের তৈরি মূল্যায়ন ফাংশন, opening-এর বই“যন্ত্র দাবা বুঝে খেলেছে” বা “এটা deep learning” — মূলত দ্রুত search আর হাতে বানানো জ্ঞান
২০১২AlexNet (Krizhevsky, Sutskever, Hinton) ImageNet প্রতিযোগিতায় top-5 error ১৫.৩% পায়, দ্বিতীয় দলের ২৬.২%GPU-তে প্রশিক্ষিত গভীর convolutional network, প্রায় ৬ কোটি parameter, ১২ লাখের মতো প্রশিক্ষণের ছবি“ছবি চেনা সমাধান হয়ে গেছে” — benchmark-এ জেতা আর বাস্তবের সব অবস্থায় নির্ভরযোগ্য হওয়া এক কথা নয়
২০১৬DeepMind-এর AlphaGo সিউলে Lee Sedol-কে পাঁচ খেলার ম্যাচে ৪–১ ব্যবধানে হারায়Neural network + Monte Carlo tree search, মানুষের খেলা থেকে শেখা আর নিজের সঙ্গে খেলে reinforcement learning“যেকোনো সমস্যা এভাবে সমাধান হবে” — Go-র নিয়ম স্থির, ফল স্পষ্ট, আর অসীম অনুশীলন সম্ভব; বাস্তব জগৎ এমন নয়
২০১৭Vaswani ও সহকর্মীদের paper “Attention Is All You Need” — Transformerrecurrence বাদ দিয়ে শুধু attention দিয়ে অনুবাদ মডেল; বড় ডেটায় সমান্তরালভাবে প্রশিক্ষণ সহজ“Transformer মানে বোঝা” — এটি একটি স্থাপত্য, যা লেখার পরের অংশের সম্ভাবনা মডেল করতে খুব ভালো

ImageNet নিজেও একটি মাইলফলক: Fei-Fei Li ও সহকর্মীরা ২০০৯ সালে এই লেবেলযুক্ত ছবির ডেটাসেট প্রকাশ করেন, আর ২০১০ সাল থেকে তার ওপর বার্ষিক প্রতিযোগিতা (ILSVRC) চলে।

Large language model আর ChatGPT

Transformer-এর পর গবেষকেরা বিপুল পরিমাণ লেখা দিয়ে খুব বড় মডেলকে একটি সহজ কাজ শেখাতে থাকেন: লেখার পরের token (শব্দ বা শব্দাংশ) কী হতে পারে, তার সম্ভাবনা অনুমান করা। এমন মডেলকে বলে large language model (LLM). ২০২০ সালের GPT-3 paper (Brown ও সহকর্মীরা) ১৭,৫০০ কোটি parameter-এর মডেলের কথা জানায়। ৩০ নভেম্বর ২০২২ তারিখে OpenAI “research preview” হিসেবে ChatGPT সবার জন্য খুলে দেয় — কথোপকথনের জন্য মানুষের মতামত দিয়ে আরও প্রশিক্ষিত একটি LLM. এরপর AI আবার সংবাদের কেন্দ্রে আসে।

হাইপ ছাড়া বর্ণনা

LLM অনেক ধরনের লেখার কাজে (খসড়া, সারাংশ, অনুবাদ, কোড) কাজে লাগার মতো ফল দেয়। একই সঙ্গে এরা আত্মবিশ্বাসের সঙ্গে ভুল তথ্য বানাতে পারে (hallucination), প্রশিক্ষণের ডেটার পক্ষপাত বহন করে, আর হিসাব বা সাম্প্রতিক তথ্যে নির্ভরযোগ্য নয় যদি আলাদা উপায়ে যাচাই না করা হয়। এরা মানুষের মতো “বোঝে” বা “ভাবে” কি না, তা গবেষকদের মধ্যে খোলা তর্ক — তথ্য হিসেবে কোনোটিই দাবি করা যায় না। কীভাবে কাজ করে আর সীমা কোথায়, দেখবেন পর্ব ৭০-এ (LLM কীভাবে কাজ করে)।

মাপ কতটা বেড়েছে — paper-এর সংখ্যা থেকে হিসাব

নিচের প্রোগ্রাম চারটি মডেলের parameter সংখ্যা নেয় — প্রতিটি সংখ্যা মূল paper-এ যেভাবে বলা আছে (গোল করা, আনুমানিক): LeNet-5 প্রায় ৬০ হাজার, AlexNet ৬ কোটি, Transformer “big” ২১.৩ কোটি (paper-এর Table 3), GPT-3 ১৭,৫০০ কোটি। তারপর হিসাব করে মোট কত গুণ বাড়ল আর বছরে গড়ে কত গুণ।

import numpy as np

# Parameter counts as stated in each paper (rounded, approximate)
models = {
    "LeNet-5 (1998)":         (1998, 60e3),    # LeCun et al., ~60,000
    "AlexNet (2012)":         (2012, 60e6),    # Krizhevsky et al., 60 million
    "Transformer big (2017)": (2017, 213e6),   # Vaswani et al., Table 3
    "GPT-3 (2020)":           (2020, 175e9),   # Brown et al., 175 billion
}
years = np.array([y for y, p in models.values()])
params = np.array([p for y, p in models.values()])

for name, (y, p) in models.items():
    print(f"{name:24s} {p:>16,.0f}  log10={np.log10(p):.2f}")

ratio = params[-1] / params[0]
span = years[-1] - years[0]
per_year = ratio ** (1 / span)          # geometric growth per year
print(f"\nGPT-3 / LeNet-5 = {ratio:,.0f}x in {span} years")
print(f"average growth = {per_year:.2f}x per year")
print(f"doubling time  = {np.log(2) / np.log(per_year):.2f} years")

আসল আউটপুট (পাতায় চালানো):

LeNet-5 (1998)                     60,000  log10=4.78
AlexNet (2012)                 60,000,000  log10=7.78
Transformer big (2017)        213,000,000  log10=8.33
GPT-3 (2020)              175,000,000,000  log10=11.24

GPT-3 / LeNet-5 = 2,916,667x in 22 years
average growth = 1.97x per year
doubling time  = 1.02 years

২২ বছরে প্রায় ২৯ লাখ গুণ — log10 মান ৪.৭৮ থেকে ১১.২৪, অর্থাৎ প্রায় সাড়ে ছয় ঘর বেশি। গড়ে প্রায় প্রতি বছরে দ্বিগুণ (1.97x). হিসাবটি এভাবে: বছরে গুণক = (175e9 / 60e3)1/22, আর দ্বিগুণ হওয়ার সময় = ln 2 / ln(গুণক)। তিনটি সতর্কতা মনে রাখুন। (১) মাত্র চারটি হাতে বাছা বিন্দু থেকে “গড়” — অন্য মডেল নিলে সংখ্যা বদলাবে। (২) Parameter-এর সংখ্যা বুদ্ধির মাপ নয়; ডেটা, প্রশিক্ষণের হিসাবের পরিমাণ আর মডেলের নকশা সমান গুরুত্বপূর্ণ। (৩) চারটি মডেল চার রকম কাজের, তাই তুলনা শুধু মাপের।

সব মাইলফলক এক ছবিতে

এবার এই পর্বের মাইলফলকগুলো matplotlib দিয়ে একটি সময়রেখায় আঁকা যাক। ছায়া দেওয়া অংশ দুটি মোটামুটি শীতকাল — সালগুলো বিতর্কিত, তাই লেবেলে প্রশ্নবোধক চিহ্ন। ছবির লেখা ইংরেজিতে রাখা হয়েছে, কারণ matplotlib-এর ছবিতে বাংলা অক্ষর এখানে ঠিকমতো দেখায় না (বাংলা লেখা দেখানোর উপায় পর্ব ২৮-এ)।

import matplotlib.pyplot as plt

events = [(1943, "McCulloch-Pitts neuron"), (1950, "Turing: imitation game"),
          (1956, "Dartmouth workshop"), (1958, "Rosenblatt perceptron"),
          (1966, "ELIZA paper"), (1969, "Perceptrons (book)"),
          (1973, "Lighthill report"), (1980, "XCON in use at DEC"),
          (1986, "Backprop paper (Nature)"), (1997, "Deep Blue vs Kasparov"),
          (2012, "AlexNet on ImageNet"), (2016, "AlphaGo vs Lee Sedol"),
          (2017, "Transformer paper"), (2022, "ChatGPT public release")]
winters = [(1974, 1980), (1987, 1993)]     # rough, contested dates

fig, ax = plt.subplots(figsize=(7, 6))
for a, b in winters:
    ax.axvspan(a, b, color="tab:blue", alpha=0.15)
for i, (year, label) in enumerate(events):
    y = len(events) - i
    ax.plot(year, y, "o", color="tab:orange")
    ax.text(year + 1, y, f"{year}  {label}", va="center", fontsize=8)
ax.text(1975, 0.3, "winter?", fontsize=8, color="tab:blue")
ax.text(1988, 0.3, "winter?", fontsize=8, color="tab:blue")
ax.set_xlim(1940, 2060)
ax.set_ylim(0, len(events) + 1)
ax.set_yticks([])
ax.set_xlabel("Year")
ax.set_title("Some AI milestones (shaded: rough 'AI winter' periods)")
plt.tight_layout()

gaps = [(b[0] - a[0], a[0], b[0]) for a, b in zip(events, events[1:])]
g, start, end = max(gaps)
print("milestones:", len(events), f"| longest gap: {start} -> {end} ({g} years)")

আসল আউটপুট (পাতায় চালানো; ছবিটি আউটপুটের নিচে আসে):

milestones: 14 | longest gap: 1997 -> 2012 (15 years)

ছবিতে দেখবেন বিন্দুগুলো ১৯৫০-৬০-এর দশকে ঘন, ১৯৮৬ আর ১৯৯৭-এর পরে ফাঁকা, আর ২০১২-এর পরে আবার ঘন। সবচেয়ে বড় ফাঁক ১৯৯৭ থেকে ২০১২ — ১৫ বছর। কিন্তু সাবধান: এটা আমাদের তালিকার ফাঁক, ইতিহাসের নয়। ওই সময়েই SVM, Bayesian network, spam filter আর ওয়েব search-এর মতো বহু কাজ এগিয়েছে, যেগুলো এই তালিকায় রাখিনি। কোন ঘটনা “মাইলফলক” হিসেবে বাছা হলো, তার ওপরই ছবির গল্প নির্ভর করে — সৎ chart নিয়ে আরও দেখবেন পর্ব ৩২-এ।

৯ · হাইপ আর শীতের ছাঁচ — ইতিহাস থেকে কী শিখবেন

সাত দশকের গল্পে কয়েকটি ছাঁচ বারবার চোখে পড়ে।

১ · সহজ মনে হওয়া কাজই কঠিন

দাবা আর উপপাদ্য প্রমাণ আগে হয়েছে; একটি কাপ চেনা, ঘরে হাঁটা বা সাধারণ কথা বোঝা অনেক পরে। এই উল্টো অভিজ্ঞতাকে প্রায়ই Moravec’s paradox বলা হয়।

২ · ডেমো আর পণ্য এক নয়

ELIZA, MYCIN, প্রথম দিকের অনুবাদক — ছোট নির্বাচিত উদাহরণে চমৎকার, বাস্তবের অগোছালো ইনপুটে দুর্বল। বিচার করুন সবচেয়ে খারাপ ক্ষেত্রের ফল দিয়ে, সেরা ডেমো দিয়ে নয়।

৩ · পুরোনো ধারণা ফিরে আসে

Neural network ১৯৪৩ সালের ধারণা, তিনবার “মরেছে” আর ফিরেছে। কোনো পদ্ধতিকে চিরতরে বাতিল বলার আগে জিজ্ঞেস করুন — ডেটা আর হার্ডওয়্যার বদলালে কী হবে?

৪ · “AI” নামটি সরে যায়

Search, spam filter, route খোঁজা — কাজ করা শুরু করলে মানুষ আর এদের “AI” বলে না। একে বলে AI effect. ফলে “AI কিছুই পারেনি” মনে হয়, যদিও বহু কাজ নিঃশব্দে দৈনন্দিন সফটওয়্যারে ঢুকে গেছে।

আবহাওয়ার পূর্বাভাসের কথা ভাবুন। তিন দিনের পূর্বাভাস আজ বেশ নির্ভরযোগ্য; কিন্তু কেউ “এক মাস পরের ঘূর্ণিঝড়ের সঠিক তারিখ” বললে আপনি প্রমাণ চাইবেন। AI নিয়েও তাই: যা মাপা গেছে, তাতে আস্থা; যা শুধু প্রতিশ্রুতি, তার জন্য প্রমাণ।

বাংলাদেশের প্রেক্ষাপট — যতটুকু নিশ্চিত

দেশে কম্পিউটারের যাত্রা নিয়ে একটি তথ্য নির্ভরযোগ্য সূত্রে (বাংলাপিডিয়াসহ) পাওয়া যায়: তখনকার পূর্ব পাকিস্তানে প্রথম কম্পিউটার — একটি IBM 1620 — ১৯৬৪ সালে ঢাকার পরমাণু শক্তি কেন্দ্রে বসানো হয়, মূলত গবেষণার জটিল হিসাবের জন্য। অর্থাৎ Dartmouth workshop-এর মাত্র আট বছর পরে এ দেশে কম্পিউটারের হিসাব শুরু হয়েছিল। দেশে AI গবেষণা বা ব্যবহারের ইতিহাস নিয়ে নির্ভরযোগ্য, যাচাইযোগ্য তথ্য আমরা খুঁজে পাইনি, তাই এখানে কোনো দাবি করছি না।

আরও গভীরে: মূল দলিলগুলো নিজে পড়া সবচেয়ে ভালো শিক্ষা। Turing-এর ১৯৫০ সালের paper সহজ ইংরেজিতে লেখা এবং আজও পড়ার মতো; Dartmouth প্রস্তাব (১৯৫৫) মাত্র কয়েক পাতা; Lighthill রিপোর্টের সঙ্গে প্রকাশিত প্রতিক্রিয়াগুলোও শিক্ষণীয়। পূর্ণ ইতিহাসের জন্য Nils Nilsson-এর The Quest for Artificial Intelligence (২০১০) বহুল ব্যবহৃত; backpropagation-এর কৃতিত্ব-বিতর্কের একটি দিক পাবেন Jürgen Schmidhuber-এর ২০১৫ সালের সমীক্ষায় — যা নিজেও একটি পক্ষের মত।

পরীক্ষা ও ইন্টারভিউতে:

  • “Artificial intelligence” শব্দটি কোথায় প্রথম ব্যবহৃত হয়? — ১৯৫৫ সালের Dartmouth প্রস্তাবে (McCarthy, Minsky, Rochester, Shannon), workshop ১৯৫৬ সালে।
  • Single-layer perceptron XOR শিখতে পারে না কেন? — XOR linearly separable নয়; একটি সরল রেখা দুই কোণাকুণি জোড়াকে আলাদা করতে পারে না। লুকানো স্তর লাগে।
  • AI winter কী? — প্রত্যাশা পূরণ না হওয়ায় অর্থায়ন ও আগ্রহ কমে যাওয়ার সময়; মোটামুটি ১৯৭০-এর দশকের মাঝামাঝি আর ১৯৮০-এর দশকের শেষে দুটি।
  • Deep Blue আর AlphaGo-র মূল পার্থক্য? — Deep Blue মূলত হাতে বানানো মূল্যায়ন আর বিশেষ হার্ডওয়্যারে search; AlphaGo neural network আর reinforcement learning দিয়ে শেখা মূল্যায়ন + tree search.
  • ২০১২ সালের পর deep learning কেন এগোল? — বড় লেবেলযুক্ত ডেটা (ImageNet), GPU আর উন্নত প্রশিক্ষণ কৌশল একসাথে।

১০ · AI-এর যুগে — AI সহকারী দিয়ে ইতিহাস আর ডেটার কাজ যাচাই

ইতিহাসের প্রশ্ন AI সহকারীকে জিজ্ঞেস করা সুবিধাজনক, কিন্তু ঝুঁকিপূর্ণ। LLM প্রায়ই বিশ্বাসযোগ্য শোনায় এমন সাল, উদ্ধৃতি বা paper-এর নাম বানিয়ে দেয়, আর ইন্টারনেটে বহুল প্রচলিত মিথগুলোই বলতে পারে। ডেটা আর AI-এর কোডেও একই রকম ভুল হয়।

AI সহকারী প্রায়ই যা করেকীভাবে ধরবেন
বানানো উদ্ধৃতি, ভুল সাল, অস্তিত্বহীন paperমূল paper বা প্রকাশকের পাতা খুলে মিলিয়ে দেখা
পুরোনো library API (pandas-এর append, NumPy-র np.float)নিজের version-এর অফিসিয়াল docs দেখা, কোড চালিয়ে দেখা
অস্তিত্বহীন ফাংশন বা parameter বানানোচালানো; error এলে docs-এ নামটি খোঁজা
test ডেটা training-এ মিশিয়ে ফেলা, training set-এ metric দেখানোসবার আগে ডেটা ভাগ করা; সরল baseline-এর সঙ্গে তুলনা
warning বা error চেপে যাওয়া, বিশ্বাসযোগ্য কিন্তু ভুল পরিসংখ্যানshape আর কয়েকটি নমুনা সারি নিজে দেখা, একটি সংখ্যা হাতে হিসাব করা

ইতিহাসের প্রশ্নে AI-কে এমনভাবে জিজ্ঞেস করুন যাতে উৎস দিতে বাধ্য হয়, আর অনিশ্চয়তা স্বীকার করার সুযোগ থাকে:

আমি AI-এর ইতিহাস পড়ছি। Minsky ও Papert-এর ১৯৬৯ সালের "Perceptrons" বই আসলে কী প্রমাণ করেছিল আর কী করেনি, সহজ বাংলায় বলো। ১. প্রতিটি দাবির পাশে মূল উৎস (বই/paper-এর নাম, সাল) দাও। ২. যেখানে ঐতিহাসিকদের মধ্যে মতভেদ আছে, সেটা আলাদা করে বলো। ৩. কোনো উদ্ধৃতি বা সংখ্যা নিশ্চিত না হলে "নিশ্চিত নই" লেখো — অনুমান করে বানিয়ে দিও না।

AI-এর দেওয়া তথ্য বা কোড হাতে পেলে — চেকলিস্ট

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন — তারপর “→ উত্তর” চাপুন।

প্র ০১Turing test কি আজও বুদ্ধিমত্তা মাপার ভালো উপায়? LLM-এর যুগে এর দুর্বলতা কোথায়?

Turing-এর ১৯৫০ সালের চিন্তাটি ছিল চতুর: “চিন্তা” শব্দের সংজ্ঞা নিয়ে তর্ক না করে আচরণ দেখে বিচার করা। কিন্তু সাত দশক পরে এর কয়েকটি দুর্বলতা স্পষ্ট।

  • নকল করা আর পারা এক নয়: ELIZA দেখিয়েছিল, কয়েকটি নিয়মেই মানুষ ভুলে যেতে পারে যে সে যন্ত্রের সঙ্গে কথা বলছে। একটি পরীক্ষা যদি “মানুষকে বোকা বানানো”-কে পুরস্কার দেয়, তাহলে সিস্টেমগুলো টাইপের ভুল, এড়িয়ে যাওয়া বা কৌতুকের মতো কৌশল শিখবে — সমস্যা সমাধানের ক্ষমতা নয়।
  • শর্তের ওপর নির্ভরতা: কত মিনিট, কোন বিচারক, কী বিষয় — এসব বদলালে ফল বদলায়। Turing নিজেও পাঁচ মিনিট আর ৭০ শতাংশের মতো নির্দিষ্ট সংখ্যা দিয়েছিলেন, সাধারণ সংজ্ঞা নয়।
  • মানুষ নিজেই মানদণ্ড: পরীক্ষাটি মানুষের মতো হওয়াকে লক্ষ্য ধরে। কিন্তু একটি ক্যালকুলেটর মানুষের মতো ভুল করে না বলে কম কাজের নয়। আবার মানুষের মতো কথা বলা একটি সিস্টেম হিসাবে বা তথ্যে মারাত্মক ভুল করতে পারে।
  • LLM-এর যুগে নতুন সমস্যা: আধুনিক LLM অনেক কথোপকথনে মানুষের মতো সাবলীল। তাই প্রশ্ন সরে গেছে “চেনা যায় কি না” থেকে “কোন কাজে কতটা নির্ভরযোগ্য, কোথায় ভুল করে, কীভাবে মাপব” — এজন্য গবেষকেরা নির্দিষ্ট কাজের benchmark, আলাদা রাখা test set আর মানুষের মূল্যায়ন ব্যবহার করেন। benchmark-এরও সমস্যা আছে: প্রশ্নগুলো প্রশিক্ষণের ডেটায় ঢুকে গেলে (contamination) ফল ফুলে যায়।

তবু Turing-এর মূল শিক্ষাটি টিকে আছে: অস্পষ্ট প্রশ্নকে মাপা যায় এমন প্রশ্নে বদলানো। একটি দোকানের মালিক যদি জানতে চান “এই AI কি ভালো?”, সঠিক প্রশ্ন হলো “আমার ১০০টি আসল গ্রাহক-প্রশ্নে এটি কয়টির ঠিক উত্তর দেয়, আর ভুলগুলো কতটা ক্ষতিকর?”

মূল উপলব্ধি: Turing test আজ বুদ্ধিমত্তার মাপকাঠি হিসেবে দুর্বল, কিন্তু “প্রশ্নকে পরীক্ষাযোগ্য করা” — এই পদ্ধতিগত শিক্ষা প্রতিটি AI মূল্যায়নের ভিত্তি।

প্র ০২Minsky–Papert-এর বই কি সত্যিই neural network-এর “মৃত্যু” ঘটিয়েছিল? এক কারণে বড় ঘটনা ব্যাখ্যা করার বিপদ কী?

গল্পটি জনপ্রিয় কারণ এতে নায়ক আর খলনায়ক আছে: Rosenblatt-এর স্বপ্ন, Minsky-র বই, তারপর অন্ধকার। বাস্তব ইতিহাস জটিল।

বই যা করেছিল: ১৯৬৯ সালের Perceptrons এক স্তরের, নির্দিষ্ট ধরনের perceptron-এর সীমা গাণিতিকভাবে কঠোরভাবে দেখায় — parity আর connectedness-এর মতো বৈশিষ্ট্য হিসাব করতে কত বড় network লাগে। এটি ছিল গুরুত্বপূর্ণ বিজ্ঞান; perceptron নিয়ে তখন যে অতিরঞ্জিত দাবি ঘুরছিল, বইটি তার বিপরীতে একটি সংশোধন।

বই যা করেনি: বহুস্তরের network অসম্ভব — এমন কোনো প্রমাণ দেয়নি। লেখকেরা বহুস্তরের network নিয়ে সন্দেহ প্রকাশ করেছিলেন; ১৯৮৮ সালের সম্প্রসারিত সংস্করণে তাঁরা নিজেদের অবস্থান আবার ব্যাখ্যা করেন।

অন্য কারণগুলো:

  • লুকানো স্তর শেখানোর কোনো জনপ্রিয় পদ্ধতি তখন ছিল না — backpropagation neural network-এ ব্যাপকভাবে ছড়ায় ১৯৮৬ সালের পরে।
  • ১৯৬০-এর দশকের কম্পিউটার অত্যন্ত ধীর আর মেমরি ছোট; বড় network চালানোই কঠিন।
  • Symbolic AI তখন দৃশ্যমান সাফল্য দেখাচ্ছিল, আর অর্থদাতারা সেদিকে ঝুঁকছিলেন।
  • ১৯৭০-এর দশকে সামগ্রিকভাবে AI-এর অর্থায়ন কমে, যার কারণ শুধু neural network নয়।
  • Rosenblatt-এর ১৯৭১ সালে অকাল মৃত্যু এই ধারার একজন প্রধান কণ্ঠকে সরিয়ে দেয়।

আর গবেষণা পুরো থামেনি: ১৯৭০-এর দশকে Werbos-এর thesis, Kunihiko Fukushima-র Neocognitron (১৯৮০) আর বিভিন্ন associative memory-র কাজ চলেছে।

এক কারণের বিপদ: ইতিহাসকে একটি কারণে নামিয়ে আনলে ভুল শিক্ষা নেওয়া হয় — যেমন “সমালোচনা ক্ষতিকর।” আসল শিক্ষা উল্টো: সঠিক সমালোচনা দরকারি ছিল, সমস্যা ছিল দাবি আর প্রমাণের ফাঁক। ডেটা বিশ্লেষণেও একই ভুল হয় — বিক্রি কমলে “শুধু দামের কারণে” বলা, অথচ মৌসুম, প্রতিযোগী আর ডেলিভারির সময়ও কাজ করছে।

মূল উপলব্ধি: বড় ঘটনার পেছনে প্রায় সবসময় একাধিক কারণ থাকে; “একটি বই, একটি মানুষ, একটি ঘটনা” ধরনের ব্যাখ্যা শুনলে সন্দেহ করুন।

প্র ০৩Expert system কেন একসময় বাণিজ্যিক সাফল্য পেয়েও টেকেনি? আজকের ML system-এ সেই শিক্ষা কোথায় খাটে?

১৯৮০-এর দশকে expert system ছিল AI-এর প্রথম বড় বাণিজ্যিক সাফল্য। XCON (R1) DEC-এর কম্পিউটারের অর্ডার কনফিগার করত — এমন কাজ, যেখানে ভুল যন্ত্রাংশ পাঠানো ব্যয়বহুল। নিয়মগুলো স্পষ্ট, সিদ্ধান্ত ব্যাখ্যা করা যায় (“এই নিয়মের কারণে”), আর ছোট পরিসরে ফল ভালো।

কেন টেকেনি:

  • Knowledge acquisition bottleneck: প্রতিটি নিয়ম একজন বিশেষজ্ঞের সঙ্গে বসে লিখতে হতো। বিশেষজ্ঞ নিজেও সবসময় জানেন না তিনি কীভাবে সিদ্ধান্ত নেন।
  • রক্ষণাবেক্ষণ: নতুন পণ্য এলে নতুন নিয়ম; হাজার হাজার নিয়ম একে অপরের সঙ্গে সংঘাতে জড়ায়, একটি বদলালে অন্য জায়গায় ভাঙে। XCON-এর ক্ষেত্রেও রক্ষণাবেক্ষণের ভার বড় হয়ে ওঠে বলে বর্ণনা পাওয়া যায়।
  • Brittleness (ভঙ্গুরতা): নিয়মের বাইরে সামান্য ভিন্ন অবস্থাতেই সিস্টেম অর্থহীন উত্তর দেয়, আর নিজের অজ্ঞতা বুঝতে পারে না।
  • বাজার: বিশেষ Lisp machine-এর জায়গা নিল সস্তা সাধারণ কম্পিউটার; অনেক কোম্পানি বন্ধ হলো।

আজকের ML-এ একই শিক্ষা: ML system নিয়ম হাতে লেখে না, কিন্তু ভিন্ন রূপে একই সমস্যা আছে। নিয়ম লেখার বদলে লাগে লেবেল করা ডেটা — সেটাই নতুন bottleneck. মডেল প্রশিক্ষণের ডেটার বাইরের অবস্থায় (distribution shift) ভঙ্গুর — ধরুন বাজারঘর-এর মতো একটি দোকানের ডেলিভারি সময়ের মডেল ঢাকার ডেটায় শেখা, কিন্তু বন্যার মৌসুমে সিলেটে চালানো হলো। আর রক্ষণাবেক্ষণ (ডেটা বদলালে আবার প্রশিক্ষণ, পর্যবেক্ষণ) ML প্রকল্পের বড় খরচ; এ নিয়ে Google-এর গবেষকদের ২০১৫ সালের paper “Hidden Technical Debt in Machine Learning Systems” প্রায়ই উদ্ধৃত হয়।

একটি বিষয়ে expert system আজও শেখায়: ব্যাখ্যাযোগ্যতা। নিয়মভিত্তিক সিস্টেম বলতে পারে কেন; বড় neural network-এর কাছে সেটা পাওয়া কঠিন। তাই ব্যাংক বা স্বাস্থ্যের মতো ক্ষেত্রে নিয়ম আর শেখা মডেলের মিশ্রণ এখনো দেখা যায় (পর্ব ৪৭-এ rule-based system দেখবেন)।

মূল উপলব্ধি: প্রযুক্তি বদলায়, কিন্তু “জ্ঞান কোথা থেকে আসবে, নতুন অবস্থায় কী হবে, আর কে রক্ষণাবেক্ষণ করবে” — এই তিন প্রশ্ন প্রতিটি AI প্রকল্পে থাকে।

প্র ০৪২০১২ সালে deep learning হঠাৎ কেন কাজ করল, যখন মূল ধারণাগুলো দশকের পর দশক পুরোনো?

Perceptron ১৯৫৮ সালের, backpropagation neural network-এ জনপ্রিয় ১৯৮৬ সালে, convolutional network চেক পড়েছে ১৯৯০-এর দশকে। তবু বড় মোড় এলো ২০১২ সালে AlexNet-এর হাতে। কারণ তিনটি উপাদান একসাথে পরিপক্ব হলো।

  • ডেটা: ইন্টারনেটে বিপুল ছবি আর crowdsourcing দিয়ে লেবেল করার সুযোগ মিলে তৈরি হলো ImageNet (২০০৯)। AlexNet প্রশিক্ষণ নিয়েছিল প্রায় ১২ লাখ লেবেলযুক্ত ছবিতে, ১০০০টি শ্রেণিতে। LeNet-এর সময়ের ডেটাসেট (যেমন MNIST-এর ৬০ হাজার প্রশিক্ষণের ছবি) এর তুলনায় অনেক ছোট ও সরল।
  • হার্ডওয়্যার: ভিডিও গেমের জন্য তৈরি GPU হাজার হাজার ছোট হিসাব একসাথে করে — neural network-এর matrix গুণের জন্য একদম উপযুক্ত। AlexNet দুটি consumer GPU-তে প্রশিক্ষিত হয়েছিল। CUDA-র মতো programming টুল GPU-কে সাধারণ হিসাবের জন্য সহজলভ্য করেছিল।
  • কৌশল: ReLU activation (গভীর network-এ শেখা দ্রুত করে), dropout (overfitting কমায়), data augmentation — ছোট কিন্তু গুরুত্বপূর্ণ উন্নতি।

ফলে top-5 error ১৫.৩% বনাম দ্বিতীয় দলের ২৬.২% — একটি বড় ব্যবধান, যা অনেক গবেষককে দিক বদলাতে রাজি করায়। পরের কয়েক বছরে speech recognition আর machine translation-এও neural পদ্ধতি এগিয়ে যায়।

সতর্কতা: “২০১২ সালে হঠাৎ” কথাটিও কিছুটা সরলীকরণ। ২০০৬-এর পরের deep belief network, ২০০৯-১০ সালের দিকে speech recognition-এ GPU-তে neural network-এর সাফল্য আর বহু বছরের নিঃশব্দ কাজ আগে থেকেই পথ তৈরি করছিল। AlexNet ছিল সবচেয়ে দৃশ্যমান প্রমাণ, একমাত্র কারণ নয়।

মূল উপলব্ধি: একটি ধারণা “ভুল” না “আগাম” — তা অনেক সময় নির্ভর করে ডেটা আর হার্ডওয়্যারের ওপর। পরিবেশ বদলালে পুরোনো ধারণা নতুন করে পরীক্ষা করা উচিত।

প্র ০৫আজকের LLM-এর উচ্ছ্বাস কি আরেকটি AI winter-এর দিকে যাচ্ছে? ইতিহাস কী সতর্কতা আর কী আশা দেয়?

এর সৎ উত্তর হলো: কেউ নিশ্চিত জানে না। তবে ইতিহাস কিছু প্রশ্ন করতে শেখায়।

আগের শীতের মিল কোথায়: প্রতিবার একটি বাস্তব অর্জন (উপপাদ্য প্রমাণ, perceptron, expert system) নিয়ে এমন দাবি করা হয়েছে, যা অর্জনের চেয়ে অনেক বড় — “বিশ বছরে যেকোনো কাজ”, “যন্ত্র সচেতন হবে।” তারপর দাবি পূরণ না হলে অর্থ ও আস্থা দুটোই কমেছে। আজও কিছু বক্তব্যে নির্দিষ্ট সালে মানুষের সমান বা বেশি বুদ্ধির (AGI) ভবিষ্যদ্বাণী শোনা যায়; এগুলো অনুমান, প্রমাণিত তথ্য নয়।

পার্থক্য কোথায়:

  • ১৯৭০ বা ১৯৮০-এর দশকে AI ছিল মূলত গবেষণাগারে আর কয়েকটি সরু পণ্যে। আজ AI-ভিত্তিক বৈশিষ্ট্য search, অনুবাদ, ফোনের ক্যামেরা, spam filter আর কোড লেখার টুলে ছড়িয়ে আছে; অর্থাৎ বাস্তব ব্যবহার অনেক বিস্তৃত।
  • অর্থায়ন এখন মূলত বেসরকারি; একটি সরকারি রিপোর্টে এক দেশের অর্থ বন্ধ হওয়ার মতো ঘটনা একইভাবে ঘটবে না, তবে বিনিয়োগের প্রত্যাশা পূরণ না হলে বাজারে সংশোধন আসতে পারে।

যে প্রশ্নগুলো করবেন: দাবিটি কোন নির্দিষ্ট কাজে, কোন মাপে প্রমাণিত? খারাপ ক্ষেত্রে কী হয় — hallucination, পক্ষপাত, নিরাপত্তা? খরচ (হিসাবের শক্তি, বিদ্যুৎ) কি লাভের সঙ্গে মেলে? benchmark-এর প্রশ্ন কি প্রশিক্ষণের ডেটায় ঢুকে গেছে?

আশার দিক: আগের দুই শীতের পরেও ভালো ধারণাগুলো হারায়নি — search, logic, Bayesian যুক্তি, neural network সব আজ ব্যবহৃত। শীত মানে গবেষণার মৃত্যু নয়, মানে প্রত্যাশার সংশোধন। যিনি মূল নীতি (সম্ভাবনা, optimization, search, ডেটা যাচাই) জানেন, তাঁর দক্ষতা যেকোনো ঋতুতে কাজে লাগে — এই কোর্সের বাকি পর্বগুলো ঠিক সেই ভিত্তির জন্য।

মূল উপলব্ধি: ভবিষ্যৎ নিয়ে নিশ্চিত দাবি — আশাবাদী বা হতাশাবাদী — দুটোকেই প্রমাণের দাবিতে রাখুন; মূল নীতি শিখলে আপনি কোনো এক হাইপের ওপর নির্ভরশীল থাকবেন না।

অনুশীলন

হিসাব, অনুমান আর সমালোচনা — তিন রকম কাজ।

  1. হাতে হিসাব (numerical): একটি perceptron-এ w = [1, 1], b = −1.5, step নিয়ম “s > 0 হলে ১”। চারটি input (0,0), (0,1), (1,0), (1,1)-এর উত্তর কী? এটি কোন যুক্তি? এবার b = −0.5 করলে কোন যুক্তি হয়?

    b = −1.5: s = −1.5, −0.5, −0.5, 0.5 → উত্তর 0, 0, 0, 1 — এটি AND.

    b = −0.5: s = −0.5, 0.5, 0.5, 1.5 → উত্তর 0, 1, 1, 1 — এটি OR.

    শুধু bias সরিয়ে রেখাটি সমান্তরালভাবে সরে গেছে। কিন্তু কোনো w আর b দিয়েই 0, 1, 1, 0 (XOR) পাওয়া যাবে না — চেষ্টা করে দেখুন: (0,1) আর (1,0)-এ ১ পেতে w1 + b > 0 আর w2 + b > 0 লাগে; (0,0)-এ ০ পেতে b ≤ 0; তাহলে w1 + w2 + b = (w1 + b) + (w2 + b) − b > 0, অর্থাৎ (1,1)-এও ১ — XOR-এর সঙ্গে বিরোধ।

  2. আউটপুট অনুমান করুন: এই পর্বের ELIZA প্রোগ্রামে (নিয়মগুলো উপরে থেকে নিচে: “i need …”, “i am …”, “my … is …”, family শব্দ, “…?”, বাকি সব) নিচের তিনটি লাইন দিলে কী উত্তর আসবে? (ক) I am tired of my boss (খ) My mother is a teacher (গ) Is it raining?

    (ক) “i am (.*)” মেলে; “tired of my boss” reflect হয়ে “tired of your boss” → How long have you been tired of your boss?

    (খ) উপর থেকে দেখলে “my (.*) is (.*)” family নিয়মের আগে আসে, তাই সেটাই মেলে → Why do you say your mother is a teacher? — নিয়মের ক্রম ফল ঠিক করে।

    (গ) কোনো উপরের নিয়ম মেলে না, “?”-এর নিয়ম মেলে → Why do you ask that? নিজে প্রোগ্রামের chat তালিকায় যোগ করে মিলিয়ে নিন।

  3. Perceptron কোড বদলে দেখুন (coding): perceptron প্রোগ্রামে XOR-এর input-এ তৃতীয় একটি feature যোগ করুন: x3 = x1·x2 (অর্থাৎ X-এর প্রতিটি সারিতে দুটি সংখ্যার গুণফল), আর weight তিনটি করুন। এবার কি শেখা শেষ হয়? কেন?

    সংক্ষেপে বদল: X = np.array([[0,0,0],[0,1,0],[1,0,0],[1,1,1]]) আর rng.uniform(-1, 1, 3). এখন চারটি বিন্দু তিন মাত্রায়, আর (1,1,1) বিন্দুটি “উপরে উঠে” গেছে। একটি সমতল (যেমন x1 + x2 − 2x3 − 0.5 = 0) এখন XOR আলাদা করতে পারে: s = −0.5, 0.5, 0.5, −0.5 → 0, 1, 1, 0. তাই সমস্যাটি linearly separable হয়ে যায় আর convergence theorem অনুযায়ী perceptron থামবে (কত epoch লাগবে, তা শুরুর weight-এর ওপর নির্ভর করে — নিজে চালিয়ে দেখুন)। শিক্ষা: ঠিক feature বানালে সরল মডেলও কঠিন সমস্যা পারে; neural network-এর লুকানো স্তর এমন feature নিজে শেখে।

  4. সমালোচনা (critique): একটি জনপ্রিয় ভিডিওতে বলা হলো: “১৯৫৬ সালে AI জন্মায়, ১৯৬৯ সালে Minsky XOR দেখিয়ে neural network শেষ করে দেন, ১৯৮৬ সালে Hinton backpropagation আবিষ্কার করে সব ফিরিয়ে আনেন, আর ২০২২ সালে ChatGPT দিয়ে AGI চলে আসে।” প্রতিটি অংশের কোথায় সমস্যা, আর আরও নির্ভুল সংস্করণ কী হবে?
    • “১৯৫৬ সালে AI জন্মায়” — নামটি এসেছে ১৯৫৫ সালের প্রস্তাবে, workshop ১৯৫৬ সালে; কিন্তু ধারণার শিকড় Turing (১৯৫০), McCulloch–Pitts (১৯৪৩) আর আরও আগে। ভালো সংস্করণ: “১৯৫৬ সালের Dartmouth workshop একটি গবেষণা-ক্ষেত্র হিসেবে AI-এর সূচনা ধরা হয়।”
    • “Minsky XOR দেখিয়ে শেষ করে দেন” — বইটি Minsky আর Papert-এর, ফল আরও সাধারণ (parity, connectedness), এক স্তরের perceptron নিয়ে; আর পতনের কারণ অনেকগুলো।
    • “Hinton backpropagation আবিষ্কার করেন” — ১৯৮৬ সালের paper তিনজনের (Rumelhart, Hinton, Williams), আর পদ্ধতির শিকড় ১৯৬০-৭০-এর দশকে (Linnainmaa, Werbos প্রমুখ)। “জনপ্রিয় করেন” বলা নির্ভুল। আর ১৯৮৬ সালে “সব ফিরে আসেনি” — বড় উত্থান ২০১২-র পরে।
    • “ChatGPT দিয়ে AGI” — ChatGPT ৩০ নভেম্বর ২০২২ তারিখে জনসাধারণের জন্য খোলা একটি LLM-ভিত্তিক chatbot; AGI-এর কোনো সর্বসম্মত সংজ্ঞা বা প্রমাণ নেই।

    সাধারণ শিক্ষা: “একজন মানুষ, এক বছর, এক ঘটনা” ধরনের গল্প মনে রাখা সহজ, কিন্তু প্রায়ই ভুল।

নিজেকে যাচাই করুন

ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।

ক্রমAI-এর এই ঘটনাগুলো সময়ের ক্রমে সাজান (▲▼ চেপে সরান)

  1. McCulloch আর Pitts-এর নিউরন মডেল
  2. Turing-এর “Computing Machinery and Intelligence”
  3. Dartmouth-এর গ্রীষ্মকালীন workshop
  4. Minsky আর Papert-এর Perceptrons বই
  5. Lighthill রিপোর্ট
  6. Rumelhart, Hinton আর Williams-এর backpropagation paper

“Artificial intelligence” কথাটি প্রথম লিখিতভাবে কোথায় এসেছে বলে সাধারণত ধরা হয়?

  • Turing-এর ১৯৫০ সালের paper-এ
  • ১৯৫৫ সালের Dartmouth গবেষণা-প্রস্তাবে
  • Weizenbaum-এর ELIZA paper-এ
  • Lighthill রিপোর্টে

একটি single-layer perceptron (step function সহ) চারটি input (0,0), (0,1), (1,0), (1,1)-এ যথাক্রমে 0, 1, 1, 0 উত্তর শিখতে পারে না। মূল কারণ কী?

  • যথেষ্ট epoch দেওয়া হয়নি
  • Learning rate খুব বড়
  • উত্তরগুলো একটি সরল রেখা দিয়ে আলাদা করা যায় না
  • ডেটা খুব কম

Minsky আর Papert-এর ১৯৬৯ সালের Perceptrons বই সম্পর্কে কোন বক্তব্যটি সবচেয়ে নির্ভুল?

  • এটি প্রমাণ করে যে কোনো neural network XOR শিখতে পারবে না
  • এটিই প্রথম দেখায় যে XOR একটি রেখায় আলাদা হয় না, এর বাইরে কিছু নয়
  • এটি backpropagation-এর প্রথম বর্ণনা দেয়
  • এটি এক-স্তরের perceptron-এর কঠোর গাণিতিক সীমা দেখায়, কিন্তু বহুস্তরের network অসম্ভব — এমন প্রমাণ দেয়নি

একটি perceptron-এ w = [0.5, −0.1], b = 0, learning rate 1. input (1,0)-এর সঠিক উত্তর 0, কিন্তু perceptron 1 বলল (নিয়ম: s > 0 হলে 1). Rosenblatt-এর নিয়মে নতুন w আর b কী হবে?

  • w = [−0.5, −0.1], b = −1
  • w = [1.5, −0.1], b = 1
  • w = [0.5, −0.1], b = 0
  • w = [−0.5, −1.1], b = −1

১৯৯৭ সালে Garry Kasparov-কে হারানো Deep Blue মূলত কীসের ওপর নির্ভর করত?

  • Neural network আর নিজের সঙ্গে খেলে শেখা
  • বিশেষ হার্ডওয়্যারে বিপুল গতির search আর হাতে বানানো মূল্যায়ন
  • Transformer ভিত্তিক language model
  • প্রতিটি সম্ভাব্য অবস্থার আগে থেকে সংরক্ষিত উত্তর

“AI winter” কথাটির সবচেয়ে উপযুক্ত অর্থ কোনটি?

  • যে সময়ে AI নিয়ে সব গবেষণা পুরো বন্ধ ছিল
  • শীতকালে কম্পিউটার ধীর হয়ে যাওয়ার সমস্যা
  • প্রত্যাশা পূরণ না হওয়ায় AI-এর অর্থায়ন ও আগ্রহ কমে যাওয়ার সময়
  • ২০১২ সালের পর deep learning-এর ধীরগতির সময়

ELIZA (১৯৬৬)-এর মতো প্রোগ্রাম কথোপকথনে “মনোযোগী” মনে হতো কেন?

  • এটি বিপুল লেখা থেকে ভাষা শিখেছিল
  • এটি প্রতিটি শব্দের অর্থ বুঝত
  • পেছন থেকে একজন মানুষ উত্তর দিতেন
  • Keyword মিলিয়ে ব্যবহারকারীর কথাই সাজিয়ে ফেরত দিত, আর মানুষ তাতে বোঝাপড়া আরোপ করত

শব্দকোষ

লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন — অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:

মনে রাখুন

  1. পূর্বসূরি: Boole (১৮৫৪), Babbage আর Lovelace (১৮৪৩-এর টীকা), McCulloch–Pitts (১৯৪৩); প্রশ্ন Turing ১৯৫০, নাম Dartmouth প্রস্তাব ১৯৫৫, workshop ১৯৫৬।
  2. Perceptron (Rosenblatt, ১৯৫৮) একটি সরল রেখা শেখে — AND, OR পারে, XOR পারে না; Minsky–Papert (১৯৬৯) এক-স্তরের সীমা কঠোরভাবে দেখায়, “neural network অসম্ভব” প্রমাণ করেনি।
  3. দুই শীতকাল মোটামুটি ১৯৭০-এর দশকের মাঝামাঝি আর ১৯৮০-এর দশকের শেষে; মাঝে expert system-এর বাজার (XCON).
  4. Backpropagation ১৯৮৬ সালে জনপ্রিয়, শিকড় আগের; তারপর পরিসংখ্যানের মোড়, Deep Blue ১৯৯৭, AlexNet ২০১২, AlphaGo ২০১৬, Transformer ২০১৭, ChatGPT ২০২২।
  5. শিক্ষা: দাবি আর প্রমাণের ফাঁক দেখুন, “প্রথম” আর “একাই” শব্দে সন্দেহ করুন, মূল উৎস মিলিয়ে নিন।

পরের পর্বে: ইতিহাসে বারবার দুটি শিবির দেখলেন — নিয়ম লেখা আর ডেটা থেকে শেখা। পর্ব ৩-এ (AI-এর তিন পথ — নিয়মভিত্তিক, পরিসংখ্যানভিত্তিক আর neural) একই সমস্যা তিন পথে সমাধান করে দেখব কোনটির শক্তি কোথায়।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

এই পর্বটি শেয়ার করুন:
এই পর্বে ভুল পেয়েছেন? জানান