Learning Rate — শেখার গতি
Learning Rate
করিমের ড্রাইভিং ক্লাস
ধর তোর বন্ধু করিম সদ্য ড্রাইভিং শিখতেছে। ইন্সট্রাক্টর বলল 'মিরপুর থেকে গুলশান যাও।' করিম প্রথমদিন এত জোরে গাড়ি চালাইল যে ফার্মগেটের সিগন্যালে ব্রেক মাইরা গাড়ি ফুটপাতে উঠল — crash! পরের দিন এত আস্তে চালাইল যে ঘণ্টা দুয়েক লাগল, রাস্তায় সবাই হর্ন দিয়া গালি দিল। তৃতীয় দিন moderate speed-এ চালাইল — ঠিক সময়ে, safely পৌঁছাইল।
এইটাই হইল Learning Rate, গুরু! বেশি বড় হইলে overshoot কইরা crash, বেশি ছোট হইলে সারাদিন লাইগা যায়, আর ঠিকমতো হইলে model সুন্দর করে শিখে!
সংজ্ঞা
Learning Rate (α) হইল একটা positive scalar যেইটা gradient descent-এ প্রতি step-এ weight কতটুকু update হইব সেইটা control করে। এইটা ML training-এর সবচেয়ে important hyperparameter।
ব্যাখ্যা
Learning Rate কী করে
Gradient descent-এ gradient বলে কোন direction-এ loss কমবে, আর learning rate বলে সেই direction-এ কতদূর যাইবা। ছোট α মানে ছোট step, বড় α মানে বড় step।
বড় Learning Rate-এর সমস্যা
α বেশি বড় হইলে minimum-কে লাফ দিয়া পার হইয়া যায়। Loss কমার বদলে বাড়তে থাকে — এইটাকে divergence বলে। করিমের গাড়ির মতো ফুটপাতে উঠে যায়!
ছোট Learning Rate-এর সমস্যা
α বেশি ছোট হইলে training অনেক slow হয়। হাজার epoch পরেও loss তেমন কমে না। আবার local minimum-এ আটকে যাইতে পারে কারণ step size এত ছোট যে বাইর হইতে পারে না।
Learning Rate Schedule
Smart approach হইল শুরুতে বড় α দিয়া start করো, তারপর আস্তে আস্তে কমাও। এইভাবে শুরুতে fast converge করে, শেষে fine-tune করে। অনেকটা গাড়ি চালানোর মতো — হাইওয়েতে speed বাড়াও, destination-এর কাছে slow করো।
Learning Rate দিয়ে Weight Update
তোর model-এর একটা weight θ = 5.0, gradient ∇L = 2.0। তিনটা different learning rate (0.001, 0.1, 2.0) দিয়া update করলে কী হয়?
Step 1: Values সেট করি
θ = 5.0, ∇L = 2.0 — এখন তিন রকম α try করি
Step 2: ছোট α = 0.001
খুব ছোট step — weight সামান্য change হইল
Step 3: মাঝারি α = 0.1
ভালো step size — meaningful update
Step 4: বড় α = 2.0
বিশাল লাফ — weight এত বদলাইল যে opposite direction-এ চলে গেল!
α = 0.001 এ weight মাত্র 0.002 কমল (অনেক slow), α = 0.1 এ 0.2 কমল (ভালো), α = 2.0 এ 4.0 কমে গেল (overshoot risk)। মাঝামাঝি α-ই best, গুরু!
ML-এ কোথায় লাগে?
মনে রাখার ট্রিক
Learning Rate = গাড়ির Accelerator। বেশি চাপলে crash (overshoot), কম চাপলে দেরি (slow convergence), ঠিকমতো চাপলে destination-এ পৌঁছাও (convergence)। মনে রাখ — গুরু বলেছে 'গাড়ি চালাও মাথা দিয়া, পা দিয়া না!'