2  Derin Öğrenmeye Giriş ve Lineer Cebir Motivasyonu

NYU’nun iki hocalı ritmi: LeCun cebirle ‘temsili veriden öğren’ der, Canziani geometriyle ‘ağ uzayın kumaşını gerer’ diye gösterir — aynı gerçeğin iki dili

NotBölüm bilgisi

2.1 Bu Derste Ne Var?

Bu, NYU Deep Learning’in ilk haftası — ve kursun iki hocalı ritmini ilk kez görüyorsun. Önce Yann LeCun (Lecture, Pazartesi akşamı) büyük resmi çizer: derin öğrenme nedir, nereden geldi, neden şimdi patladı. Sonra Alfredo Canziani (Practicum, Salı akşamı) aynı fikirleri somut lineer cebire ve PyTorch’a oturtur. LeCun “neden”i, Canziani “nasıl”ı anlatır.

LeCun’un büyük fikri tek cümlede: geleneksel örüntü tanıma (pattern recognition) bir görevi çözmek için insan eliyle tasarlanmış öznitelik çıkarıcısı (feature extractor) ister; derin öğrenme bu temsili (representation) doğrudan veriden — uçtan uca, katman katman — öğrenir. Canziani ise bunun geometrisini gösterir: bir görüntü, milyonlarca boyutlu bir uzayda tek bir noktadır; bir sinir ağı, bu uzayın “kumaşını” gere gere benzer noktaları ayrılabilir hale getiren bir dönüşümdür.

Bu haftanın üç ana fikri:

  1. Derin öğrenme = temsili veriden öğrenmek. Elle öznitelik tasarlamak yerine, ağ kendi özniteliklerini katman katman kurar.
  2. “Derin” kelimesi çok katmanlılıktan gelir — başka bir gizem yok. Her katman ayarlanabilir parametreler + bir doğrusal-olmama (nonlinearity) içerir.
  3. Doğrusal-olmama şart. İki ardışık doğrusal katman tek bir doğrusal katmana çöker (LeCun ve Canziani aynı noktayı ayrı ayrı vurgular).

flowchart TB
    AI["Yapay Zekâ (AI)"]
    ML["Makine Öğrenmesi (ML)"]
    DL["Derin Öğrenme (DL):<br/>çok katmanlı sinir ağı"]
    AI --> ML --> DL

    DL --> LeCun["LeCun (cebir):<br/>iki doğrusal = tek doğrusal"]
    DL --> Canziani["Canziani (geometri):<br/>tek katman sadece döner/ölçekler"]

    LeCun --> Sonuc["Doğrusal-olmama şart:<br/>derinlik ancak bükmeyle gelir"]
    Canziani --> Sonuc

İpucuBuilder Notu — İki Yön: Geriye ve İleriye

Geriye (önkoşul kurslar):

  • Perceptron = Wx + b → Phase 1 DL Ders 1 perceptron + 18.06 matris-vektör çarpımı. Canziani’nin “ağ = matrisler + doğrusal-olmama” çerçevesi doğrudan lineer cebirdir.
  • Lineer dönüşüm tipleri (rotation/scaling/shearing/reflection) + SVD → 18.06 (Ders 21 özdeğer, Ders 29 SVD) + Phase 2 18.065 ileri.
  • Görüntü = yüksek-boyutlu uzayda nokta, veri düşük-boyutlu altuzaydamanifold hipotezi; 18.06 altuzay + Stat 110 çok-değişkenli dağılım.

İleriye (production / research):

  • LeCun’un “en sevdiği konu” olarak açtığı enerji-tabanlı modeller (EBM) — bu kursun omurgası; Hafta 7’de başlar, bugün JEPA’ya uzanır (ileriye köprü, post-2020).
  • Öznitelik öğrenme hiyerarşisi → öz-denetimli öğrenme (SSL) (Hafta 8-10) ve graf ağları (GCN) (Hafta 13).
  • Manifold sezgisi → temsil öğrenme (representation learning) ve boyut indirgemenin tüm modern kullanımları.
ÖnemliTek Bir Cümle

Derin öğrenme, elle tasarlanan öznitelik çıkarıcısını çöpe atar ve temsili doğrudan veriden öğrenir; ve bu öğrenme, geometrik olarak veri uzayını doğrusal dönüşümler + doğrusal-olmamalarla yeniden şekillendirmekten ibarettir.

2.2 (LeCun) Derin Öğrenme Nedir? Temsili Veriden Öğrenmek

LeCun ilk dersi kasıtlı olarak yüzeysel ve geniş tutuyor: “bu ilk ders gerçekten geniş bir giriş olacak — derin öğrenmenin ne olduğu, ne yapabildiği ve ne yapamadığı.” Tüm kursun yayını burada çiziliyor, sonra her konuya tek tek dönülecek.

Çekirdek fikir şu: yapay zekâ (AI) ⊃ makine öğrenmesi (ML) ⊃ derin öğrenme (DL). DL, ML’in çok katmanlı sinir ağı kullanan alt-kümesidir. Ama LeCun’un asıl vurgusu mimari değil, bir düşünce değişimi: geleneksel sistemde bir görevi çözmek için temsili (representation) insan eliyle tasarlarsın; derin öğrenmede bu temsili veriden öğrenirsin.

Bunu somutlaştırmak için LeCun klasik örüntü tanıma (pattern recognition) şemasını çiziyor (Bölüm 3’te ayrıntılı). Şimdilik tek cümle: derin öğrenmenin tüm vaadi, “iyi öznitelikler (features) nelerdir?” sorusunu mühendisten alıp öğrenme algoritmasına devretmektir.

İpucuBuilder Notu — Temsil Öğrenme Nereye Bağlanır

Geriye (Phase 1 DL): “Temsili veriden öğrenmek” fikri MIT 6.S191 Ders 1’in de açılışıydı (elle mühendislik vs öğrenilen hiyerarşi). NYU bu fikri çok daha teorik bir zemine — enerji-tabanlı modeller ve öz-denetimli öğrenmeye — taşıyacak.

İleriye: “Hangi temsil iyi?” sorusu, modern representation learning ve foundation model çağının tam kalbidir. Bugün bir modelin değeri, büyük ölçüde öğrendiği temsilin kalitesiyle ölçülür.

2.3 (LeCun) Kısa Tarih: Rosenblatt’ın Perceptron’undan Bugüne

LeCun derin öğrenmenin 70 yıllık inişli çıkışlı tarihini anlatıyor — ve bu tarih, alanın neden “şimdi” patladığını açıklıyor.

Şekil 2.1: Derin öğrenmenin yaklaşık 70 yıllık tarihi: 1958 Perceptron’dan 2012 AlexNet’e iki büyük ilerleme (violet/gold vurgulu) ve aralarındaki iki AI kışı (soluk gri) yatay zaman ekseni üzerinde.

1950’ler — Perceptron. Frank Rosenblatt, ağırlıkları öğrenmeyle değişen basit sinir ağlarını hayal etti. İlk perceptron bir yazılım değildi:

“this was a physical analog computer, it was not a three-line Python program… it was a gigantic machine with wires and optical sensors… the weights were potentiometers, potentiometers had motors on them so they could rotate for the learning algorithm.” — LeCun, 17:18

Yani ağırlıklar, motorla dönen fiziksel potansiyometrelerdi. Sinir ağı fikri 1940’larda doğdu, 1950’lerin sonunda yükseldi.

1969-1984 — İlk kış. Dönemin algoritmaları yalnızca çok basit örüntü tanıma yapabiliyordu. LeCun’un deyişiyle, kabaca 1969 ile 1984 arasında dünyada neredeyse hiç kimse sinir ağları üzerinde çalışmadı — birkaç izole araştırmacı dışında, çoğu Japonya’da (kendi içine kapalı bir araştırma ekosistemi olduğu için modalara kapılmadılar).

1985 — Backprop ile diriliş. Çok katmanlı ağları eğiten backpropagation ortaya çıktı. Peki neden daha önce değil? LeCun iki sebep veriyor:

  1. Yanlış nöronlar. 60’larda kullanılan McCulloch-Pitts nöronları ikiliydi (binary). Gradient descent için sürekli, türevlenebilir bir aktivasyon gerekir; bu fikre kimse varmamıştı.
  2. Çarpma pahalıydı. İkili nöronlar çarpma gerektirmez (yalnızca toplama). Sürekli nöronlar ağırlık × aktivasyon çarpımı ister; 1980’lerden önce kayan-nokta çarpımı çok yavaştı. Donanım ancak 80’lerin ortasında yeterince hızlandı.

1995-2010 — İkinci kış ve diriliş. 1985-1995 dalgası 1995’te söndü. Asıl geri dönüş 2010 civarı konuşma tanımayla oldu (ImageNet’le değil!): “it didn’t start with ImageNet, it started with speech recognition around 2010.” 18 ay içinde her büyük oyuncu sinir ağlı konuşma tanıma sistemleri kurdu. 2012-2013’te aynı devrim bilgisayarlı görüde (AlexNet) yaşandı.

İpucuBuilder Notu — Türevlenebilirlik ve Donanım

Geriye: Backprop’un neden 1985’i beklediği — “sürekli, türevlenebilir aktivasyon” — doğrudan Calculus türev/zincir kuralıdır (Phase 1 Calculus Ders 4). İkili → sürekli nöron geçişi, gradient descent’in ön koşuludur.

İleriye: “Donanım yeterince hızlanınca alan patladı” gözlemi bir builder gerçeğidir: GPU/TPU throughput, modern DL’in motorudur. Aynı kalıp bugün de geçerli — ölçek (compute) çoğu sıçramanın arkasındadır (scaling laws).

2.4 (LeCun) Örüntü Tanıma ve Öznitelik Çıkarıcısı (Feature Extractor)

LeCun, derin öğrenme öncesi dünyayı anlatıyor — çünkü derin öğrenmenin ne yıktığını ancak böyle görürsün. Kabaca dört on yıl boyunca örüntü tanımanın standart şeması iki aşamalıydı:

girdi → öznitelik çıkarıcısı (feature extractor) → eğitilebilir sınıflandırıcı (classifier)

Öznitelik çıkarıcısı, girdiden görevle ilgili karakteristikleri çeker ve bir öznitelik vektörü üretir (sayılardan oluşan bir liste). Bu vektör, eğitilebilir bir sınıflandırıcıya verilir. Perceptron durumunda sınıflandırıcı basitçe bir ağırlıklı toplam + eşik hesaplar:

\(\hat{y} = g\!\left(\mathbf{w}^\top \mathbf{x} + b\right)\)

Buradaki kritik sorun şu: öznitelik çıkarıcısını elle tasarlaman gerekir. Bir yüzü tanımak istiyorsan “göz nasıl tespit edilir? — herhalde bir yerde koyu bir daire vardır” gibi kuralları sen yazarsın.

“the entire literature of pattern recognition… was focused on this part, the feature extractor: how do you design a feature extractor for a particular problem?” — LeCun, 26:46

LeCun’un vurgusu: on yıllar boyunca tüm emek bu elle-tasarım aşamasına gitti, sınıflandırıcıya çok az.

Şekil 2.2: Klasik örüntü tanıma (elle tasarlanan öznitelik çıkarıcısı + eğitilebilir sınıflandırıcı) ile uçtan-uca derin öğrenme (tüm modüllerin geri-yayılımla birlikte öğrenildiği) boru hatlarının karşılaştırması.
İpucuBuilder Notu — Wx+b: Perceptron Cebiri

Geriye (18.06): Perceptron’un çekirdeği wᵀx + b — bir nokta çarpımı + öteleme, yani 18.06’nın temel işlemi. Bir katmanda bu, matris-vektör çarpımına (Wx + b) genişler.

İleriye: “Öznitelik mühendisliği” bugün hâlâ klasik ML’de (tablo verisi, XGBoost) yaşıyor; ama görü/dil/ses gibi yüksek-boyutlu alanlarda derin öğrenme onu tamamen değiştirdi. Bu ayrım, bir problemde “deep mi, klasik ML mi?” kararının temelidir.

2.5 (LeCun) Derin Öğrenme = Uçtan Uca Öğrenme (ve Neden Doğrusal-Olmama Şart)

Derin öğrenmenin getirdiği fikir: iki aşamalı (biri elle kurulmuş) süreci bırak, tüm görevi uçtan uca öğren. Sistemi bir modüller dizisi (cascade) olarak kur; her modülün ayarlanabilir parametreleri ve bir doğrusal-olmaması (nonlinearity) vardır; bu katmanları üst üste istifle.

“the only reason for the deep word in deep learning is the fact that there are multiple layers — there is nothing more to that.” — LeCun, 28:14

İlk modülün parametrelerini, çıktıyı istediğin yöne yaklaştıracak biçimde nasıl ayarlarsın? İşte backpropagation bunu yapar (Hafta 2).

Peki neden her modül doğrusal-olmayan olmak zorunda? LeCun’un cevabı kesin: iki ardışık doğrusal modül tek bir doğrusal modüle çöker. İki doğrusal fonksiyonun bileşkesi yine doğrusaldır:

\(W_2 \left(W_1 \mathbf{x}\right) = \left(W_2 W_1\right) \mathbf{x} = W' \mathbf{x}\)

“if you have two successive modules and they’re both linear, you can collapse them into a single linear… there’s no point having multiple layers if those layers are linear.” — LeCun, 28:48

Yani derinlik ancak katmanlar arasına doğrusal-olmama girerse anlam kazanır. Bu noktayı aklında tut — Canziani aynı fikri Practicum’da uzay-germe animasyonuyla gösterecek (Bölüm 9). İki hoca, aynı gerçeği iki dilde anlatıyor: LeCun cebirle, Canziani geometriyle. Şekil 2.3 bunu birim ızgara üzerinde gösterir: önce \(W_1\) sonra \(W_2\) uygulamak ile tek matris \(W' = W_2 W_1\) uygulamak aynı sonucu verir.

Şekil 2.3: İki ardışık lineer katmanın tek bir matrise çökmesi: W₂(W₁x) ile (W₂W₁)x aynı dönüşümü verir, bu yüzden nonlinearite olmadan derinlik kazanç sağlamaz.
İpucuBuilder Notu — Doğrusal Çöküş ve Uçtan Uca

Geriye (18.06 + Phase 1 DL): “Doğrusal ∘ doğrusal = doğrusal” tam olarak 18.06’nın bileşke lineer dönüşüm kuralıdır. Phase 1 DL Ders 1 de aynı çöküşü göstermişti — NYU bunu hem LeCun hem Canziani ile pekiştiriyor.

İleriye: Uçtan uca öğrenme (end-to-end), modern sistemlerin varsayılanıdır: ham pikselden/token’dan çıktıya tek bir türevlenebilir hat. “Modül + nonlinearity + istifle” reçetesi, bütün mimarilerin (CNN, transformer, GNN) ortak iskeletidir.

2.6 (LeCun) Optimizasyon, “Kimse Anlamıyor” ve Enerji-Tabanlı Modeller

LeCun derin öğrenmenin nasıl çalıştığına geçiyor: öğrenme neredeyse her zaman optimizasyondur, derin öğrenme ise neredeyse her zaman gradient-tabanlı optimizasyondur. Convex (dışbükey) durumda optimizasyon kuralları iyi anlaşılmıştır; ama derin öğrenmede maliyet fonksiyonu convex değildir — yerel minimumları, eyer noktaları vardır. Bu yüzden hedef fonksiyonun geometrisini anlamak önemlidir. Sonra LeCun’un en sevdiği itiraf geliyor:

“it’s important to understand the geometry of the objective function… but the big secret here is that nobody actually understands. So it’s important to understand that nobody understands.” — LeCun, 7:02

Yani alan, işe yarayan ama tam teorik temeli olmayan sezgi + biraz teori + bol ampirik arayış karışımı tricklerle ilerliyor: initialization, normalization, regularization (dropout), gradient clipping, momentum, ve egzotik bir konu olan Lagrangian backprop (Hafta 14’te döner).

Sonra LeCun kursun omurgasını açıyor — en sevdiği konu, enerji-tabanlı modeller (EBM):

“energy based models — this is sort of a general formulation of a lot of different approaches to learning, whether they are supervised, unsupervised, self-supervised.” — LeCun, 7:50

Fikir şu: bir sinir ağını “girdiyi çıktıya çeviren fonksiyon” olarak görmek kısıtlayıcıdır — bir girdiye yalnızca tek çıktı üretir. Oysa çoğu problemde bir girdiye birden çok geçerli cevap vardır. EBM bunu çözer: cevapları bir enerji fonksiyonunun minimumları yap; çıkarım (inference) bu enerjiyi minimize eden değerleri arar. Bu, sinir ağlarıyla “akıl yürütme”yi (reasoning) modellemenin bir yoludur.

Şekil 2.4: Enerji tabanlı modelin F(x, y) enerji manzarası: koyu violet kuyular düşük enerjili yerel minimumları (gold yıldız) işaretler ve çoklu minimum bir girdiye birden çok geçerli cevabın karşılığıdır.
İpucuBuilder Notu — Enerji, Olasılık ve JEPA Köprüsü

Geriye (Stat 110 + Calculus): EBM’nin enerji → olasılık köprüsü Boltzmann dağılımıdır (P(y) ∝ exp(−βE)); energy = −log p (Stat 110). “Non-convex geometri” ise Calculus ikinci türev/Hessian dünyasıdır. Bu kavramlar Hafta 7’de derinleşecek (Yazım Kılavuzu §4.J kurs terimleri).

İleriye: EBM, LeCun’un bugünkü araştırma programının (JEPA, I-JEPA, V-JEPA — post-2020 ileriye köprü) tohumu. “Çıkarım = enerji minimizasyonu” fikri, modern dünya-modeli ve planlama yaklaşımlarının temelidir.

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

LeCun büyük resmi çizdi — derin öğrenme temsili veriden öğrenir, katmanlar doğrusal-olmamayla anlam kazanır, ve tüm bunlar bir optimizasyon problemidir. Şimdi Alfredo Canziani Practicum’da sahneye çıkıyor ve aynı fikirleri somut lineer cebire indiriyor. LeCun’un soyut “temsil öğrenme”si, Canziani’nin elinde gözle görülür bir şeye dönüşüyor: uzayda noktaları hareket ettirmek. Üslup da değişiyor — Canziani interaktif, esprili, İtalyan:

“I have a very strong Italian accent, you know — ‘mamma mia!’… if you do not understand something, it’s almost 99.9% my fault.” — Canziani, 0:33

2.8 (Canziani) Sınıflandırma: Görüntü = Yüksek-Boyutlu Uzayda Bir Nokta

Canziani sınıflandırmayı (classification) geometriyle anlatıyor. Bir megapiksellik (1000 × 1000) renkli bir fotoğraf düşün: her piksel RGB olduğundan toplam 1000 × 1000 × 3 = 3 milyon sayı. Yani bu görüntü, 3 milyon boyutlu bir uzayda tek bir noktadır.

Bu uzay akıl almaz büyüklükte. İçinde rastgele dolaşırsan hiçbir anlamlı şey görmezsin. Bir köpek fotoğrafı bir noktada, bir kedi fotoğrafı başka bir noktada durur — ve Canziani sınıfa soruyor: kedi noktası köpek noktasına yakın mı, uzak mı? Cevap: çok yakın.

“everything that actually makes sense is here (closes hand) — everything else is just trash.” — Canziani, 5:45

Yani anlamlı görüntüler (kediler, köpekler, gerçek sahneler) bu devasa uzayın minik bir bölgesinde toplanmıştır; geri kalan her yer rastgele gürültüdür. Sınıflandırma problemi şudur: bu sıkışık noktaları al, uzayda ayrıştırılabilir hale gelecek biçimde hareket ettir, sonra aralarına bir sınır çiz.

Şekil 2.5: Yuksek-boyutlu nokta: devasa ambient uzayda (~3 milyon boyut) anlamli veri yalnizca minik, kivrik bir manifolda sigarken uzayin geri kalani rastgele gurultudur.
İpucuBuilder Notu — Vektör Uzayı ve Manifold

Geriye (18.06 + Stat 110): “3 milyon boyutlu uzayda nokta” doğrudan 18.06’nın vektör uzayıdır; “anlamlı veri minik bir bölgede” gözlemi ise manifold hipotezinin (Bölüm 7) sezgisel ifadesidir. Yüksek boyutta noktaların dağılımı Stat 110 çok-değişkenli dağılımla bağlanır.

İleriye: “Veri, ambient uzayın küçük bir manifoldunda yaşar” fikri; boyut indirgeme, autoencoder (Hafta 7), ve üretken modellerin (VAE/GAN, Hafta 8-9) hepsinin dayandığı temel varsayımdır.

2.9 (Canziani) Manifold Sezgisi: Uzayın Kumaşını Germek

Canziani spiral demosunu açıyor: bir spiralin beş kolu, her kol farklı renkte (sınıf). Girdi sadece (x, y) koordinatları — renk yok. Ağdan istenen: noktaları renge göre ayırmak. Ekrandaki animasyonda ağ, uzayı fiziksel olarak gerip büküyor:

“it takes the space… and it performs like a stretching of the space fabric.” — Canziani, 15:11

Ağ, uzayın kumaşını öyle bir geriyor ki sonunda aynı renkten noktalar aynı alt-bölgede toplanıyor — yani lineer olarak ayrılabilir hale geliyorlar. O noktada basit bir lojistik regresyon (düz bir sınır) işi bitiriyor. Bu, LeCun’un “temsili öğrenmek” dediği şeyin gözle görülür hâlidir: iyi bir temsil, problemi kolay (ayrılabilir) yapan bir uzaydır.

Şekil 2.6: 5-kollu spiral girdi uzayı (solda, lineer ayrılamaz) ile ağın öğrendiği temsil (sağda, paralel sınıf bantlarına açılmış, lineer ayrılabilir) yan yana — ağın manifoldu nasıl ‘gerdiğini’ gösteren şematik karşılaştırma.

Şekil 2.6 solda iç içe geçmiş 5-kollu spirali (lineer ayrılamaz), sağda ağın açtığı paralel sınıf bantlarını (lineer ayrılabilir) yan yana koyar. Bu, manifold hipotezinin canlı gösterimi: veri, yüksek-boyutlu uzayda kıvrılmış düşük-boyutlu bir yüzey (manifold) üzerinde yaşar; öğrenme, bu manifoldu açıp düzleştirmektir. (LeCun de dersini manifold ile kapatır: bir çembere topolojik olarak denk, kıvrık bir manifoldu PCA gibi doğrusal bir yöntem bulamaz — çünkü düz değildir.)

İpucuBuilder Notu — Germe = Lineer Dönüşüm + Bükme

Geriye (18.06): “Uzayı germek/bükmek” bir dizi lineer dönüşüm (matris) + doğrusal-olmamadır (Bölüm 8). PCA’nin kıvrık manifoldu bulamaması, doğrusal yöntemlerin sınırını gösterir — 18.06 SVD’nin (Ders 29) neden tek başına yetmediğinin sezgisi.

İleriye: Bu “açıp düzleştirme” görüşü; representation learning, t-SNE/UMAP görselleştirme ve autoencoder’ların ortak dilidir.

2.10 (Canziani) Lineer Dönüşümler ve SVD

Peki uzayda noktaları nasıl hareket ettiririz? Canziani lineer cebiri interaktif soruyor: matris çarpımı ne yapar? Cevap — bir lineer dönüşüm. Dört temel tip var (Şekil 2.7):

  1. Rotation (döndürme) — matris ortonormalse.
  2. Scaling / stretching (ölçekleme) — köşegen matrisle.
  3. Shearing (kaydırma) — eksenleri eğer.
  4. Reflection (yansıma) — determinant negatifse.

Bir uyarı: öteleme (translation) lineer DEĞİLDİR. Canziani’nin testi: bir dönüşüm lineerse 0’ı 0’a götürmeli; öteleme bunu yapmaz. Öteleme eklersek dönüşüm afin (affine) olur. Bir sinir ağı katmanı tam olarak budur — matris çarpımı (lineer) + öteleme (bias):

\[ \mathbf{y} = W\mathbf{x} + \mathbf{b} \]

Şekil 2.7: Dört temel lineer dönüşümün (donme, olcekleme, kaydirma, yansima) birim ızgara ve birim kare üzerindeki geometrik etkisi; determinant işareti yansımanın yönelimi tersine çevirdiğini gösterir.

Noktaları ayırmak için Canziani’nin reçetesi: önce öteleme ile aşağı indir, sonra köşegen matrisle (uygun tekil değerlerle, singular values) ger. Matrisi köşegenleştirmek için araç SVD (singular value decomposition): bir matris = rotation · scaling · rotation. Tekil değerlerden biri sıfıra yakınsa matris bir boyutu neredeyse “öldürür” (ezme). Şekil 2.8 bunu gösterir: solda birim daire bir elipse (“patatese”) döner (ana eksenler = tekil değerler), sağda bir tekil değer sıfıra yaklaşınca elips bir çizgiye çöker.

Şekil 2.8: Birim dairenin bir matrisle çarpılınca bir elipse (‘patates’) dönüşmesi ve SVD’nin geometrik okuması: her matris bir dönme·ölçek·dönme bileşimidir; sağ panelde bir tekil değer sıfıra yaklaşınca elips bir çizgiye çöker ve bir boyut ezilir.
İpucuBuilder Notu — SVD, Düşük-Rank ve LoRA

Geriye (18.06 + 18.065): Lineer dönüşüm tipleri 18.06’nın çekirdeğidir; SVD = Ders 29. “Bir matris = rotation · scaling · rotation” tam olarak SVD’nin geometrik okumasıdır. Tekil değer ≈ 0 → matris tekil (singular), boyut kaybı. Bu, Phase 2 18.065’in (Matrix Methods) ML-uygulamalı tam konusudur — atıf: (Phase 1 18.06 Ders 29 + Phase 2 18.065 ileri).

İleriye: SVD ve düşük-rank yaklaşım; PCA, model sıkıştırma, ve LoRA (düşük-rank fine-tune) gibi tekniklerin matematiksel temelidir.

2.11 (Canziani) Neden Doğrusal-Olmama? (LeCun ile Buluşma)

Canziani ağı iki matrisli bir örnekle kuruyor: girdi 2 boyut → ara katman 100 boyut (bir nonlinearity) → çıktı. Sonra kritik soruyu soruyor: neden birden çok matris, neden doğrusal-olmama? Cevabı, LeCun’un cebirle söylediğiyle birebir aynı — ama bu kez geometrik:

“without nonlinearity it would look like a single layer neural network — and a single layer neural network, what can it do? Scaling, translation, rotation, reflection, shearing.” — Canziani, 20:21

Yani doğrusal-olmama olmadan, kaç matris istiflersen istifle, ağ yalnızca o dört-beş temel dönüşümü (Bölüm 8) yapabilir; hepsi tek bir matrise çöker. Spiral noktalarını ancak doğru bir sınırla ayıramazsın — uzayı bükmen gerekir, ve bükme yalnızca doğrusal-olmamadan gelir. İşte LeCun’un “linear ∘ linear = linear” cebri ile Canziani’nin “tek katman sadece germe/döndürme yapar” geometrisi aynı madalyonun iki yüzü. Şekil 2.9 bu farkı somutlaştırır: aynı iki-hilal verisinde lineer sınıflandırıcı düz bir sınırla takılırken, ReLU’lu ağ eğri bir sınır öğrenip sınıfları ayırır.

Şekil 2.9: Aynı iki-hilal verisinde lineer sınıflandırıcı düz bir karar sınırı üretip hilalleri ayıramazken (doğruluk %86), 16 nöronlu ReLU MLP eğri bir sınır öğrenip sınıfları ayırır (doğruluk %98) — nonlinearitenin neden gerekli olduğunu gösterir.
İpucuBuilder Notu — İki Hocanın Aynı Teoremi

Geriye (Bölüm 4 + 18.06): Bu, dersin en güçlü çapraz-doğrulamasıdır: aynı teorem (doğrusal katmanların çökmesi) hem LeCun (Lecture, cebir) hem Canziani (Practicum, geometri) tarafından bağımsız anlatılıyor. İki hoca = iki kanıt yolu.

İleriye: ReLU/GELU gibi doğrusal-olmamaların seçimi, derin ağların ifade gücünü ve eğitim kararlılığını belirler — modern mimarilerin temel tasarım kararı.

2.12 (Canziani) PyTorch İlk Dokunuş: nn.Linear, ReLU ve Rastgele Projeksiyonlar

Canziani teoriyi koda döküyor. PyTorch’ta bir katman nn.Linear (matris çarpımı + bias = afine); doğrusal-olmama nn.ReLU (pozitif kısım) veya tanh. Eğitilmemiş bir ağ bile uzayı ilginç biçimde büker:

import torch
import torch.nn as nn

# bir sinir agi = afine donusum + dogrusal-olmama
model = nn.Sequential(
    nn.Linear(2, 5),   # 2 -> 5: matris + bias (affine)
    nn.ReLU(),         # pozitif kisim: dogrusal-olmama
    nn.Linear(5, 2),   # 5 -> 2: ekranda gosterebilmek icin
)

x = torch.randn(1000, 2)   # 1000 nokta, standart normal bulut
y = model(x)               # uzayi ger, bukle, yansit

Canziani’nin rastgele projeksiyon notebook’u tam da bunu görselleştirir: 1000 noktalık dairesel bir bulutu bir matrisle çarpınca bulut bir “patatese” (elips) döner; tekil değerlerden biri ≈ 0 ise bir boyut ezilir. Üstüne tanh koyunca (kink ≈ ±2.5) veri bir kutuya sıkışır; ReLU koyunca köşeli, ayrıştırılabilir kümeler oluşur. Canziani’nin uyarısı: bu sihir değil, sadece görselleştirme —

“this is just visualization using matplotlib… this is not magic.” — Canziani, 23:18

Son olarak donanım: tensörler CPU yerine GPU belleğinde tutulursa paralel hesap çok hızlanır. Tek satır yeter:

# CUDA varsa tensorleri GPU bellegine koy, yoksa CPU
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

Canziani’nin esprili özeti: CPU tek seferde bir şey yapar (çok hızlı ama sıralı); GPU çok daha yavaş ama aynı anda binlerce işlem yapar — bu yüzden büyük matris işlerinde kazanır.

İpucuBuilder Notu — nn.Linear, Device ve Init

Geriye (18.06): nn.Linear(2, 5) tam olarak 5×2 boyutlu bir matris + 5-boyutlu bias; rastgele projeksiyon = bir matrisle çarpmanın geometrik etkisi (SVD ile okunur, Bölüm 8).

İleriye: “Tensörleri doğru cihaza (device) koy” tek satırı, tüm modern eğitim hattının (GPU/TPU throughput, mixed precision, DDP) giriş kapısıdır. Eğitilmemiş ağın bile yapı kurması, weight initialization’ın neden önemli olduğunu önceler (Hafta 4’te BatchNorm/init).

2.13 Özet

  1. Derin öğrenme = temsili veriden öğrenmek. Geleneksel örüntü tanıma elle tasarlanmış öznitelik çıkarıcısı + sınıflandırıcıdır; derin öğrenme bu iki aşamayı uçtan uca, öğrenilen modüllerle değiştirir.
  2. “Derin” = çok katmanlı. Her katman ayarlanabilir parametre + doğrusal-olmama içerir; başka gizem yok.
  3. Doğrusal-olmama şart — iki ardışık doğrusal katman tek bir doğrusala çöker (LeCun cebirle, Canziani geometriyle gösterir).
  4. Tarih neden önemli: perceptron (Rosenblatt, fiziksel analog), 1969-1984 kışı, 1985 backprop (sürekli nöron + hızlanan çarpma), 2010 konuşma + 2012 görü dirilişi.
  5. Optimizasyon non-convex ve “kimse tam anlamıyor”; alan tricklerle (init, norm, dropout) ilerler.
  6. EBM (LeCun’un en sevdiği konu, kursun omurgası): cevaplar bir enerji fonksiyonunun minimumlarıdır; çıkarım = enerji minimizasyonu.
  7. Geometri (Canziani): görüntü = yüksek-boyutlu uzayda nokta; anlamlı veri minik bir manifoldda yaşar; ağ bu uzayın kumaşını gerip noktaları ayrıştırılabilir yapar.
  8. Lineer cebir: matris çarpımı = rotation/scaling/shearing/reflection; öteleme afin yapar (Wx + b); SVD = rotation · scaling · rotation.
ÖnemliTek Bir Cümle

Derin öğrenme, elle tasarlanan öznitelik çıkarıcısını çöpe atıp temsili doğrudan veriden öğrenir; geometrik olarak bu, veri uzayını doğrusal dönüşümler (Wx + b) ve doğrusal-olmamalarla yeniden şekillendirip, kıvrık veri manifoldunu ayrıştırılabilir hale getirmektir.

2.14 Kontrol Soruları

Cevap: Ağ ardışık matris çarpımlarına iner ve hepsi tek bir matrise çöker. İki katman için:

\[ W_2 \left(W_1 \mathbf{x}\right) = \left(W_2 W_1\right) \mathbf{x} = W' \mathbf{x} \]

Kaç katman istiflersen istifle, sonuç tek bir doğrusal dönüşüm (W′x) kalır — yalnızca rotation/scaling/shearing/reflection yapabilir, veriyi bükemez. Spiral gibi doğrusal ayrılamayan veriyi asla ayıramaz. LeCun bunu cebirle (“composition of two linear functions is linear”, 28:48), Canziani geometriyle (“single layer only scales/rotates”, 20:21) söyler. Derinliği anlamlı kılan tek şey katmanlar arasındaki doğrusal-olmamadır.

Cevap: 1000 × 1000 × 3 = 3.000.000 boyut. Görüntü, bu 3 milyon boyutlu uzayda tek bir noktadır. Manifold hipotezi: anlamlı görüntüler (kediler, sahneler) bu devasa uzayın minik, düşük-boyutlu, kıvrık bir alt-yüzeyinde (manifold) toplanmıştır; geri kalan neredeyse her nokta rastgele gürültüdür (“everything else is just trash”, Canziani 5:45). Öğrenme, bu manifoldu açıp ayrıştırılabilir hale getirmektir. Doğrusal bir yöntem (PCA) kıvrık manifoldu bulamaz — LeCun’un kapanış örneği.

Cevap: Bir dönüşümün lineer olması için sıfırı sıfıra götürmesi gerekir (T(0) = 0). Öteleme sıfırı b’ye taşır, dolayısıyla lineer değildir (Canziani’nin testi, 10:10). Matris çarpımına (lineer) bir öteleme (bias) eklersek dönüşüm afin (affine) olur — bir sinir ağı katmanı tam olarak budur:

\[ \mathbf{y} = W\mathbf{x} + \mathbf{b} \]

Yani nn.Linear(..., bias=True) afin, bias=False ise saf lineer (matris) dönüşümdür.

Cevap: Sıradan bir ağ bir girdiye tek çıktı üretir (ileri geçiş). EBM ise bir enerji fonksiyonu F(x, y) tanımlar ve çıkarımı bir arama/optimizasyon yapar: verilen x için enerjiyi minimize eden y’yi (veya y’leri) bulur. Birden çok minimum varsa, bir girdiye birden çok geçerli cevap verebilir — LeCun’un “akıl yürütme” dediği budur (7:50). Stat 110 köprüsü: enerji ile olasılık, Boltzmann dağılımıyla bağlanır — P(y) ∝ exp(−βE), yani energy = −log p (sabite kadar). Düşük enerji = yüksek olasılık. Bu, Hafta 7’nin (EBM) çekirdeğidir.

2.15 Egzersizler

Egzersiz 1 (Perceptron’u elle kur). Tek bir perceptron’un ileri geçişini NumPy ile yaz (nokta çarpımı + bias + aktivasyon), sonra nn.Linear + aktivasyonla aynı sonucu al.

import numpy as np

def perceptron(x, w, b, g=lambda z: 1/(1+np.exp(-z))):
    z = np.dot(x, w) + b      # nokta carpimi + bias
    return g(z)               # aktivasyon

x = np.array([3.0, 1.0]); w = np.array([1.0, -1.0]); b = 0.0
print(perceptron(x, w, b))    # ~0.88

Egzersiz 2 (Doğrusal çöküşü göster). Aktivasyonsuz iki nn.Linear katmanı zincirle. Bunların tek bir matrise (W₂W₁) eşit olduğunu sayısal olarak doğrula — derinliğin aktivasyonsuz anlamsız olduğunu kendin gör.

import torch, torch.nn as nn
W1 = nn.Linear(2, 5, bias=False); W2 = nn.Linear(5, 2, bias=False)
x = torch.randn(10, 2)
chained = W2(W1(x))
collapsed = x @ W1.weight.T @ W2.weight.T   # tek matris (W2 W1)
print(torch.allclose(chained, collapsed, atol=1e-5))  # True

Egzersiz 3 (Rastgele projeksiyon + SVD). 1000 noktalık standart normal bir bulut üret, rastgele bir 2×2 matrisle çarp, torch.linalg.svd ile tekil değerleri incele. Bir tekil değeri çok küçük yapıp bir boyutun nasıl “ezildiğini” çiz (Canziani’nin patatesi).

Egzersiz 4 (Doğrusal-olmama neden şart). sklearn.datasets.make_moons ile doğrusal ayrılamayan veri üret. (a) Aktivasyonsuz, (b) nn.ReLU’lu bir ağ kur; karar sınırlarını çiz. Aktivasyonsuz ağın neden yalnızca düz çizgi çizebildiğini gözlemle.

Egzersiz 5 (Hafta 2 habercisi — gradient descent + backprop). Bu hafta ağ kurduk ama eğitmedik. Basit bir kuadratik kayıp L(w) = (w − 3)² üzerinde gradient descent’i elle uygula (gradient = 2(w − 3)). Sonra x → nöron → ŷ → L minik ağı için ∂L/∂w’yi zincir kuralıyla yaz. Bu iki gözlem, Hafta 2’de backpropagation’a (LeCun: backprop = zincir kuralının katmanlara uygulanması) neden ihtiyaç duyduğumuzu motive eder.

def gd(eta, steps=50, w0=10.0):
    w = w0
    for _ in range(steps):
        grad = 2*(w - 3)      # dL/dw
        w = w - eta*grad      # gradient descent adimi
    return w
for eta in [0.01, 0.1, 0.5, 1.0]:
    print(eta, round(gd(eta), 4))

2.16 Sonraki Ders İçin Hazırlık

UyarıSonraki Hafta — H2: Gradient Descent ve Backprop

Manifold geometrisinden optimizasyon dinamiğine. Bu hafta ağı kurduk; Hafta 2 onu eğitir: gradient descent, learning rate, loss landscape (kayıp manzarası) ve backpropagation = zincir kuralının katmanlara uygulanması. Bu haftaki spiral noktalarını gerçekten ayıracağız.

Hafta 2: Gradient Descent, Backprop ve Yapay Sinir Ağları — LeCun (Lecture) + Canziani (Practicum)

Bu hafta ağı kurduk ama nasıl öğrendiğini görmedik. Hafta 2’de LeCun gradient descent ve backpropagation’ı (zincir kuralının katmanlara uygulanması) anlatacak; Canziani PyTorch’ta sinir ağı eğitimini gösterecek — bu haftaki spiral noktalarını gerçekten ayıracağız.

Hafta 2 öncesi yapılacak:

  • Egzersiz 2’yi (doğrusal çöküş) ve Egzersiz 5’i (gradient descent) çöz.
  • “İki ardışık doğrusal katman tek katmana çöker” cümlesini kendi sözcüklerinle yaz (hem cebir hem geometri).
  • Calculus zincir kuralını (Phase 1 Calculus Ders 4) gözden geçir — backprop tam olarak budur.

2.17 Anahtar Kavramlar (Cheat Sheet)

Kavram Tanım Hoca / timestamp
Representation learning Temsili elle tasarlamak yerine veriden öğrenmek LeCun
Feature extractor Klasik örüntü tanımada elle tasarlanan öznitelik aşaması LeCun 26m46
Perceptron Ağırlıklı toplam + eşik; Rosenblatt’ın fiziksel analog makinesi LeCun 17m18
Deep = çok katman “Derin”in tek anlamı: birden çok katman LeCun 28m14
Doğrusal çöküş linear ∘ linear = linear; nonlinearity şart LeCun 28m48 / Canziani 20m21
EBM Cevaplar = enerji fonksiyonunun minimumları; çıkarım = minimize LeCun 7m50
Yüksek-boyutlu nokta 1MP RGB görüntü = 3 milyon boyutlu uzayda bir nokta Canziani 4m45
Manifold hipotezi Anlamlı veri minik, kıvrık bir alt-manifoldda yaşar Canziani 5m45
Uzay germe Ağ = uzayın kumaşını gerip noktaları ayrıştırma Canziani 15m11
Lineer dönüşüm rotation / scaling / shearing / reflection (det < 0) Canziani 8m14
Afin dönüşüm Wx + b; öteleme lineer değil (0 ↛ 0) Canziani 10m10
SVD Matris = rotation · scaling · rotation; tekil değer ≈ 0 → boyut ezme Canziani 40m02

2.18 ML Builder Bağlantıları

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

  1. Perceptron / afin katman (Wx + b) → 18.06 matris-vektör çarpımı + Phase 1 DL Ders 1.
  2. Lineer dönüşüm tipleri + SVD → 18.06 (Ders 29 SVD) + Phase 2 18.065 (Matrix Methods) ileri.
  3. EBM enerji → olasılık → Stat 110 Boltzmann, energy = −log p.
  4. Backprop için sürekli/türevlenebilir nöron → Calculus türev + zincir kuralı (Ders 4).
  5. Manifold hipotezi → 18.06 altuzay + Stat 110 çok-değişkenli dağılım geometrisi.

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

  1. EBM → JEPA / I-JEPA / V-JEPA (post-2020 ileriye köprü, LeCun’un bugünkü programı).
  2. Representation learning → foundation models, transfer learning (Hafta 15 bonus).
  3. GPU device yerleşimi → throughput, mixed precision, DDP.
  4. Donanım hızlanması alanı patlattı → scaling laws.
ÖnemliBu dersten tek bir şey alıp gideceksen

Derin öğrenme sihir değildir — elle tasarlanan öznitelikleri çöpe atıp, veri uzayını doğrusal dönüşümler (Wx + b) ve doğrusal-olmamalarla gere büke yeniden şekillendirir; kıvrık veri manifoldunu ayrıştırılabilir hale getirir. LeCun bunu cebirle anlatır, Canziani geometriyle gösterir — aynı gerçeğin iki dili.