ru
Feedback
Eldor’s AI Lab

Eldor’s AI Lab

Открыть в Telegram

🚀 Eldor’s AI Lab – Sun’iy intellektni chuqur va amaliy o‘rganish! 🔹 AI va ML nazariyasi 🔹 Kod va amaliy mashg‘ulotlar 🔹 Dasturlash bo‘yicha maslahatlar 🔹 Ilmiy maqolalar va eng so‘nggi yangiliklar 💡 AIni o‘rganishni istaysizmi? Let's go!

Больше
Страна не указанаКатегория не указана
385
Подписчики
Нет данных24 часа
-27 дней
+530 день

Загрузка данных...

Похожие каналы
Нет данных
Возникли проблемы? Пожалуйста, обновите страницу или обратитесь к нашему support-менеджеру .
Облако тегов
Нет данных
Возникли проблемы? Пожалуйста, обновите страницу или обратитесь к нашему support-менеджеру .
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
июль '26
июль '26
+15
в 0 каналах
июнь '26
+7
в 0 каналах
Get PRO
май '26
+13
в 0 каналах
Get PRO
апрель '26
+19
в 0 каналах
Get PRO
март '26
+26
в 0 каналах
Get PRO
февраль '26
+12
в 0 каналах
Get PRO
январь '26
+21
в 0 каналах
Get PRO
декабрь '25
+21
в 0 каналах
Get PRO
ноябрь '25
+19
в 0 каналах
Get PRO
октябрь '25
+149
в 2 каналах
Get PRO
сентябрь '250
в 1 каналах
Get PRO
август '25
+13
в 1 каналах
Get PRO
июль '250
в 1 каналах
Get PRO
июнь '25
+165
в 1 каналах
Get PRO
май '250
в 0 каналах
Get PRO
апрель '250
в 4 каналах
Get PRO
март '250
в 0 каналах
Get PRO
февраль '25
+2
в 4 каналах
Дата
Привлечение подписчиков
Упоминания
Каналы
29 июля0
28 июля0
27 июля0
26 июля0
25 июля0
24 июля0
23 июля0
22 июля0
21 июля+1
20 июля+1
19 июля+1
18 июля+2
17 июля+1
16 июля+2
15 июля+1
14 июля+1
13 июля0
12 июля0
11 июля+2
10 июля0
09 июля0
08 июля0
07 июля+1
06 июля+1
05 июля0
04 июля+1
03 июля0
02 июля0
01 июля0
Посты канала
📌 9.2-dars: Gradient Accumulation — Katta batch, kichik xotira 🎯 Deep Learning Mathematics@EldorMLSavol: GPT-3 o'qitishda batch size = 3.2 million token ishlatilgan. Bitta GPUda bu mumkin emas. Nima qilish kerak? 💡 Javob: Gradient Accumulation. 🔹 Asosiy muammo Katta batch → yaxshi o'qitish, lekin ko'p xotira. ResNet50, batch=256: Model vaznlari: ~100 MB Aktivatsiyalar: ~4 GB Gradientlar: ~100 MB Jami: ~4.5 GB batch=512 → ~9 GB batch=1024 → ~18 GB 💥 16 GB GPU da sig'maydi! 🔹 Asosiy g'oya Kichik batchlarda gradientlarni yig’ish, keyin BIR MARTA yangilash. Misol: 100 savol, stol faqat 10 ta sig'adi. 1. 10 ta savol yech → eslab qol 2. Stol tozala, 10 ta yangi yech → qo'sh 3. Yana 10 ta... 4. Yana 10 ta... 5. Jami 40 ta yechildi → xulosa chiqar! Gradient Accumulation ham xuddi shu. 🔹 Matematik isbot Oddiy batch=32: W_yangi = W - lr × (1/32) × sum(grad_i) GA (micro=8, steps=4): g1 = (1/8) × sum(grad 1-8) g2 = (1/8) × sum(grad 9-16) g3 = (1/8) × sum(grad 17-24) g4 = (1/8) × sum(grad 25-32) W_yangi = W - lr × (g1+g2+g3+g4)/4 Natija: (g1+g2+g3+g4)/4 = (1/32) × sum(grad 1-32) ✅ AYNAN BIR XIL! 🔹 Kod o'zgarishi — faqat 3 ta qator Avval (oddiy): optimizer.zero_grad() loss = criterion(model(x), y) loss.backward() optimizer.step() Keyin (GA, accum=4): loss = criterion(model(x), y) / 4 ← bo'lish loss.backward() ← zero_grad yo'q! if (i+1) % 4 == 0: optimizer.step() ← faqat shu yerda optimizer.zero_grad() 🔹 Nima uchun loss bo'linadi? Bo'lmasak, gradientlar YIG'INDI bo'ladi, o'rtacha emas. g1 + g2 + g3 + g4 ≠ (g1+g2+g3+g4)/4 loss / 4 qilsak: g1/4 + g2/4 + g3/4 + g4/4 = (g1+g2+g3+g4)/4 ✅ To'g'ri o'rtacha — batch=32 bilan bir xil. 🔹 Mixed Precision + GA (eng kuchli kombinatsiya) with autocast(): loss = criterion(model(x), y) / accum_steps scaler.scale(loss).backward() if (i+1) % accum_steps == 0: scaler.step(optimizer) scaler.update() optimizer.zero_grad() Natija: ✅ Katta effective batch ✅ 2× tezroq hisoblash (FP16) ✅ 2× kam xotira ✅ Uch afzallik bitta kodda! 🔹 Effective batch size formulasi Effective batch = micro_batch × accum_steps × num_GPUs 1 GPU misoli: 8 × 4 × 1 = 32 8 GPU misoli: 8 × 4 × 8 = 256 GPT-3 misoli: ? × ? × 1024 = 3,200,000 🔹 Cheklovlar ⚠️ BatchNorm muammosi: micro-batch = 8 dan statistika oladi, effective batch = 32 bo'lsa ham. Yechim: GroupNorm yoki LayerNorm. ⚠️ O'qitish sekinlashadi: GA: 4 qadam = 1 update (lekin update sifati bir xil) ⚠️ Learning rate moslash: lr_yangi = lr × (effective_batch / base_batch) Misol: 0.001 × (256/32) = 0.008 🎯 Asosiy xulosa GA — eng oddiy va eng kuchli xotira yechimi. 8 GB GPU bilan 32 GB GPU kabi katta batch o'qitish. Faqat 3 qator kod o'zgarishi. GPT, LLaMA, BERT — barchasi GA ishlatadi. Endi siz ham ishlatishingiz mumkin. 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML

2
📌 9.1-dars: Mixed Precision Training — Tezroq va tejamkor model o'qitish 🎯 Deep Learning Mathematics — @EldorML ❓ Savol: Model to'g'ri ishlaydi. Lekin GPU xotirasi yetmayapti, o'qitish esa juda sekin. Qanday qilib model sifatini saqlagan holda 1.5–2× tezroq o'qitish mumkin? 💡 Javob: Mixed Precision Training. 🔹 Asosiy g'oya Hamma hisoblashlarni 32-bit aniqlikda bajarish shart emas. FP32 (32-bit) → son jihatdan muhim hisoblashlar FP16/BF16 (16-bit) → tez hisoblashlar Natija: ✅ Kamroq GPU xotira ✅ Tezroq trening ✅ Deyarli bir xil model sifati 🔹 Floating Point formatlari FP32: * 32 bit * 4 bayt * Yuqori aniqlik FP16: * 16 bit * 2 bayt * Kichik diapazon * Yuqoriroq aniqlik BF16: * 16 bit * 2 bayt * FP32 bilan bir xil diapazon * Pastroq aniqlik 💡 BF16 = FP32 exponent + FP16 o'lcham 🔹 Nima uchun bu ishlaydi? Deep Learning mukammal aniqlikni talab qilmaydi. Model: • millionlab parametrlar • minglab iteratsiyalar • statistik optimizatsiya Shuning uchun kichik hisoblash xatolari odatda yakuniy natijaga deyarli ta'sir qilmaydi. 🔹 Lekin muammo bor... FP16 da juda kichik gradientlar yo'qolishi mumkin. Gradient 0.0000003 ↓ FP16 uchun juda kichik ↓ 0 ga underflow bo'lishi mumkin ↓ Model o'rganmay qoladi 🔹 Dynamic Loss Scaling Yechim juda oddiy. 1️⃣ Loss × 1024 ↓ 2️⃣ Gradient ham kattalashadi ↓ 3️⃣ Optimizer oldidan yana 1024 ga bo'linadi ✅ Gradient yo'qolmaydi. 💡 BF16 da odatda Loss Scaling kerak bo'lmaydi. 🔹 Mixed Precision qanday ishlaydi? FP16/BF16 ✅ Forward pass ✅ Backward pass ✅ Ko'pchilik matritsa ko'paytirishlar FP32 ✅ Master weights ✅ Optimizer state ✅ Son jihatdan sezgir hisoblashlar Shuning uchun ham tezlik, ham aniqlik saqlanadi. 🔹 Nima uchun tezroq? GPU ichida maxsus Tensor Core lar mavjud. FP32 Matritsa │ ▼ CUDA Core │ ▼ Natija FP16/BF16 Matritsa │ ▼ Tensor Core ⚡ │ ▼ Natija Tensor Core lar 16-bit hisoblashlarni ancha tez bajaradi. Bundan tashqari: FP32: 1 son = 4 bayt FP16: 1 son = 2 bayt Kamroq xotira o'qiladi, kamroq ma'lumot uzatiladi va hisoblash tezlashadi. 🔹 Xotira misoli GPT-2 (117 million parametr) FP32: 117M × 4 bayt ≈ 468 MB FP16: 117M × 2 bayt ≈ 234 MB 💡 Bir xil model — ikki baravar kam xotira. 🔹 PyTorch AMP Oldin: output = model(x) Endi esa: with autocast(): output = model(x) PyTorch avtomatik ravishda qaysi operatsiyalarni FP16/BF16 da bajarishni o'zi hal qiladi. Dasturchi deyarli hech narsani o'zgartirmaydi. 🔹 Natija Ko'p Deep Learning loyihalarida: 🚀 1.5–2× tezroq trening 💾 30–50% kam GPU xotira 🎯 Model sifati deyarli o'zgarmaydi 🎯 Asosiy xulosa Mixed Precision — zamonaviy Deep Learning'ning eng muhim optimallashtirish usullaridan biri. Bugungi kunda Google, NVIDIA, OpenAI, Meta va deyarli barcha yirik AI kompaniyalari katta modellarni aynan FP16 yoki BF16 yordamida o'qitadi. Agar siz LLM, Computer Vision yoki boshqa zamonaviy AI modellarini production darajasida o'qitmoqchi bo'lsangiz, **Mixed Precision**'ni bilishingiz shart. 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
221
3
📌 8.5-dars: Model Interpretability — Model ichida nima bo'layotganini tushunish 🎯 Deep Learning Mathematics — @EldorML Savol: Model 99% aniqlik bilan ishlaydi. Lekin nima uchun aynan shu qarorni qabul qildi? Javob: Black Box muammosi — va uni hal qiluvchi usullar. 🔹 Asosiy muammo — Black Box Kirish rasm (🐱) │ ▼ █████ █████ ← ichkarida nima bo'layotgani █████ KO'RINMAYDI │ ▼ "Mushuk" (97%) Tibbiyot, moliya, avtonom haydashda “Asossiz ishoning" tushunchasi — qabul qilinmaydi. 🔹 Nima uchun xavfli? "Bo'ri vs It" klassifikatori: 95% aniqlik. Lekin model hayvonga emas — QOR FONIGA qaraydi! Barcha bo'ri rasmlari qorli fonda olingan edi. Model "bo'ri"ni emas, "qor”ni o'rgangan. ❌ To'g'ri javob, noto'g'ri sabab. Interpretability bu xatoni fosh qiladi. 🔹 1. Activation Maximization "Har bir neyron nimani yoqtiradi?" Gradient Ascent: x_yangi = x + η · d(f_i(x))/dx Rasm gradient yo'nalishida yangilanadi — neyronni maksimal faollashtiradigan tasvir topiladi. Natija: 1-qatlam → qirralar, ranglar 5-qatlam → shakllar, naqshlar 15-qatlam → to'liq tushunchalar (mushuk yuzi) 🔹 2. Saliency Maps "Model qaysi piksellarga e'tibor berdi?" Formula: S(x) = |dy/dx| Gradient katta → piksel MUHIM Gradient kichik → piksel muhim emas ✅ Juda tez (1 marta backward pass) ❌ Ko'pincha shovqinli natija 🔹 3. Grad-CAM (2017) Saliency Mapdan yaxshiroq yechim. Piksel darajasi: 224×224 = 50,176 nuqta (shovqinli) Feature map: 7×7 = 49 hudud (silliq!) Har feature map uchun ahamiyat: α_k = gradient o'rtachasi L = ReLU(Σ α_k · A_k) Natija: original rasm ustiga qizil "issiqlik xaritasi" Qizil = model eng ko'p e'tibor bergan hudud Ko'k = muhim emas 🔹 Saliency vs Grad-CAM Saliency: tez, shovqinli, har model uchun Grad-CAM: silliq, tushunarli, faqat CNN uchun 💡 Debug uchun → Saliency Shifokorga/mijozga ko'rsatish uchun → Grad-CAM 🔹 Misollar Tibbiyot: Rentgen → "Pnevmaniya 89%" Grad-CAM → o'pkaning pastki qismi qizil Shifokor: "Ha, men ham shu joyga qarayman" ✅ Self-driving: Kamera → "STOP belgisi aniqlandi" Saliency → belgi konturlariga qaragan ✅ Klassifikatsiya (xato topish): Grad-CAM ko'rsatadi — model hayvonga emas, fon yoki egalik qo'liga qaraydi ❌ 🔹 Cheklovlar ⚠️ Explanation ≠ Reasoning Model "fikr yuritmaydi" — gradient hisoblaydi ⚠️ Bir xil rasm, bir xil model: Saliency → A hudud Grad-CAM → B hudud Integrated Gradients → C hudud Qaysi biri "haqiqiy"? — Aniq javob yo'q 💡 Interpretability — yakuniy haqiqat emas, gipoteza yaratish va tekshirish vositasi. 🔹 Zamonaviy usullar Integrated Gradients — shovqinni kamaytiradi SmoothGrad — gradientlarni o'rtachalash SHAP — har xususiyatning hissasi LIME — mahalliy chiziqli yaqinlashish Attention Visualization — Transformer uchun 🎯 Asosiy xulosa Model o'qitish = faqat aniqlik emas. Yuqori xavfli sohalarda NIMA UCHUN — aniqlikning o'zidan ham muhimroq bo'lishi mumkin. Bugungi AI kompaniyalari (Google, Meta, OpenAI) — interpretability bo'yicha alohida jamoa va tadqiqot yo'nalishiga ega. Sababi shu. 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
257
4
📌 8.4-dars: Dimensionality Reduction — Modelni "ichidan" ko'rish 🎯 Deep Learning Mathematics — @EldorML Savol: BERT 768, ResNet 2048 o'lchamli vektor chiqaradi. Bu vektorlar ichida nima bor? Modelni qanday "tushunish" mumkin? Javob: Latent space vizualizatsiyasi — 2D grafikda modelning ichki dunyosi. 🔹 Asosiy muammo Modellar yuqori o'lchamli vektorlar bilan ishlaydi: BERT: 768 o'lcham ResNet: 2048 o'lcham CLIP: 512 o'lcham GPT-3: 12,288 o'lcham Biz 2Ddan ko'pini ko'ra olmaymiz. Yechim — dimensionality reduction: 2048D → 2D. 🔹 Latent Space nima? Model har rasmni/har so'zni vektor sifatida ifodalaydi. O'xshash narsalar — yaqin joylashadi. Boshqa narsalar — uzoq joylashadi. Misol (Word Embeddings): king - man + woman ≈ queen Model "qirol" va "malika" so'zlarini hech kim aytmagan. U faqat matndan o'rgandi. Lekin vektor arifmetikasi ishlaydi! Bu — modelning ichki "tasavvur fazosi". 🔹 1. PCA (1901) — eng eski usul Asosiy g'oya: eng katta o'zgaruvchanlik qaysi yo'nalishda? ✅ Juda tez (1 soniyada) ✅ Reversible — qaytarish mumkin ✅ Variance Explained — qancha ma'lumot saqlangani aniq ❌ Faqat chiziqli — egri tuzilmani topa olmaydi Misol: 512D → 2D: PC1=35%, PC2=18% → jami 53% saqlandi 🔹 2. t-SNE (2008) — klasterlar uchun Asosiy g'oya: yuqori o'lchamda yaqin → past o'lchamda ham yaqin. ✅ Klasterlarni aniq ko'rsatadi ✅ Egri tuzilmani topadi ❌ Sekin (10K nuqta = 30 daqiqa) ❌ Har safar boshqa natija ❌ Global tuzilishni buzadi 🔹 3. UMAP (2018) — bugungi standart t-SNE muammolarini hal qildi. ✅ t-SNE dan 10-100x tezroq ✅ Global tuzilishni saqlaydi ✅ Yangi nuqta qo'shish oson ✅ Hugging Face, bioinformatika, NLP standarti 🎯 Qaysi qachon? Tez ko'rish → PCA Klasterlar vizualizatsiyasi → UMAP Kichik dataset (1-10K) → t-SNE Katta dataset (100K+) → UMAP Yangi nuqta qo'shish → PCA yoki UMAP 💡 Qoida: avval PCA, keyin UMAP. 💡 Asosiy xulosa Model hech qachon "3 yumaloq" deb o'rganmagan. U faqat piksellardan o'rgandi. Lekin latent spaceda barcha "3"lar yaqin joylashadi. Bu — modelning ichki tushunishi. Dimensionality reduction — shu tushunishni KO'RISH imkoni. 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
268
5
📌 8.3-dars: Normalization Layers — Tarmoqni barqarorlashtirish 🎯 Deep Learning Mathematics — @EldorML Savol: Activation function nochiziqlilik beradi. Lekin chuqur tarmoqlar nima uchun hali ham beqaror o'rganadi? Javob: Har qatlamdagi qiymatlar masshtabi nazoratsiz o'zgaradi. Yechim — Normalization. 🔹 Asosiy muammo — Internal Covariate Shift 10 qatlamli tarmoqda o’qitishda: - 1-qatlam kirishi: ~ N(0, 1) taqsimot - 5-qatlam kirishi: ~ N(5, 100) taqsimot - 10-qatlam kirishi: ~ N(-50, 10000) taqsimot 💥 Har qatlam boshqa "dunyoda" yashaydi. Model sekin va beqaror o'rganadi. Yechim — har qatlamga BIR XIL TARTIBDA ma'lumot keltirish. 🔹 Umumiy formula Barcha normalizationlar bir xil asosga ega: x_norm = (x - μ) / √(σ² + ε) y = γ·x_norm + β Farq faqat μ va σ² QAYSI QIYMATLARDAN hisoblanishida. γ va β — model normalizatsiyani kerak bo'lsa "qaytarib olishi" mumkin. 🔹 1. BatchNorm (2015) — Birinchi inqilob Har KANAL bo'yicha, batch ichidagi barcha rasmlardan o'rtacha. ✅ CNNni 2-3x tezroq o'rgatadi ✅ Yuqori learning rate ishlatish mumkin ❌ Kichik batch (1-2) da BUZILADI: batch=64: yaxshi ✅ batch=2: noaniq ❌ batch=1: ishlamaydi 💥 ⚠️ Train/eval rejimida farqli ishlaydi — running mean/var ishlatiladi. 🔹 2. LayerNorm (2016) — Transformer davri Batch bo'yicha emas, har NAMUNA ICHIDA o'rtacha. Transformerda har TOKEN uchun alohida. ✅ Batch sizega bog'liq emas (batch=1 ham ishlaydi) ✅ Sequence uzunligi muhim emas ✅ Train/eval bir xil ishlaydi 🔥 BERT, GPT-2, GPT-3, ViT — barchasi LayerNorm. 🔹 3. InstanceNorm (2016) — Style Transfer Har RASM, har KANAL alohida statistika. "Har rasmning o'z uslubi bor — aralashtirmaslik kerak." 🎨 Style Transfer, GAN, CycleGAN, Pix2Pix. 🔹 4. GroupNorm (2018) — Goldilocks zone Kanallarni GURUHLARGA bo'ladi, har guruh alohida. BatchNorm: batch birgalikda (batchga bog'liq) LayerNorm: barcha kanal birga (o'ta umumiy) InstanceNorm: har kanal alohida (o'ta nozik) GroupNorm: aralash — Goldilocks! ✅ ✅ Batch'ga bog'liq emas ✅ CNN strukturasini saqlaydi ✅ Kichik batch + CNN uchun ideal 🔥 Stable Diffusion, DALL-E, zamonaviy YOLO — GroupNorm. 🎯 Qaysi vazifada qaysi? CNN (klassik) → BatchNorm Transformer (BERT, GPT, ViT) → LayerNorm GAN / Style Transfer → InstanceNorm Diffusion (Stable Diffusion) → GroupNorm Object Detection (kichik batch) → GroupNorm RNN/LSTM → LayerNorm Mobile inference (batch=1) → GroupNorm / LayerNorm 💡 Qoida: - Katta batch + CNN → BatchNorm - Transformer → LayerNorm - Kichik batch → GroupNorm - Style transfer → InstanceNorm 💡 Asosiy xulosa Activation tarmoqqa NOCHIZIQLILIK beradi. Normalization unga BARQARORLIK beradi. Ikkisi birga — bugungi muvaffaqiyatli deep learning modellarining asosi. Faqat normalization qo'shish — 30-50% tezroq o’qitish! 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
284
6
📌 8.2-dars: Activation Functions — Neyron tarmoqning "qarori" 🎯 Deep Learning Mathematics — @EldorML Savol: 100 ta qatlam qo'shsam, model kuchliroq bo'ladimi? Javob: Activation bo'lmasa — YO'Q. Sababini ko'ramiz. 🔹 Asosiy mantiq Faqat W·x + b ishlatib 2 qatlam qursak: • z1 = W1·x + b1 • y = W2·z1 + b2 = (W2·W1)·x + (W2·b1 + b2) = W_yangi·x + b_yangi 💥 100 ta qatlam birlashib — bitta chiziqqa aylanadi! Chuqurlik kuch bermaydi. Yechim — qatlamlar orasiga nochiziqli funksiya qo’shish: h = f(z1) ← activation! Endi qatlamlar birlashmaydi. Model egri chiziq, XOR, rasm, matnni o'rgana oladi. 🔹 1. Sigmoid (1990) — birinchi mashhur σ(x) = 1 / (1 + e^(-x)) → chiqish (0, 1) ✅ Ehtimollik sifatida o'qiladi ❌ Vanishing gradient: max hosila = 0.25 10 qatlam: 0.25^10 ≈ 0.0000009 💀 Birinchi qatlamga gradient yetmaydi! Shu sabab 1990-yillarda chuqur tarmoqlar ishlamasdi. 🔹 2. Tanh — yaxshilangan Sigmoid tanh(x) → chiqish (-1, 1), nol atrofida markazlangan Sigmoiddan yaxshiroq, lekin vanishing gradient muammosi qoldi. 💡 RNN/LSTM ichida bugungacha ishlatiladi. 🔹 3. Softmax — ko'p sinf uchun Sigmoid 2 sinf uchun. 10 sinf (0-9) uchun — Softmax: Softmax(xᵢ) = e^(xᵢ) / Σ e^(xⱼ) Logitlar → ehtimollar, yig'indi = 1.00 💡 Faqat oxirgi qatlamda ishlatiladi. 🔹 4. ReLU (2012) — INQILOB ReLU(x) = max(0, x) 2012-yil AlexNet ImageNet'da g'olib. Siri — ReLU. ✅ Hosila = 1 (musbat tomonda) → vanishing gradient ancha yaxshi ✅ Juda tez (faqat if x > 0) ✅ Sparsity — neyronlarning yarmi "uyqu rejimida" ❌ Dying ReLU: katta manfiy bias → neyron har doim 0 → gradient 0 → o'lik ☠️ Yechim — Leaky ReLU: x ≤ 0 → 0.01·x (kichik gradient, neyron o'lmaydi) 🔹 5. GELU (2018) — Transformer davri ReLU qattiq qaror beradi: x ≤ 0 → 0. GELU yumshoq, ehtimol asosida: GELU(x) = x · Φ(x) x = -2: ReLU → 0, GELU → -0.046 x = 2: ReLU → 2, GELU → 1.95 🔥 BERT, GPT-2, GPT-3, ViT — hammasi GELU. 🔹 6. Swish/SiLU (2017) va Mish (2019) SiLU(x) = x · σ(x) Mish(x) = x · tanh(ln(1 + e^x)) GELUga juda o'xshash. Farqi kichik koeffitsient. SiLU → EfficientNet, MobileNetV3, YOLOv5/v8, Stable Diffusion Mish → YOLOv4 💡 GELU vs Swish vs Mish — farqi juda kichik, kontekstga bog'liq. 🎯 Qaysi vazifada qaysi? CNN (rasm) → ReLU yoki SiLU Transformer (BERT, GPT, ViT) → GELU Mobile / Diffusion → SiLU YOLO → SiLU RNN/LSTM → Tanh Binary (oxirgi qatlam) → Sigmoid Multi-class (oxirgi qatlam) → Softmax 💡 Qoida: ReLU bilan boshlang, keyin GELU/SiLU sinab ko'ring. ⚠️ Muhim: Hech qaysi activation "muammosiz" emas. Har biri ayrim kamchiliklarni yumshatadi, lekin o'z narxi bilan (sekinroq hisoblash, ko'proq xotira). 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
286
7
Видеосообщение
330
8
📌 8.1-dars: Forward va Backward Pass — Neyron tarmoq qanday "o'ylaydi" va "o'rganadi" 🎯 Deep Learning Mathematics — @EldorML Savol: CNN, ViT, Diffusion, GNN, Transformer — nima ularni bog'laydi? Javob: Forward + Backward Pass. Hammasining yuragi shu. 🔹 Asosiy mantiq Bola olma va apelsinni o'rganadi: - Forward: mevani ko'radi → "olma" deydi - Backward: ona "yo'q, apelsin" → bola xatoni tushunadi Neyron tarmoq aynan shu. "Bola" o'rniga — weights. "Ona javobi" o'rniga — loss. 🔹 1. Forward Pass — bashorat 2 qatlamli tarmoq, x = [1, 2], target = 5: z1 = W1·x + b1 → [0.2, 1.9, 1.3] h = ReLU(z1) → [0.2, 1.9, 1.3] y = W2·h + b2 → 0.5 L = (y - 5)² → 20.25 Model 0.5 dedi, javob 5 edi. Xato = 20.25 💥 🔹 2. Computation Graph Har operatsiya grafga yoziladi: x → [W1·x+b1] → [ReLU] → [W2·h+b2] → y → L Backward passda shu grafdan teskari yo'l yuriladi. 💡 PyTorch, TensorFlow — barchasi shu prinsipda. Siz forward yozasiz, framework backwardni avtomatik hisoblaydi (autograd). 🔹 3. Backward Pass — Chain Rule Savol: "W1 ni biroz o'zgartirsam, loss qanchaga o'zgaradi?" dL/dW1 = dL/dy · dy/dh · dh/dz1 · dz1/dW1 Qatlamma-qatlam orqaga: dL/dy = 2(y-5) = -9 dL/dh = -9 · W2 = [-3.6, -2.7, 4.5] dL/dz1 = dL/dh · 1 = [-3.6, -2.7, 4.5] (ReLU musbat) dL/dW1 = dL/dz1 · xᵀ → 3×2 matritsa 🔹 4. Gradient Descent — yangilanish W_yangi = W_eski - η · dL/dW η = 0.01 bilan: W1 = [[0.5, -0.2], → [[0.536, -0.128], [0.3, 0.8], [0.327, 0.854], [-0.1, 0.6]] [-0.145, 0.510]] Parametrlar xato kamayadigan tomonga siljidi 📉 🔹 5. To'liq oqim Forward → Loss → Backward → Yangilash ↓ 1000 marta takrorlash ↓ Model tayyor ✅ 🎯 Xulosa - Forward — bashorat (kirish → chiqish) - Loss — xatoni o'lchash - Backward — chain rule bo'yicha gradientlar - Gradient Descent — parametrlarni yangilash - Autograd — PyTorch buni avtomatik qiladi 💡 CNN, ViT, Diffusion, GNN, Transformer — hammasi shu mexanizmda o'rganadi. Faqat ichidagi operatsiyalar farq qiladi. GPT-4 da ham, sizning 2 qatlamli tarmog'ingizda ham — bir xil prinsip! 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
368
9
📌 7.5-dars: Efficient Attention — Transformerning O(n²) muammosi 🎯 Deep Learning Mathematics — @EldorML Savol: ChatGPT, Claude, Llama qanday qilib 1M tokenli kontekstni qo'llab-quvvatlaydi? Javob: Efficient Attention variantlari. 🔹 Muammo: O(n²) n = 512 → 262 ming n = 8192 → 67 million n = 100K → 10 milliard 💥 QK^T — n×n matritsa. n oshganda portlaydi. 🔹 1. Sparse Attention — kam juftlik Token hammaga qarashi shart emas. - Sliding Window — yaqin w ta tokenga - Longformer — lokal + global tokenlar (65K) - BigBird — window + global + random (100K) Murakkablik: O(n·w) — chiziqli 🔹 2. Linear Attention — matematik usul Usul: (QK^T)V = Q(K^T V) K^T V → d × d matritsa (kichik!) Murakkablik: O(n · d²) Softmax muammosi → kernel usuli (Performer): softmax(q·k) ≈ phi(q)·phi(k) n = 100K da: standart 10 milliard → Performer 26 million Tezlash: 380x 🚀 🔹 3. FlashAttention — GPU darajasidagi O(n²) ni o'zgartirmaydi, lekin 5-10x tezroq! Siri: GPU xotirasi 2 xil HBM (40 GB, sekin) SRAM (20 MB, 100x tez) Standart: hammasi HBM orqali (sekin) Flash: bloklarda SRAMda → HBMga faqat natija Natija: xotira 10-20x kam, 2-4x tezroq 🔹 4. Qo'shimcha usullar - Gradient Checkpointing — xotira 4x kam (+30% vaqt) - Mixed Precision (BF16) — 2x kam, 2x tez - GQA — Llama, GPT-4 da ishlatiladi 🎯 Xulosa - O(n²) — uzun matn uchun fizik to'siq - Sparse → Longformer/BigBird (kam juftlik) - Linear → Performer (matematik qayta yozish) - FlashAttention → 5-10x bepul tezlash - GQA + BF16 + Checkpointing → barcha LLM'da 💡 GPT-4, Claude, Llama 3 — bir nechta tekniklarni birga ishlatadi: GQA + FlashAttention + BF16 + KV-cache. Endi 128K, 1M tokenli kontekst qanday ishlashini tushunasiz! 🤝 YouTube: 🎥 Havola 🖥️ Colab: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
286
10
📌 7.4-dars: Graph Neural Networks (GNN) — Graf shaklidagi ma'lumotlar 🎯 Deep Learning Mathematics — @EldorML Oldingi darsda Diffusion Models va shovqin (noise)dan rasm yaratish haqida gaplashdik. Endi savol: ❓ Agar ma'lumot rasm ham, matn ham emas, balki graf bo'lsa-chi? ❓ Facebook "Siz tanishingiz mumkin", Google Maps trafik, AlphaFold — qanday ishlaydi? Javob: barchasi Graph Neural Networks asosida. 🔹 1. Asosiy savol CNN — rasmlar uchun (regular grid) Transformer — matn uchun (sequence) GNN — graflar uchun (irregular structure) Misollar: • Ijtimoiy tarmoq: odamlar (tugun) + do'stlik (qirra) • Molekula: atomlar + bog'lanishlar • Yo'l xaritasi: shaharlar + yo'llar • Tavsiya: foydalanuvchi-mahsulot "GNN — bu CNNning umumlashtirilgan versiyasi: 'qo'shni piksellar' o'rniga 'qo'shni tugunlar' bilan ishlaydi." 🔹 2. Adjacency Matrix — grafni raqamlarda Kim kim bilan bog'langanini matritsa orqali ifodalaymiz: Ali Vali Soli Rustam Ali [ 0 1 1 0 ] Vali [ 1 0 0 1 ] Soli [ 1 0 0 1 ] Rustam [ 0 1 1 0 ] 🟢 Diagonal nol — tugun o'ziga bog'lanmagan 🟢 Simmetrik — yo'naltirilmagan grafda Self-loop qo'shamiz: A_tilde = A + I Sababi: tugun aggregate paytida o'z xususiyatini ham saqlashi kerak. 🔹 3. Message Passing — GNNning yuragi Uch qadam: 1) MESSAGE — har tugun qo'shnilariga "xabar" yuboradi 2) AGGREGATE — har tugun olgan xabarlarni birlashtiradi (sum/mean/max) 3) UPDATE — neyron tarmoq orqali yangi xususiyat hisoblanadi Hayotiy o'xshatish — gap-tarqalish: Boshida: faqat Ali biladi 1 qadam: Ali → Vali, Soli ham biladi 2 qadam: Vali, Soli → Rustam ham biladi 💡 Eng muhim xulosa: K marta message passing = har tugun K-uzoqlikdagi qo'shnilardan ma'lumot oladi degani. 🔹 4. GCN formulasi H^(k+1) = sigma( A_hat · H^(k) · W^(k) ) Bu yerda: A_hat = D^(-1/2) · A_tilde · D^(-1/2) Qadamma-qadam: • A_tilde · H — qo'shnilar yig'indisi (avtomatik aggregate) • H · W — linear transform (CNNdagi filter o'xshashi) • D^(-1/2) bilan ko'paytma — normalizatsiya • sigma — ReLU yoki SiLU 🔹 5. Normalizatsiya nima uchun? Muammo: ba'zi tugunlarda 1000+ qo'shni (mashhur odam), ba'zilarida 5 ta. Sodda yig'indida: Mashhur odam → katta qiymat Oddiy odam → kichik qiymat Bu adolatsiz — mashhur tugunlar dominantlik qiladi. Yechim: degree bilan bo'lish: h_i_new = sum( h_j / sqrt(d_i · d_j) ) Endi har kimning ma'lumoti bir xil masshtabda. 🔹 6. K qatlam = K-uzoqlik 1 qatlam → bevosita qo'shnilar 2 qatlam → qo'shnining qo'shnisi K qatlam → K-uzoqlik ⚠️ Lekin 5+ qatlam — over-smoothing muammosi: barcha tugunlar bir xil bo'lib qoladi. Boshida: 10 qatlamdan keyin: Ali = [1, 0] Ali = [0.4, 0.4] Vali = [0, 1] Vali = [0.4, 0.4] Soli = [1, 1] Soli = [0.4, 0.4] → HAMMASI BIR XIL! Optimal: 2-3 qatlam. 🔹 7. GNN vazifa turlari Node-level — har tugun uchun bashorat Misol: spam akkauntmi? qaysi guruh? Edge-level — qirra bo'ladimi? Misol: do'st tavsiyasi (link prediction) Graph-level — butun graf uchun Misol: molekula zaharlimi? 🎯 Yakuniy xulosa • Graf = tugunlar + qirralar (adjacency matrix bilan ifoda) • Message passing: message → aggregate → update • GCN formula: H' = sigma(A_hat · H · W) — qo'shnilar yig'indisi + linear + ReLU • Normalizatsiya: degree bilan bo'lish (mashhur tugunlar dominatsiya qilmasin) • 2-3 qatlam optimal, 5+ qatlam over-smoothing keltiradi • GNN istalgan o'lchamdagi grafda ishlaydi (permutation invariant) 💡 AlphaFold (protein), Google Maps (trafik), Pinterest (tavsiya), Facebook ("siz tanishingiz mumkin") — barchasi GNN asosida. Biz har kuni GNN dan foydalanamiz, lekin uni ko'rmaymiz. 🤝 YouTube dars: 🎥 Havola 🖥️ Colab notebook: 📂 Havola 📘 Barcha darslar: Havola 🚨 Videolar jonli yozilgan. Matematik izohlarda xatolar bo'lishi mumkin. Oldindan uzr so'rayman 🙏 @EldorML
267