15  Yapılandırılmış Tahmin ve Düzenlileştirme

İki parçalı final hafta — Yann LeCun son Lecture’ında yapılandırılmış tahmini (structured prediction) kursun büyük çatısı altında toplar: çıktı tek bir kategori değil kombinatoryal bir nesne (cümle, sembol dizisi) olduğunda olası çıktıları sıralayamazsın, çözüm enerjiyi faktörlerin toplamı olarak yazmaktır (faktör grafiği, Hafta 13’ün enerjili hâli), çünkü o zaman en düşük enerjili konfigürasyonu bulmak tüm kombinasyonları denemek değil bir trellis grafında en kısa yolu bulmaktır (dinamik programlama, Viterbi, kaba kuvvet 96 değerlendirme yerine 16); ardından ağın durumunu bir tensör değil bir graf yapan Graph Transformer Network’ü kurar ve bunun daha 1997’de attention’dan yirmi yıl önce transformer adını taşıyan basit bir graph neural net olduğunu söyler (Viterbi seçicileri max-pooling gibi anahtarlar, backprop dinamik graf boyunca akar); sonra kayıpları Hafta 11 çerçevesiyle birleştirir (perceptron marjsız çöker, hinge marjla iter, NLL logsumexp tüm yolları marjinalleştirir, perceptron NLL’in beta sonsuz limitidir); ve dersin doruğunda gizli değişkeni marjinalleştirmenin Jensen eşitsizliğiyle bir üst sınıra çevrildiğini, bu üst sınırın fizikteki serbest enerji F eşittir ortalama enerji eksi sıcaklık çarpı entropi olduğunu, ve VAE’nin tam olarak bu olduğunu (rekonstrüksiyon artı KL/entropi) gösterir — kursu tek bir enerji fikrinin etrafında kapatır. Ardından Alfredo Canziani son Practicum’unda pratik soruya iner: bu güçlü aşırı-parametrize modeller veriyi ezberler (overfitting, gürültüden doğar — gürültü olmasa aşırı model bile mükemmel parabolü çizerdi), nasıl ehlileştiririz? L2 weight decay ağırlık uzunluğunu kısaltır (Gauss priori), L1 seyreklik eksen-yakını bileşenleri öldürür (Laplace priori), dropout sonsuz ağ topluluğunu eğitir, BatchNorm ve data augmentation düzenler; ve belirsizlik için MC Dropout dropout’u çıkarımda açık bırakıp varyansı ölçer — bu varyans türevlenebilir olduğundan minimize edilebilir, ki bu tam olarak Hafta 11’in PPUU belirsizlik düzenlileştirmesidir, kursu başladığı yere, enerjiye ve belirsizliğe geri döndüren halka.

NotBölüm bilgisi (LeCun SON Lecture + Canziani SON Practicum)

⚠️ Atıf notu: Bu hafta konuk yoktur — Lecture’ı asıl ders sahibi Yann LeCun verir (kursun son Lecture’ı), Practicum’u Alfredo Canziani (kursun son Practicum’u). Bölüm 1-3 quote’ları — LeCun; Bölüm 5-7 quote’ları — Canziani. (Bu, Hafta 8/10/12/13’teki konuk-hoca düzeltmelerinin aksine, başlıkların gerçekten ## (LeCun) olduğu derstir.)

15.1 Bu Derste Ne Var?

İki parça ve ikisi de bir final: Yann LeCun son Lecture’ında yapılandırılmış tahmini (structured prediction) anlatıp tüm kursu tek çatı altında toplar — enerji-tabanlı faktör grafikleri, Graph Transformer Network, ve büyük sentez olarak varyasyonel serbest enerji (VAE’nin gerçek açıklaması); Canziani son Practicum’unda overfitting ve düzenlileştirmeyi işleyip belirsizlik kestirimiyle Hafta 11’in PPUU’suna geri bağlanır.

LeCun’un büyük mesajı: kursun her parçası — sınıflandırma, EBM, autoencoder, dizi modeli, attention, GCN — aslında tek bir fikrin farklı yüzleridir: bir enerji fonksiyonu tasarla, doğru cevabı bastır, yanlışları (marjla) yukarı it, gerektiğinde gizli değişkenleri marjinalleştir. Bu marjinalleştirme, fizikten gelen serbest enerji (\(F = \langle E \rangle - T \cdot H\)) ile aynıdır — ve VAE tam budur.

Üç ana fikir:

  1. Yapılandırılmış tahmin = faktörlü EBM. Enerji, alt-değişken kümelerine dokunan faktörlerin toplamıdır; çıkarım üstel değil, en kısa yol (dinamik programlama) ile verimlidir.
  2. Graph Transformer Network (1997): ağın durumu bir graftır; ilk “transformer” buydu, LeCun’a göre basit bir graph neural net (Hafta 13’e geri bağ).
  3. Varyasyonel serbest enerji = VAE. Gizli değişkeni marjinalleştirmek = \(\langle E \rangle - T \cdot H\)’yi minimize etmek (Jensen); VAE’nin “rekonstrüksiyon + KL” kaybı tam budur.

flowchart TB
    Hafta["Hafta 14 — Yapılandırılmış Tahmin ve Düzenlileştirme<br/>(LeCun SON Lecture + Canziani SON Practicum)"]

    subgraph A["(A) LeCun SON: enerji çatısı sentezi"]
        direction TB
        YapTahmin["Yapılandırılmış tahmin = faktörlü EBM<br/>(çıktı = kombinatoryal nesne)"]
        Trellis["Trellis en-kısa-yol = DP<br/>(Viterbi; kaba kuvvet 96 yerine 16)"]
        GTN["Graph Transformer Network 1997<br/>(ilk transformer = basit GNN, Hafta 13)"]
        Kayip["Kayıp taksonomisi<br/>(perceptron collapse · hinge marj · NLL logsumexp)"]
        Sentez["BÜYÜK SENTEZ: marjinalleştirme = serbest enerji<br/>F = ort. enerji − T·entropi = VAE"]
        YapTahmin --> Trellis
        Trellis --> GTN
        GTN --> Kayip
        Kayip --> Sentez
    end

    subgraph B["(B) Canziani SON: düzenlileştirme + belirsizlik"]
        direction TB
        Overfit["Overfitting (gürültüden doğar)<br/>aşırı-parametrize → kolay optimizasyon"]
        Duzen["Düzenlileştirme<br/>(L1 seyrek · L2 uzunluk · dropout ensemble · BatchNorm)"]
        MCDropout["MC Dropout belirsizlik<br/>(varyans = belirsizlik, türevlenebilir)"]
        PPUU["Hafta 11 PPUU<br/>(KURSU KAPATAN HALKA)"]
        Overfit --> Duzen
        Duzen --> MCDropout
        MCDropout --> PPUU
    end

    Hafta --> YapTahmin
    Hafta --> Overfit
    Ortak["Ortak kapanış: enerji + belirsizlik<br/>kurs başladığı yere döner"]
    Sentez --> Ortak
    PPUU --> Ortak

İpucuBuilder Notu — Giriş: Tek Enerji Çatısının Altında Tüm Kurs

Geriye: EBM/kayıp/marj → Hafta 7-9 + 11; faktör grafiği → Hafta 13; VAE → Hafta 8; Lagrangian backprop → Hafta 2/5.

İleriye: Yapılandırılmış EBM → LeCun JEPA; serbest enerji → diffusion models (post-2020, §İleriye Köprü); MC Dropout → güvenli RL, kalibrasyon.

Tek cümleyle: Yapılandırılmış tahmin, enerjinin faktörlere ayrıştığı bir EBM’dir (verimli en-kısa-yol çıkarımı, Graph Transformer Network = ilk transformer = basit GNN); ve tüm kursun sentezi olarak gizli-değişken marjinalleştirmesi = varyasyonel serbest enerji (\(\langle E \rangle - T \cdot H\)) = VAE — Canziani ise overfitting’i düzenlileştirme ve belirsizlikle (MC Dropout = PPUU) bağlar.

15.2 (LeCun) Yapılandırılmış Tahmin: Faktör Grafikleri ve Verimli Çıkarım

LeCun son dersine yapılandırılmış tahminle başlar: çıktının tek kategori değil, kombinatoryal nesne (cümle, sembol dizisi) olduğu problem — konuşma/el yazısı tanıma, çeviri.

“structure prediction is the problem of predicting a variable that is not just a single category but basically a sort of combinatorial object.” — LeCun, 0:38

Olası çıktıları sıralayamazsın (üstel/değişken uzunluk). Anahtar fikir: enerjiyi faktörlerin toplamı olarak yaz — her faktör yalnız değişkenlerin bir alt kümesine dokunur (faktör grafiği; Hafta 13 grafının enerjili hâli). O zaman en düşük enerjili konfigürasyonu bulmak için tüm kombinasyonları denemek (üstel) gerekmez: yerel yapı sayesinde bu, bir trellis (kafes) grafında en kısa yola indirgenir — dinamik programlama.

“finding the lowest energy configuration simply consists in finding the shortest path in this graph.” — LeCun, 22:52

Şekil 15.1 bunu GERÇEK rakamla gösterir: bir trellis grafında her sütun bir adım, her satır bir durumdur; faktörlü enerji sayesinde en düşük-enerjili konfigürasyon (kalın gold yol) tüm kombinasyonları denemek yerine dinamik programlamayla bulunur. Örnek: 2 ikili + 1 ikili + 1 üçlü değişken için kaba kuvvet 96 enerji-değerlendirmesi ister; faktörleme bunu 16’ya düşürür. Eğitim Hafta 7-11’in aynısı: doğru cevabın (\(y\)) enerjisini bastır, yanlışlarınkini yukarı it (latent \(z\) = trellis yolu). Konuşmada bu Dynamic Time Warping’dir (CTC’nin atası, Hafta 11).

Şekil 15.1: GERÇEK trellis en-kısa-yol (Viterbi / dinamik programlama) — faktörlü enerji çıkarımı. [T=6 adım × S=3 durum] tekil enerjiler (unaries) + geçiş enerjisi (pair_cost, köşegen ucuz = süreklilik) verilir; trellis_shortest_path motoru en düşük-enerjili yolu (kalın gold) ve değerlendirme sayılarını döner. İnce gri kenarlar tüm olası geçişler, kalın gold yol = en kısa yol; her düğümde tekil enerji yazılı. Kaba kuvvet S^T = 3^6 = 729 yol yerine DP T·S² = 54 değerlendirme; Notion örneği 96 → 16 (LeCun 22:52): faktörlü yapı üstel aramayı lineere indirir.
İpucuBuilder Notu — Faktörlü Enerji ve En-Kısa-Yol = DP

Geriye (Hafta 7-11 + 13): Enerji + push-down/up = Hafta 7-9, 11; faktör grafiği = Hafta 13 (graf, enerjili); DTW/CTC = Hafta 11; trellis = DP (en kısa yol).

İleriye: Faktörlü enerji + verimli çıkarım = CRF, HMM, yapısal SVM; modern dizi modellerinin (CTC, beam search) teorik temeli.

15.3 (LeCun) Graph Transformer Network: İlk “Transformer” (1997) = Basit GNN

LeCun derin öğrenme bağlamına taşır: ya faktörleri derin ağ yap, ya da daha radikal — ağın durumu (state) bir graf olsun. El yazısı tanımada: segmentasyon grafı (mürekkep bloklarını karakterlere gruplama yolları) → her yol bir ConvNet’ten geçer → yorum grafı (her ok bir karakter + enerji) → Viterbi (en kısa yol = min enerji) → tanıma. Bu dinamik graf boyunca backprop yapılır (Viterbi/yol-seçiciler = max-pooling gibi anahtarlar: seçilen kenara gradyan kopyala, diğerine sıfır). Şekil 15.2 bu akışı uçtan uca resmeder.

“you can think of this as a simple form of graph neural net… we used to call these graph transformers… this is from 1997.” — LeCun, 1:07:28

Yani “transformer” terimi sinir ağlarında 1997’de (attention’dan 20 yıl önce) bu graf-dönüştürücüler için kullanıldı; ve LeCun’a göre GTN, Hafta 13’ün graph neural net’inin erken hâlidir — ağ tensör yerine graf manipüle eder. Yapı her örnekte değiştiğinden (dinamik) PyTorch gibi araçlar kritiktir.

Şekil 15.2: Graph Transformer Network (1997) — ilk ‘transformer’ = basit graf-dönüştürücü zinciri. Soldan sağa akış: girdi ‘mürekkep’ (el yazısı) → SEGMENTASYON GRAFI (karakterlere gruplama yolları, düğümler) → ConvNet (her aday yol) → YORUM GRAFI (her ok = karakter + enerji) → VİTERBİ (en-kısa-yol = min enerji, kalın gold yol) → tanıma çıktısı; altta backprop oku dinamik graf boyunca geri akar. Viterbi yolu GERÇEK DP ile hesaplanır. ‘transformer’ terimi 1997’de bu graf-dönüştürücüler için kullanıldı (attention’dan 20 yıl önce); LeCun: GTN = basit GNN (Hafta 13); Viterbi = max-pooling gibi anahtar (LeCun 1:07).
İpucuBuilder Notu — GTN = 1997 İlk Transformer

Geriye (Hafta 13 + 5): GTN = basit GNN (Hafta 13); switch/min-pooling backprop = Hafta 5 autograd; dinamik graf = örnek-başına değişen yapı.

İleriye: GTN = differentiable programming’in erken örneği; modern decoder’lar (konuşma) bu fikrin torunu.

15.4 (LeCun) Yapılandırılmış Kayıplar ve Büyük Sentez: Varyasyonel Serbest Enerji = VAE

LeCun kayıpları Hafta 11 çerçevesiyle birleştirir: perceptron kaybı (\(E(y) - E(\hat{y})\), doğru cevap \(y\), en düşük enerjili \(\hat{y}\)) marjsızdır → çökebilir; yalnız lineer parametrizasyonda çalışır.

“the bad news is it doesn’t have a margin… it might just collapse, make every energy zero or the same.” — LeCun, 1:00:48

Hinge (en-çok-suç-işleyen \(\bar{y}\) ile, marj) ve NLL (logsumexp = “forward” algoritması, tüm yollar üzerinde marjinalleştirme) iyidir; perceptron = NLL’in \(\beta \to \infty\) limitidir (Hafta 11 callback). Forward algoritması = belief propagation’ın zincir-graf özel hâli. Şekil 15.3 bu üç kaybı tek eksende karşılaştırır: perceptron’un \(\text{gap}=0\)’daki marjsız köşesi (collapse riski), hinge’in \(m=1\) marjı, ve NLL’in yumuşak logsumexp eğrisi.

Ve dersin — ve kursun — doruğu: gizli değişkeni marjinalleştirme (\(F_\beta = -\tfrac{1}{\beta} \log \sum_z e^{-\beta L}\)) doğrudan hesaplanamaz, ama Jensen eşitsizliğiyle üst sınıra çevrilir:

\[ L(x,y) \le \mathbb{E}_{q(z)}[L(x,y,z)] - \frac{1}{\beta} H(q) \]

Bu, fizikteki serbest enerjidir: \(F = \langle E \rangle - T \cdot H\) (ortalama enerji − sıcaklık × entropi). Şekil 15.4 bu dengeyi GERÇEK rakamla resmeder: \(q\) dağılımının std’si \(\sigma\) büyüdükçe entropi terimi (\(-T \cdot H\)) düşer ama beklenen enerji (\(\langle E \rangle = \tfrac{1}{2}\sigma^2\)) yükselir; ikisinin toplamı \(F\)’nin tek bir minimumu (denge) vardır.

“what we’re minimizing now is a free energy… the average energy minus the temperature times the entropy… when you think about variational autoencoders, that’s just what they do.” — LeCun, 2:02:25

Yani VAE (Hafta 8) tam budur: beklenen rekonstrüksiyon hatasını minimize et (\(z\)’yi Gauss \(q\)’dan örnekle) + KL terimi = \(q\)’nun entropisini maksimize et. \(q\) = gerçek posterior olduğunda eşitsizlik eşitlik olur. “Latent değişkeni, gerçekten marjinalleştirmeden marjinalleştirmek.” (LeCun ayrıca backprop’u Lagrangian kısıtlı-optimizasyon olarak — \(\lambda\) = momentum — ve Neural ODE’yi türetir; backprop’un 1988 kökü.)

Şekil 15.3: GERÇEK kayıp taksonomisi — marjlı EBM kayıpları (Bölüm 3). gap = E(ȳ) − E(doğru) ekseninde üç kayıp: perceptron max(0,−gap) (gold, MARJSIZ → gap=0’da köşe, collapse riski), hinge max(0,1−gap) (violet, marj m=1), NLL log(1+e^(−gap)) (koyu violet kesikli, yumuşak logsumexp). margin_losses motoru hinge+perceptron’u üretir. Perceptron marjsız → çöker (lineer-only, LeCun 1:00); hinge marj iter; NLL = logsumexp tüm yolları marjinalleştirir; perceptron = NLL’nin β→∞ limiti (Hafta 11 köprüsü).
Şekil 15.4: GERÇEK varyasyonel serbest enerji F = ⟨E⟩ − T·H — VAE dengesi (Bölüm 3, dersin doruğu). q = N(0,σ) latent, enerji E(z)=½z². σ ekseninde üç eğri: ⟨E⟩=½σ² (gold, artan beklenen enerji), −T·H (orta violet kesikli, azalan entropi terimi), F=⟨E⟩−T·H (kalın violet, U-şekli MİNİMUM = denge). free_energy_curve motoru ⟨E⟩/H/F’yi üretir; minimum nokta işaretli. F = ⟨E⟩ − T·H (Jensen üst sınırı); σ büyük → entropi↑ ama ⟨E⟩↑ → DENGE; VAE = beklenen rekonstrüksiyon (⟨E⟩) + KL/entropi; T = Hafta 11 sıcaklık (LeCun 2:02).
İpucuBuilder Notu — Serbest Enerji = VAE (Perceptron Çöker)

Geriye (Hafta 8 + 11): Serbest enerji = Hafta 8 VAE’nin (ELBO) gerçek açıklaması; \(\langle E \rangle - T \cdot H\)’deki \(T\) = Hafta 11 softmax sıcaklığı (\(\beta = 1/T\)); perceptron-collapse = Hafta 11 enerji-kaybı collapse.

İleriye: Varyasyonel serbest enerji = tüm üretici modellerin (VAE, diffusion) ortak çatısı; “marjinalleştirmeden marjinalleştir” = modern olasılıksal çıkarımın kalbi.

15.5 (İleriye Köprü) Diffusion Models ve JEPA (post-2020) — KURSTA YOK

LeCun (Mart 2020) yapılandırılmış EBM’yi, serbest enerjiyi ve VAE’yi anlatır. Bu enerji/varyasyonel çatının doğrudan ürünleri DLSP20’den sonra olgunlaştı, kursta YOKTUR:

Uyarıİleriye Köprü Notu (post-2020 — KURSTA YOK)
  • Diffusion models (DDPM, Haz 2020; score-based) — enerji/skor-tabanlı üretici modelleme + varyasyonel sınır (ELBO = bu haftanın serbest enerjisi); bugünün görüntü/video üreticilerinin (Stable Diffusion, Sora) temeli.
  • JEPA / I-JEPA / V-JEPA (LeCun grubu, 2022-2024) — yapılandırılmış-tahmin + EBM + dünya-modeli programının bugünkü zirvesi; piksel yerine temsil uzayında enerji.

Kurs terimi gibi eklenmez; “enerji + marjinalleştirme = serbest enerji” temelinin nereye vardığını göstermek için anılır.

İpucuBuilder Notu — Enerji Çatısının Post-2020 Zirvesi

Geriye (Hafta 14 + 8): Diffusion = bu haftanın serbest-enerji/ELBO’sunun + Hafta 8 VAE’sinin devamı; JEPA = LeCun’un tüm kurs boyunca tohumladığı EBM programının sentezi.

İleriye: Score/energy-based üretim + varyasyonel sınır, 2020-sonrası üretici yapay zekânın tanımı.

15.6 Geçiş: LeCun’dan Canziani’ye

LeCun kursu tek bir enerji/serbest-enerji çatısı altında topladı. Şimdi Canziani son practicum’unda pratik soruya iner: bu güçlü (aşırı-parametrize) modeller veriyi ezberler (overfit); nasıl ehlileştiririz? Düzenlileştirme ve belirsizlik — ve sonunda Hafta 11’in PPUU’suna geri bağlanarak kursu kapatır.

15.7 (Canziani) Overfitting ve Neden Aşırı-Parametrize Ederiz

Canziani üç rejimi gösterir: underfitting (model < veri karmaşıklığı), doğru-fitting (eşit), overfitting (model > veri → “tel gibi” kıvrımlı). Kritik içgörü: overfitting gürültüden doğar — gürültü olmasa aşırı model bile mükemmel parabolü çizerdi. Şekil 15.5 bunu GERÇEK polinom fit’le gösterir.

“without noise this would be just a perfect parabola… the point is there is always some noise.” — Canziani, 5:39

Neden bilerek aşırı-parametrize ederiz? Çünkü yüksek-boyutlu uzayda optimizasyon kolaydır (manzara pürüzsüz). Pratik #1 hata-ayıklama kuralı:

“I always start training my network on one batch… this is the number one rule to debug machine learning code.” — Canziani, 8:36

(Tek batch’i ezberleyemiyorsa kodda hata var.) Ek içgörü: parametre uzayı ≠ fonksiyon uzayı — ağırlıkları permüte et, parametreler değişir ama fonksiyon aynı kalır.

Şekil 15.5: GERÇEK overfit rejimleri (Canziani 5:39) — gürültülü parabole 3 dereceden polinom fit. overfit_regimes motoru gürültülü veri + derece-1/2/11 fit’leri üretir. derece-1 (gri kesikli, UNDERFIT düz), derece-2 (kalın violet, DOĞRU parabol), derece-11 (koyu gold, OVERFIT ‘tel gibi’ salınım, gürültü ezber); ince gri kesikli = gerçek parabol 0.4x²−0.5 (gürültüsüz); gold noktalar = gürültülü eğitim verisi. Aşırı öğrenme GÜRÜLTÜDEN doğar: gürültü yoksa aşırı model bile mükemmel parabolü bulur (Canziani 5:39); derece↑ → eğitim noktalarını ezberler, aralarda salınır.
İpucuBuilder Notu — Overfit = Gürültü

Geriye (Hafta 1-2): Aşırı-parametrize = kolay optimizasyon (Hafta 2 SGD manzarası); overfit-one-batch = pratik bilgelik; parametre↔︎fonksiyon uzayı = simetri/permütasyon.

İleriye: “Önce aşırı-parametrize, sonra düzenlile” = modern derin öğrenmenin standart reçetesi; double descent.

15.8 (Canziani) Düzenlileştirme: L1, L2, Dropout, BatchNorm

Üç tanım: parametre priori, fonksiyon kısıtı, veya genelleme hatasını azaltan herhangi bir değişiklik. Teknikler:

  • L2 = weight decay = ridge = Gauss priori: \(J + \lambda \|\theta\|^2\); gradyan → \(\theta - \eta\lambda\theta\) → ağırlıkları sıfıra çeker (uzunluğu kısaltır).
  • L1 = Lasso = Laplace priori = seyreklik: \(J + \lambda \|\theta\|_1\); gradyan → \(\text{sign}(\theta)\); eksenlere yakın bileşenleri öldürür (seyreklik).

“L1 will quickly kill components that are close to the axis.” — Canziani, 27:03

  • Dropout: nöronları rastgele (\(p=0.5\)) sıfırla → tek ezber yolu kalmaz; aslında sonsuz ağ topluluğu (ensemble) eğitip çıkarımda ortalamak (çıkarımda kapat, ağırlıkları \(1/(1-p)\) ölçekle); girdiye uygulanırsa denoising AE (Hafta 7-8).

“you can think of dropout as training an infinite number of networks… average out all these performances.” — Canziani, 30:37

  • Early stopping (validation artınca dur), BatchNorm (gerçek düzenleyici değil ama düzenler; her batch farklı istatistik; ImageNet hafta→gün), data augmentation (crop/jitter/flip → değişmezlik).

Şekil 15.6 L1 ve L2’nin yakınsamış ağırlıklar üzerindeki farkını GERÇEK histogramla gösterir: L1 eksen-yakını bileşenleri tam sıfıra çekip seyreklik üretirken, L2 hepsini orantılı küçültür.

Şekil 15.6: GERÇEK L1 vs L2 ağırlık dağılımı (Canziani 27:03) — yakınsamış ağırlıkların histogramı. l1_l2_weights motoru w_l1 (soft-threshold) + w_l2 (ridge) üretir. SOL ‘L1 (Lasso/seyreklik)’: violet histogram, 0’da BÜYÜK yığılma + birkaç büyük değer (seyrek), tam 0’a çekilen sayısı yazılı. SAĞ ‘L2 (weight decay/uzunluk)’: gold histogram, sıfıra yakın küçük Gauss (hepsi küçük, hiçbiri tam 0 değil). L1 eksen-yakını bileşenleri ÖLDÜRÜR (sign(θ), seyreklik, Laplace priori); L2 hepsini orantılı kısaltır (θ−ηλθ, Gauss priori).
İpucuBuilder Notu — L1 Seyreklik / L2 Uzunluk

Geriye (Hafta 7-8 + 11): Dropout = ensemble + denoising AE; L2 = Hafta 11 düzenleyici terim (enerji + ceza); BatchNorm = Hafta 3/11; L1-seyreklik = Hafta 9 sparse coding ruhu.

İleriye: L1 seyreklik → öznitelik seçimi, sıkıştırma; dropout → MC Dropout belirsizliği; BatchNorm → standart.

15.9 (Canziani) Belirsizlik: MC Dropout = PPUU (Kursu Kapatan Halka)

Neden belirsizlik? Kedi-sınıflandırıcısına su aygırı gösterirsen “köpek” der (emin!); direksiyon güvenilirliği; fizik (değer ± belirsizlik). Çözüm MC Dropout: dropout’u çıkarımda da açık bırak, aynı veriyi N kez geçir, tahminlerin varyansını hesapla → belirsizlik. Varyans eğitim bölgesi dışında artar. Şekil 15.7 bunu GERÇEK rakamla gösterir: belirsizlik bandı eğitim bölgesi \([-2, 2]\)’de dardır, dışında patlar.

Ve kursu kapatan halka — Hafta 11’e tam dönüş:

“this variance is a differentiable function so you can run gradient descent to minimize the variance… this is what we use for our policy in our driving scenario.” — Canziani, 1:02:35

Yani Hafta 11’de PPUU’nun “U”su (belirsizlik düzenlileştirmesi), bu haftanın MC Dropout varyansının ta kendisidir: varyans türevlenebilir, minimize et, politika güvenli manifoldda kalsın. Kurs, başladığı yere (enerji + belirsizlik) geri döner.

Şekil 15.7: GERÇEK MC Dropout belirsizliği = PPUU güvenli manifold (kursu kapatan halka, Canziani 1:02). mc_dropout_variance motoru 5 değer döner (xg, mean, std, xt, yt): her model bir öznitelik-dropout maskesiyle veriye fit edilir. Eğitim noktaları (gold), ortalama tahmin (koyu violet), ±2·σ belirsizlik bandı (açık violet fill). Band eğitim bölgesi [−2,2]’de (gold kesikli sınırlar) DAR, dışında PATLAR (GERÇEK ~32× varyans oranı). MC Dropout: dropout çıkarımda açık, N kez geçir → varyans = belirsizlik; eğitim dışı patlar; varyans türevlenebilir → minimize = Hafta 11 PPUU güvenli manifold.
İpucuBuilder Notu — MC Dropout = PPUU Halkası

Geriye (Hafta 11): MC Dropout varyansı = Hafta 11 PPUU belirsizlik düzenlileştirmesi; varyans-minimizasyonu = güvenli manifold (Hafta 9 “hacmi sınırla”).

İleriye: MC Dropout = pratik Bayesian derin öğrenme; epistemik belirsizlik = güvenli RL, aktif öğrenme, kalibrasyon.

15.10 Bu Dersin Özeti

  1. Yapılandırılmış tahmin (LeCun): faktörlü enerji; verimli çıkarım = trellis en-kısa-yol (DP); DTW/CTC.
  2. Graph Transformer Network (LeCun): ağın durumu = graf; ilk “transformer” (1997) = basit GNN (Hafta 13); switch backprop.
  3. Yapılandırılmış kayıplar (LeCun): perceptron (marjsız→collapse) vs hinge (marj) vs NLL (forward/logsumexp); perceptron = NLL \(\beta \to \infty\).
  4. Büyük sentez (LeCun): marjinalleştirme = varyasyonel serbest enerji \(F = \langle E \rangle - T \cdot H\) (Jensen); VAE tam budur (rekonstrüksiyon + KL/entropi).
  5. Overfitting (Canziani): gürültüden; aşırı-parametrize → kolay optimizasyon + 1-batch debug; parametre≠fonksiyon uzayı.
  6. Düzenlileştirme (Canziani): L2=weight decay (uzunluk), L1=seyreklik (eksen öldür), dropout=ensemble/denoising, BatchNorm, early-stop, data-aug.
  7. Belirsizlik (Canziani): MC Dropout (dropout açık, varyans) = Hafta 11 PPUU belirsizlik düzenlileştirmesi — kursu kapatan halka.
  8. Post-2020 (KURSTA YOK): diffusion models (ELBO=serbest enerji), JEPA.
ÖnemliTek Bir Cümle

Yapılandırılmış tahmin, enerjinin faktörlere ayrıştığı bir EBM’dir (verimli en-kısa-yol çıkarımı; Graph Transformer Network = 1997’nin ilk transformer’ı = basit GNN); ve kursun büyük sentezi, gizli değişkeni marjinalleştirmenin varyasyonel serbest enerji (\(\langle E \rangle - T \cdot H\)) olduğu, ki bu tam olarak VAE’dir (LeCun); Canziani ise overfitting’i düzenlileştirme (L1/L2/dropout/BatchNorm) ve MC Dropout belirsizliğiyle bağlar — ve bu belirsizlik Hafta 11’in PPUU’sunun ta kendisidir, kursu başladığı yere döndürür.

15.11 Kontrol Soruları

Cevap: Çünkü enerji faktörlerin toplamıdır ve her faktör yalnız değişkenlerin bir alt kümesine dokunur (LeCun 0:38). Bu yerel yapı sayesinde tüm kombinasyonları denemek (üstel — 96 değerlendirme) gerekmez; en düşük enerjili konfigürasyon bir trellis grafında en kısa yola indirgenir (16 değerlendirme, LeCun 22:52) — dinamik programlama. Konuşmada bu Dynamic Time Warping’dir (CTC atası, Hafta 11); latent \(z\) = grafdaki yol.

Cevap: GTN, ağın durumunun bir graf olduğu mimaridir (tensör değil). El yazısında: segmentasyon grafı → ConvNet → yorum grafı (karakter + enerji) → Viterbi (en kısa yol = min enerji). Backprop bu dinamik graf boyunca (Viterbi = max-pooling gibi anahtar). LeCun’a göre (1:07:28) “transformer” terimi sinir ağlarında 1997’de (attention’dan 20 yıl önce) bu graf-dönüştürücüler için kullanıldı; GTN, Hafta 13’ün graph neural net’inin erken hâlidir. Yapı her örnekte değişir → PyTorch kritik.

Cevap: Perceptron = \(E(y) - E(\hat{y})\); marjsızdır → tüm enerjileri eşitleyip çökebilir (LeCun 1:00:48; Hafta 11 collapse), yalnız lineer parametrizasyonda. Hinge en-çok-suç-işleyen \(\bar{y}\)’yi bir marjla yukarı iter. NLL = logsumexp (tüm yollar üzerinde marjinalleştirme = “forward”, belief propagation zincir hâli); perceptron = NLL’in \(\beta \to \infty\) (sıfır-sıcaklık) limiti. Hafta 11 kayıp taksonomisinin yapılandırılmış çıktıya uygulanması.

Cevap: Gizli değişkeni marjinalleştirmek (\(F_\beta = -\tfrac{1}{\beta} \log \sum_z e^{-\beta L}\)) zordur; Jensen ile üst sınıra çevrilir: \(L(x,y) \le \langle L \rangle_q - (1/\beta)H(q)\). Bu fizikteki serbest enerjidir: \(F = \langle E \rangle - T \cdot H\) (LeCun 2:03:06). VAE tam budur (LeCun 2:02:25): beklenen rekonstrüksiyon hatasını minimize et (\(z\) Gauss \(q\)’dan örnekle) + KL = \(q\) entropisini maksimize et. \(q\) gerçek posterior olunca eşitsizlik eşitlik — “marjinalleştirmeden marjinalleştirmek.” Hafta 8 VAE’sinin gerçek açıklaması.

Cevap: L2 (weight decay) = \(J + \lambda \|\theta\|^2\); gradyan \(\theta\)’yı sıfıra çeker → uzunluğu kısaltır. L1 (Lasso/seyreklik) = \(J + \lambda \|\theta\|_1\); gradyan \(\text{sign}(\theta)\); eksen-yakını bileşenleri öldürür → seyrek (Canziani 27:03). MC Dropout: dropout çıkarımda açık, N kez geçir, varyans = belirsizlik; eğitim dışı bölgede artar. Varyans türevlenebilir → minimize et (Canziani 1:02:35) — ki bu tam Hafta 11 PPUU belirsizlik düzenlileştirmesidir (“sürüş politikamızda kullandığımız”). Kurs başladığı yere döner.

15.12 Egzersizler

Egzersiz 1 (Faktör grafiği çıkarımı). 3 ikili değişkenli, enerjisi 2 faktöre (her biri ardışık ikiliye dokunur) ayrılan model kur. Kaba kuvvet ile trellis en-kısa-yol değerlendirme sayılarını karşılaştır. Faktörleme neden üsteli lineere indirir?

import numpy as np

# 3 ikili degisken (x0,x1,x2), enerji = unary + 2 faktor (ardisik cift)
unaries = np.array([[0.5, 1.2],    # x0: durum 0 ucuz
                    [1.0, 0.4],    # x1: durum 1 ucuz
                    [0.8, 0.9]])   # x2
pair = np.array([[0.1, 0.6],       # gecis enerjisi (kosegen ucuz)
                 [0.6, 0.1]])

T, S = unaries.shape
# KABA KUVVET: tum S^T konfigurasyon
import itertools
best_e, best_cfg = 1e9, None
brute = 0
for cfg in itertools.product(range(S), repeat=T):
    e = sum(unaries[t, cfg[t]] for t in range(T))
    e += sum(pair[cfg[t], cfg[t+1]] for t in range(T-1))
    brute += 1
    if e < best_e:
        best_e, best_cfg = e, cfg
# DP: trellis en-kisa-yol (T*S^2 degerlendirme)
dp_count = T * S * S
print("kaba kuvvet:", brute, "konfig (S^T)")          # 2^3 = 8
print("DP        :", dp_count, "degerlendirme (T*S^2)")  # 3*4 = 12 (kucuk T'de yakin)
print("en iyi cfg:", best_cfg, "E =", round(best_e, 3))
# Faktorleme: enerji ardisik ciftlere AYRISIR → en kisa yol (Viterbi) usteli lineere indirir.
# Buyuk T'de S^T patlar ama T*S^2 lineer kalir (Notion ornegi 96 → 16).

Egzersiz 2 (Perceptron collapse). \(E(y) - E(\hat{y})\) kaybını, en iyi = doğru olduğunda hesapla; farkın neden sıfır olabileceğini ve “tüm enerjiler eşit” çözümünün neden kabul edildiğini göster. Hinge (marj \(m\)) bunu nasıl önler?

import numpy as np

# perceptron kaybi = E(dogru) - min_y E(y); en iyi=dogru oldugunda fark=0
E_dogru = 1.5
E_en_iyi = 1.5     # collapse cozumu: tum enerjiler ESIT → en iyi=dogru
perceptron = E_dogru - E_en_iyi
print("perceptron kayip:", perceptron)   # 0 → "ogrenecek bir sey yok" (collapse riski)

# COLLAPSE: tum enerjileri 0 yap → her zaman perceptron=0 (marjsiz kabul eder)
# HINGE marj m: yanlislari en az m kadar yukari it
m = 1.0
gap = E_en_iyi - E_dogru                  # = 0 (collapse)
hinge = max(0.0, m - gap)                 # = 1.0 > 0 → CEZA verir
print("hinge (gap=0) :", hinge)           # collapse'i reddeder (marj zorlar)
# Perceptron marjsiz → enerjileri esitleyen cozumu kabul eder (coker).
# Hinge en az m marj ister → enerjiler esit olamaz, collapse engellenir.

Egzersiz 3 (Serbest enerji = VAE). \(F = \langle E \rangle_q - T \cdot H(q)\) yaz; \(q\) varyansını artırınca (entropi ↑) iki terimin nasıl çatıştığını göster. VAE’nin “rekonstrüksiyon + KL” dengesiyle eşleştir. \(T\) (sıcaklık) Hafta 11 \(\beta\)’sıyla nasıl ilişkili?

import numpy as np

# F = <E> - T*H ; q = N(0, sigma), E(z)=0.5 z^2
sigmas = np.array([0.3, 0.7, 1.0, 1.5, 2.5])
avg_E = 0.5 * sigmas**2                          # <E> sigma ile ARTAR
H = 0.5 * np.log(2*np.pi*np.e*sigmas**2)         # entropi sigma ile ARTAR
T = 1.0
F = avg_E - T * H                                 # iki terim CATISIR → minimum
for s, e, h, f in zip(sigmas, avg_E, H, F):
    print(f"sigma={s:.1f}  <E>={e:.3f}  H={h:.3f}  F={f:.3f}")
print("minimum F sigma =", sigmas[np.argmin(F)])  # denge noktasi
# <E> dusuk istemek → sigma kucuk (rekonstrüksiyon iyi); H buyuk istemek → sigma buyuk (KL).
# VAE: rekonstrüksiyon = <E>; KL/entropi = -H; F dengesi = VAE kaybi.
# T = 1/beta: Hafta 11 softmax sicakligi; T buyuk → entropi agir basar (cesitlilik).

Egzersiz 4 (L1 vs L2 histogramı). Bir ağı L1 ve L2 ile eğit; ağırlık histogramlarını çiz. L1’in neden “sıfırda yığılma + birkaç büyük” (seyrek), L2’nin neden “hepsi küçük” verdiğini gradyan (sign vs lineer) üzerinden açıkla.

import numpy as np

rng = np.random.default_rng(0)
w0 = rng.normal(0, 1.0, 400)        # baslangic agirliklari
lam = 0.5
# L2 (ridge): orantili kucult → hicbiri tam 0 degil
w_l2 = w0 / (1.0 + lam)
# L1 (soft-threshold): sabit miktar cek, kucukleri 0'la → SEYREK
w_l1 = np.sign(w0) * np.maximum(np.abs(w0) - lam, 0.0)
print("L1 tam 0:", int(np.sum(np.abs(w_l1) < 1e-9)), "/ 400  (seyrek)")
print("L2 tam 0:", int(np.sum(np.abs(w_l2) < 1e-9)), "/ 400  (hicbiri)")
print("L1 |max|:", round(float(np.abs(w_l1).max()), 3),
      " L2 |max|:", round(float(np.abs(w_l2).max()), 3))
# L1 gradyan = sign(theta) = SABIT miktar (buyuklukten bagimsiz) → kucukleri eksene iter (seyreklik).
# L2 gradyan = 2*theta = ORANTILI → buyuk agirligi cok, kucugu az ceker (hepsi kuculur, 0 olmaz).

Egzersiz 5 (Hafta 15 habercisi — Transfer Learning, BONUS). Hafta 15 (bonus) konuk William Falcon (PyTorch Lightning) transfer learning’i anlatacak; Canziani eşlik edecek. (a) “transfer learning vs fine-tuning” (taban dondur vs tüm katmanları ayarla) ayrımını hatırla; az veri vs çok veri hangisini gerektirir? (b) Hafta 10-12’nin pre-train→fine-tune paradigmasını (SSL, BERT) bu hafta öğrenilen düzenlileştirmeyle nasıl birleştirirsin?

import numpy as np

# (a) transfer learning vs fine-tuning: az-etiket rejimi (Hafta 15 habercisi)
n_labels = np.array([100, 316, 1000])
random_acc = np.array([10.0, 11.0, 12.5])    # rastgele backbone
supervised = np.array([19.0, 26.0, 33.0])    # ImageNet supervised pre-train
ssl_swav   = np.array([40.0, 50.0, 60.0])    # SSL (SwAV) pre-train ~2x supervised
for n, r, s, ss in zip(n_labels, random_acc, supervised, ssl_swav):
    print(f"{n:5d} etiket: rastgele {r:.0f}%  supervised {s:.0f}%  SSL {ss:.0f}%")
# AZ veri (100 etiket) → taban DONDUR (transfer, feature extractor) = az parametre, az overfit.
# COK veri → tüm katmanlari fine-tune et (taban + ust birlikte ayarla).
# (b) pre-train→fine-tune (Hafta 10-12 SSL/BERT) + bu hafta düzenlileştirme:
#     az-etikette dropout/L2/early-stopping fine-tune'u overfit'ten korur.

15.13 Sonraki Ders İçin Hazırlık

UyarıSonraki Hafta — H15 (BONUS): Transfer Learning ve PyTorch Lightning (Konuk: William Falcon)

Yapılandırılmış tahminden transfer learning’e geçiyoruz. Bu hafta LeCun son dersinde kursu tek bir enerji çatısı altında topladı (yapılandırılmış tahmin = faktörlü EBM, GTN = ilk transformer, varyasyonel serbest enerji = VAE); Canziani son practicum’unda overfitting/düzenlileştirme/MC Dropout’la kapattı. Hafta 15 bonus dersinde konuk William Falcon (PyTorch Lightning yaratıcısı) denetimli ve denetimsiz transfer learning’i; Canziani eşlik edecek. Egzersiz 3 (serbest enerji=VAE) ve Egzersiz 5 (transfer) tam bu derse hazırlar.

Hafta 15 (BONUS): Transfer Learning ve PyTorch Lightning — William Falcon (Konuk) + Canziani

Hafta 15 bonus dersinde konuk William Falcon (PyTorch Lightning yaratıcısı) denetimli ve denetimsiz transfer learning’i; Canziani eşlik edecek.

Yapılacak: Egzersiz 3 (serbest enerji=VAE) + Egzersiz 5 (transfer) çöz; “Yapılandırılmış tahmin = faktörlü EBM” ve “VAE = varyasyonel serbest enerji” cümlelerini kendi sözcüklerinle yaz; Hafta 10-12 pre-train→fine-tune’u (SSL/BERT) hatırla — transfer learning onun pratiğidir.

15.14 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Hoca / timestamp
Yapılandırılmış tahmin Kombinatoryal çıktı; faktörlü enerji LeCun 0:38
Trellis / en-kısa-yol Faktörleme → DP; 96→16 değerlendirme LeCun 22:52
Graph Transformer Network Ağ durumu = graf; ilk transformer (1997) = basit GNN LeCun 1:07
Perceptron collapse Marjsız → enerji çöker (lineer-only) LeCun 1:00
NLL = forward/logsumexp Tüm yollar marjinalleştirme; perceptron = β→∞ LeCun 1:17
Varyasyonel serbest enerji \(F = \langle E \rangle - T \cdot H\) (Jensen); VAE tam budur LeCun 2:02
Overfitting = gürültü Gürültü yoksa aşırı model bile mükemmel fit Canziani 5:39
Aşırı-parametrize / 1-batch Kolay optimizasyon; #1 debug kuralı Canziani 8:36
L2 weight decay \(\|\theta\|^2\); uzunluk kısalt (Gauss priori) Canziani 19:18
L1 / seyreklik \(\|\theta\|_1\); eksen bileşenlerini öldür (Laplace) Canziani 27:03
Dropout = ensemble Rastgele sıfırla; sonsuz ağ ortalaması Canziani 30:37
MC Dropout = PPUU Varyans = belirsizlik; minimize → güvenli manifold Canziani 1:02

15.15 ML Builder Bağlantıları

Geriye köprüler:

  1. Faktörlü EBM / kayıp / marj → Hafta 7-9 + 11 (perceptron-collapse = enerji-kaybı).
  2. GTN = basit GNN → Hafta 13 (graph neural net) + Hafta 5 (switch backprop).
  3. Varyasyonel serbest enerji → Hafta 8 (VAE = ELBO) + Hafta 11 (sıcaklık \(\beta\)).
  4. Dropout / denoising / BatchNorm → Hafta 7-8 (denoising AE) + Hafta 3/11.
  5. MC Dropout belirsizlik → Hafta 11 (PPUU belirsizlik düzenlileştirmesi).

İleriye köprüler:

  1. Serbest enerji / ELBOdiffusion models (post-2020, KURSTA YOK).
  2. Yapılandırılmış EBM → LeCun JEPA (post-2020); CRF/yapısal SVM.
  3. L1 seyreklik / dropout → öznitelik seçimi, Bayesian DL, kalibrasyon.
  4. Transfer learning → Hafta 15 (bonus, William Falcon).
ÖnemliBu dersten tek bir şey alıp gideceksen

LeCun’un son dersi tüm kursu tek bir enerji çatısı altında toplar. Yapılandırılmış tahmin, enerjinin faktörlere ayrıştığı bir EBM’dir — bu yüzden çıkarım üstel değil, en-kısa-yol (dinamik programlama) ile verimlidir; ve ağın durumunu graf yapan Graph Transformer Network, daha 1997’de “transformer” adını taşıyan, basit bir graph neural net’tir (Hafta 13). Asıl sentez şu: bir gizli değişkeni marjinalleştirmek, fizikteki serbest enerjiyi (\(F = \langle E \rangle - T \cdot H\)) minimize etmektir — ve VAE tam olarak budur (Hafta 8’in gerçek açıklaması). Canziani bu güçlü modellerin gürültüyü ezberlediğini (overfitting) gösterip düzenlileştirmeyle (L1=seyreklik, L2=uzunluk, dropout=ensemble) ehlileştirir; ve MC Dropout belirsizliği, Hafta 11’in PPUU’sunun ta kendisidir — kursu başladığı yere, enerjiye ve belirsizliğe geri döndürür. Bu temelin post-2020 zirvesi (diffusion models, JEPA) kursta yoktur ama bu haftanın serbest-enerji çatısının doğrudan ürünüdür.