AI рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ рдЕрдВрддрд░

(Difference Between Artificial Intelligence and Machine Learning)

ЁЯдЦ Artificial Intelligence (AI) рдХреНрдпрд╛ рд╣реИ?

AI (рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддрд╛) рдПрдХ рд╡реНрдпрд╛рдкрдХ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдорд╢реАрдиреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрдВрд╕рд╛рдиреЛрдВ рдХреА рддрд░рд╣ рд╕реЛрдЪреЗрдВ, рд╕реАрдЦреЗрдВ, рдирд┐рд░реНрдгрдп рд▓реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣рд▓ рдХрд░реЗрдВред

AI = рд╕реЛрдЪрдиреЗ (Thinking) + рд╕рдордЭрдиреЗ (Understanding) + рд╕реАрдЦрдиреЗ (Learning) + рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ (Decision Making)


ЁЯУК Machine Learning (ML) рдХреНрдпрд╛ рд╣реИ?

Machine Learning (рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ) AI рдХрд╛ рдПрдХ рдЙрдк-рднрд╛рдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╢реАрдиреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рд╕реЗ рдЦреБрдж рд╕реЗ рд╕реАрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреА рдЬрд╛рддреА рд╣реИ тАФ рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд┐рдПред

ML = рдбреЗрдЯрд╛ рд╕реЗ рдкреИрдЯрд░реНрди рд╕реАрдЦрдирд╛ + рдЕрдиреБрднрд╡ рд╕реЗ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛


ЁЯза рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕рдордЭреЗрдВ:

рд╕реНрдерд┐рддрд┐рдХрд╛рдордХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?AI рдпрд╛ ML?
рдХреИрдорд░рд╛ рдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рди рд░рд╣рд╛ рд╣реИрдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рдирдирд╛рдпрд╣ рдПрдХ рдмреБрджреНрдзрд┐рдорддреНрддрд╛ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИтЬЕ AI
рд╕рд┐рд╕реНрдЯрдо рдиреЗ рд╣рдЬрд╛рд░реЛрдВ рдлреЛрдЯреЛ рд╕реЗ рдЪреЗрд╣рд░рд╛ рдкрд╣рдЪрд╛рдирдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛рд╕реАрдЦрдирд╛рдбреЗрдЯрд╛ рд╕реЗ рд╕реАрдЦрд╛ рдЧрдпрд╛ рд╣реИтЬЕ ML (AI рдХреЗ рдЕрдВрджрд░)

ЁЯУЛ рдореБрдЦреНрдп рдЕрдВрддрд░ рддрд╛рд▓рд┐рдХрд╛ / Key Difference Table:

рдЖрдзрд╛рд░AI (рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддрд╛)ML (рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ)
рдкрд░рд┐рднрд╛рд╖рд╛рдорд╢реАрди рдХреЛ рд╕реЛрдЪрдиреЗ рдФрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдирд╛рдорд╢реАрди рдХреЛ рдбреЗрдЯрд╛ рд╕реЗ рд╕реАрдЦрдиреЗ рджреЗрдирд╛
рдЙрджреНрджреЗрд╢реНрдпрдорд╛рдирд╡ рдЬреИрд╕реА рдмреБрджреНрдзрд┐ рдХреА рдирдХрд▓ рдХрд░рдирд╛рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдирд╛
рд╕реНрдХреЛрдкрдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ (ML, DL, NLP рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)AI рдХрд╛ рдПрдХ рдЙрдк-рд╕реЗрдЯ
рд╕реАрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ AI рдЦреБрдж рд╕реАрдЦреЗML рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╣реА “рд╕реАрдЦрдирд╛” рд╣реИ
рдЙрджрд╛рд╣рд░рдгрдЪреИрд╕ рдЦреЗрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд░реЛрдмреЛрдЯ, рд╕реЗрд▓реНрдл рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдХрд╛рд░рдИрдореЗрд▓ рд╕реНрдкреИрдо рдбрд┐рдЯреЗрдХреНрд╢рди, Netflix рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ
рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░ рдмрд╛рд░ рдирд╣реАрдВрдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░

ЁЯзй рд╕рдВрдмрдВрдз (Relationship between AI, ML and DL):

Artificial Intelligence
тФФтФАтФА Machine Learning (ML)
тФФтФАтФА Deep Learning (DL)

тЮбя╕П Deep Learning, Machine Learning рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдФрд░
тЮбя╕П Machine Learning, AI рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред


ЁЯУМ рдирд┐рд╖реНрдХрд░реНрд╖ / Conclusion:

  • AI рдПрдХ рдЫрддрд░реА рдХреА рддрд░рд╣ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рддрдХрдиреАрдХреЗрдВ рдЖрддреА рд╣реИрдВ: ML, NLP, Robotics рдЖрджрд┐ред
  • ML рдПрдХ рдРрд╕реА рддрдХрдиреАрдХ рд╣реИ рдЬреЛ AI рдХреЛ рд╕рд╢рдХреНрдд рдмрдирд╛рддреА рд╣реИ тАФ рдЦрд╛рд╕рдХрд░ рддрдм рдЬрдм рдирд┐рд░реНрдгрдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рд╣реЛред

Categories ML

A simple Multi-Layer Perceptron (MLP) in PyTorch to learn the XOR function

XOR (Exclusive OR) рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд▓реЙрдЬрд┐рдХрд▓ рдлрдВрдХреНрд╢рди рд╣реИ, рдЬрд┐рд╕реЗ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ рдЕрдХреНрд╕рд░ рдпрд╣ рдЬрд╛рдБрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдореЙрдбрд▓ non-linear рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ linear рдореЙрдбрд▓ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ред

рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо PyTorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ Multi-Layer Perceptron (MLP) рдмрдирд╛рдПрдБрдЧреЗ, рдЬреЛ XOR function рдХреЛ рд╕рд┐рдЦ рд╕рдХреЗред рд╣рдо рд╣рд░ рдЪрд░рдг рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рдкреВрд░реНрд╡рдХ рд╕рдордЭреЗрдВрдЧреЗ тАФ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рдореЙрдбрд▓ рдмрдирд╛рдирд╛, рдЯреНрд░реЗрдирд┐рдВрдЧ рдХрд░рдирд╛ рдФрд░ prediction рдХрд░рдирд╛ред


XOR Function рдХреНрдпрд╛ рд╣реИ?

XOR рдПрдХ binary logic function рд╣реИ рдЬреЛ true return рдХрд░рддрд╛ рд╣реИ рдЬрдм рджреЛ inputs рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ true рд╣реЛрддрд╛ рд╣реИред

рдЗрдирдкреБрдЯ x1рдЗрдирдкреБрдЯ x2рдЖрдЙрдЯрдкреБрдЯ (x1 тКХ x2)
000
011
101
110

тЭЧ XOR рдПрдХ non-linearly separable function рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдПрдХ simple straight line рд╕реЗ рдЗрди inputs рдХреЛ classify рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП тАФ рдПрдХ non-linear model рдЬреИрд╕реЗ рдХрд┐ MLPред


ЁЯза Multi-Layer Perceptron (MLP) рдХрд╛ рдкрд░рд┐рдЪрдп

MLP рдПрдХ feedforward neural network рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдкреНрд░рдореБрдЦ layers рд╣реЛрддреА рд╣реИрдВ:

  1. Input Layer тАУ рдЬреЛ raw inputs рдХреЛ рд▓реЗрддреА рд╣реИред
  2. Hidden Layer(s) тАУ рдЬреЛ inputs рдХреЛ process рдХрд░рдХреЗ features рд╕реАрдЦрддреА рд╣реИред
  3. Output Layer тАУ рдЬреЛ final prediction рджреЗрддреА рд╣реИред

MLP рдореЗрдВ hidden layers рдФрд░ non-linear activation functions рдХреА рд╡рдЬрд╣ рд╕реЗ рдпрд╣ linear models рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрддрд╛ рд╣реИред


ЁЯУР MLP Architecture for XOR (рдЪрд┐рддреНрд░рд╛рддреНрдордХ рд░реВрдк)

    Input:     x1   x2
тФВ тФВ
тЦ╝ тЦ╝
[ Hidden Layer ]
[ 4 Neurons + ReLU ]
тЦ╝
[ Output Layer ]
[ 1 Neuron + Sigmoid ]

рдпрд╣ architecture рд╣рдореЗрдВ XOR function рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред


ЁЯЫая╕П PyTorch рдореЗрдВ Step-by-Step Implementation

ЁЯз╛ Step 1: Dataset рддреИрдпрд╛рд░ рдХрд░рдирд╛

import torch

# рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ (XOR рдЯреЗрдмрд▓)
X = torch.tensor([[0,0], [0,1], [1,0], [1,1]], dtype=torch.float32)
Y = torch.tensor([[0], [1], [1], [0]], dtype=torch.float32)

ЁЯз╛ Step 2: Model Class рдмрдирд╛рдирд╛

import torch.nn as nn

class XOR_MLP(nn.Module):
def __init__(self):
super(XOR_MLP, self).__init__()
self.hidden = nn.Linear(2, 4) # 2 рдЗрдирдкреБрдЯ тЖТ 4 hidden neurons
self.relu = nn.ReLU() # Non-linearity
self.output = nn.Linear(4, 1) # Hidden тЖТ Output
self.sigmoid = nn.Sigmoid() # 0-1 рдХреЗ рдмреАрдЪ output squeeze

def forward(self, x):
x = self.hidden(x)
x = self.relu(x)
x = self.output(x)
x = self.sigmoid(x)
return x

ЁЯз╛ Step 3: Model Initialization рдФрд░ Optimizer Setup

model = XOR_MLP()

# Loss Function рдФрд░ Optimizer
criterion = nn.BCELoss() # Binary Cross Entropy Loss
optimizer = torch.optim.Adam(model.parameters(), lr=0.1)

ЁЯз╛ Step 4: Model Training Loop

for epoch in range(1000):
optimizer.zero_grad() # Gradients reset рдХрд░реЛ
outputs = model(X) # Forward pass
loss = criterion(outputs, Y) # Loss compute
loss.backward() # Backpropagation
optimizer.step() # Weights update

if epoch % 100 == 0:
print(f"Epoch {epoch}, Loss: {loss.item():.4f}")

ЁЯз╛ Step 5: Prediction рдФрд░ Evaluation

with torch.no_grad():
predicted = model(X)
predicted_classes = (predicted > 0.5).float()
print("\nPrediction:")
for i in range(len(X)):
print(f"Input: {X[i].tolist()} => Predicted: {predicted_classes[i].item():.0f}")

ЁЯУК Output (рдЙрджрд╛рд╣рд░рдг)

Epoch 0, Loss: 0.6931
...
Epoch 900, Loss: 0.0012

Prediction:
Input: [0.0, 0.0] => Predicted: 0
Input: [0.0, 1.0] => Predicted: 1
Input: [1.0, 0.0] => Predicted: 1
Input: [1.0, 1.0] => Predicted: 0

ЁЯУМ рдирд┐рд╖реНрдХрд░реНрд╖ (Conclusion)

  • XOR function рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ simple linear model рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ред
  • Hidden layer рдФрд░ non-linear activation function (рдЬреИрд╕реЗ ReLU) рдХреА рдорджрдж рд╕реЗ MLP рдЗрд╕ complex pattern рдХреЛ рд╕рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред
  • рдпрд╣ example рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ deep learning non-linear рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИред

тЬЕ рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Exercises)

  1. XOR function рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП hidden layer рдореЗрдВ neurons рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдпрд╛ рдЬрд╝реНрдпрд╛рджрд╛ рдХрд░рдиреЗ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ? рдПрдХреНрд╕рдкреЗрд░рд┐рдореЗрдВрдЯ рдХрд░рдХреЗ рдмрддрд╛рдЗрдПред
  2. Sigmoid рдХреА рдЬрдЧрд╣ Tanh activation function рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХреАрдЬрд┐рдПред рдХреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдЖрдпрд╛?
  3. рдЕрдЧрд░ рд╣рдо hidden layer рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рддреЛ рдХреНрдпрд╛ model XOR function рд╕реАрдЦ рдкрд╛рдПрдЧрд╛? рдХреНрдпреЛрдВ?

ЁЯОп рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рдкреНрд░рд╢реНрди (MCQs)

  1. XOR function рдХреИрд╕рд╛ function рд╣реИ?
    • (a) Linearly separable
    • (b) Non-linearly separable тЬЕ
    • (c) Linear
    • (d) Constant
  2. MLP рдореЗрдВ рдХреМрди рд╕рд╛ activation function non-linearity рд▓рд╛рддрд╛ рд╣реИ?
    • (a) Linear
    • (b) ReLU тЬЕ
    • (c) Softmax
    • (d) None
  3. PyTorch рдореЗрдВ binary classification рдХреЗ рд▓рд┐рдП рдХреМрди-рд╕рд╛ loss function рдкреНрд░рдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
    • (a) MSELoss
    • (b) CrossEntropyLoss
    • (c) BCELoss тЬЕ
    • (d) NLLLoss

Categories ML

What is AutoML

AutoML, or Automated Machine Learning, refers to the process of automating the end-to-end tasks of applying machine learning to real-world problems. It aims to make machine learning accessible to non-experts and improve the efficiency of experts by automating the complex and time-consuming tasks involved in creating machine learning models.

Key Components of AutoML:

  1. Data Preprocessing: AutoML systems automate the process of cleaning and preparing raw data, which can include tasks like handling missing values, normalizing data, encoding categorical variables, and feature selection.
  2. Feature Engineering: AutoML can automatically create new features from the raw data that might be more informative for the machine learning model. This step is crucial as it can significantly impact the performance of the model.
  3. Model Selection: Instead of manually selecting a machine learning algorithm, AutoML systems can automatically choose the best algorithm for a given task. This is done by evaluating multiple algorithms and selecting the one that performs best according to specific criteria, such as accuracy or efficiency.
  4. Hyperparameter Optimization: AutoML systems automatically tune the hyperparameters of machine learning models. Hyperparameters are the settings that control the behavior of the learning algorithm and can have a significant impact on model performance. AutoML uses techniques like grid search, random search, or more advanced methods like Bayesian optimization to find the best hyperparameter values.
  5. Neural Architecture Search (NAS): In deep learning, AutoML can be used to automatically design the architecture of neural networks. This involves searching for the best network structure, such as the number of layers, types of layers, and connections between layers, to optimize performance.
  6. Model Evaluation: AutoML systems typically include automated methods for evaluating model performance. This can involve cross-validation, testing on holdout datasets, or other techniques to ensure that the model generalizes well to new data.
  7. Model Deployment: Some AutoML tools also automate the deployment of models into production environments, making it easier to integrate machine learning into applications.

Benefits of AutoML:

  • Accessibility: AutoML lowers the barrier to entry for those who are not experts in machine learning, allowing more people to leverage AI in their work.
  • Efficiency: Automating the machine learning process can save time and resources, allowing data scientists to focus on higher-level tasks and problem-solving.
  • Optimization: AutoML often results in better-performing models because it can explore a larger space of possible models and configurations than a human could manually.

Applications of AutoML:

AutoML is used in various domains such as:

  • Image Processing: For tasks like image classification, object detection, and segmentation.
  • Natural Language Processing (NLP): For text classification, sentiment analysis, and translation.
  • Predictive Modeling: In finance, healthcare, and marketing for predicting outcomes like stock prices, patient diagnoses, or customer churn.
  • Recommender Systems: Automatically generating recommendations for users in e-commerce, streaming services, etc.

In summary, AutoML democratizes machine learning by automating many of the complex steps involved in creating and deploying models, making it easier for non-experts to build powerful AI systems while also enhancing the productivity of experienced data scientists.

Categories ML