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

Olasılık ve Gürültü

Memristör gürültüsü hata değil, bazen özelliktir.

Bu bölümde öğreneceklerin

  • Rastgele değişken, beklenen değer (E), varyans (Var) tanımlarını yaz
  • Normal (Gauss), Bernoulli, Poisson dağılımlarının formüllerini ve uygulama alanlarını söyle
  • Termal (Johnson), shot, 1/f gürültü kaynaklarının fizik formüllerini açıkla
  • Bir SIDRA crossbar'ında SNR (Signal-to-Noise Ratio) hesapla
  • Gürültünün AI'da bazen yararlı olduğunu (regularizer, dropout) göster

Açılış: Mükemmellik Mümkün Değil — ve Gerekli de Değil

İdeal bir çip: her sinyal kesin, her ölçüm doğru, her hesap deterministik. Pratik bir çip: her sinyalde gürültü, her ölçümde hata, her hesapta tahmin.

SIDRA Y1 hücresi 8-bit (256 seviye) iletkenlik saklıyor. Ama termal gürültü, shot gürültü, drift, IR drop, sıcaklık dalgalanması nedeniyle etkin doğruluk ~6 bit. 2 bit kaybediyor. Bu sorun mu?

Cevap: Genelde değil. Bazen avantaj.

  • AI inference için 6 bit yeterli (INT8 standart, INT4 bile yaygın).
  • Gürültü, klasik AI’da regularizer rolü oynar (dropout, weight noise).
  • Beyin sinapsı zaten gürültülü (vesicle olasılıksal) — özellik, bug değil.
  • SIDRA’nın gerçek konumu: “deterministik dijital” değil, “gürültülü ama verimli analog”.

Bu bölüm olasılık temellerini, gürültünün kaynaklarını, SIDRA’da nasıl ölçüldüğünü, ve nasıl kontrolaltına alındığını anlatır. Sonunda gürültünün AI öğrenmesinde yardımcı olabileceğini göstereceğiz.

Sezgi: Olasılık ve Beklenen Değer

Rastgele değişken (RV): değeri rastgele olan bir değişken.

  • Bir zar atışı: X{1,2,3,4,5,6}X \in \{1, 2, 3, 4, 5, 6\}, eşit olasılık.
  • Bir memristör okuma akımı: I=μ+ϵI = \mu + \epsilon, μ\mu “doğru” değer, ϵ\epsilon Gauss gürültü.

Olasılık dağılımı: her değerin olasılığı.

  • Zar: P(X=k)=1/6P(X = k) = 1/6 her kk için.
  • Memristör: ϵN(0,σ2)\epsilon \sim \mathcal{N}(0, \sigma^2) — sıfır ortalama Gauss.

Beklenen değer (E): uzun vadede ortalama.

  • Zar: E[X]=(1+2+3+4+5+6)/6=3.5E[X] = (1+2+3+4+5+6)/6 = 3.5.
  • Memristör: E[I]=μE[I] = \mu (gürültünün ortalaması sıfır).

Varyans: ortalamadan ne kadar saçılım.

  • Zar: Var[X]=E[(X3.5)2]=2.92\text{Var}[X] = E[(X - 3.5)^2] = 2.92.
  • Memristör: Var[I]=σ2\text{Var}[I] = \sigma^2.

Standart sapma: Var\sqrt{\text{Var}}. Aynı birimde, “tipik sapma” boyutu.

  • Memristör: σ\sigma. Tipik SIDRA: σ5%\sigma \approx 5\% of μ\mu.

Sezgi: Tek ölçüm gürültülü ama çoklu ölçüm ortalaması çok daha hassas. Merkezî limit teoremi: NN örnek ortalamasının standart sapması σ/N\sigma/\sqrt{N}. 100 ölçüm → 10× iyileşme.

SIDRA pratik kullanım: Bir MVM 100 µs’de 10× tekrarlanırsa, etkin doğruluk 6 bit → ~9 bit’e çıkar. Ama hız 10× düşer. Trade-off.

Formalizm: Dağılımlar, Gürültü Modelleri, SNR

L1 · Başlangıç

Üç temel dağılım:

Bernoulli: X{0,1}X \in \{0, 1\}, P(X=1)=pP(X=1) = p.

  • Beklenen değer: E[X]=pE[X] = p.
  • Varyans: Var[X]=p(1p)\text{Var}[X] = p(1-p).
  • Kullanım: tek-bit olay (vesicle salımı, bit okuma).

Normal (Gauss): XN(μ,σ2)X \sim \mathcal{N}(\mu, \sigma^2).

  • Yoğunluk: f(x)=1σ2πe(xμ)2/(2σ2)f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-(x-\mu)^2/(2\sigma^2)}.
  • E[X]=μE[X] = \mu, Var[X]=σ2\text{Var}[X] = \sigma^2.
  • Kullanım: termal gürültü, ölçüm hatası, ağırlık başlangıç.

Poisson: X{0,1,2,}X \in \{0, 1, 2, \ldots\}, P(X=k)=λkeλk!P(X=k) = \frac{\lambda^k e^{-\lambda}}{k!}.

  • E[X]=Var[X]=λE[X] = \text{Var}[X] = \lambda.
  • Kullanım: spike sayımı, foton sayımı, cevheri olay.

Beklenen değer kuralları:

  • Lineerlik: E[aX+bY]=aE[X]+bE[Y]E[aX + bY] = aE[X] + bE[Y].
  • Bağımsız ise: E[XY]=E[X]E[Y]E[XY] = E[X] E[Y].

Varyans kuralları:

  • Var[aX]=a2Var[X]\text{Var}[aX] = a^2 \text{Var}[X].
  • Bağımsız ise: Var[X+Y]=Var[X]+Var[Y]\text{Var}[X+Y] = \text{Var}[X] + \text{Var}[Y].
L2 · Tam

Üç fiziksel gürültü kaynağı:

1. Termal gürültü (Johnson-Nyquist):

σI2=4kTGΔf\sigma_I^2 = 4 k T G \Delta f
  • kk = Boltzmann (1.38 × 10⁻²³ J/K)
  • TT = sıcaklık (K)
  • GG = iletkenlik (S)
  • Δf\Delta f = bant genişliği (Hz)

Sayısal: T=300T = 300 K, G=100G = 100 µS, Δf=100\Delta f = 100 MHz → σI=41.38×1023300104108=1.66×1016\sigma_I = \sqrt{4 \cdot 1.38 \times 10^{-23} \cdot 300 \cdot 10^{-4} \cdot 10^8} = \sqrt{1.66 \times 10^{-16}} A = 12.9 nA.

Tipik MVM çıkış akımı: 1-10 µA → SNR = 10⁵ × 12.9 nA = ~10/0.01377010/0.013 \approx 77030-40 dB.

2. Shot gürültü:

σI2=2qIΔf\sigma_I^2 = 2 q I \Delta f
  • qq = elektron yükü (1.6 × 10⁻¹⁹ C)
  • II = ortalama akım

Sayısal: I=1I = 1 µA, Δf=100\Delta f = 100 MHz → σI=21.6×1019106108=3.2×1017\sigma_I = \sqrt{2 \cdot 1.6 \times 10^{-19} \cdot 10^{-6} \cdot 10^8} = \sqrt{3.2 \times 10^{-17}} = 5.7 nA.

Düşük akımda baskın. Termal ile aynı mertebe.

3. 1/f gürültü (flicker):

SI(f)=KI2fS_I(f) = \frac{K I^2}{f}
  • KK = malzeme sabiti (HfO₂ için ~10⁻¹¹).

Frekans düştükçe artar (yavaş drift kaynağı). Uzun retention için baskın gürültü.

Toplam gürültü (üç kaynak bağımsız):

σtotal2=σthermal2+σshot2+σ1/f2\sigma_{\text{total}}^2 = \sigma_{\text{thermal}}^2 + \sigma_{\text{shot}}^2 + \sigma_{1/f}^2

SNR (Signal-to-Noise Ratio):

SNR=μ2σtotal2=PsignalPnoise\text{SNR} = \frac{\mu^2}{\sigma_{\text{total}}^2} = \frac{P_{\text{signal}}}{P_{\text{noise}}}

dB cinsinden: SNRdB=10log10(SNR)\text{SNR}_{\text{dB}} = 10 \log_{10}(\text{SNR}).

  • 30 dB → 1000× signal:noise → ~5 etkin bit.
  • 40 dB → 10000× → ~6.5 etkin bit.
  • 60 dB → 10⁶× → ~10 etkin bit.

SIDRA Y1 hedefi: ~30-40 dB.

L3 · Derin

Crossbar gürültüsü detayı:

256×256 crossbar’da bir sütundaki toplam akım gürültüsü:

σcol2=i=1256σi2256σcell2\sigma_{\text{col}}^2 = \sum_{i=1}^{256} \sigma_i^2 \approx 256 \cdot \sigma_{\text{cell}}^2

Yani σcol=256σcell=16σcell\sigma_{\text{col}} = \sqrt{256} \cdot \sigma_{\text{cell}} = 16 \cdot \sigma_{\text{cell}}.

Sinyal de toplanır: μcol=μi=256μˉ\mu_{\text{col}} = \sum \mu_i = 256 \cdot \bar{\mu} (ortalama).

SNR: (256μˉ)2256σcell2=256μˉ2σcell2=256SNRcell\frac{(256 \bar{\mu})^2}{256 \sigma_{\text{cell}}^2} = 256 \cdot \frac{\bar{\mu}^2}{\sigma_{\text{cell}}^2} = 256 \cdot \text{SNR}_{\text{cell}}.

Crossbar SNR hücre SNR’sinden NN kat iyi. İyi haber.

Programlama gürültüsü:

Memristörü hedef GG‘ye programlamak imkânsız tam doğru. ISPP sonrası GactualN(Gtarget,(ρGtarget)2)G_{\text{actual}} \sim \mathcal{N}(G_{\text{target}}, (\rho G_{\text{target}})^2), ρ1%\rho \approx 1\% (ISPP) veya 5%5\% (basit).

Bu gürültü kalıcıdır — termal gibi her ölçümde değişmez. AI’da “weight quantization noise” rolü oynar. Modern DL bu gürültüyü tolere edecek şekilde tasarlanır (post-training quantization).

Drift:

İletkenlik zamanla yavaşça değişir: G(t)=G0+αlog(t/t0)G(t) = G_0 + \alpha \log(t/t_0). Tipik: 1 yılda ~%5 sapma.

Çözüm: periyodik refresh (her ay birkaç hücre yeniden programlanır) veya drift-aware compiler (önceden tahmin edip kompanse eder).

Gürültü AI için zararlı mı?

Şaşırtıcı: çoğu zaman değil, hatta yardımcı:

  1. Weight noise = stochastic regularizer: ağırlıklara biraz gürültü eklemek overfitting’i azaltır (Hinton et al. 1992).
  2. Dropout: training sırasında nöronları rastgele kapat → daha sağlam model. SIDRA’nın doğal “sneak path” gürültüsü buna benzer etki yapabilir.
  3. Stokastik gradient: SGD’nin gücü gürültü → iyi minimum.
  4. Bayesian ağlar: ağırlıklar aslında dağılımlardır. SIDRA donanım gürültüsü doğal olarak bunu üretir.

SIDRA Y10 hedefi: kontrollü stokastik memristör — gürültü miktarı tasarımla ayarlanabilir. AI türüne göre optimize.

Deney: Bir Hücrenin SNR'ını Hesapla

SIDRA Y1 hücresi:

  • G=50G = 50 µS (HRS-LRS arası)
  • V=0.25V = 0.25 V (okuma voltajı)
  • T=300T = 300 K
  • Δf=100\Delta f = 100 MHz
  • ISPP programlama gürültüsü: ρ=2%\rho = 2\%σG=1\sigma_G = 1 µS

Sinyal akımı: μI=GV=50×1060.25=12.5\mu_I = G \cdot V = 50 \times 10^{-6} \cdot 0.25 = 12.5 µA.

Termal gürültü: σT=4kTGΔf=41.38×10233005×105108\sigma_T = \sqrt{4 k T G \Delta f} = \sqrt{4 \cdot 1.38 \times 10^{-23} \cdot 300 \cdot 5 \times 10^{-5} \cdot 10^8} =8.28×1017=9.1= \sqrt{8.28 \times 10^{-17}} = 9.1 nA.

Shot gürültü: σS=2qIΔf=21.6×10191.25×105108\sigma_S = \sqrt{2 q I \Delta f} = \sqrt{2 \cdot 1.6 \times 10^{-19} \cdot 1.25 \times 10^{-5} \cdot 10^8} =4×1016=20= \sqrt{4 \times 10^{-16}} = 20 nA.

Programlama gürültüsü (akım cinsinden): σP=σGV=1060.25=0.25\sigma_P = \sigma_G \cdot V = 10^{-6} \cdot 0.25 = 0.25 µA = 250 nA.

Toplam: σtotal=9.12+202+250282+400+62500251\sigma_{\text{total}} = \sqrt{9.1^2 + 20^2 + 250^2} \approx \sqrt{82 + 400 + 62500} \approx 251 nA.

Programlama gürültüsü baskın (termal/shot ile karşılaştırıldığında çok büyük).

SNR: SNR=μI/σtotal=12500/251=49.8\text{SNR} = \mu_I / \sigma_{\text{total}} = 12500 / 251 = 49.8 SNRdB=20log10(49.8)=33.9\text{SNR}_{\text{dB}} = 20 \log_{10}(49.8) = 33.9 dB.

Etkin bit: log2(50)5.6\log_2(50) \approx 5.6 bit.

Crossbar seviyesinde (256 sütun): SNR 256× artar → SNR=12,750\text{SNR} = 12,750, ~42 dB, ~7 etkin bit.

Sonuç: SIDRA Y1 sütun başına ~7 bit etkin doğruluk. INT8 inference için yeterli, FP32 değil.

İyileştirme yolları:

  1. ISPP daha sıkı: ρ=1%\rho = 1\% → programlama gürültüsü %50 düşer.
  2. Çoklu okuma (4 ortalama): σ\sigma %50 düşer.
  3. Soğuk çalışma (T = 250 K): termal gürültü %15 düşer.

Y10 hedefi: ~50 dB SNR, ~9-10 etkin bit.

Kısa Sınav

1/6Beklenen değer E[X] nedir?

Laboratuvar Görevi

SIDRA Y1 ile MNIST sınıflandırma SNR analizi.

Senaryo:

  • MNIST: 28×28 = 784 piksel, 10 sınıf.
  • 2-katmanlı MLP: 784 × 128 → 128 × 10.
  • Her katman SIDRA crossbar’larında: ilk katman 4 crossbar (256×256), ikinci katman 1 crossbar.
  • Her hücre: 6-7 bit etkin SNR.
  • Inference: 1 forward pass.

Veri:

  • Tipik MNIST sınıflandırma doğruluğu (FP32 model): %98.
  • INT8 quantize sonrası: %97.5 (1% kayıp).
  • INT4 quantize: %94 (4% kayıp).
  • 6-bit etkin (SIDRA): %96-97 beklenir.

Sorular:

(a) Tek inference için kaç MVM? Kaç ns? (b) Her MVM’de ne kadar gürültü ekleniyor (ortalama akım × 5%)? (c) 2-katmanlı sonra çıkışta toplam gürültü nasıl birikir? (d) %96 sınıflandırma doğruluğu sağlamak için kaç MVM averaging gerekir? (e) Bu averaging inference süresini ne kadar uzatır? Pratik mi?

Çözümler

(a) İlk katman: 784×128. Crossbar 256×256 → 4 MVM (paralel). İkinci katman: 128×10 → 1 MVM. Toplam 5 MVM, ardışık. Süre: 5 × 10 ns = 50 ns.

(b) Her MVM çıkış akımı ~10 µA. Programlama gürültüsü %5 → 0.5 µA. Termal/shot ~50 nA. Toplam ~510 nA per output → ~5% relative.

(c) İki katman ardışık → gürültü RMS toplanır: 0.052+0.052=0.071=7%\sqrt{0.05^2 + 0.05^2} = 0.071 = 7\% relative. Sınıflandırma marjı bunun üstünde olduğu sürece doğruluk korunur.

(d) 5-bit etkin → ~%93 doğruluk. 6-bit (sigle MVM) → %96. 7-bit (4× averaging) → %97-98. 4 averaging yeter.

(e) 4× averaging süre: 4 × 50 ns = 200 ns/inference. Hala saniyede 5M inference. Pratik. SIDRA Y1 5M MNIST/s. Karşılaştırma: H100 ~100M MNIST/s, ama 700W. SIDRA ~150× yavaş ama 230× az enerji.

Not: Y1 MNIST için aşırı büyük (419M hücre, 100K MNIST modeli yeter). Asıl rol: küçük modelleri çoklu paralel çalıştırma (batch inference).

Özet Kart

  • Rastgele değişken: rastgele değer alan değişken. E[X]E[X] = beklenen değer, Var[X]\text{Var}[X] = saçılım.
  • Üç dağılım: Normal (gürültü), Bernoulli (ikili olay), Poisson (sayım).
  • Üç gürültü: Termal (4kTG·Δf), Shot (2qI·Δf), 1/f (drift).
  • Toplam gürültü: σtotal2=σT2+σS2+σ1/f2\sigma_{\text{total}}^2 = \sigma_T^2 + \sigma_S^2 + \sigma_{1/f}^2.
  • SNR: sinyal²/gürültü². dB = 10 log₁₀ SNR.
  • Crossbar SNR: hücre SNR × N (paralellik kazandırır).
  • SIDRA Y1: ~30-40 dB SNR, ~6-7 etkin bit.
  • Gürültü = özellik: stokastik regularizer, dropout etkisi, Bayesian ağlar.

Vizyon: Gürültüyü Bir Tasarım Aracı Yapmak

Klasik mühendislik: gürültü düşman. Modern AI: gürültü dost. SIDRA bu paradigmayı silikona getirir:

  • Y1 (bugün): Gürültü “kabul edilen kötülük” — INT8 inference için yeterli.
  • Y3 (2027): ISPP iyileştirme + sıcaklık kompansasyonu → SNR 50 dB, 9 bit.
  • Y10 (2029): Kontrollü stokastik memristör — gürültü miktarı programlanabilir. Bayesian ağlar, dropout-replikasyon, stokastik MAC için.
  • Y100 (2031+): Gürültü-aware compiler — model her hücrenin gürültü profiline göre eğitilir. Donanım-yazılım co-design.
  • Y1000 (uzun vade): Gürültü-enerji co-optimization. AI modelleri gürültüyü hesap kaynak olarak kullanır (sampling, MCMC).

Türkiye için anlam: Gürültü-tolerant AI tasarım yarışı yeni başladı. SIDRA bu yarışta erken adım. Akademi + atölye + endüstri (ASELSAN, Aselsan AI gibi) birleşince Türkiye’nin ilk ulusal “gürültü-aware AI mimarisi” çıkar.

Beklenmedik gelecek: Stokastik AI çağı. Bugünkü deterministik modeller yerine olasılıksal cevaplar veren AI (cevabın dağılımı, güveni). Bu beyne benzer; SIDRA donanım stokastisitesi doğal taşıyıcı. ChatGPT’nin Y100 versiyonu sadece “cevap” değil “cevap + güven aralığı” verir.

Daha İleri

  • Bir sonraki bölüm: 4.5 — Fourier Dönüşümü
  • Önceki: 4.3 — Türev ve Gradient
  • Olasılık temeli: Ross, A First Course in Probability.
  • Stokastik süreçler: Ross, Introduction to Probability Models.
  • Termal gürültü: Nyquist, Thermal agitation of electric charge in conductors, Phys. Rev. 1928.
  • Shot gürültü: Schottky orijinal 1918.
  • Memristör gürültü: Suri et al., Physical aspects of low power synapses based on phase change memory devices, Journal of Applied Physics 2012.
  • AI’da gürültü regularizer: Hinton et al., Improving neural networks by preventing co-adaptation of feature detectors, arXiv 2012 (dropout).
  • Bayesian sinir ağları: Neal, Bayesian Learning for Neural Networks, Springer 1996.