পাঠ ২২ · ৩০-এর মধ্যে · মডিউল ৩
Home / AI Courses / AI Foundations / অপ্টিমাইজেশন

অপ্টিমাইজেশন — সেরা সমাধান খোঁজা

Optimization — finding the best
১০ মিনিট পড়া মাঝারি · Intermediate Python কোডসহ

এই পাঠে যা শিখবেন

  • "Optimization" আসলে কী — গাণিতিক সংজ্ঞা, AI-তে কেন কেন্দ্রীয়
  • Convex বনাম Non-convex ফাংশন — পার্থক্য কেন গুরুত্বপূর্ণ
  • Local minimum, Global minimum, Saddle point, Plateau
  • AI-এর loss landscape — কেন এটি একটি পাহাড়-উপত্যকার মত
  • Local minima থেকে বের হওয়ার আধুনিক কৌশল — SGD, momentum, Adam

১ · অপ্টিমাইজেশন কী?

সংজ্ঞা

একটি ফাংশন $f(x)$ দেওয়া আছে — আমাদের কাজ এমন $x^*$ খুঁজে বের করা যাতে $f(x^*)$ সর্বনিম্ন (বা সর্বোচ্চ) হয়। $$x^* = \arg\min_x f(x)$$

"argmin" মানে — সেই $x$ যেখানে $f$ ক্ষুদ্রতম। AI-তে $f$ হলো loss functionLoss functionমডেলের prediction-এর "ভুলের পরিমাপ"। Cross-entropy, MSE, hinge loss — বিভিন্ন কাজে বিভিন্ন। Training = এই function minimize করা।, $x$ হলো network-এর weights.

বাস্তব জীবনের অপ্টিমাইজেশন

  • লজিস্টিকস: Pathao কীভাবে গন্তব্যে দ্রুততম পথে যাবে? — ট্রাভেলিং সেলসম্যান problem.
  • উৎপাদন: কোন ক্রমে যন্ত্র চালালে সবচেয়ে কম খরচ?
  • বিনিয়োগ: কোন পোর্টফোলিও সবচেয়ে কম ঝুঁকিতে সর্বোচ্চ লাভ? — Markowitz portfolio theory.
  • AI: কোন weights $w$-এ loss সর্বনিম্ন? — সব deep learning.

সবগুলোতেই একই গাণিতিক কাঠামো — কিছু একটা minimize/maximize. অপ্টিমাইজেশন গণিত প্রায় ৩০০ বছরের পুরোনো (Newton, Lagrange) — তবু এখনো জীবন্ত গবেষণা ক্ষেত্র।

২ · Convex ফাংশন — সরল পৃথিবী

একটি ফাংশন convex যদি — যেকোনো দু'টি বিন্দুর মধ্যে সরলরেখা ফাংশনের গ্রাফের উপরে থাকে। সরল ভাষায় — বাটির আকৃতির গ্রাফ।

উদাহরণ: $f(x) = x^2$, $f(x) = e^x$, $f(x, y) = x^2 + y^2$, $f(x) = -\log x$ ($x > 0$)।

convex-এর জাদু

Convex ফাংশনে — local minimum মানেই global minimum। মাত্র একটাই গর্ত। Gradient descent সবসময় সেরা সমাধানে পৌঁছাবে।

চিনবেন কীভাবে?

২য় ডেরিভেটিভ নন-নেগেটিভ হলে — convex. যেমন $f(x) = x^2$-এর $f''(x) = 2 > 0$। বহু-চলকে — Hessian matrix positive semi-definite.

AI-তে কোথায় convex?

  • Linear regression (MSEMSE · Mean Squared Errorregression-এর সবচেয়ে সাধারণ loss — prediction ও সত্য মানের পার্থক্যের বর্গের গড়।)।
  • Logistic regression (single-layer)।
  • SVMSVM · Support Vector Machineএকটি classifier যা দু'টি ক্লাসের মধ্যে সবচেয়ে বড় "ফাঁক"-এ separating boundary আঁকে। Pre-DL যুগে text/image classification-এ dominant ছিল। (hinge loss)।
  • L1/L2 regularizationRegularization · নিয়মিতকরণমডেলকে overfit হওয়া থেকে বাঁচাতে loss-এ একটি penalty যোগ করা — যেমন weights-এর বড় হওয়া দণ্ডিত করা। (নিজেই convex)।

৩ · Non-convex — বাস্তব AI-এর জগৎ

বেশিরভাগ আধুনিক AI মডেলের loss function non-convex — অনেক পাহাড়, উপত্যকা, সমতল। Neural network-এর কোটি কোটি প্যারামিটারে — landscape অকল্পনীয়ভাবে জটিল।

উদাহরণ: $f(x) = \sin(x) \cdot x$, neural network-এর সব loss.

Convex landscape = একটা মসৃণ বাটি। যেকোনো দিক থেকে বল ছাড়লে কেন্দ্রে গড়িয়ে যায়।
Non-convex landscape = হিমালয়। অনেক চূড়া, অনেক উপত্যকা। আপনি একটি উপত্যকায় বসে থাকলেও — দূরে আরও নিচু একটা থাকতে পারে। কোনটি deepest? কেউ জানে না — শুধু চারপাশে চেষ্টা।

৪ · Local Minimum, Global Minimum, Saddle Point, Plateau

  • Global minimum: পুরো ফাংশনে সর্বনিম্ন বিন্দু। আমাদের আদর্শ লক্ষ্য।
  • Local minimum: কাছাকাছি জায়গায় সর্বনিম্ন, কিন্তু পুরো ফাংশনে নয়।
  • Saddle point: এক দিকে সর্বনিম্ন, আরেক দিকে সর্বোচ্চ। ঘোড়ার জিনের মতো আকৃতি।
  • Plateau: বিস্তৃত সমতল অঞ্চল — ঢাল প্রায় শূন্য।

Gradient descent এর প্রতিটিতে আটকে যেতে পারে — যেহেতু ঢাল সবগুলোতেই (প্রায়) শূন্য। মডেল "শিখছি" ভাবে — আসলে stuck.

একসময় গবেষকরা ভাবতেন — Deep Learning-এ local minimum সবচেয়ে বড় সমস্যা। আজ আমরা জানি (Dauphin et al., ২০১৪) — অনেক চলকের space-এ saddle point বেশি সাধারণ এবং বেশি সমস্যা। কেন? high-D-এ random critical point saddle হওয়ার সম্ভাবনা প্রায় ১।

৫ · Python-এ Optimization Landscape দেখা

Python · Convex বনাম Non-convex
import numpy as np

# Convex: f(x) = x^2
def convex(x):
    return x ** 2

# Non-convex: f(x) = x*sin(x) + x^2/10
def nonconvex(x):
    return x * np.sin(x) + x ** 2 / 10

xs = np.linspace(-10, 10, 21)

print("x     | convex(x) | nonconvex(x)")
print("-" * 38)
for x in xs:
    print(f"{x:5.1f} | {convex(x):8.2f}  | {nonconvex(x):8.2f}")

    
Convex ফাংশনের মান একটানা কমে এবং বাড়ে — মাঝখানে একটাই সর্বনিম্ন। Non-convex-এ — কয়েকটি জায়গায় ছোট গর্ত দেখা যাবে।

Gradient Descent ভিন্ন স্থান থেকে চালু করে

Python — local minima সমস্যা
import numpy as np

def f(x):
    return x * np.sin(x) + x ** 2 / 10

def df(x, h=1e-5):
    return (f(x + h) - f(x - h)) / (2 * h)

def gradient_descent(start, eta=0.05, steps=200):
    x = start
    for _ in range(steps):
        x = x - eta * df(x)
    return x

# বিভিন্ন স্থান থেকে শুরু করে দেখি
for start in [-8, -4, 0, 3, 8]:
    final = gradient_descent(start)
    print(f"শুরু x={start:3d} → শেষ x={final:6.3f}, f={f(final):.4f}")

    
বিভিন্ন স্থান থেকে শুরু করলে — আপনি বিভিন্ন local minimum-এ পৌঁছাবেন। non-convex অপ্টিমাইজেশনের ক্লাসিক সমস্যা — initialization matters.
Optimization landscape — দু'রকম পৃথিবী Convex (সরল) বনাম Non-convex (বাস্তব AI) ✅ Convex — একটাই গর্ত শুরু global min সব শুরু → একই end ❌ Non-convex — অনেক ফাঁদ local min global min saddle বিভিন্ন শুরু → বিভিন্ন end Critical points — যেখানে gradient = ০ Global min সর্বোত্তম সমাধান Local min কাছেই সর্বনিম্ন Saddle point এক দিকে min, অন্য দিকে max Plateau সমতল — gradient ≈ 0
Convex-এ যেকোনো শুরু → একই global minimum. Non-convex-এ — initialization, learning rate, randomness — সবই matter. আজকের deep learning এই non-convex চ্যালেঞ্জ-এর গল্প।

৬ · Loss Landscape — AI-তে কেমন

একটি neural network-এর loss landscape — অসংখ্য মাত্রায়। মানুষের কল্পনায় আনা যায় না।
কিন্তু গবেষণা (Goodfellow ২০১৫, Li et al. ২০১৮) বলে — ভালো deep নেটওয়ার্কের landscape "কম-পরিমাণে non-convex"। অনেক local minimum প্রায় একই উচ্চতায়। তাই — সব ভালোই কাজ করে। এটি modern deep learning-এর একটি unsolved mystery.

৭ · Local Minimum / Saddle থেকে বের হওয়ার কৌশল

  • Stochastic Gradient Descent (SGD)SGD · Stochastic Gradient Descentপুরো ডেটা না দেখে ছোট ছোট mini-batch-এ gradient হিসেব করে weight update করার পদ্ধতি। দ্রুত, এবং noise local minima থেকে বের হতে সাহায্য করে।: প্রতিটি ধাপে কিছু "noise" — local minimum থেকে বের হতে সাহায্য।
  • MomentumMomentum · গতি জড়তাআগের update-গুলোর "গতি" ধরে রাখা — ছোট গর্ত পেরিয়ে যেতে এবং দ্রুত converge করতে সাহায্য করে। ভৌত জগতের গড়ানো বলের মত আচরণ।: আগের গতি ধরে রাখা — ছোট গর্ত পেরিয়ে যেতে পারে।
  • Learning rateLearning Rate · শিক্ষণ হারপ্রতিটি update-এ কতটা বড় ধাপ নেবে, সেই $\eta$ মান। বড় হলে দ্রুত কিন্তু অস্থির; ছোট হলে ধীর কিন্তু স্থির। scheduling: শুরুতে বড়, পরে ছোট ধাপ (cosine annealing, step decay)।
  • Multiple restarts: বিভিন্ন প্রারম্ভিক বিন্দু থেকে চেষ্টা।
  • AdamAdam · Adaptive Moment Estimationআজকের সবচেয়ে জনপ্রিয় optimizer — momentum ও per-parameter adaptive learning rate একসাথে। GPT, BERT, Llama সব এতেই train., AdamW: আধুনিক optimizer যা momentum ও অভিযোজিত learning rate দেয়। GPT, BERT সবাই Adam.
  • Warmup: শুরুর কয়েক step-এ ছোট learning rate — explosion এড়াতে।

৮ · Constraint Optimization

কখনো কখনো আমাদের লক্ষ্য হলো — কিছু সীমাবদ্ধতা মেনে minimize করা।

উদাহরণ: একটি ব্যবসায়ের লাভ সর্বোচ্চ করতে চান, কিন্তু খরচ ১০ লক্ষ টাকার বেশি না।
AI-এও — যেমন regularization (weights খুব বড় না হোক) — একটি soft constraint. L2 = "weights-এর Euclidean norm ছোট"।

গাণিতিকভাবে — LagrangeLagrange Multipliersconstraint-সহ optimization সমস্যা সমাধানের গাণিতিক কৌশল — মূল objective-এর সাথে constraint-কে penalty হিসেবে যোগ করে নতুন function বানানো হয়। multipliers দিয়ে সমাধান। AI-তে — penalty term loss-এ যোগ করে।

Optimization-এর গভীর দুনিয়া বিশাল — Linear programming, Quadratic programming, Lagrange multipliers, KKT conditions, interior-point methods — সব আলাদা পাঠ্যক্রম। AI-এ সাধারণত আমরা gradient-ভিত্তিক পদ্ধতিতে আটকে থাকি — কারণ তা billions parameters-এ scale করে। কিন্তু classical optimization-এর জ্ঞান feature engineering, hyperparameter tuning-এ কাজে আসে।

৯ · এক বাক্যে

"AI = $\arg\min_w \text{Loss}(w)$ — শেখা মানে গর্তে গড়িয়ে পড়া। Convex হলে সরল, non-convex হলে শিল্প।"

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

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

প্র ০১ Deep neural network-এ কোটি কোটি প্যারামিটার, hugely non-convex landscape — তবু gradient descent কাজ করে! কেন? "কেন kaj করে" এই rahasya-এর সাম্প্রতিক গবেষণা কী বলছে?

২০১২-এর AlexNet-এর পর থেকে এটি deep learning-এর "central mystery"। তত্ত্ব বলে — non-convex optimization NP-hard, তবু practice-এ SGD সফল। গত ১০ বছরে অনেক progress.

(১) High-D-এ saddle point > local minimum:

  • Random matrix theory দেখায় — large network-এ critical points-এর মধ্যে শতকরা ৯৯% saddle, ১% local min.
  • Saddle point থেকে বের হওয়া সহজ — শুধু "নিচু দিক" খুঁজে নামতে হয়।
  • SGD-এর noise saddle থেকে escape করতে পারে।

(২) Loss landscape "flatness" hypothesis:

  • Hochreiter ও Schmidhuber (১৯৯৭) — flat minima ভাল generalize.
  • Li et al. (২০১৮) "Visualizing the Loss Landscape" — দেখায় deep network-এর landscape highway-এর মতো connected.
  • প্রায় সব good local minima একই accuracy দেয়।

(৩) Overparameterization-এর যাদু:

  • Modern model কোটি প্যারামিটার, training data হাজার example — তবু overfit হয় না।
  • Belkin et al. (২০১৮) "double descent" — overparameterized regime-এ test error আবার কমে।
  • Neural Tangent Kernel (NTK, Jacot ২০১৮) — অনেক বড় network লগ-effectively convex behave করে।

(৪) SGD-এর implicit regularization:

  • SGD-এর batch noise — flat minima-র দিকে bias.
  • Learning rate বড় হলে sharp minima পেরিয়ে যায়।
  • Batch size ছোট = বেশি noise = ভাল generalization (অনেক empirical evidence)।

(৫) Lottery Ticket Hypothesis:

  • Frankle ও Carbin (২০১৯) — large network-এ "winning ticket" sub-network থাকে যা একাই কাজ করে।
  • Dense initialization-এই lucky combination পাওয়া যায় — তাই training সফল।

(৬) আজ যা অজানা:

  • কেন overparameterization helps — formal proof নেই।
  • "Why grokking?" — long training-এর পর হঠাৎ generalization (Power et al. ২০২২)।
  • Phase transitions — emergence-এর গাণিতিক ব্যাখ্যা।

মূল উপলব্ধি: Deep learning-এর সাফল্য বিজ্ঞানের অগ্রগতির আগেই এসেছে। আমরা empirically জানি SGD কাজ করে — কিন্তু তত্ত্বে এখনো প্রশ্ন। এটাই AI-এর "physics waiting to happen" — যিনি এই rahasya সমাধান করবেন, তার Turing Award প্রায় নিশ্চিত।

প্র ০২ Adam, RMSProp, AdamW — আজকের প্রতিটি LLM training-এ এদের ব্যবহার। SGD বনাম Adam — কখন কোনটি? কেন সব Tarsformer training-এ AdamW?

Optimizer choice — production ML-এর সবচেয়ে practical decision. ২০১২-এর AlexNet SGD-তে train, কিন্তু ২০২৪-এর GPT-4 সম্ভবত AdamW-তে। ইতিহাস ও গণিত দু'টোই আছে।

(১) Vanilla SGD:

  • $w \leftarrow w - \eta \nabla L$ — সরলতম।
  • Strength: তত্ত্বে সবচেয়ে বেশি বোঝা, generalize ভালো।
  • Weakness: প্রতিটি প্যারামিটারে একই learning rate; sparse feature-এ ধীর।

(২) SGD + Momentum:

  • $v \leftarrow \beta v + \nabla L$, $w \leftarrow w - \eta v$।
  • "গতি" ধরে রাখে — ছোট গর্ত পেরিয়ে যায়।
  • ResNet, image classification-এ আজও gold standard.

(৩) AdaGrad (২০১১):

  • প্রতিটি প্যারামিটারের history থেকে learning rate adapt.
  • Frequent feature → ছোট LR, rare feature → বড় LR.
  • সমস্যা: LR একটানা কমে, একসময় ০।

(৪) RMSProp (Hinton, ২০১২):

  • AdaGrad-এর "exponential moving average" সমাধান।
  • recent gradient-এর variance দিয়ে scale.
  • RNN training-এ revolutionary.

(৫) Adam (Kingma & Ba, ২০১৪):

  • Momentum + RMSProp = Adam.
  • প্রতিটি প্যারামিটারে adaptive LR + momentum.
  • Bias correction, default hyperparameters প্রায় সব problem-এ কাজ করে।
  • Modern deep learning-এর "default" optimizer.

(৬) AdamW (Loshchilov & Hutter, ২০১৭):

  • Adam-এর ভেতরে weight decay-র implementation ভুল ছিল।
  • AdamW আলাদা করে weight decay প্রয়োগ করে।
  • BERT, GPT, Llama, Claude — সব Transformer AdamW-তে।

(৭) কখন SGD, কখন Adam?

  • CNN, image: SGD + momentum প্রায়ই ভাল generalize. ResNet, EfficientNet — SGD.
  • Transformer, NLP: AdamW প্রায় universal — sparse, high-D space-এ কাজ করে।
  • RL: Adam — noisy gradient সামাল দেয়।
  • Fine-tuning: Adam, ছোট LR (1e-5)।

(৮) সাম্প্রতিক চ্যালেঞ্জার:

  • Lion (Google, ২০২৩): Memory কম, কিছু benchmark-এ AdamW-এর চেয়ে ভাল।
  • Sophia (Stanford, ২০২৩): 2nd-order info — LLM training-এ ৫০% দ্রুত claim.
  • Shampoo: Google-এর internal — pre-conditioning-ভিত্তিক।

(৯) Practical টিপস:

  • সবসময় warmup (linear/cosine) — Adam-এ critical.
  • Learning rate scheduling — cosine annealing standard.
  • Gradient clipping — explosion রোধে।
  • Hyperparameter: lr=1e-3 (Adam), 1e-1 (SGD), batch size, momentum (০.৯)।

মূল উপলব্ধি: Optimizer "trivial choice" না — এটি research. ChatGPT-যুগে AdamW dominant, কিন্তু জীবন্ত গবেষণা ক্ষেত্র। ভাল ML engineer optimizer বুঝে — উপযুক্ত problem-এ উপযুক্ত optimizer বাছেন।

প্র ০৩ একটি AI টিম একই মডেল, একই ডেটায় ৩ বার train করে — কিন্তু ৩ বার ভিন্ন accuracy! কেন? Reproducibility-র কী কী চ্যালেঞ্জ AI-তে?

Reproducibility crisis — ML গবেষণায় বিশাল সমস্যা। NeurIPS, ICML conferences এ নিয়ে formal track রেখেছে। কারণ অনেক, এবং production-এ বাস্তব impact.

(১) Random sources of variability:

  • Weight initialization: Different random seed → different starting point → different local minimum.
  • Data shuffling: SGD batches order-এর উপর নির্ভর — ভিন্ন order = ভিন্ন path.
  • Dropout: Training-এ random masking.
  • Data augmentation: Random crop, flip, jitter.
  • GPU non-determinism: CUDA-এর কিছু operation non-deterministic (cuDNN reduction)।

(২) Hardware ও software-এর প্রভাব:

  • Float32 vs float16 — precision-এ পার্থক্য, accumulated error.
  • Different GPU (V100 vs A100) — কিছু numerical ভিন্ন।
  • cuDNN version, PyTorch version — algorithm পরিবর্তন।
  • Multi-GPU training-এ all-reduce order non-deterministic.

(৩) Reproducibility checklist:

  • torch.manual_seed(42), np.random.seed(42), random.seed(42)
  • torch.use_deterministic_algorithms(True)
  • torch.backends.cudnn.deterministic = True
  • torch.backends.cudnn.benchmark = False
  • Fixed Python hash seed: PYTHONHASHSEED=42
  • Single-GPU training (multi-GPU non-deterministic)
  • requirements.txt pinned (PyTorch 2.1.0, exactly)
  • Docker container পরিবেশ সংরক্ষণ

(৪) তবু — কিছু variability থেকে যায়:

  • "Deterministic mode" সব operation-এ available না।
  • Production speed × ১০-২০ ধীর হতে পারে।
  • Hardware-specific কিছু optimization বাদ যায়।

(৫) Statistical solution:

  • Single run-এর accuracy report করা বিভ্রান্তিকর।
  • ৫-১০ বার train, mean ± std report.
  • Confidence intervals, paired t-test (নতুন বনাম baseline)।
  • Multiple seeds-এ result stable হলেই ক্লেইম "robust"।

(৬) Production impact:

  • Continuous training pipeline — small variations expected.
  • Champion/challenger model comparison বিশেষ careful.
  • A/B test-এ multiple seed দিয়ে confirmation.
  • Model registry-তে seed ও hyperparameters সংরক্ষণ।

(৭) Open science বিস্তৃতি:

  • Papers With Code, ML Reproducibility Challenge.
  • NeurIPS reproducibility checklist (২০১৯-)।
  • Hugging Face — model + training script + seed publish.

মূল উপলব্ধি: "Same data, same code, same accuracy" — এটি AI-তে কঠিন। Random সর্বত্র — initialization থেকে GPU পর্যন্ত। ভাল ML engineer reproducibility-কে প্রথম দিন থেকে design করে — শুধু "experiment" না, "scientific process"।

প্র ০৪ "Convex problem" ও "Non-convex problem" — দুনিয়া আজও convex problems দিয়ে অনেক কাজ করে (logistic regression, SVM, lasso)। Deep learning এসে কেন non-convex-কে accept করতে হলো? পার্থক্য বাস্তব ব্যবসায়?

Non-convex শুধু গাণিতিক complication না — এটি ML-এর philosophical shift. ১৯৫০ থেকে ২০১০ পর্যন্ত ML-এর "official" পথ ছিল convex. Deep learning সেই বাঁধ ভেঙেছে।

(১) Convex AI-এর সফলতা:

  • Logistic regression — fraud detection, click prediction.
  • SVM — text classification, image categorization (pre-DL)।
  • Lasso/Ridge — gene expression, finance.
  • Convex optimization-এর তত্ত্ব ১০০ বছরের পরিপক্ক — convergence guarantee, complexity bounds.

(২) Convex-এর সীমা:

  • Expressivity সীমিত — linear decision boundary মাত্র।
  • Feature engineering manually — domain expert লাগে।
  • "Cat vs dog" image classification — convex method-এ ৭০% accuracy ছিল ceiling.

(৩) ImageNet 2012 — paradigm shift:

  • AlexNet (Krizhevsky, ২০১২) — 5-layer CNN, non-convex.
  • 10% accuracy improvement over best convex method.
  • "Convex world" hereafter অসম্পূর্ণ।
  • Deep learning revolution start.

(৪) বাস্তব ব্যবসায় পার্থক্য:

  • Convex (যেখানে এখনো ব্যবহৃত):
    • Financial risk modeling — interpretable, regulator-friendly.
    • Medical diagnosis — explainable.
    • Small data, high-stakes decision.
    • Fast inference — embedded systems.
  • Non-convex (deep learning):
    • Image, voice, video — millions of training data.
    • Language model — billion-parameter scale.
    • End-to-end learning — feature engineering নেই।
    • Cost: training expensive, debug hard.

(৫) Hybrid approach আজ:

  • Deep model + linear head — feature deep, classifier convex.
  • LightGBM / XGBoost — tabular-এ convex (boosting), DL-এর চেয়ে ভাল।
  • Neural-symbolic AI — convex reasoning + neural perception.

(৬) Convexity-র দাম:

  • Convex method-এর "guarantee" আজও মূল্যবান। Deep learning empirical.
  • Regulated industry (finance, healthcare) — "we trust this model" prove করতে convex সহজ।
  • Theoretical research — convex optimization-এ Nobel-worthy কাজ চলমান।

(৭) ভবিষ্যৎ:

  • Convex relaxation of non-convex — হাইব্রিড।
  • Provable deep learning — neural network-এর non-convex গণিত বুঝতে পারলে — সব সমস্যা solved.
  • "Foundation models on tap" — pretrained DL + downstream convex fine-tune.

মূল উপলব্ধি: Convex বনাম non-convex শুধু গণিত না — এটি engineering trade-off. Performance, interpretability, compute, regulation, scale — সব considerations. Mature AI engineer দু'টি জগৎ-ই বোঝে এবং সঠিক সমস্যায় সঠিক সরঞ্জাম বাছেন।

অনুশীলন

  1. চিনুন: $f(x) = (x-3)^2 + 2$ — convex না non-convex? Global minimum কোথায়, মান কত?

    $f''(x) = 2 > 0$ সর্বত্র — তাই convex. Minimum-এ $f'(x) = 2(x-3) = 0 \Rightarrow x = 3$। মান $f(3) = 0 + 2 = 2$।

    Convex বলে — local = global. শুধু একটিই minimum.

  2. কোডে চেষ্টা: উপরের non-convex কোডে $f$-এর দু'টি ভিন্ন আকার চেষ্টা করুন (যেমন $\sin(x) + 0.05x^2$)। কতগুলো local minimum আছে?
    import numpy as np
    def f(x): return np.sin(x) + 0.05 * x**2
    def df(x, h=1e-5): return (f(x+h) - f(x-h)) / (2*h)
    def gd(start, eta=0.05, steps=300):
        x = start
        for _ in range(steps):
            x -= eta * df(x)
        return x
    
    for s in np.arange(-15, 16, 3):
        print(f"start {s:4d} → end {gd(s):6.3f}")

    ${-15, -10, -5, 0, 5, 10, 15}$ থেকে শুরু করলে ৫-৬টি ভিন্ন local minimum পাবেন। $\sin(x)$-এর প্রতিটি গর্ত একটি local min.

  3. চিন্তা করুন: একটি AI টিম একটি মডেল ৩ বার একই ডেটায় train করে — কিন্তু প্রতিবার সামান্য ভিন্ন accuracy পায়। কেন? Optimization-এর কোন সমস্যা?

    প্র ০৩-এ বিস্তারিত। সংক্ষেপে: random initialization, data shuffling order, dropout, GPU non-determinism — সব মিলিয়ে non-convex landscape-এ ভিন্ন local minimum-এ পৌঁছায়।

    সমাধান: seed fix করুন, deterministic mode, multiple runs-এর mean ± std report.

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

কোড রানার কাজ না করলে? ব্রাউজারে কাজ না করলে Google Colab ব্যবহার করুন — Google-এর ফ্রি অনলাইন Python পরিবেশ, শুধু Gmail অ্যাকাউন্ট লাগে।
পূর্ববর্তী পাঠ
পাঠ ২১ · তথ্য তত্ত্ব