11  Görüde Öz-Denetimli Öğrenme (SSL) ve PPUU

İki parçalı hafta — konuk hoca Ishan Misra (Facebook AI Research) görüde öz-denetimli öğrenmeyi (SSL) anlatır: etiketli veri pahalıdır, bu yüzden SSL etiketsiz veriden yapay bir pretext (bahane) görevi uydurur — döndürmeyi tahmin et, göreli konum, renklendirme — ve onu çözerken anlamlı temsil öğrenir; pretext görevin kendisi önemsizdir, değerli olan yan ürünü olan temsildir, sonra bu temsil az etiketli downstream görevlere taşınır. Misra’nın PIRL’i bu fikri olgunlaştırır: pretext’i tahmin etmek yerine dönüşüme değişmez temsil öğren (orijinal ile dönüştürülmüş versiyon benzer, rastgele görüntü farklı — contrastive). Ardından Alfredo Canziani (Practicum) PPUU’yu (belirsizlik altında öngörü ve politika öğrenme) gösterir — meşhur kamyon geri sokma problemini: bir emulator (kamyon kinematiğini öğrenen dünya modeli) ve bir controller (onu süren politika) öğrenilir, önce dünya modeli eğitilir, sonra controller bu öğrenilmiş model içinde planlanır ve maliyet emulator zinciri boyunca backprop ile controller’a yayılır.

NotBölüm bilgisi

11.1 Bu Derste Ne Var?

Bu hafta iki parça: konuk hoca Ishan Misra (Facebook AI Research) görüde öz-denetimli öğrenmeyi (SSL) anlatıyor; Alfredo Canziani ise dünya modellerini pratiğe döken PPUU’yu (belirsizlik altında öngörü ve politika öğrenme) — meşhur “kamyon geri sokma” problemini — gösteriyor.

Uyarı⚠️ Atıf notu (Hafta 10 sinyatürü)

Bu haftanın Lecture’ı LeCun değil, konuk Ishan Misra tarafından verilir (transkriptten doğrulandı: “today we have a guest lecturer, Ishan Misra, research scientist at Facebook AI Research”). Quote’lar — Misra ile işaretlenir; Practicum quote’ları — Canziani.

Misra’nın büyük fikri: etiketli veri pahalıdır; SSL, etiketsiz veriden bir pretext (bahane) görevi uydurarak temsil öğrenir, sonra bu temsili gerçek (downstream) görevlere taşır. Canziani ise Hafta 9’un dünya modelini somutlaştırır: bir emulator (kamyon kinematiğini öğrenen dünya modeli) + bir controller (onu süren politika).

Bu haftanın üç ana fikri:

  1. SSL = pretext görev → temsil → transfer. Etiketsiz veriden yapay bir görev (döndürmeyi tahmin et, renklendirme, parça konumu) uydur; çözerken anlamlı temsil öğren; downstream’e aktar.
  2. Pretext görev kendisi önemsizdir; amaç onun yan ürünü olan temsildir (representation).
  3. PPUU: dünya modeli (emulator) + politika (controller); önce dünyayı öğren, sonra onun içinde planla — Hafta 9 world model’in pratiği.

flowchart TB
    Hafta["Hafta 10 = iki parça<br/>(Misra: görüde SSL · Canziani: PPUU)"]

    subgraph A["(A) Görüde SSL — Misra (konuk)"]
        direction TB
        Etiketsiz["Etiketsiz büyük veri<br/>(etiket PAHALI)"]
        Pretext["Pretext görev<br/>(döndürme / konum / renklendirme)"]
        Temsil["Öğrenilen temsil<br/>(YAN ÜRÜN — asıl ödül)"]
        Downstream["Downstream görev<br/>(az etiketli, transfer)"]
        PIRL["PIRL = dönüşüme DEĞİŞMEZ<br/>(contrastive, Hafta 8)"]
        Post["post-2020 (BYOL/VICReg/<br/>MAE/JEPA) — KURSTA YOK"]
        Etiketsiz --> Pretext
        Pretext --> Temsil
        Temsil --> Downstream
        Temsil --> PIRL
        PIRL --> Post
    end

    subgraph B["(B) PPUU — Canziani"]
        direction TB
        Emulator["Emulator = dünya modeli<br/>(sₜ₊₁ = f(sₜ, aₜ))"]
        Controller["Controller = politika<br/>(direksiyon)"]
        Planla["Önce dünyayı öğren<br/>→ içinde planla (backprop)"]
        Emulator --> Controller
        Controller --> Planla
    end

    Hafta --> Etiketsiz
    Hafta --> Emulator

İpucuBuilder Notu — İki Parça, Tek Çatı: Etiketsiz Gözetim

Geriye (önkoşul kurslar):

  • SSL = label’sız gözetim → Hafta 8 contrastive SSL + Hafta 3 invariance (augmentation).
  • Pretext = proxy görev → Hafta 1 supervised (ama label’ı veriden uydur) + Hafta 2 cross-entropy (rotation = 4-yönlü sınıflandırma).
  • Emulator/controller → Hafta 9 dünya modeli (latent-variable EBM) + Hafta 6 dizi/öngörü.

İleriye (production / research):

  • SSL → post-2020 (BYOL, VICReg, MAE, JEPA — KURSTA YOK) (Bölüm 5 İleriye Köprü).
  • PPUU/world model → model-based RL, planning, LeCun JEPA programı.

Tek cümleyle: Öz-denetimli öğrenme, etiketsiz veriden bir pretext görev uydurup onu çözerek anlamlı temsiller öğrenir ve bunları downstream görevlere taşır; PPUU ise bir dünya modeli (emulator) öğrenip onun içinde bir politika (controller) eğiterek planlamayı pratiğe döker.

11.2 (Misra — Konuk) SSL Nedir? Pre-train → Downstream

Misra önce supervised learning’in sorununu koyuyor: büyük etiketli veri (ImageNet) pahalıdır ve her görev için yeniden toplanamaz. Çözüm temsil öğrenme (representation learning): bir kez iyi bir temsil öğren, sonra onu etiketin az olduğu downstream (alt) görevlere taşı.

“the story for representation learning for computer vision so far has been… a pre-training step [then] use [it] for downstream tasks where you may not have [labels].” — Misra, 1:18

Supervised pre-training (ImageNet etiketleriyle) işe yarar ama yine etiket ister. Öz-denetimli öğrenme (SSL) etiketi ortadan kaldırır: gözetim sinyalini verinin kendisinden üretir. (NLP’de word2vec bunu yıllardır yapıyor — kelimeyi bağlamından tahmin et.) Şekil 11.1 bu boru hattını gösteriyor: etiketsiz büyük veri bir pretext göreve girer, encoder bir temsil öğrenir, ve bu temsil az etiketli downstream göreve aktarılır — üstteki gözetimli şerit ise her örneğin pahalı insan etiketi gerektiren kıyasıdır.

Şekil 11.1: SSL boru hattı: etiketsiz büyük veri → pretext görev (döndürmeyi tahmin et, 0°/90°/180°/270°) → öğrenilen temsil (encoder) → transfer/dondur → az etiketli downstream görev. Üstte gözetimli (pahalı insan etiketi) kıyası; altta SSL’in gözetim sinyalini doğrudan veriden ürettiği vurgusu.
İpucuBuilder Notu — Pre-train → Downstream

Geriye (Hafta 8 + 1): SSL, Hafta 8’in contrastive fikrinin geniş çerçevesi; pre-train→downstream, Hafta 1’in “temsil öğren” temasının pratik hattı. Etiketsiz gözetim = label’ı veriden uydurmak.

İleriye: Pre-train → fine-tune paradigması, tüm foundation modellerin (görü ve dil) çalışma biçimidir; SSL onu etiketsiz veriye açar.

11.3 (Misra — Konuk) Pretext Görev: Proxy ile Temsil Öğrenmek

SSL’in kalbi pretext (bahane) görevidir: gerçek hedef olmayan, ama çözerken iyi bir temsil öğrenmeni sağlayan yapay bir tahmin görevi.

“a pretext task is a prediction task that you solve… to learn a representation, and then you finally get to your downstream task where you want to use this representation to perform something meaningful.” — Misra, 13:18

Kritik nüans: pretext görevinin kendisi önemsizdir (kimse “görüntünün döndürme açısı” gerçekten umursamaz). Önemli olan, onu çözmek için ağın öğrenmek zorunda kaldığı temsildir — yan ürün.

“we are not really interested in predicting the rotations… we are just using this task as a proxy to learn some features.” — Misra, 19:11

İpucuBuilder Notu — Pretext = Bahane

Geriye (Hafta 1-2): Pretext görev = supervised öğrenme (Hafta 1), ama etiket veriden otomatik üretilir; rotation tahmini = 4-yönlü cross-entropy (Hafta 2). “Yan ürün temsil” = Hafta 1 representation learning.

İleriye: “Proxy görevle temsil öğren” fikri, LLM’lerin next-token tahmininin (proxy) dev temsiller öğrenmesinin (yan ürün) ta kendisidir.

11.4 (Misra — Konuk) Pretext Örnekleri: Konum, Döndürme, Renklendirme

Misra yaratıcı pretext görev örnekleri veriyor:

  • Göreli konum (relative position): bir görüntüden iki yama al, ağa “ikincisi birinciye göre nerede?” diye sor. Bunu çözmek için ağ nesneleri anlamak zorunda kalır. (Nearest-neighbor görselleştirmesi, öğrenilen temsilin anlamlı/semantik olduğunu gösterir.)
  • Döndürme tahmini (rotation): görüntüyü 0/90/180/270° döndür, ağa “kaç derece döndürdüm?” diye sor (4-yönlü sınıflandırma). En popüler pretext görevlerinden — uygulaması çok kolay.

“you apply a rotation of 0, 90, 180, or 270 degrees… and you ask the network to predict what was the exact rotation applied — a four-way classification problem.” — Misra, 18:13

  • Renklendirme (colorization): gri görüntüden renkli hâlini tahmin et.

Hepsinin ortak mantığı: görevi çözmek “dünyayı anlamayı” gerektirir; bir nesneyi döndürdüğünü bilmek için nesnenin sınırlarını/yapısını kavraman gerekir. Misra’nın PIRL’i (Hafta 3, Hafta 8’de anılan) bu fikri contrastive bir çerçeveye taşır. Şekil 11.2 döndürme pretext’ini gerçek bir sentetik görüntü üzerinde gösteriyor: aynı görüntünün 0°/90°/180°/270° versiyonları, ve ağın çözdüğü 4-yönlü sınıflandırma sorusu.

Şekil 11.2: Rotation pretext görevi (Hafta 10 görü SSL): aynı sentetik görüntünün 0°/90°/180°/270° döndürülmüş dört versiyonu. Ağ “kaç derece döndürüldü?” sorusunu 4-yönlü sınıflandırma olarak çözer. Görevin kendisi önemsizdir; ağ doğru cevabı verebilmek için nesnenin yapısını ve yönelimini anlamak zorunda kalır — yararlı temsil (representation) bu zorunluluğun yan ürünüdür (Misra). Diğer pretext görevleri: göreli konum tahmini ve renklendirme.
İpucuBuilder Notu — Döndürme = 4-Yönlü

Geriye (Hafta 3 + 8): Rotation/augmentation = Hafta 3 invariance/stationarity; PIRL = Hafta 8 contrastive (noise contrastive estimation). Pretext = etiketsiz proxy.

İleriye: Bu elle-tasarlanan pretext görevler, post-2020’de yerini daha ilkesel yöntemlere bıraktı (Bölüm 5) — ama “veriden gözetim uydur” fikri kaldı.

11.5 (Misra — Konuk) PIRL ve Değişmez Temsil

Erken pretext görevlerin (rotation, jigsaw) bir zaafı vardı: ağ bazen görevi “kestirme” yollarla çözüp anlamsız temsil öğrenebilir. Misra’nın PIRL (Pretext-Invariant Representation Learning) yaklaşımı bunu düzeltir: temsilin, pretext dönüşümüne (örn. yamaların karıştırılması) değişmez (invariant) olmasını ister — yani orijinal ile dönüştürülmüş versiyonun temsilleri benzer olmalı (Hafta 8 pozitif çift), rastgele başka görüntüden farklı (negatif çift). PIRL, contrastive amaç (noise contrastive estimation) kullanır.

Bu, Hafta 8’in contrastive SSL’inin görüye uygulanmış, olgun hâlidir: pretext’i “tahmin et” yerine “değişmez ol” olarak kurar. Şekil 11.3 bu it-çek mantığını gömme uzayında gösteriyor: orijinal ve dönüştürülmüş versiyon yakına çekilir (pozitif), rastgele görüntü uzakta kalır (negatif).

Şekil 11.3: PIRL (Pretext-Invariant Representation Learning): pretext görevini tahmin etmek yerine dönüşüme değişmez temsil öğren. Solda şema — bir görsel ve ona uygulanan dönüşüm (yama karıştırma) paylaşımlı bir encoder’dan geçer; iki temsil ortak gömme uzayında birbirine yakın çekilir (pozitif çift). Sağda gömme uzayı — orijinal (ankraj) ≈ dönüştürülmüş versiyon (pozitif, kısa violet çizgi), ama rastgele başka bir görsel uzakta kalır (negatif, kesik gold çizgi). İt-çek mantığı: pozitifi çek, negatifi it → contrastive / NCE (Hafta 8).
İpucuBuilder Notu — PIRL = Değişmezlik

Geriye (Hafta 8 + 3): PIRL = contrastive SSL (Hafta 8) + invariance (Hafta 3); pozitif çift = dönüşülmüş versiyon, negatif = başka görüntü. NCE amacı = Hafta 8.

İleriye: “Dönüşüme değişmez temsil” fikri, post-2020 SSL’in (SimCLR/BYOL) tam çekirdeğidir (Bölüm 5).

11.6 (İleriye Köprü) SSL’in Post-2020 Evrimi — KURSTA YOK

DLSP20 (Mart 2020), SSL’i contrastive ve pretext-tabanlı yöntemlerle (PIRL, MoCo, ClusterFit) anlatır. Bu kurstan sonra SSL hızla evrildi — ve aşağıdaki yöntemler bu kursta YOKTUR (yalnızca ileriye köprü olarak anılır). Şekil 11.4 bu kırılmayı bir zaman çizelgesinde gösteriyor: dikey çizgi Mart 2020’yi (kursun kayıt tarihi) işaretler, solda kursta işlenen yöntemler, sağda post-2020 yöntemleri.

Uyarı⚠️ İleriye Köprü Notu (post-2020 — KURSTA YOK)
  • SimCLR (Şub 2020) — basit, büyük-batch contrastive (kursta MoCo var, SimCLR adıyla geçmez)
  • BYOL (Haz 2020) — negatif örneksiz SSL (Hafta 8’in “çok negatif gerekir” sorununu çözer)
  • Barlow Twins (2021) — çapraz-korelasyon düzenlileştirme
  • VICReg (2021) — variance-invariance-covariance (LeCun’un “düşük-enerji hacmini sınırla” ilkesinin somut hâli)
  • MAE (He ve ark., 2021) — masked autoencoder (DAE’nin ViT’teki hâli)
  • JEPA / I-JEPA / V-JEPA (LeCun grubu, 2022-2024) — joint embedding predictive architecture; LeCun’un dünya-modeli + non-contrastive programının bugünkü zirvesi

Bunlar kurs içeriğine kurs terimi gibi eklenmez; Hafta 7-10’da öğrenilen EBM/SSL temelinin nereye evrildiğini göstermek için kullanılır.

Şekil 11.4: Görüde öz-denetimli öğrenmenin (SSL) post-2020 evrimi. Dikey kesikli çizgi kursun kayıt tarihini (Mart 2020, DLSP20) işaretler: solda kursta işlenen contrastive/pretext-tabanlı yöntemler (MoCo, PIRL, ClusterFit), sağda kursta yer almayan post-2020 yöntemler (SimCLR, BYOL, Barlow Twins, VICReg, MAE, JEPA). Non-contrastive (BYOL/VICReg) ve JEPA, Hafta 8-9 fikirlerinin negatif-örnek gerektirmeyen evrimidir — ileriye köprü.
İpucuBuilder Notu — Post-2020 Evrim

Geriye (Hafta 8-9): Bu evrim, Hafta 8’in “contrastive’in çok-negatif sorunu” + Hafta 9’un “düşük-enerji hacmini sınırla” ilkesinin doğrudan devamıdır — non-contrastive (BYOL/VICReg) tam bu iki fikri birleştirir.

İleriye: JEPA, LeCun’un tüm kurs boyunca tohumladığı fikirlerin (EBM + world model + non-contrastive SSL) bugünkü sentezidir.

11.7 Geçiş: Misra’dan Canziani’ye

Misra etiketsiz veriden temsil öğrenmeyi (SSL) anlattı. Şimdi Canziani başka bir “gözetimsiz” problemi gösteriyor: bir sistemin dünya modelini ve onu kontrol eden politikayı kendi kendine öğrenmesi. Meşhur “kamyon geri sokma” (truck backer-upper) örneğiyle, Hafta 9’un soyut dünya modelini somut, çalışan bir koda döküyor.

11.8 (Canziani) Truck Backer-Upper: Emulator + Controller

Canziani klasik bir öz-öğrenme problemi gösteriyor: bir römorklu kamyonu keyfi bir başlangıçtan yükleme rampasına geri sokmak için bir doğrusal-olmayan kontrolör öğrenmek (yalnızca geri vites).

“[we are] trying to design, by self-learning, a nonlinear controller to control the steering of a trailer truck while backing up to a loading dock.” — Canziani, 1:53

Durum 6 değişkenle tanımlı (kabin açısı \(\theta_{cab}\), römork açısı \(\theta_{trailer}\), \(X\), \(Y\), ve hızlar). İki ağ var:

  1. Emulator: kamyon-römork kinematiğini öğrenir — mevcut durum + eylemden (direksiyon) bir sonraki durumu öngörür. Bu bir dünya modelidir:

\[ s_{t+1} = f(s_t, a_t) \]

  1. Controller: emulator’ı (yani dünyayı) kontrol eden politika — her adımda hangi direksiyonu vereceğini öğrenir.

Şekil 11.5 bu döngüsel mimariyi gösteriyor: controller durumdan eylem üretir, emulator durum + eylemden bir sonraki durumu öngörür, geri besleme döngüsü kamyonu rampaya geri sokar.

Şekil 11.5: PPUU mimarisi: controller (politika π) durum sₜ’den eylem aₜ (direksiyon) üretir; emulator (Hafta 9’un dünya modeli) sₜ ve aₜ’den bir sonraki durumu sₜ₊₁=f(sₜ,aₜ) tahmin eder; geri besleme döngüsü kamyon+römorku rampaya geri sokar.
İpucuBuilder Notu — Emulator = Dünya Modeli

Geriye (Hafta 9 + 6): Emulator = Hafta 9’un dünya modeli (gelecek durumu öngörür); controller = politika. Durum geçişi \(s_{t+1} = f(s_t, a_t)\), Hafta 6 RNN recurrence’ının kontrol hâli.

İleriye: Emulator + controller ayrımı, modern model-based RL’in (önce dünya modeli öğren, sonra içinde planla) temel kalıbıdır.

11.9 (Canziani) Önce Dünyayı Öğren, Sonra İçinde Planla

Canziani eğitimin sırasını veriyor: önce emulator eğitilir (kamyonu sürerek toplanan verilerle kinematiği öğrenir — bir sonraki durumu doğru öngörsün). Sonra controller, eğitilmiş emulator üzerinden eğitilir: controller bir direksiyon önerir, emulator sonucu öngörür, ve “rampaya ne kadar yaklaştık?” maliyeti geriye yayılır (backprop) — controller’ı iyileştirir.

“we have to train a network to be an emulator of the truck and trailer kinematics… [then a] controller to control the emulator.” — Canziani, 15:16

Bu PPUU’nun (prediction and policy learning under uncertainty) çekirdeğidir: gerçek dünyada deneme-yanılma pahalı/tehlikeli olduğundan, öğrenilmiş bir dünya modeli içinde planlarsın. Backprop, controller’ı emulator zinciri boyunca eğitir — Hafta 5’in autograd’ı, Hafta 6’nın zaman-zinciri burada birleşir. Şekil 11.6 bu iki aşamayı gösteriyor: önce emulator kinematiği öğrenir, sonra controller öğrenilmiş emulator zinciri içinde planlar ve maliyet gradyanı zincir boyunca geri akar.

Şekil 11.6: PPUU iki aşamalı şeması: önce dünyayı öğren, sonra içinde planla. AŞAMA 1’de emülatör kamyon verisinden kinematiği öğrenir (ŝₜ₊₁’i doğru öngörür); AŞAMA 2’de controller, öğrenilmiş emülatör zinciri içinde planlar — ileri akış (violet) aₜ → sₜ₊₁ → sₜ₊₂ → rampaya uzaklık maliyeti üretir, maliyet gradyanı emülatör zinciri boyunca geri (gold backprop) controller’a akar. Hafta 5 autograd + Hafta 6 BPTT + Hafta 7 EBM köprüleri.
İpucuBuilder Notu — Önce Öğren Sonra Planla

Geriye (Hafta 5-6-9): Controller eğitimi = emulator zinciri boyunca backprop (Hafta 5 autograd + Hafta 6 BPTT); emulator = dünya modeli (Hafta 9). “Maliyet” = rampaya uzaklık enerjisi (Hafta 7 EBM).

İleriye: “Öğrenilmiş model içinde planla” = model-based RL, MPC (model predictive control), ve LeCun’un dünya-modeli programının pratiği.

11.10 Bu Dersin Özeti

  1. SSL (Misra): etiketli veri pahalı → etiketsiz veriden temsil öğren, downstream’e taşı (pre-train → fine-tune).
  2. Pretext görev: yapay bir proxy tahmin görevi (göreli konum, döndürme, renklendirme); kendisi önemsiz, temsil yan ürünü değerli.
  3. PIRL: pretext’i “tahmin et” yerine “dönüşüme değişmez ol” olarak kurar (contrastive, Hafta 8).
  4. Post-2020 SSL (KURSTA YOK): BYOL/VICReg/MAE/JEPA — Hafta 8-9 fikirlerinin evrimi (İleriye Köprü).
  5. PPUU (Canziani): emulator (dünya modeli, \(s_{t+1}=f(s_t,a_t)\)) + controller (politika); truck backer-upper.
  6. Önce dünyayı öğren, sonra içinde planla: controller, eğitilmiş emulator zinciri boyunca backprop ile eğitilir — model-based RL’in kalbi.
ÖnemliTek Bir Cümle

Öz-denetimli öğrenme, etiketsiz veriden bir pretext görev (döndürme, konum, renklendirme) uydurup çözerek anlamlı temsiller öğrenir ve downstream’e taşır (Misra); PPUU ise bir dünya modeli (emulator) öğrenip onun içinde bir politika (controller) eğiterek planlamayı pratiğe döker (Canziani) — ikisi de etiketsiz/gözetimsiz öğrenmenin, Hafta 7-9’da kurulan EBM/world-model temelinin uygulamalarıdır.

11.11 Kontrol Soruları

Cevap: Supervised learning insan etiketi ister (pahalı); SSL gözetim sinyalini verinin kendisinden üretir (etiketsiz). Bir pretext (bahane) görev, gerçek hedef olmayan ama çözerken iyi bir temsil öğrenmeni sağlayan yapay bir tahmin görevidir (Misra 13:18) — örn. görüntünün döndürme açısını tahmin et. Görevin kendisi önemsizdir (kimse döndürme açısını gerçekten umursamaz); değerli olan, onu çözmek için ağın öğrenmek zorunda kaldığı temsildir (yan ürün, Misra 19:11). Sonra bu temsil etiketin az olduğu downstream görevlere aktarılır.

Cevap: (1) Göreli konum: iki yamanın birbirine göre konumunu tahmin et; (2) Döndürme: görüntüyü 0/90/180/270° döndür, açıyı tahmin et (4-yönlü sınıflandırma, Misra 18:13); (3) Renklendirme: gri görüntüyü renklendir. Döndürme anlamlı temsil öğretir çünkü bir nesnenin hangi açıyla döndürüldüğünü bilmek için ağın nesnenin sınırlarını, yapısını, yönelimini kavraması gerekir — yani “dünyayı anlamak” zorunda kalır. Bu yapısal anlama, downstream görevlere yarayan temsildir.

Cevap: Hayır, bu kursta YOK — DLSP20 Mart 2020’de çekildi, hepsi sonra geldi (yalnızca ileriye köprü olarak anılır). BYOL (Haz 2020) Hafta 8’in “contrastive çok negatif ister” sorununu çözer (negatif-örneksiz SSL); VICReg (2021) Hafta 9’un “düşük-enerji hacmini sınırla” ilkesinin somut hâli (variance-invariance-covariance); MAE (2021) Hafta 8’in DAE’sinin ViT hâli (masked autoencoder); JEPA (2022-24, LeCun) EBM + world model + non-contrastive SSL’in sentezi. Yani hepsi Hafta 7-10’da öğrenilen EBM/SSL temelinin doğal devamıdır.

Cevap: Emulator kamyon-römork kinematiğini öğrenen bir dünya modelidir: mevcut durum + eylemden sonraki durumu öngörür:

\[ s_{t+1} = f(s_t, a_t) \]

Controller bir politikadır: her adımda hangi direksiyonu vereceğini öğrenir. Eğitim sırası: önce emulator eğitilir (kinematiği öğrensin); sonra controller, eğitilmiş emulator üzerinden eğitilir — controller direksiyon önerir, emulator sonucu öngörür, “rampaya uzaklık” maliyeti emulator zinciri boyunca backprop ile controller’a yayılır (Canziani 15:16). Bağlantılar: emulator = Hafta 9 dünya modeli; zincir-backprop = Hafta 5 autograd + Hafta 6 BPTT; maliyet = Hafta 7 EBM. Bu, model-based RL’in kalbidir.

11.12 Egzersizler

Egzersiz 1 (Pretext görev kur). CIFAR-10’da etiketleri yok say; her görüntüyü rastgele 0/90/180/270° döndür ve açıyı tahmin eden bir ağ eğit (4-yönlü sınıflandırma). Sonra bu ağın özniteliklerini dondurup üstüne küçük bir sınıflandırıcı eğit — etiketsiz pretext’in downstream’e ne kadar yardım ettiğini ölç.

import torch

# Pretext gorevi: ETIKETSIZ goruntuyu dondur, ACIYI tahmin ettir (4-yonlu).
# Donme acisi "bedava etiket" uretir -> oz-denetimli gozetim sinyali.
def make_rotation_batch(images):
    # images: [B, C, H, W] -> her ornek icin rastgele 0/90/180/270 dondur
    B = images.shape[0]
    ks = torch.randint(0, 4, (B,))                  # 4 sinif (bedava etiket)
    rotated = torch.stack([torch.rot90(images[i], int(ks[i]), dims=[-2, -1])
                           for i in range(B)])
    return rotated, ks                              # (girdi, otomatik etiket)

imgs = torch.rand(8, 3, 32, 32)
rot, labels = make_rotation_batch(imgs)
print(f"pretext etiketleri (donme sinifi) = {labels.tolist()}")
# Sonra: encoder'i pretext ile egit -> ozellikleri DONDUR ->
#        ustune kucuk siniflandirici (downstream) -> etiketsiz on-egitimin katkisi

Egzersiz 2 (Nearest neighbor). Pretext-eğitilmiş bir ağın öznitelik uzayında, bir sorgu görüntüsüne en yakın komşuları bul. Komşular anlamlı (aynı nesne sınıfı) mı? Bu, temsilin “semantik” olduğunu nasıl gösterir (Misra’nın yöntemi)?

import numpy as np

# Ozellik uzayinda en yakin komsu: temsil "semantik" mi?
# Anlamli temsilde -> en yakin komsular AYNI nesne sinifindan olur.
def nearest_neighbors(query_feat, bank_feats, k=5):
    # kosinus benzerligi (normalize edip ic carpim)
    q = query_feat / (np.linalg.norm(query_feat) + 1e-9)
    B = bank_feats / (np.linalg.norm(bank_feats, axis=1, keepdims=True) + 1e-9)
    sims = B @ q
    return np.argsort(-sims)[:k]                     # en benzer k komsu

rng = np.random.default_rng(0)
bank = rng.normal(0, 1, (100, 64))                  # 100 goruntunun ozellikleri
query = bank[7] + rng.normal(0, 0.05, 64)           # 7'ye yakin bir sorgu
print("en yakin komsular:", nearest_neighbors(query, bank))
# komsular ANLAMLI sinif paylasiyorsa -> temsil semantik (pretext ise yaramis)

Egzersiz 3 (PIRL = invariance). Bir görüntü ve onun bir dönüşümü (yama karıştırma) için temsillerin benzer, rastgele başka bir görüntününkinden farklı olmasını isteyen bir contrastive kayıp kur. Bu, Hafta 8 pozitif/negatif çiftiyle nasıl aynıdır?

import torch
import torch.nn.functional as F

# PIRL: orijinal ile DONUSTURULMUS versiyon BENZER (pozitif),
#       rastgele baska goruntu FARKLI (negatif) -> contrastive (Hafta 8).
def pirl_loss(z_orig, z_transformed, z_negatives, tau=0.1):
    z_orig = F.normalize(z_orig, dim=-1)
    z_pos  = F.normalize(z_transformed, dim=-1)
    z_neg  = F.normalize(z_negatives, dim=-1)
    pos = (z_orig * z_pos).sum(-1, keepdim=True) / tau          # pozitif benzerlik
    neg = z_orig @ z_neg.t() / tau                              # negatif benzerlikler
    logits = torch.cat([pos, neg], dim=1)                       # [pozitif | negatifler]
    target = torch.zeros(len(z_orig), dtype=torch.long)         # pozitif = indeks 0
    return F.cross_entropy(logits, target)                      # NCE = Hafta 8

z_o = torch.randn(4, 64); z_t = z_o + 0.1 * torch.randn(4, 64)  # pozitif ~ orijinal
z_n = torch.randn(16, 64)                                       # rastgele negatifler
print(f"PIRL contrastive kayip = {pirl_loss(z_o, z_t, z_n).item():.3f}")
# pozitifi cek, negatifi it -> Hafta 8 pozitif/negatif cifti ile AYNI mantik

Egzersiz 4 (Post-2020 ayrımı). Şu yöntemleri “kursta var” / “kursta yok (post-2020)” diye ayır: MoCo, PIRL, BYOL, ClusterFit, VICReg, MAE, JEPA. Her “yok” için hangi kurs fikrinin evrimi olduğunu yaz.

# Kursta VAR (DLSP20, Mart 2020) vs YOK (post-2020 ileriye kopru).
kursta_var = ["MoCo", "PIRL", "ClusterFit"]          # contrastive / pretext-tabanli
post_2020  = {
    "BYOL":   "Hafta 8 'cok negatif gerekir' -> negatif-orneksiz SSL",
    "VICReg": "Hafta 9 'dusuk-enerji hacmini sinirla' -> var-inv-cov",
    "MAE":    "Hafta 8 DAE -> masked autoencoder (ViT)",
    "JEPA":   "EBM + world model + non-contrastive SSL sentezi (LeCun)",
}
for m in ["MoCo", "PIRL", "BYOL", "ClusterFit", "VICReg", "MAE", "JEPA"]:
    if m in kursta_var:
        print(f"{m:12s} -> KURSTA VAR")
    else:
        print(f"{m:12s} -> KURSTA YOK (post-2020): {post_2020[m]}")
# hepsi Hafta 7-10 EBM/SSL temelinin dogal devami (kursta YOK)

Egzersiz 5 (Hafta 11 habercisi — aktivasyon/kayıp + PPUU). Hafta 11’de LeCun aktivasyon ve kayıp fonksiyonlarını (EBM kayıpları dahil) sistematik anlatacak; Canziani PPUU’yu sürdürecek. (a) Şimdiye kadar gördüğün kayıpları (cross-entropy, MSE, contrastive, reconstruction) “EBM enerjisini şekillendirme” çerçevesinde nasıl gruplarsın? (b) Bir EBM için “marj kaybı (hinge/margin loss)” neden mantıklıdır (pozitif-negatif enerji farkını zorlar)?

import torch
import torch.nn.functional as F

# (a) Kayiplar = "enerjiyi sekillendirme" cercevesinde:
#     cross-entropy/MSE -> dogruya DUSUK enerji (push down);
#     contrastive       -> negatife YUKSEK enerji (push up);
#     reconstruction    -> manifolda DUSUK enerji (off-manifold yuksek).
# (b) Marj kaybi: E(pozitif) ile E(negatif) arasinda en az 'm' fark ZORLA.
def margin_loss(E_pos, E_neg, m=1.0):
    # pozitif enerjisi DUSUK, negatif YUKSEK olsun; aradaki marj >= m
    return F.relu(E_pos - E_neg + m).mean()

E_pos = torch.tensor([0.2, 0.1, 0.3])               # gercek -> DUSUK enerji
E_neg = torch.tensor([1.5, 1.8, 1.2])               # sahte  -> YUKSEK enerji
print(f"marj kaybi = {margin_loss(E_pos, E_neg).item():.3f}")
# marj zaten saglaniyorsa kayip ~0; aksi halde pozitifi bas, negatifi yukselt
# -> Hafta 7 EBM "veride dusuk, disinda yuksek" sekli (Hafta 11'de sistematik)

11.13 Sonraki Ders İçin Hazırlık

UyarıSonraki Hafta — H11: Aktivasyon/Kayıp Fonksiyonları ve Öngörülü Politika (PPUU)

Kayıplar EBM çatısına oturuyor. Bu hafta görüde SSL’i (pretext görev → temsil → transfer, PIRL = değişmezlik) ve PPUU’yu (emulator + controller, önce dünyayı öğren sonra içinde planla) kapattık. Hafta 11’de LeCun aktivasyon ve kayıp fonksiyonlarını (özellikle EBM kayıpları) sistematik ele alacak; Canziani PPUU’yu (belirsizlik altında politika) derinleştirecek. Egzersiz 1 (pretext görev) ve Egzersiz 5 (kayıp = enerji şekillendirme) tam bu derse hazırlar.

Hafta 11: Aktivasyon/Kayıp Fonksiyonları ve Öngörülü Politika (PPUU) — LeCun (Lecture) + Canziani (Practicum)

Hafta 11’de LeCun aktivasyon ve kayıp fonksiyonlarını (özellikle EBM kayıpları) sistematik ele alacak; Canziani PPUU’yu (belirsizlik altında politika) derinleştirecek.

Hafta 11 öncesi yapılacak:

  • Egzersiz 1 (pretext görev) ve Egzersiz 5 (kayıp = enerji şekillendirme) çöz.
  • “Pretext görev = proxy, temsil = yan ürün” ve “emulator = dünya modeli” cümlelerini kendi sözcüklerinle yaz.
  • Hafta 7-9 EBM zincirini hatırla — Hafta 11 kayıpları o çerçeveye oturur.

11.14 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Hoca / timestamp
Öz-denetimli öğrenme (SSL) Etiketsiz veriden gözetim sinyali; pre-train→downstream Misra 1m18
Pretext görev Proxy tahmin görevi; temsil öğrenmek için Misra 13m18
Pretext önemsiz, temsil değerli Görev bahane; öğrenilen temsil asıl ödül Misra 19m11
Döndürme pretext’i 0/90/180/270° tahmin (4-yönlü sınıflandırma) Misra 18m13
Göreli konum / renklendirme Yama konumu / gri→renk pretext görevleri Misra 14m16 / 22m19
PIRL Pretext-değişmez temsil (contrastive, NCE) Misra (PIRL)
Post-2020 SSL (KURSTA YOK) BYOL/VICReg/MAE/JEPA — ileriye köprü İleriye köprü
Emulator (dünya modeli) \(s_{t+1} = f(s_t, a_t)\); kinematiği öğrenir Canziani 15m16
Controller (politika) Emulator üzerinden eğitilen kontrolör Canziani 15m33
PPUU Önce dünyayı öğren, içinde planla (backprop) Canziani 1m53

11.15 ML Builder Bağlantıları

Geriye köprüler (önkoşul kurslar):

  1. SSL = etiketsiz gözetim → Hafta 8 contrastive + Hafta 3 invariance.
  2. Pretext = proxy supervised → Hafta 1 supervised + Hafta 2 cross-entropy (rotation = 4-yönlü).
  3. PIRL = contrastive invariance → Hafta 8 (NCE) + Hafta 3.
  4. Emulator = dünya modeli → Hafta 9 (latent EBM) + Hafta 6 (durum geçişi).
  5. Controller eğitimi = zincir backprop → Hafta 5 autograd + Hafta 6 BPTT.

İleriye köprüler (production / research):

  1. SSLBYOL/VICReg/MAE/JEPA (post-2020, KURSTA YOK).
  2. Pre-train → fine-tune → foundation models (görü + dil).
  3. Pretext (proxy) → LLM next-token (proxy → temsil).
  4. Emulator + controller → model-based RL, MPC, JEPA planning.
ÖnemliBu dersten tek bir şey alıp gideceksen

Öz-denetimli öğrenme, pahalı etiketleri atlayıp etiketsiz veriden bir pretext görev uydurur (döndürmeyi, konumu, rengi tahmin et) — görevin kendisi önemsizdir, değerli olan yan ürün temsildir; ve PPUU, Hafta 9’un dünya modelini somutlaştırır: önce bir emulator (\(s_{t+1}=f(s_t,a_t)\)) öğren, sonra onun içinde bir controller (politika) eğit. İkisi de, Hafta 7-9’da kurulan EBM/world-model temelinin uygulamalarıdır — ve bu temelin post-2020 evrimi (BYOL, VICReg, MAE, JEPA) kursta yoktur ama LeCun’un bugünkü programının doğrudan devamıdır.