📥 PDF İndir (tek dosya, 516 sayfa)

Pratik Derin Öğrenme — fast.ai (Jeremy Howard)’dan

ML Builder için Türkçe Notlar

Yazar

Phase 2

Yayınlanma Tarihi

2026-06-07

1 Bu kitap nedir?

Bu, Jeremy Howard — Practical Deep Learning for Coders (fast.ai) ders serisinin Türkçe ders notlarıdır. Hedef, videoları izlerken paralel okunabilecek; sonradan tek başına da yeterli olabilecek bir referans seti üretmek.

Serinin tek bir pedagojik iddiası var: derin öğrenme önce çalıştırılarak öğrenilir. İlk derste lineer cebir veya calculus gözden geçirmeyiz — doğrudan çalışan bir görüntü sınıflandırıcı eğitiriz, “neden” ve “nasıl”ı sonra, ihtiyaç duydukça açarız. Howard’ın sözüyle: “First you’ll learn to be very very good at actually building and deploying models. And you will learn why and how things work as you need.” Bu top-down yaklaşım, sporu öğrenme biçimimizi taklit eder: önce bütün oyunu göster, sonra parçaları bir araya getir.

Her bölüm bir Builder Notu katmanı taşır: kavramın hem geriye (Karpathy’nin sıfırdan kurduğu çekirdek, 6.S191, Stat 110, 18.06) hem de ileriye (production, deployment, modern diffusion) köprüsü. fast.ai’nin fine_tune’unun altında Karpathy’nin elle kurduğu autograd/backprop yatar; bu seriyi onunla birlikte okuyoruz: fast.ai “ne mümkün”ü gösterir, Karpathy “altında ne var”ı kazır.

NotKaynak

2 Nasıl Okumalı

Sıralı oku. Seri kümülatiftir — özellikle Part 2 (Ders 9–25) “Stable Diffusion’ı sıfırdan kur” hedefine doğru her dersi bir öncekinin üstüne yığar. Ders 1’de hazır kütüphaneyle (vision_learner, fine_tune) kullandığımız her şeyi, Part 2’de katman katman kendi elimizle yeniden kurarız: matmul, backprop, Learner, optimizer, ResNet, U-Net, attention, VAE — ta ki latent diffusion (gerçek Stable Diffusion) çıkana dek.

Howard’ın önerdiği akış: önce videoyu izle, sonra ilgili dersi oku, en sonunda kodu kendin çalıştır. Bu set videoyu destekler, ikame etmez.

İpucuPratik bir tavsiye

Her bölüm sonundaki egzersizleri atlama. Howard’ın felsefesi: bir şeye başla, ilginç bulduğun bir şey yap, paylaş. Ders 1’den sonra kendi iki sınıfını seçip (kedi/köpek, elma/armut) notebook’u baştan çalıştırmak, dersin tamamını içselleştirmenin en hızlı yoludur. “Önce çalıştır, sonra anla.”

3 27 Ders

Seri iki parçadır. Part 1 (Ders 1–8) uygulamalı derin öğrenme: görüntü, NLP, tablo, öneri sistemleri. Part 2 (Ders 9–25) “Foundations to Stable Diffusion”: her parçayı sıfırdan kurarak modern diffusion’a tırmanır.

# Ders Ana Fikir
1 Başlangıç (Is it a bird?) Çalışan görüntü sınıflandırıcı; top-down öğrenme + transfer learning
2 Dağıtım (Deployment) Veri temizleme, export, Hugging Face Spaces + Gradio
3 Sinir ağı nasıl çalışır Gradient descent; bir model = parametreli fonksiyon
4 NLP & Hugging Face Transformer’larla metin sınıflandırma; ULMFiT mirası
5 Sıfırdan model Doğrusal model + sinir ağını elle kur (Titanic)
6 Random Forests Karar ağaçları, bagging; klasik ML hâlâ güçlü
7 Collaborative Filtering Gömü (embedding) tabanlı öneri sistemleri
8 Convolutions (CNN) Konvolüsyon, kanal, stride; görü mimarisinin temeli
9 Stable Diffusion Part 2 başlar: pipeline’ı yüksek seviyede çalıştır
9A SD Deep Dive (Whitaker) CLIP, VAE, U-Net, scheduler parça parça
9B Diffusion Matematiği Forward process, reparameterization (ilk LaTeX-yoğun ders)
10 Matmul Temelleri 01_matmul: 3-döngüden broadcasting’e
11 Broadcasting & Makale Okuma Broadcasting kuralları; arXiv/DiffEdit okuma
12 einsum / CUDA / meanshift einsum, @, GPU; clustering
13 Backprop (MLP) 03_backprop: ileri/geri geçiş elle (Karpathy köprüsü)
14 Backprop (nn.Module) Refactor: Module deseni doğar
15 Convolutions & Autoencoder im2colF.conv2d; encoder/decoder
16 Learner & Callbacks (miniai) 09_learner: eğitim döngüsü + callback mimarisi
17 Aktivasyonlar & Başlatma Xavier/Kaiming init, BatchNorm (Karpathy makemore 3)
18 Hızlandırılmış SGD & ResNet Momentum→Adam, 1-cycle, ResBlock skip
19 DDPM (Sıfırdan Diffusion) 15_DDPM: forward/reverse, \(\varepsilon\)-tahmini (math zirvesi)
20 Mixed Precision & Style Transfer autocast/GradScaler; içerik/stil kaybı
21 CIFAR / W&B / FID / DDIM Deney takibi, FID metriği, DDIM örnekleyici
22 Cosine & Karras Scheduler cosine \(\bar\alpha(t)\), Karras sürekli \(\sigma\)
23 Super-Resolution 25_superres: koşullu üretim, perceptual loss
24 Attention 27_attention: self/cross-attention (Karpathy nanoGPT köprüsü)
25 VAE & Latent Diffusion 29_vae + latent diffusion = gerçek Stable Diffusion (halka kapanır)

Not: Phase 2 pilotu Ders 1 (Başlangıç) ile başlar. Dersler 2–25 aynı şablonla eklenecektir.

4 Notasyon

Part 1 büyük ölçüde matematik-hafiftir; ağırlık Part 2’de gelir (özellikle Ders 9B ve 19+). Sık geçen birkaç gösterim:

  • Tensör: çok boyutlu sayı dizisi — bir RGB görüntü \(H \times W \times 3\) boyutludur (Ders 1).
  • Olasılık çıktısı: softmax’ın ürettiği sınıf dağılımı; toplamı 1 (kuş + orman = 1).
  • Pretrained ağ + fine_tune: ImageNet’te eğitilmiş ağırlıklardan başlayıp kendi verine uyarlama (transfer learning).
  • Gradient descent (Ders 3+): \(p \leftarrow p - \eta \, \partial L/\partial p\) — kaybın gradyanı yönünde küçük adım.
  • \(\varepsilon\)-tahmini (Ders 19): diffusion modelinin eklenen gürültüyü tahmin etmesi; kayıp \(\text{MSE}(\varepsilon, \varepsilon_\theta)\).

Tüm matematik MathJax 3 ile render ediliyor.

5 Builder Eksen — fast.ai (top-down) ↔︎ Karpathy (bottom-up)

İpucuHer ders bu bağlantı katmanını taşır
fast.ai (kullan, sonra kur) Altında ne var (Karpathy / temel kurslar)
vision_learner + fine_tune nn.Module + autograd + optimizer (Karpathy micrograd→makemore)
Görüntü = tensör matris-vektör yapısı (18.06), CNN girdisi (6.S191 Ders 3)
Pretrained öznitelik dedektörleri öğrenilen ağırlıklar (Zeiler-Fergus); fonksiyon bileşkesi (zincir kuralı)
Olasılık çıktısı (softmax) kategorik dağılım (Stat 110)
DataBlock / DataLoaders veri pipeline disiplini (production gerçeği)
fine_tune’un altındaki gradient backprop = calculus zincir kuralı (Part 2’de elle kurulur)
Stable Diffusion’ı kullan (Ders 9) Stable Diffusion’ı kur (Ders 11–25: U-Net, attention, VAE, latent)
ÖnemliBir tek şey

Derin öğrenmenin gücü artık özel matematik veya pahalı donanımda değil; veriyi doğru biçimde modele sokup hazır bir ağı kendi problemine ince ayarlamakta yatar. fast.ai bunu önce çalıştırarak öğretir; perdenin arkasındaki saf PyTorch ve matematik, kurs derinleştikçe — ve Karpathy serisinde satır satır — açılır.

6 Yazım Kuralları

  • Türkçe terminoloji + parantez içinde İngilizce orijinal ilk geçtiğinde: “ince ayar (fine-tuning)”, “öznitelik (feature)”, “doğrulama kümesi (validation set)”.
  • Howard’dan alıntılar İngilizce orijinal hâliyle, blockquote içinde, zaman damgasıyla verilir.
  • Builder Notu callout’ları her ana bölüm sonunda; ML köprüsünü (geriye + ileriye) buraya yazıyoruz.
  • fast.ai/PyTorch kodu (Howard’ın notebook’ta yazdığı search_images, DataBlock, vision_learner, fine_tune) görünür python bloklarındadır — pedagojik olarak okunmak içindir, render sırasında çalıştırılmaz. Figürler ise sentetik/illüstratif verilerle matplotlib üreten executable hücrelerdir.
  • Kontrol Soruları collapse’lu — cevap kapalı başlar, okur kendi düşündükten sonra açar.
  • Egzersizler cevapsız — Howard’ın “bir şeye başla” çağrısını izler.
UyarıBu kitap Howard’ın yerine geçmez

Tek başına bu set yetmez — Howard’ın canlı kodlama anlatımının ve sezgisinin yerine geçemez. Önce videoyu izle, sonra ilgili dersi oku, son olarak kodu kendin çalıştır. Set videoyu destekler, ikame etmez.