Chapter 06

পারসেপট্রন

Perceptron
🎬 ইতিহাস
১৯৫৮ সালে Frank Rosenblatt আবিষ্কার করেন Perceptron — প্রথম শেখার ক্ষমতা সম্পন্ন কৃত্রিম নিউরন। তখনকার New York Times লিখেছিল — "এই মেশিন একদিন কথা বলবে, হাঁটবে, এমনকি নিজেকে চিনতে শিখবে।" সেই স্বপ্ন আজকের ChatGPT-তে সত্যি হয়েছে।

Perceptron কী?

Perceptron হলো সবচেয়ে সরল ধরনের নিউরাল নেটওয়ার্ক — মাত্র একটি নিউরন। এটি input নেয়, weight দিয়ে গুণ করে, যোগ করে, এবং একটি threshold-এর সাথে তুলনা করে binary output (0 বা 1) দেয়।

y = 1 যদি Σ wᵢxᵢ + b ≥ 0 y = 0 অন্যথায়

Perceptron Learning Rule

Perceptron-এর জাদু হলো — এটা নিজে শিখতে পারে। কীভাবে? যখনই ভুল করে, weight একটু adjust করে।

w_new = w_old + η × (y_true - y_pred) × x

এখানে η (eta) হলো learning rate।

উদাহরণ — AND Gate শেখানো

AND gate: শুধু দুই input-ই 1 হলে output 1, নইলে 0। Perceptron দিয়ে এটা শেখাই।

import numpy as np

# AND gate ডেটা
X = np.array([[0,0], [0,1], [1,0], [1,1]])
y = np.array([0, 0, 0, 1])

# initial weights ও bias
w = np.zeros(2)
b = 0
lr = 0.1

def predict(x):
    return 1 if np.dot(w, x) + b >= 0 else 0

# Training
for epoch in range(20):
    for xi, yi in zip(X, y):
        y_pred = predict(xi)
        error = yi - y_pred
        w += lr * error * xi
        b += lr * error

# Test
for xi in X:
    print(xi, "->", predict(xi))

Perceptron-এর সীমাবদ্ধতা — XOR সমস্যা

Perceptron শুধু linearly separable সমস্যা সমাধান করতে পারে। AND, OR সহজেই — কিন্তু XOR? অসম্ভব। কারণ XOR-এর true/false points একটা সরলরেখা দিয়ে আলাদা করা যায় না।

AND ✓
একটি রেখা দিয়ে আলাদা করা যায়
XOR ✗
কোনো একটি সরলরেখা দিয়ে আলাদা করা যায় না
❄️ AI Winter
১৯৬৯ সালে Minsky ও Papert বই লিখে দেখান — Perceptron XOR সমাধান করতে পারে না। এই সমালোচনায় Neural Network-এ ফান্ডিং কমে যায়। শুরু হয় প্রথম "AI Winter"। সমাধান এসেছিল — multi-layer perceptron ও backpropagation আবিষ্কারের পর।

সমাধান — Multi-Layer Perceptron (MLP)

একটি Perceptron-এর বদলে কয়েকটি Perceptron স্তরে স্তরে সাজালে — তৈরি হয় MLP। MLP যেকোনো জটিল function approximate করতে পারে (Universal Approximation Theorem)।

সাধারণ ভুল ধারণা

⚠️ যা সত্যি নয়
  • "Perceptron সবকিছু শিখতে পারে" — না, শুধু linear সমস্যা।
  • "Perceptron = MLP" — না, MLP হলো বহু Perceptron-এর সমন্বয়।

অনুশীলন

১. উপরের কোড পরিবর্তন করে OR gate শেখান।

২. একই কোডে XOR gate শেখাতে চেষ্টা করুন — দেখুন accuracy 50%-এ আটকে যায়।

৩. learning rate পরিবর্তন করে দেখুন কখন দ্রুত converge হয়।

মিনি প্রজেক্ট

🚀 আজকের চ্যালেঞ্জ
২টা feature ওয়ালা একটি linearly separable dataset (যেমন: sklearn.datasets.make_blobs) নিয়ে Perceptron train করুন। শেষে decision boundary plot করুন।

ইন্টারভিউ প্রশ্ন

  1. Perceptron Learning Rule ব্যাখ্যা করুন।
  2. XOR সমস্যা কী এবং কেন Perceptron এটা সমাধান করতে পারে না?
  3. MLP কীভাবে XOR সমাধান করে?
  4. Universal Approximation Theorem কী?

সারসংক্ষেপ

✨ এই অধ্যায়ে যা শিখলাম
  • Perceptron = সবচেয়ে সরল শেখার যোগ্য নিউরন।
  • Linearly separable সমস্যা সমাধান করতে পারে।
  • XOR সমস্যার কারণে AI Winter — MLP দিয়ে সমাধান।
  • পরের অধ্যায়ে শিখব activation function — যেটা MLP-কে শক্তিশালী করে।