Mathematics for AI/Functions ও Graph/Lesson 03
Exponent ও Log
eˣ কেন এত দ্রুত বাড়ে, log কীভাবে গুণকে যোগে বদলে দেয়, আর কেন ML-এর loss function (cross-entropy) আর probability-র হিসাবে log ছাড়া চলে না।
- সময়
- 24 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 3 প্রশ্ন
সহজ ভাষায়
Exponent — একটা সংখ্যাকে বারবার গুণ:
Log — উল্টো প্রশ্ন: "2-কে কত ঘাত দিলে 32 পাবো?"
Exponent আর log একে অপরের উল্টো, যেমন গুণ আর ভাগ।
কেন দরকার?
ML-এর ভেতরে দুটো জায়গায় এরা সবখানে:
- — sigmoid, softmax: score থেকে probability বানাতে
- — loss function (cross-entropy), আর অনেকগুলো probability নিরাপদে গুণ করতে
এমনকি LLM-এর output-এ যে "logits" শব্দ দেখবে — সেটাও log থেকে এসেছে।
বিশেষ সংখ্যা
— গণিতের সবচেয়ে "স্বাভাবিক" base। -এর একটা অদ্ভুত গুণ: যেকোনো বিন্দুতে এর বৃদ্ধির হার নিজের মানের সমান। Calculus-এ এটা সবকিছু সহজ করে দেয় — তাই ML-এ base- (natural log, , NumPy-তে np.log) default।
দুটো graph-এর আকার মনে রাখো:
- — বাম দিকে প্রায় 0, ডানে বিস্ফোরণ। সবসময় positive।
- — শুধু positive -এ সংজ্ঞায়িত, 0-এর কাছে -এর দিকে, ডানে খুব ধীরে বাড়ে।
Log-এর নিয়ম
প্রথমটাই সবচেয়ে গুরুত্বপূর্ণ: log গুণকে যোগে বদলে দেয়।
কেন ML-এ log ছাড়া চলে না
Model প্রতিটা sample-কে একটা probability দেয়। পুরো dataset-এর সম্মিলিত probability = সবগুলোর গুণফল। হাজারটা ছোট সংখ্যা গুণ করলে:
গুণফল 0 — computer এত ছোট সংখ্যা রাখতে পারে না (underflow)। Log-এর যোগফল একদম স্বাভাবিক একটা সংখ্যা। এজন্যই ML-এ সবসময় "log-likelihood" নিয়ে কাজ — আর exercise-এ নিজেই এটা দেখবে।
Cross-entropy: log দিয়ে বানানো loss
Model সঠিক class-কে probability দিলে loss :
- ঠিক উত্তরে আত্মবিশ্বাসী () → loss প্রায় 0
- অনিশ্চিত () → মাঝারি loss
- আত্মবিশ্বাসী ভুল () → loss আকাশছোঁয়া
এই আকৃতিটাই model-কে শেখায়: "নিশ্চিত না হলে বেশি আত্মবিশ্বাস দেখিও না।" Binary classification-এর জন্য এর পূর্ণ রূপ:
Challenge-এ এটাই লিখবে।
Exercise
Exercise
ছোট সংখ্যার গুণ
একটা model ৫০০টা sample-এর প্রতিটাকে সঠিক label-এর জন্য 0.01 probability দিয়েছে। সব sample-এর সম্মিলিত probability = সবগুলোর গুণফল।
naive—np.prod(probs)দিয়ে সরাসরি গুণফল (দেখবে কী হয়!)log_likelihood— log-এর যোগফল: Σ log(p)log10_likelihood— একই জিনিস base-10 log-এ (গুণফলটা 10-এর কত ঘাত)
Quiz
Challenge
Challenge
Binary cross-entropy
Binary classification-এর standard loss — binary cross-entropy:
loss = −mean( y·log(p) + (1 − y)·log(1 − p) )
y হলো আসল label (0 বা 1), p হলো model-এর দেওয়া probability (class 1-এর)।
bce(y, p) লেখো, একটা float return করবে। সাবধান: p ঠিক 0 বা 1 হলে log(0) = −∞। আগে p-কে [1e-12, 1 − 1e-12] সীমার মধ্যে আটকাও (np.clip)। Loop ছাড়া।
বাস্তবে কোথায় ব্যবহার হয়?
Log scale — যখন data অনেকগুলো মাত্রা জুড়ে ছড়ানো। Model-এর size (parameter সংখ্যা) সময়ের সাথে কীভাবে বেড়েছে:
Linear scale-এ শুধু GPT-3 দেখা যায়, বাকিগুলো অদৃশ্য। Log scale-এ প্রতিটা ধাপ সমান দূরত্বে — দেখা যায় প্রায় প্রতি বছর মাপ কয়েক গুণ বেড়েছে। Loss curve, learning rate search, scaling law — ML-এর অনেক graph log scale-এ আঁকা হয়।
Interview প্রশ্ন
- Beginner: Log কী? কত?
- Intermediate: Probability গুণ না করে log-probability যোগ করা হয় কেন?
- Advanced: Cross-entropy loss কোথা থেকে আসে? Maximum likelihood estimation-এর সাথে এর সম্পর্ক কী?
এরপর কী?
এই lesson-এ চিহ্নটা বারবার এসেছে। ML-এর প্রতিটা paper আর documentation এই চিহ্নে ভরা। Module-এর শেষ lesson: Σ notation: সূত্র পড়তে শেখা — আর সূত্র থেকে সরাসরি code।