📐 Modül 4 · Matematik Cephanesi · Bölüm 4.8 · 12 dk okuma

Lineer Cebir Laboratuvarı

Modül 4'ü tek uçtan uca projeyle topla — MNIST üzerinde SIDRA.

Bu bölümde öğreneceklerin

  • Modül 4'teki 7 kavramı tek bir uçtan uca projede birleştir
  • Bir MNIST sınıflandırıcısı matematiğini (MVM, gradient, olasılık, kuantizasyon) uygula
  • Matematiğin SIDRA donanımına haritalanmasını adım adım izle
  • Modül 5 (Çip Donanımı) için hazırlık yap

Açılış: Matematiğin SIDRA'da Yaşaması

Modül 4 boyunca yedi matematiksel kavramı ayrıntılı gördük: vektör/MVM (4.1), Ohm+KCL bağlantısı (4.2), türev/gradient (4.3), olasılık/gürültü (4.4), Fourier (4.5), kuantizasyon (4.6), bilgi kuramı (4.7).

Her biri kendi başına bir alan. Ama SIDRA için hepsi tek bir hikâye:

AI modelleri MVM’ler dizisidir. Her MVM Ohm + KCL ile donanımda yapılır. Eğitim gradient gerektirir. Gürültü hem sorun hem çözümdür. Fourier büyük konvolüsyonları hızlandırır. Kuantizasyon bit-derinliğini sınırlar. Bilgi kuramı teorik üst sınırı verir.

Bu bölüm o hikâyeyi uçtan uca bir pratikle göster: MNIST sınıflandırıcısı yazmak ve her matematiksel kavramın nerede devreye girdiğini görmek. Sonunda Modül 5’e (Çip Donanımı) sağlam temelle gireceksin.

Sezgi: 7 Kavram, 1 Uçtan Uca Proje

MNIST sınıflandırıcısı basit: 28×28 siyah-beyaz el yazısı rakamları → 10 sınıf (0-9). Ama matematik açısından modül 4’ün her kavramını kullanır:

Matematik (Modül 4)MNIST pipeline’da nerede
4.1 Vektör/Matris/MVMGiriş (784-vektör), ağırlıklar (matrisler), katman çıkışı
4.2 Ohm+KCL=MVMHer MVM SIDRA crossbar’da analog olarak
4.3 Türev/GradientEğitim (backprop), kayıp minimize
4.4 Olasılık/GürültüSIDRA gürültüsünün sınıflama üzerine etkisi
4.5 Fourier(MNIST’te yok, ama konvolüsyon vardı)
4.6 KuantizasyonFP32 eğitim → INT8 inference (SIDRA 256 seviye)
4.7 Bilgi kuramıCross-entropy loss, model kapasitesi

Proje yapısı:

  1. Veri önişleme: piksel → vektör → normalize.
  2. Mimari: 2-katmanlı MLP (784 → 128 → 10).
  3. Eğitim: SGD + backprop (matematik GPU’da).
  4. Kuantizasyon: FP32 → INT8 (SIDRA için).
  5. Deploy: SIDRA crossbar’a ağırlık programla.
  6. Inference: analog MVM + CMOS aktivasyon + ADC.
  7. Doğruluk: %97-98 beklenir.

Formalizm: Uçtan Uca Matematik

L1 · Başlangıç

1. Veri: MNIST imge xR784\mathbf{x} \in \mathbb{R}^{784}, label y{0,1,,9}y \in \{0, 1, \ldots, 9\}.

Normalize: x(xμ)/σ\mathbf{x} \leftarrow (\mathbf{x} - \mu) / \sigma, μ,σ\mu, \sigma training set’ten.

2. Mimari:

İlk katman: z1=W1x+b1\mathbf{z}_1 = \mathbf{W}_1 \mathbf{x} + \mathbf{b}_1, W1R128×784\mathbf{W}_1 \in \mathbb{R}^{128 \times 784}.

Aktivasyon: h1=ReLU(z1)\mathbf{h}_1 = \text{ReLU}(\mathbf{z}_1).

İkinci katman: z2=W2h1+b2\mathbf{z}_2 = \mathbf{W}_2 \mathbf{h}_1 + \mathbf{b}_2, W2R10×128\mathbf{W}_2 \in \mathbb{R}^{10 \times 128}.

Çıkış: y^=softmax(z2)\hat{\mathbf{y}} = \text{softmax}(\mathbf{z}_2), 10-sınıflı olasılık.

3. Loss (bilgi kuramı):

Cross-entropy: L=logy^yL = -\log \hat{y}_{y^*}, yy^* doğru etiket.

4. Gradient (kalkülüs):

Backprop:

  • δ2=y^ey\delta_2 = \hat{\mathbf{y}} - \mathbf{e}_{y^*} (one-hot)
  • W2L=δ2h1\nabla_{\mathbf{W}_2} L = \delta_2 \mathbf{h}_1^\top
  • δ1=W2δ21[z1>0]\delta_1 = \mathbf{W}_2^\top \delta_2 \odot \mathbb{1}[\mathbf{z}_1 > 0] (ReLU türev)
  • W1L=δ1x\nabla_{\mathbf{W}_1} L = \delta_1 \mathbf{x}^\top

Update: WWηL\mathbf{W} \leftarrow \mathbf{W} - \eta \nabla L.

L2 · Tam

5. Eğitim döngüsü:

  • 60,000 eğitim imgesi.
  • Epoch 10 (tüm veri 10 kez).
  • Batch 64, learning rate 0.01.
  • FP32 aritmetik (GPU’da).

Eğitim sonu: FP32 doğruluk ~%98.

6. Kuantizasyon:

Ağırlıklar FP32 → INT8:

  • Dinamik aralık: W\mathbf{W}‘nin min/max.
  • 256 seviye: Δ=(maxmin)/256\Delta = (max-min)/256.
  • Yuvarla: W(Wmin)/ΔW \to \lfloor (W - min)/\Delta \rfloor.

Aktivasyonlar da INT8 quantize (layer-wise calibration).

Post-quantization doğruluk: ~%97.8 (0.2% kayıp).

7. SIDRA’ya deploy:

Her INT8 ağırlık → memristör iletkenlik seviyesi.

  • Wij{0,1,,255}W_{ij} \in \{0, 1, \ldots, 255\}Gij[Gmin,Gmax]G_{ij} \in [G_{min}, G_{max}].
  • ISPP ile her hücre hedef GG‘ye programlanır (Modül 5.5).
  • Pozitif ağırlık = GG; negatif ağırlık = ayrı “negative” crossbar (veya tek crossbar’da offset).

8. Inference (SIDRA):

  • Giriş x\mathbf{x} DAC ile voltaj V\mathbf{V}‘e dönüşür.
  • Crossbar MVM: I=GV\mathbf{I} = \mathbf{G}^\top \mathbf{V} (Ohm + KCL, 10 ns).
  • ADC: I\mathbf{I}‘yi INT8 sayıya çevir.
  • CMOS: ReLU uygula, bir sonraki katmana geçir.
  • Son katmanda softmax (dijital) + argmax → sınıf.

Toplam inference: ~50-100 ns + ADC overhead. Saniyede 10M+ MNIST inference.

L3 · Derin

9. Gürültü analizi:

Her MVM çıkışı: I=GV+ϵ\mathbf{I} = \mathbf{G}^\top \mathbf{V} + \boldsymbol{\epsilon}, ϵjN(0,σ2)\epsilon_j \sim \mathcal{N}(0, \sigma^2), σ5%\sigma \approx 5\% relative.

2 katman → gürültü birikir: σoutσ12+σ22=7%\sigma_{\text{out}} \approx \sqrt{\sigma_1^2 + \sigma_2^2} = 7\% relative.

Sınıflandırma marjı (top-1 vs top-2 score farkı) tipik ~20-50%. Gürültü < marj → sınıflandırma doğru.

Ama: bazı zor örneklerde marj küçük (örn. 4 vs 9, 1 vs 7). Gürültü eşiği geçince yanlış sınıflandırma. Beklenen kayıp: %0.5-1.

Averaging: 4× tekrar okuma gürültüyü yarıya indirir. Süre 4×, enerji 4× → doğruluk %0.2 artar. Trade-off.

10. Enerji:

  • MVM: 26 pJ + ADC 256 pJ + DAC 128 pJ + kontrol 50 pJ ≈ 460 pJ.
  • 2 katmanlı inference: 2 × 460 pJ = 920 pJ ≈ 1 nJ/inference.
  • SIDRA Y1 3W TDP → 3 × 10¹² / 1 × 10⁻⁹ = 3 milyon inference/saniye.

Karşılaştırma: H100 batch 32’de 100 GOPS → ~10 µs/inference = 100K/s per thread; ama batch tutarsan milyonlar. SIDRA tekil küçük batch için çok verimli.

11. Bilgi kuramı çerçevesi:

MNIST ayrık dağılımı: H(Y)=log210=3.32H(Y) = \log_2 10 = 3.32 bit.

Model cross-entropy: H(YX)0.07H(Y | X) \approx 0.07 bit (eğitilmiş).

Karşılıklı bilgi I(X;Y)=H(Y)H(YX)3.25I(X; Y) = H(Y) - H(Y | X) \approx 3.25 bit — model girdiden 3.25 bit bilgi çıkarıyor.

Ağırlıklar 100K × 8 bit = 800 kbit toplam. Büyük çoğunluğu “gereksiz”: information bottleneck perspektifinden pruning + quantization modelin boyutunu çok daha aza indirebilir.

12. Fourier (opsiyonel):

Eğer CNN kullansaydık: konvolüsyon katmanları. Büyük filtrelerle FFT-tabanlı hızlandırma mümkün. MNIST için küçük 3×3 filtreler yeter, doğrudan MVM.

Deney: Tek Bir MNIST Imgesini Inference Et

MNIST test imgesi “7” (784 piksel, normalize edilmiş):

Katman 1 (784 → 128):

  • Giriş vektörü x\mathbf{x}: 784 değer, -1 ile 1 arası.
  • Ağırlık matrisi W1\mathbf{W}_1: 128×784 → 100K değer. SIDRA crossbar: 4 tane (256×256) kısmi kaplar. Ama 784 = 256 × 3 + 16 → 3 veya 4 crossbar. İlk basitleştirme: 128 × 768 kullan (16 pikseli kırp) → 3 crossbar.
  • MVM sonucu z1R128\mathbf{z}_1 \in \mathbb{R}^{128}.
  • ReLU: negatif olanları sıfırla, pozitifleri tut.

Katman 2 (128 → 10):

  • Giriş h1R128\mathbf{h}_1 \in \mathbb{R}^{128}.
  • Ağırlık W2R10×128\mathbf{W}_2 \in \mathbb{R}^{10 \times 128}: tek 128×128 crossbar yeter (ilk 10 sütun kullanılır).
  • MVM sonucu z2R10\mathbf{z}_2 \in \mathbb{R}^{10}.
  • Softmax (dijital): her class için olasılık.

Çıkış: olasılık vektörü, örn. (0.01,0.02,0.01,0.01,0.02,0.01,0.01,0.85,0.03,0.03)(0.01, 0.02, 0.01, 0.01, 0.02, 0.01, 0.01, 0.85, 0.03, 0.03).

Argmax: index 7 → “7” sınıfı. Doğru!

Süre:

  • Katman 1 (3 MVM paralel): 10 ns + ADC 5 ns = 15 ns.
  • Katman 2 (1 MVM): 15 ns.
  • CMOS aktivasyon + softmax: ~20 ns.
  • Toplam: ~50 ns/inference. 20M inference/saniye teorik.

Enerji:

  • 4 MVM × 460 pJ = ~2 nJ.
  • SIDRA Y1 3W × 50 ns = 150 nJ ama aktivite düşük → gerçek ~2-10 nJ.

Doğruluk:

  • FP32 model: %98.
  • SIDRA INT8 + gürültü: %97.5-97.8.
  • Bir tek “7” imgesinde: doğru sınıflandırma olasılığı > %99.

Kapsayıcı Sınav

Modül 4’teki 7 bölümü test eder. Her soru 2-3 kavramı birleştirir.

1/8Bir MLP katmanı y = ReLU(Wx + b). SIDRA'da hangi adımlar donanımda, hangileri CMOS?

Bütünleştirici Laboratuvar: Kendi MNIST Modelini Tasarla

Aşağıdaki adımlarla Modül 4’ü uygulamaya dök.

Görev: SIDRA Y1’e “3 vs 8” ikili sınıflandırıcı yükle.

Parametreler:

  • Veri: MNIST’in sadece 3 ve 8 rakamları (~12,000 eğitim imgesi).
  • Hedef: 2 sınıf doğruluk > %99.

Kararlar:

(a) Mimari: MLP 784 → 64 → 2? CNN 3×3 filtre + max pool + FC? Hangisi SIDRA’ya uyar?

(b) Eğitim: Kaç epoch? Optimizer (SGD vs Adam)? Learning rate?

(c) Kuantizasyon: INT8 post-training mi, QAT mi? Hangi eğitim bütçesi?

(d) SIDRA mapping: Toplam kaç crossbar kullanılır? Memori budget ne?

(e) Gürültü analizi: Gürültülü inference için averaging faktörü?

(f) Deploy: Inference başına süre/enerji?

Çözümler

(a) MLP 784 → 64 → 2. Basit, hızlı, SIDRA’ya ideal. CNN daha doğru olabilir ama 3 vs 8 basit → MLP yeter. Crossbar: ilk katman ~3 adet 256×256, son 1 adet.

(b) Adam optimizer, lr=0.001, 5 epoch. Küçük dataset → az epoch yeter. Adam hyperparam-tolerant. Batch 64.

(c) QAT 3 epoch FP32 + 2 epoch INT8 simulate. Post-training %0.2 kayıp yeter ama QAT daha güvenli özellikle %99+ hedefiyle.

(d) 4 crossbar toplam. 3 × 784/256 ≈ 3 crossbar ilk katman, 1 × 64/256 az kısım son katman. Total ~260K hücre, Y1’in %0.06’sı. 1600× fazla boş alan → başka model veya ensemble.

(e) 2-sınıf karar marjı büyük (FP32’de ~%100 güven) → gürültü çoğunlukla toleransa alınır. Averaging 1 (tek okuma yeter). Kritik değilse.

(f) Süre: 30 ns/inference (2 MVM + CMOS). Enerji: ~0.5 nJ. Hız: 6M inference/s/çip. Güç: 3 W (TDP-bound).

Uzantı: aynı 4 crossbar 10 farklı “ikili vs” sınıflandırıcı saklar → one-vs-all → tam 10-sınıfı sınıflandırıcı. Ensemble MNIST doğruluk ~%98.5.

Modül 4 Özet Kartı

Bir bakışta kazandıkların:

  • ✅ Vektör, matris, MVM — AI’nın temel atomu.
  • ✅ Ohm + KCL = analog MVM fizik köprüsü.
  • ✅ Türev + gradient — eğitimin matematik atomu.
  • ✅ Olasılık + gürültü — SIDRA’nın gerçekliği + AI’nın regularizer’ı.
  • ✅ Fourier — sinyal işleme + bazı AI mimarileri (FNO, FNet).
  • ✅ Kuantizasyon — bit-derinliği = SIDRA hücre seviyesi.
  • ✅ Bilgi kuramı — teorik kapasite limitleri + AI loss fonksiyonları.
  • ✅ Uçtan uca: MNIST pipeline SIDRA Y1’de ~1 nJ/inference.

SIDRA’ya hazırsın: Modül 5 bu matematiği silikona döker. ADC, TDC, sense-amplifier, compute engine, DMA — hepsi Modül 4 kavramlarının devre tasarımı.

Vizyon: Matematik → Silikon → AI

Modül 4 matematik verdi, Modül 5 silikon verecek. Ama köprünün yönü tek yönlü değil:

  • Y1 (bugün): Klasik matematik (FP32) → kuantizasyon → SIDRA. Yön: matematik → donanım.
  • Y3 (2027): Donanım-aware eğitim. Gürültü, kuantizasyon, gradient’ın SIDRA fiziği. Yön çift.
  • Y10 (2029): Hardware-Software co-design. Mimari, kuantizasyon, model hep birlikte optimize. Compiler Modül 4 matematiği kullanarak devre parametrelerini değiştirir.
  • Y100 (2031+): Matematik-native donanım. Cihaz fiziği (memristör, fotonik) doğrudan AI primitivelerini (MVM, gradient, attention) yapar. Mathematical abstraction = donanım abstraction.
  • Y1000 (uzun vade): Yeni matematik. Analog AI kendi özel matematiğini geliştirir — stochastic, non-linear, brain-like kural sistemleri.

Türkiye için anlam: Modül 4 boyunca gördük — klasik akademik matematik eğitimi SIDRA için birebir geçerli. Türkiye’nin güçlü matematik + fizik + mühendislik geleneği = SIDRA için doğal altyapı. Dünya sıralamasında matematik en başarılı olduğumuz alanlardan biri (matematik olimpiyat madalyaları, akademik yayınlar). Bu birikimi SIDRA’ya akıtmak stratejik fırsat.

Beklenmedik gelecek: AI kendi matematiğini keşfetmesi. Bugün AI insan matematiğini kullanıyor. Yarın AI keşfediyor: yeni teoremler (Wu 2024 örnekleri), yeni algoritmalar (AlphaEvolve), yeni fizik (PINN). SIDRA Y100 + simbolik AI → Türkiye’den çıkan ilk “otomatik bilim keşfetme” sistemi olabilir.

Daha İleri

  • Bir sonraki modül: 🚧 5.1 · Nöromorfik Hesaplama Paradigması — Yakında
  • Önceki: 4.7 — Bilgi Kuramı
  • Modül 1 özeti: 1.10 — Fizik Modül Özeti
  • Modül 2 özeti: 2.10 — Kimya Modül Özeti
  • Lineer cebir (klasik): Strang, Introduction to Linear Algebra, 6. baskı.
  • Matematik + AI birlikte: Goodfellow, Bengio, Courville, Deep Learning — Bölüm 2-4 matematik temeli.
  • Information theory + ML: MacKay, Information Theory, Inference, and Learning Algorithms.
  • Modern AI matematik: Deisenroth, Faisal, Ong, Mathematics for Machine Learning.