CH 4Phase 1 · Linear Algebra for AI

Scalars, Vectors & Tensors

১৫–২৫ মিনিট বাংলা · Math · Python
📖 একটি ছোট গল্প

একটি ছবিকে কীভাবে "সংখ্যা" বানানো যায়? একটি 256×256 RGB image আসলে 256×256×3 = 196,608টি সংখ্যার একটি বিশাল box। সেই box-এর নামই Tensor। AI-এর সব data — image, audio, text — শেষ পর্যন্ত tensor।

Scalar, Vector, Matrix, Tensor — এই চারটি শব্দ ছাড়া PyTorch বা TensorFlow-র এক লাইনও পড়া যায় না।

Intuitive Explanation

"Rank" বা "Order" দিয়ে সব সংখ্যাগত object-কে শ্রেণিবদ্ধ করা যায়:

  • Scalar — 0-D, একটি সংখ্যা (5)
  • Vector — 1-D, সংখ্যার তালিকা ([3, 1, 4])
  • Matrix — 2-D, সংখ্যার table
  • Tensor — n-D, যেকোনো মাত্রার সংখ্যার "box"
💡 ইনসাইট
একটি color image = 3-D tensor (height × width × channels)। একটি batch of images = 4-D tensor। একটি video batch = 5-D tensor

Scalar

Scalar = একটি সংখ্যা। ML-এ: learning rate, loss value, batch size।

α = 0.001, L = 2.37, n = 32

Vector

Vector = ordered list of numbers। একটি বিন্দুর "অবস্থান" বা "দিক" বোঝায়।

v = [3, 1, 4] ∈ ℝ³
  • Word embedding (word2vec, GPT): প্রতিটি শব্দ = 768/1024/4096-মাত্রার vector।
  • Feature vector: একজন user-এর behavior → একটি vector।
  • Gradient: প্রতিটি parameter-এর জন্য একটি সংখ্যা → একটি বিশাল vector।

Geometric intuition

একটি 2D vector [3, 4] = origin থেকে (3, 4) পর্যন্ত তীর। দৈর্ঘ্য (magnitude) = √(3² + 4²) = 5

Matrix

Matrix = rows × columns আকারে সংখ্যা।

A = [[1, 2, 3], [4, 5, 6]] shape: (2, 3)
  • Grayscale image: shape (H, W)
  • Dataset: shape (n_samples, n_features)
  • Neural network layer-এর weight: shape (in_dim, out_dim)

Tensor — সবার generalization

Tensor = n-dimensional array। Scalar/Vector/Matrix সব tensor-এর special case।

Shape conventions in ML

  • RGB image: (H, W, 3)
  • Batch of images: (B, H, W, 3) বা (B, 3, H, W)
  • Text batch: (B, T); embeddings: (B, T, D)
  • Attention weights: (B, heads, T, T) — 4-D
⚠️ সতর্কতা
ML bug-এর ৬০%+ আসে shape mismatch থেকে। সবসময় print(x.shape) অভ্যাস করুন।

Python (NumPy) Implementation

pythonPython · NumPy
import numpy as np

# Scalar (0-D)
s = np.array(5.0)
print(s.shape, s.ndim)        # () 0

# Vector (1-D)
v = np.array([3, 1, 4])
print(v.shape, v.ndim)        # (3,) 1

# Matrix (2-D)
M = np.array([[1, 2, 3],
              [4, 5, 6]])
print(M.shape, M.ndim)        # (2, 3) 2

# Tensor (3-D) — like a tiny RGB image, 2x2 pixels
T = np.array([[[255, 0, 0], [0, 255, 0]],
              [[0, 0, 255], [255, 255, 0]]])
print(T.shape, T.ndim)        # (2, 2, 3) 3

# Reshape — same data, new shape
batch = np.arange(24).reshape(2, 3, 4)
print(batch.shape)            # (2, 3, 4)

# Indexing
print(M[0])                   # first row -> [1 2 3]
print(M[:, 1])                # second column -> [2 5]
print(T[0, 1])                # green pixel -> [0 255 0]

AI/ML সংযোগ

  • CNN: image tensor (B, 3, H, W) convolution-এর মধ্য দিয়ে যায়।
  • Transformer: token embedding (B, T, D) প্রতিটি layer-এ পরিবর্তিত হয়।
  • GPU efficiency: tensor operation parallelize হয় — তাই tensor framework দ্রুত।
  • Backprop: gradient-ও tensor — parameter-এর সমান shape।

Common Mistakes

  • Shape mismatch: (B, 3, H, W) বনাম (B, H, W, 3) — framework অনুসারে অর্ডার আলাদা।
  • Vector (n,) বনাম column matrix (n, 1) গুলিয়ে ফেলা।
  • Reshape ও transpose এক নয় — reshape data ক্রম রাখে, transpose বদলায়।

Practice Tasks

  1. NumPy দিয়ে shape (4, 5)-এর zero matrix বানান।
  2. np.arange(60)-কে (3, 4, 5) tensor-এ reshape করুন।
  3. একটি random (2, 3, 4) tensor বানিয়ে axis=1-এ sum বের করুন।

Assignment

একটি grayscale "image" বানান (shape (8, 8)), যেখানে চারটি কোণার pixel = 255, বাকি = 0। তারপর সেটাকে RGB image-এ (shape (8, 8, 3)) convert করুন যেখানে শুধু লাল channel ভর্তি।

Interview Questions

  1. Scalar, Vector, Matrix, Tensor-এর পার্থক্য কী?
  2. একটি 64×64 RGB image-এর tensor shape ও মোট সংখ্যা কত?
  3. Reshape ও transpose-এর পার্থক্য কী?
  4. NCHW ও NHWC বলতে কী বোঝায়?

Mini Project

"Tensor Inspector" — একটি Python script যা যেকোনো NumPy array নিয়ে print করে: shape, ndim, dtype, min, max, mean, এবং কয়েকটি sample value। PyTorch বা TensorFlow শুরু করার আগে এটাই আপনার প্রথম debugging tool।

Summary · সারসংক্ষেপ

  • Scalar (0-D) → Vector (1-D) → Matrix (2-D) → Tensor (n-D)।
  • সব ML data শেষ পর্যন্ত tensor — image, text, audio, gradient সব।
  • Shape হলো ML-এর সবচেয়ে গুরুত্বপূর্ণ debugging information।
  • NumPy syntax PyTorch/TF-এর সাথে প্রায় ১০০% মেলে।
✨ পরবর্তী পদক্ষেপ
Chapter 5-এ আমরা vector-এর operation শিখব — dot product, magnitude, angle — যা attention mechanism-এর সরাসরি ভিত্তি।