What is AI?পড়তে ১১ মিনিট লাগবে

এআই (AI) বনাম এমএল (ML) বনাম ডিপ লার্নিং (Deep Learning)

রাশিয়ান পুতুলের মতো — এআই হলো সবচেয়ে বড়টা, তার ভেতরে থাকে এমএল, আর এমএলের ভেতরে থাকে ডিপ লার্নিং
scope:ফাউন্ডেশনাল (প্রাথমিক)difficulty:নতুনদের জন্য

বুদ্ধিমত্তার রাশিয়ান পুতুল (Matryoshka)

আপনি নিশ্চয়ই আর্টিফিশিয়াল ইন্টেলিজেন্স (Artificial Intelligence), মেশিন লার্নিং (Machine Learning), আর ডিপ লার্নিং (Deep Learning) শব্দগুলো অনেকবার শুনেছেন। অনেকেই এই তিনটা শব্দ ঘুরিয়ে-ফিরিয়ে একই অর্থে ব্যবহার করেন। আর এতে কম্পিউটার সায়েন্টিস্টদের প্রচণ্ড রাগ হয় — কারণ এই তিনটা মোটেও একই জিনিস নয়!

ব্যাপারটাকে রাশিয়ান নেস্ট্রিং ডল বা ম্যাট্রিয়শকা পুতুলের মতো ভাবতে পারেন। সবচেয়ে বড় পুতুলটা হলো এআই (AI)। সেটার ভেতর থেকে বের হবে মেশিন লার্নিং (ML) পুতুলটি। আর এই এমএল পুতুল খুললে ভেতরের যে পুঁচকে পুতুলটি বের হবে, সেটাই হলো ডিপ লার্নিং (DL)

  • এআই (সবচেয়ে বড় পুতুল) — এমন যেকোনো প্রযুক্তি, যা মেশিনকে মানুষের মতো বুদ্ধিমান আচরণ করতে সাহায্য করে। পুরো বিষয়টাই এর ভেতরে পড়ে।
  • এমএল (মাঝামাঝি সাইজের পুতুল) — এটি এআইয়ের একটি সাবসেট বা অংশ, যেখানে মেশিনকে ধরে ধরে প্রতিটি কাজ করার নির্দেশ না দিয়ে, ডেটার মাধ্যমে শিখিয়ে নেওয়া হয়।
  • ডিল বা DL (সবচেয়ে ছোট পুতুল) — এটি আবার এমএলের একটি সাবসেট, যা অনেকগুলো লেয়ার বা স্তরের নিউরাল নেটওয়ার্ক ব্যবহার করে জটিল থেকে জটিলতর সব প্যাটার্ন শিখে নিতে পারে।

প্রতিটি ডিপ লার্নিং সিস্টেমই হলো মেশিন লার্নিং। আবার প্রতিটি মেশিন লার্নিং সিস্টেমই হলো এআই। কিন্তু সব এআই সিস্টেমই মেশিন লার্নিং নয়, ঠিক তেমনি সব এমএল সিস্টেমও ডিপ লার্নিং নয়।

একটু গোলমেলে লাগছে কি? চলুন, পুতুলগুলো এক এক করে খুলে দেখা যাক।

সবচেয়ে বড় পুতুল: আর্টিফিশিয়াল ইন্টেলিজেন্স (AI)

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

শুরুর দিককার এআই সিস্টেমগুলো ডেটা থেকে কিছুই শিখতে পারত না। তারা মানুষের লিখে দেওয়া নির্দিষ্ট কিছু নিয়ম বা রুল (Rules) মেনে চলত:

  • এক্সপার্ট সিস্টেম বা Expert systems (১৯৮০-এর দশক) — হাজার হাজার 'যদি-তাহলে' (if-then) নিয়ম, যা মানুষ নিজের হাতে লিখে দিয়েছিল। যেমন: "যদি রোগীর জ্বর থাকে, আর সাথে কাশি এবং গলাব্যথা থাকে, তবে তাকে ফ্লু টেস্ট করার পরামর্শ দেওয়া হোক।" এখানে শেখার কোনো সুযোগ নেই — পুরোটাই মানুষের হাতে বানানো বিশাল একটা ডিসিশন ট্রি মাত্র।
  • গেম এআই বা Game AI (ক্লাসিক গেমগুলোতে) — প্যাক-ম্যান গেমের ভূতগুলো কিছু সাধারণ নিয়ম মেনে চলে: খেলোয়াড়কে তাড়া করো, আবার লুকিয়ে পড়ো, আবার তাড়া করো। এটাও এআই! কিন্তু এদের মধ্যে ডেটা থেকে নিজে নিজে শেখার কোনো ক্ষমতা নেই।
  • রুল-বেসড চ্যাটবট বা Rule-based chatbots — ১৯৬৬ সালের এলিজা (ELIZA) নামের চ্যাটবটটি কিওয়ার্ড মিলিয়ে মানুষের সাথে আড্ডা দিতে পারত। কেউ "আমার মন খারাপ" বললে সে উত্তর দিত "কেন মন খারাপ?" ব্যাপারটা খুব দারুণ হলেও, তার কোনো সত্যিকারের বুদ্ধি বা উপলব্ধি ছিল না।

এর সবই এআইয়ের কাতারে পড়ে — তবে এর কোনোটাই মেশিন লার্নিং নয়। এরা সবাই মানুষের তৈরি করা বা প্রোগ্রাম করা (Programmed), এদের কাউকে ডেটা দিয়ে ট্রেইন করানো (Trained) হয়নি।

মেশিন লার্নিং ছাড়াই এআই: একটি রুল-বেসড বা নিয়ম-ভিত্তিক সিস্টেম

# এটি একটি এআই, কিন্তু মেশিন লার্নিং নয়।
# এর ভেতরের প্রতিটি নিয়ম মানুষ নিজের হাতে লিখে দিয়েছে। এটি নিজে থেকে কিছুই শিখতে পারে না।
def diagnose(symptoms):
"""এটি একটি সাধারণ নিয়মের ওপর ভিত্তি করে তৈরি মেডিকেল এআই (এক্সপার্ট সিস্টেম)।"""
symptoms = set(s.lower() for s in symptoms)
if {"fever", "cough", "sore throat"} <= symptoms:
return "ফ্লু হওয়ার সম্ভাবনা আছে — র‍্যাপিড টেস্ট করার পরামর্শ দেওয়া হচ্ছে।"
elif {"headache", "stiff neck", "fever"} <= symptoms:
return "মেনিনজাইটিস হতে পারে — দ্রুত ডাক্তারের কাছে যান।"
elif {"sneezing", "runny nose"} <= symptoms:
return "সাধারণ ঠান্ডা লেগেছে — বিশ্রাম নিন ও প্রচুর তরল খাবার খান।"
elif {"chest pain", "shortness of breath"} <= symptoms:
return "হৃদ্‌রোগের লক্ষণ — জরুরি নাম্বারে কল করুন।"
else:
return "যথেষ্ট তথ্য নেই — ডাক্তারের পরামর্শ নিন।"
# এটি বেশ ভালোই কাজ করে, তবে এর প্রতিটা নিয়মই হাতে লেখা:
print(diagnose(["fever", "cough", "sore throat"]))
print(diagnose(["sneezing", "runny nose"]))
print(diagnose(["headache", "fatigue"]))
Output
ফ্লু হওয়ার সম্ভাবনা আছে — র‍্যাপিড টেস্ট করার পরামর্শ দেওয়া হচ্ছে।
সাধারণ ঠান্ডা লেগেছে — বিশ্রাম নিন ও প্রচুর তরল খাবার খান।
যথেষ্ট তথ্য নেই — ডাক্তারের পরামর্শ নিন।

মাঝামাঝি সাইজের পুতুল: মেশিন লার্নিং (ML)

এটাই হলো সেই বিশাল পরিবর্তনটার শুরু: আমরা যদি নিজে থেকে একগাদা নিয়ম না লিখে, ডেটার মাধ্যমে সরাসরি মেশিনকে শিখিয়ে নিই, তাহলে কেমন হয়?

এটাই হলো মেশিন লার্নিং। প্রোগ্রামারকে আর বলতে হয় না যে, "যদি ইমেইলে 'free money' লেখা থাকে তবে তাকে স্প্যামের তালিকায় ফেলো"। বরং, আমরা মেশিনকে স্প্যাম ও আসল ইমেইলের হাজার হাজার উদাহরণ দেখতে দিই, আর সে নিজেই সেখান থেকে প্যাটার্নগুলো শিখে নেয়

মেশিন লার্নিংয়ের মূল উপাদানগুলো হলো:

  • ডেটা (Data) — প্রচুর ডেটা লাগে। যত বেশি, তত ভালো।
  • অ্যালগরিদম (Algorithm) — ডেটার মধ্যে প্যাটার্ন খুঁজে পাওয়ার গাণিতিক পদ্ধতি (যেমন: ডিসিশন ট্রি, লিনিয়ার রিগ্রেশন, এসভিএম ইত্যাদি)।
  • ট্রেনিং (Training) — অ্যালগরিদমকে ডেটা খাইয়ে তাকে শেখানোর পদ্ধতি।
  • মডেল (Model) — সব শেষের ফল। একটি ট্রেইন করানো সিস্টেম, যা নতুন ডেটা পেলে তার ওপর ভিত্তি করে ভবিষ্যদ্বাণী করতে বা ডিসিশন নিতে পারে।

মেশিন লার্নিং মূলত তিন ধরনের হয়ে থাকে:

  • সুপারভাইজড লার্নিং (Supervised learning) — আমরা মেশিনকে আগে থেকেই লেবেল বা ট্যাগ করা উদাহরণ দিই। "এই যে দেখো একটা বিড়ালের ছবি (যেটাকে 'বিড়াল' হিসেবে লেবেল লাগানো আছে)। আর এটা একটা কুকুরের ছবি (যেটা 'কুকুর' হিসেবে লেবেল করা)। এবার তুমি এই নতুন ছবিটা দেখে বলো তো এটা কী?" মেশিন আমাদের দেওয়া সঠিক উত্তরগুলো দেখে দেখে শিখে নেয়।
  • আনসুপারভাইজড লার্নিং (Unsupervised learning) — এর কোনো নির্দিষ্ট লেবেল থাকে না। "এই নাও ১০,০০০ গ্রাহকের ডেটা। তুমি নিজেই এর ভেতর থেকে কোনো মিল খুঁজে পাও কি না দেখো, এবং একই ধরনের গ্রাহকদের আলাদা আলাদা গ্রুপে সাজাও।" মেশিন এক্ষেত্রে নিজে নিজেই খুঁজে বের করে যে এর ভেতর কী প্যাটার্ন লুকিয়ে আছে।
  • রিইনফোর্সমেন্ট লার্নিং (Reinforcement learning) — মেশিন ভুল করতে করতে নিজে নিজেই শেখে। ভালো কাজ করলে তাকে পুরস্কার দেওয়া হয় আর খারাপ কাজ করলে শাস্তি বা পেনাল্টি দেওয়া হয়। কুকুরের দারুণ কিছু করলে যেমন পুরস্কার হিসেবে বিস্কুট খেতে দিই, ব্যাপারটা অনেকটা সেরকম!

মেশিন লার্নিং: ডেটা থেকে নিজে নিজে শেখা

# এটি হলো সত্যিকারের মেশিন লার্নিং — এই সিস্টেমটি প্রোগ্রামারের লিখে দেওয়া নিয়মের বদলে
# সরাসরি ডেটা থেকে নিজে নিজেই নিয়ম বা প্যাটার্ন শিখে নেয়।
from collections import Counter
def train_naive_classifier(training_data):
"""সাধারণ শব্দ-গণনার মাধ্যমে একটি ক্লাসিফায়ার ট্রেইন করা হচ্ছে।"""
word_counts = {"spam": Counter(), "ham": Counter()}
class_counts = Counter()
for text, label in training_data:
class_counts[label] += 1
for word in text.lower().split():
word_counts[label][word] += 1
return word_counts, class_counts
def predict(text, word_counts, class_counts):
"""আগে শেখা শব্দ-গণনার ডেটা দিয়ে স্প্যাম বা আসল ইমেইলের ভবিষ্যদ্বাণী করা।"""
scores = {}
for label in ["spam", "ham"]:
score = class_counts[label] # আগের ডেটা
for word in text.lower().split():
score += word_counts[label].get(word, 0)
scores[label] = score
return max(scores, key=scores.get)
# ট্রেনিং ডেটা — মেশিন এই উদাহরণগুলো দেখেই শিখবে
data = [
("free money click now winner", "spam"),
("congratulations you won free prize", "spam"),
("claim your free gift today", "spam"),
("meeting tomorrow at 3pm", "ham"),
("project update attached report", "ham"),
("lunch plans for friday team", "ham"),
]
# এবার মডেলটি ট্রেইন করা হচ্ছে (সে ডেটা থেকে প্যাটার্ন শিখে নিচ্ছে!)
wc, cc = train_naive_classifier(data)
# এখন সে এমন নতুন ইমেইলও পড়ে বলে দিতে পারবে, যা সে আগে কখনো দেখেইনি:
print(predict("you won a free vacation", wc, cc)) # spam
print(predict("meeting agenda for monday", wc, cc)) # ham
print(predict("click here for free money", wc, cc)) # spam
Output
spam
ham
spam

সবচেয়ে ছোট পুতুল: ডিপ লার্নিং (DL)

ডিপ লার্নিং হলো মেশিন লার্নিংয়ের এক দানবীয় রূপ। এটি মূলত আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক ব্যবহার করে তৈরি করা হয় — যার আইডিয়া নেওয়া হয়েছে মানুষের মস্তিষ্কের গঠন থেকে। এর ভেতরে অনেকগুলো লেয়ার বা স্তর থাকে (আর এ জন্যই এটাকে "ডিপ বা গভীর" বলা হয়)।

এই গভীরতার মানে কী? এখানকার প্রতিটা লেয়ার মূলত আগের চেয়ে আরও বেশি জটিল প্যাটার্ন শিখতে পারে:

  • লেয়ার ১ — ছবির ভেতরে থাকা দাগ (edges) ও সাধারণ আকৃতি বা শেপ বের করে।
  • লেয়ার ২ — এর আগের লেয়ারের ওই দাগগুলো মিলিয়ে বিভিন্ন টেক্সচার এবং পার্ট বা অংশ তৈরি করে ("এটা দেখতে অনেকটা পশমের মতো লাগছে")।
  • লেয়ার ৩ — এবার এই ছোট ছোট অংশগুলো জোড়া লাগিয়ে বড় বস্তুর ধারণা তৈরি করে ("এটা তো একটা কানের মতো মনে হচ্ছে")।
  • লেয়ার ১০+ — এটা এবার পুরো বস্তুটি কী, তা বুঝতে পারে ("আরে, এটা তো একটা গোল্ডেন রিট্রিভার কুকুর!")।

সম্প্রতি এআইয়ের যেসব অভাবনীয় উন্নতির কথা আপনি শুনেছেন, তার প্রায় সবগুলোর পেছনেই আছে এই ডিপ লার্নিং:

  • ইমেজ রিকগনিশন (Image recognition) — কনভোলিউশনাল নিউরাল নেটওয়ার্ক (CNNs)
  • ল্যাঙ্গুয়েজ আন্ডারস্ট্যান্ডিং (Language understanding) বা মানুষের ভাষা বোঝা — ট্রান্সফরমার বা Transformers (GPT, BERT, Claude)
  • গেম খেলা (Game playing) — আলফাগো বা AlphaGo, আলফাজিরো বা AlphaZero
  • আর্ট ও মিউজিক তৈরি (Art and music generation) — ডিফিউশন বা Diffusion মডেল, জিএএন বা GANs
  • কথা শুনে বোঝা (Speech recognition) — হুইসপার (Whisper), নানা ব্রান্ডের ভয়েস অ্যাসিস্ট্যান্ট

এর একটা বড় সমস্যাও আছে। আর তা হলো, ডিপ লার্নিংয়ের ক্ষুধা অনেক বেশি। কাজ করার জন্য এর বিপুল পরিমাণ ডেটা আর প্রচুর কম্পিউটিং পাওয়ারের প্রয়োজন হয়। একটি বড় ল্যাঙ্গুয়েজ মডেল (Large Language Model) ট্রেন করাতে জিপিইউয়ের (GPU) পেছনে কয়েক মিলিয়ন বা কোটি ডলার পর্যন্ত খরচ হতে পারে। এ জন্যই, যখন আমাদের হাতে সুপারফাস্ট জিপিইউ, ইন্টারনেট থেকে পাওয়া বিশাল ডেটাসেট এবং আরও কিছু আধুনিক অপটিমাইজেশন প্রযুক্তি এল, ঠিক তখনই ডিপ লার্নিংটা এতটা জনপ্রিয় হয়ে উঠল।

ডিপ লার্নিংয়ের প্রাথমিক ধারণা: একটি ছোট্ট নিউরাল নেটওয়ার্ক

import math
def sigmoid(x):
"""অ্যাক্টিভেশন ফাংশন (Activation function) — যেকোনো মানকে ০ থেকে ১ এর মধ্যে নিয়ে আসে।"""
return 1 / (1 + math.exp(-x))
class TinyNeuralNetwork:
"""মাত্র ২-লেয়ারের একটি ছোট্ট নিউরাল নেটওয়ার্ক (ডিপ লার্নিং!)।
ইনপুট (২টি ফিচার) -> হিডেন লেয়ার (২টি নিউরন) -> আউটপুট (১টি নিউরন)
"""
def __init__(self):
# প্রি-ট্রেইনড ওয়েট (সাধারণত ব্যাকপ্রোপাগেশনের মাধ্যমে এগুলো শেখানো হয়)
self.w_hidden = [[0.5, -0.3], [0.8, 0.1]] # ২টি নিউরন, প্রত্যেকটিতে ২টি ইনপুট
self.b_hidden = [-0.1, 0.2]
self.w_output = [0.6, -0.4]
self.b_output = 0.1
def forward(self, x):
"""নেটওয়ার্কের ভেতর দিয়ে ফরোয়ার্ড পাস (Forward pass)।"""
# হিডেন লেয়ার (Hidden layer): প্রতিটি নিউরন তার ইনপুটের সাথে ওয়েট গুণ করে যোগ করে
hidden = []
for i in range(2):
z = sum(x[j] * self.w_hidden[i][j] for j in range(2))
z += self.b_hidden[i]
hidden.append(sigmoid(z)) # অ্যাক্টিভেশন
# আউটপুট লেয়ার (Output layer): হিডেন লেয়ারের নিউরনগুলোকে জোড়া লাগায়
z = sum(hidden[j] * self.w_output[j] for j in range(2))
z += self.b_output
return sigmoid(z)
def predict(self, x):
prob = self.forward(x)
label = "Yes" if prob >= 0.5 else "No"
return f"{label} (নিশ্চয়তা বা confidence: {prob:.1%})"
# একটি খুবই ছোট নিউরাল নেট, যা প্রেডিক্ট বা ভবিষ্যদ্বাণী করছে
nn = TinyNeuralNetwork()
# প্রতিটি ইনপুট হলো [ফিচার১, ফিচার২]
print("ইনপুট [1, 0]:", nn.predict([1, 0]))
print("ইনপুট [0, 1]:", nn.predict([0, 1]))
print("ইনপুট [1, 1]:", nn.predict([1, 1]))
print("ইনপুট [0, 0]:", nn.predict([0, 0]))
print("\n--- এটাকে 'ডিপ' বা গভীর বলা হয় কেন? ---")
print("এই নেটওয়ার্কে মাত্র ২টি লেয়ার আছে (হিডেন + আউটপুট)।")
print("কিন্তু আসল ডিপ লার্নিংয়ে ১০ থেকে শুরু করে ১০০০ এরও বেশি লেয়ার থাকে!")
print("যত বেশি লেয়ার = তত বেশি জটিলPattern সে শিখতে পারে।")
Output
ইনপুট [1, 0]: Yes (নিশ্চয়তা বা confidence: 59.1%)
ইনপুট [0, 1]: No (নিশ্চয়তা বা confidence: 49.0%)
ইনপুট [1, 1]: Yes (নিশ্চয়তা বা confidence: 55.6%)
ইনপুট [0, 0]: No (নিশ্চয়তা বা confidence: 47.7%)

--- এটাকে 'ডিপ' বা গভীর বলা হয় কেন? ---
এই নেটওয়ার্কে মাত্র ২টি লেয়ার আছে (হিডেন + আউটপুট)।
কিন্তু আসল ডিপ লার্নিংয়ে ১০ থেকে শুরু করে ১০০০ এরও বেশি লেয়ার থাকে!
যত বেশি লেয়ার = তত বেশি জটিলPattern সে শিখতে পারে।

Key Metrics

রুল-বেসড এআই (Rule-Based AI)
অত্যন্ত ফাস্ট, কীভাবে কাজ করে তা পরিষ্কার বোঝা যায়, তবে বিশাল ও জটিল কাজের জন্য অকেজো
মানুষের হাতে কোড করা ইফ-দেন (If-then) নিয়মকানুন
ক্লাসিক্যাল এমএল (Classical ML)
ফিচার ইঞ্জিনিয়ারিং (Feature engineering) করতে হয়, ছকে বাঁধা বা স্ট্রাকচারড ডেটাতে দারুণ কাজ করে
ডেটা থেকে শেখে ডিসিশন ট্রি, এসভিএম (SVMs), রিগ্রেশন
ডিপ লার্নিং (Deep Learning)
প্রচুর ডেটা আর পাওয়ারফুল জিপিইউ লাগে, কিন্তু হাজারো এলোমেলো বা আনস্ট্রাকচারড ডেটাতে (ছবি, কথা, ভিডিও) এর কোনো জুড়ি নেই
ফিচার এবং প্যাটার্ন দুটোই একা শেখে নিউরাল নেটওয়ার্ক (১০-১০০০+ লেয়ার)
Note: কখন কোনটা ব্যবহার করবেন? মনে রাখবেন, অতিরিক্ত জটিল পদ্ধতি মানেই যে সেটা খুব ভালো হবে তা কিন্তু নয়। আপনার কাছে যদি মাত্র ১০টি ফিচারসহ কিছু ডেটা থাকে, তবে একটি সাধারণ ডিসিশন ট্রি (ক্লাসিক্যাল এমএল) হয়তো বিশাল সাইজের কোনো ডিপ নিউরাল নেটওয়ার্কের চেয়েও ভালো কাজ করবে। আর এটি অনেক ফাস্ট, সস্তা এবং তুলনামূলক অনেক সহজও বটে। কিন্তু আপনার কাছে যখন আনস্ট্রাকচারড ডেটা (যেমন: ছবি, বড় কোনো লেখা, অডিও) থাকবে এবং সেই ডেটার পরিমাণও বিশাল হবে, ঠিক তখনই ডিপ লার্নিং এর আসল জাদু দেখাতে পারে! সামান্য একটা পেরেক ঠোকার জন্য যেমন এত বড় হাতুড়ির দরকার পড়ে না, তেমনি সবকাজে ডিপ লার্নিং লাগে না। কাজের ধরনের ওপর নির্ভর করে সঠিক টুলটি বেছে নেওয়াই হলো আসল বুদ্ধিমত্তার পরিচয়।

এবার পুরো জিনিসটা একসাথে দেখা যাক

চলুন ইমেইলের একটা উদাহরণ দিয়ে আমাদের রাশিয়ান পুতুলের ব্যাপারটা আরেকবার বুঝে নিই:

  • এআই সিস্টেম (এমএল ছাড়া): একজন প্রোগ্রামার ৫০০টা নিয়ম লিখে দিলেন। "যদি বিষয়ের জায়গায় 'FREE' লেখা থাকে, তবে সেটাকে স্প্যাম ফোল্ডারে পাঠিয়ে দাও। আর যদি স্প্যামারের ইমেইল অ্যাড্রেস কন্ট্যাক্ট লিস্টে থাকে, তবে ইনবক্সেই রাখো।" সিস্টেমটা বেশ ভালোই কাজ করবে... কিন্তু স্প্যামাররা তো চালাকি করে নতুন নতুন ফাঁদ পাততে থাকবে, তখন আপনাকেই আবার বসে বসে আরও ৫০০টি নতুন নিয়ম লিখতে হবে।
  • এমএল সিস্টেম (ML approach): আপনি সিস্টেমটিকে আগে থেকেই লেবেল বা ট্যাগ করা ১ লাখ ইমেইল খেতে দিলেন। সে ওই ডেটা থেকে শিখে নিল যে, ইমেইলে নির্দিষ্ট কিছু শব্দ, স্প্যামারের ইমেইল পাঠানোর ধরন, আর ভেতরের লেখার ফরম্যাট দেখলেই সে ধরে ফেলবে কোনটা স্প্যাম আর কোনটা নয়। যখন স্প্যামাররা তাদের চাল পালটাবে, আপনি শুধু আবার নতুন ডেটা দিয়ে তাকে ট্রেইন করিয়ে নিবেন।
  • ডিপ লার্নিং সিস্টেম (DL approach): আপনি সিস্টেমটিকে লাখ লাখ ইমেইল দিলেন এবং একটা নিউরাল নেটওয়ার্ককে বললেন নিজে নিজেই সবকিছু বুঝে নিতে — ভেতরে কী লেখা আছে, কোন শব্দগুলো বেশি ব্যবহার হয়েছে, আর স্প্যামারের ধরন কেমন, সবই সে একা একা বুঝে নেবে। আমরা মানুষ হয়ে হয়তো যেসব ফিচারের কথা ভাবতেও পারতাম না, সে সেগুলোও খুঁজে বের করে শিখতে পারবে।

প্রতিটি ধাপই আগেরটার চেয়ে অনেক বেশি পাওয়ারফুল। তবে একই সাথে এদের জটিলতা, ডেটার ক্ষুধা আর এদের কাজ করার ধরন বোঝাও অনেকাংশে কঠিন হয়ে যায়। প্রতিটি কাজের জন্য সঠিক এবং সবচেয়ে উপযুক্ত লেভেলটি খুঁজে নেওয়াই হলো একজন এআই ইঞ্জিনিয়ারের সবচেয়ে বড় গুণ।

এবার যখন কেউ "মেশিন লার্নিং" বোঝাতে "এআই" শব্দটি ব্যবহার করবে, তখন কিন্তু আপনি ঠিকই এর পার্থক্যটা ধরতে পারবেন। আর যদি কেউ সাধারণ ইফ-এলস (if-else)-এর চ্যাটবটকে "ডিপ লার্নিং" বলে চালিয়ে দিতে চায়, তাকেও আপনি খুব সুন্দর করে তাদের পার্থক্যটা বুঝিয়ে বলতে পারবেন।

ছোট কুইজ

রোগ নির্ণয় করার জন্য একজন প্রোগ্রামার নিজের হাতে ২০০টা ইফ-দেন (if-then) নিয়ম লিখে দিলেন। এটা কি মেশিন লার্নিং ক্যাটাগরিতে পড়বে?
Challenge

পড়া চালিয়ে যান