Logo
Δw Hebb 1949 ∂E/∂w ADALINE η epoch δ E = ½e²
Yapay Sinir Ağları · Hafta 03

Öğrenme Kuralları

Paradigmalar · Hebb · Widrow–Hoff · Delta

▌w ← w + η·δ·x  # öğrenmek = ağırlığı güncellemek
Bu Hafta

Ağırlığı Artık Kim Seçecek?

Hafta 2'de ağırlıkları biz seçtik: w = [0.5, −0.25, 0.75], b = 0.2. Bu hafta nöron onları veriden kendisi bulacak. Kapsam: tek nöron / tek katman.

🧭 1 · Öğrenme

Öğrenmek ne demek? Öğretmenli, öğretmensiz, ödüllü.

🔗 2 · Hebb

Biyolojiden gelen ilk kural: birlikte ateşle, birlikte bağlan.

📉 3 · Hata & türev

Ne kadar yanıldık? Hangi yöne düzeltelim?

⚙️ 4 · Widrow–Hoff → Delta

Hatayı türevle azaltan kurallar: önce doğrusal nöron, sonra sigmoid.

🗺️ Neden önce tek katman? Çıkış nöronunun hatasını ölçebiliriz, çünkü hedef d bize verilir. Gizli katmandaki bir nöron için ise kimse “doğru cevap” söylemez. Yol haritası: H3–H5 tek katman (öğrenme kuralları, perceptron) → H6 çok katmanlı ağ (ÇKA) → H7 geri yayılım: hatayı katmanlar boyunca geri taşımak.

Temel Fikir

Öğrenmek = Ağırlığı Güncellemek

\[ \mathbf{w}(t+1) = \mathbf{w}(t) + \Delta\mathbf{w}(t) \]

🔈 okunuş: Δw “delta w”: w'deki değişim·t “te”: adım (zaman) sayacı

💾 Bilgi nerede?

Ağırlıklarda. Eğitilmiş bir ağ, sonuçta bir w listesidir; model dosyası da tam olarak budur.

🧠 Biyolojide

Sinapslar kullanıldıkça güçlenir ya da zayıflar. Uzun süreli güçlenme (LTP) 1973'te gösterildi.

❓ Tek soru

Δw nasıl hesaplanır? Her öğrenme kuralı bu soruya verilmiş bir cevaptır.

Bliss, T. V. P. & Lømo, T. (1973). Long-lasting potentiation of synaptic transmission in the dentate area of the anaesthetized rabbit. J. Physiol., 232, 331–356.

Paradigmalar

Kim Öğretiyor? Üç Paradigma

👩‍🏫 Denetimli

Her x için doğru cevap d verilir; ağ hatasından öğrenir (e = d − y).
Örnek: etiketli e-postalar (spam / değil).
Bu derste: Delta, perceptron, geri yayılım H3–H8

🔍 Denetimsiz

d yok. Ağ verideki yapıyı, benzerliği kendisi bulur.
Örnek: müşterileri davranışa göre gruplamak.
Bu derste: Hebb, Kohonen / SOM H11–H12

🎮 Pekiştirmeli

Doğru cevap yok; yalnızca ödül / ceza var. Ajan denemeyle öğrenir.
Örnek: oyun oynayan ajan, robot kontrolü.
Bu dersin kapsamı dışında.

Bu hafta ikisini göreceğiz: Hebb (denetimsiz) ve Delta (denetimli).

Çerçeve

Tek Formül, Dört Kural

\[ \Delta\mathbf{w} = \eta \cdot \underbrace{r(\mathbf{w}, \mathbf{x}, d)}_{\text{öğrenme sinyali}} \cdot \mathbf{x} \]

🔈 okunuş: η “eta”: öğrenme oranı: adım ne kadar büyük?·r “r”: öğrenme sinyali

KuralÖğrenme sinyali rParadigmaNerede?
Hebby = f(wᵀx)denetimsizbu hafta
Widrow–Hoff (LMS)d − wᵀxdenetimlibu hafta
Delta(d − y) · f′(net)denetimlibu hafta
Perceptrond − ydenetimliH4

Yön hep x'ten gelir; kuralı kural yapan, ne kadar ve hangi işaretle gideceğini söyleyen r.

Zurada, J. M. (1992). Introduction to Artificial Neural Systems. West Publishing.

Hebb · 1949

Donald Hebb: İlk Öğrenme Kuralı

👤 Kim?

Donald O. Hebb (1904–1985), Kanadalı nöropsikolog (McGill). 1949'da öğrenmenin hücre düzeyinde nasıl olabileceğine dair bir varsayım önerdi.

💡 Varsayım (özetle)

A hücresi, B hücresini tekrar tekrar ateşlemeye katkıda bulunursa A→B bağlantısı güçlenir. Öğretmen yok: yalnızca birlikte etkinlik var.

🔥 Akılda kalan hâli

"Cells that fire together wire together." (Shatz, 1992'deki özet)
Birlikte ateşleyen hücreler birbirine bağlanır.

🔬 Kanıt

Varsayım 24 yıl sonra deneyle desteklendi: hipokampüste uzun süreli güçlenme (Bliss & Lømo, 1973). Bugün Hopfield ağları ve SOM bu fikrin torunları H11–H13

Hebb, D. O. (1949). The Organization of Behavior. Wiley. · Shatz, C. J. (1992). The developing brain. Scientific American, 267(3), 60–67.

Hebb Kuralı

Birlikte Ateşle, Birlikte Bağlan

\[ \Delta\mathbf{w} = \eta\, y\, \mathbf{x}, \qquad y = f(\mathbf{w}^\top \mathbf{x}) \]
xᵢyΔwᵢ = η·y·xᵢAnlamı
+++birlikte aktif → bağ güçlenir
−−+birlikte pasif → bağ güçlenir
+−−zıt davrandılar → bağ zayıflar
−+−zıt davrandılar → bağ zayıflar

Formülde d yok → denetimsiz. Nöron, girdisiyle kendi çıktısı arasındaki uyumu (korelasyonu) pekiştirir. Doğru mu yanlış mı, bilmez.

Sayısal Örnek

Hebb'i Elle Çalıştır

f = sgn (signum: işaret fonksiyonu, çıktı ±1), η = 1, başlangıç w = [1, −1, 0.5]. Üç girdi sırayla geliyor:

net = wᵀx = w₁x₁ + w₂x₂ + w₃x₃ → y = sgn(net)⟹Δw = η·y·x → yeni w = w + Δw
① ileri geçiş: hesapla② öğrenme: w'yi güncelle
Adımxmevcut wnet = wᵀxy = sgn(net)Δw = η·y·xyeni w = w + Δw|w|
1[1, −2, 1.5][1, −1, 0.5]1 + 2 + 0.75 = 3.75+1[1, −2, 1.5][2, −3, 2]4.12
2[1, −0.5, −2][2, −3, 2]2 + 1.5 − 4 = −0.5−1[−1, 0.5, 2][1, −2.5, 4]4.82
3[0, 1, −1][1, −2.5, 4]0 − 2.5 − 4 = −6.5−1[0, −1, 1][1, −3.5, 5]6.18

Hiçbir yerde d yok: nöron kendi cevabını pekiştiriyor. Bir de |w|'ye bakın: 1.5 → 4.12 → 4.82 → 6.18. Hep büyüyor… →
🔈 hatırlatma: |w| “w'nin uzunluğu (normu)” = √(w₁² + w₂² + w₃²) · ör. 1. adım: √(2² + (−3)² + 2²) = √17 ≈ 4.12

Etkileşimli · Hebb

Hebb Adım Adım

● hedef +1 · ○ hedef −1 · sarı halka = sıradaki · kesikli = önceki doğru

Bipolar AND, f = sgn, η = 1. Hebb hedefi bilmez: d'ye bakmadan kendi cevabını (y) pekiştirir.

Hebb'in Sorunu

Ağırlık Patlar

x, w = torch.tensor([1., 1.]), torch.tensor([0.1, 0.1])
for t in range(100):
    y = w @ x
    w = w + 0.1 * y * x               # Hebb
# |w|:  10 adım 0.88 · 50 adım 1 287 · 100 adım 11 712 222  → patladı!

w = torch.tensor([0.1, 0.1])
for t in range(100):
    y = w @ x
    w = w + 0.1 * y * (x - y * w)     # Oja (1982): −y²w fren terimi
# |w| → 1.0000,  w → [0.7071, 0.7071]  → dengelendi

🔥 Neden patlıyor?

Her adım w'yi x yönünde büyütür, y de büyür, bir sonraki adım daha da büyütür. Hiçbir şey frenlemez.

🧯 Oja'nın çözümü

Fren terimiyle |w| = 1'e oturur ve verinin ana yönünü bulur: bir nöronluk PCA H11

Oja, E. (1982). Simplified neuron model as a principal component analyzer. J. Math. Biology, 15, 267–273.

Etkileşimli · Oja

Oja AND'de Adım Adım

● hedef +1 · ○ hedef −1 · sarı halka = sıradaki · kesikli = önceki doğru

Slayt 9'daki AND ve aynı w₀; y = net, η = 0.1. Fren |w|'yi 1'de tutar; ama AND'de bulunacak bir ana yön yok →

Etkileşimli · Oja

Oja Asıl Amaç: Yön

● veri x · sarı halka = sıradaki · mavi ok = w · sarı = karar doğrusu (w·x = 0, w'ye dik) · kesikli = önceki · yeşil çember = |w| = 1

Aynı kural, ama bu kez veri (1, 1) yönünde yayılmış; η = 0.1, w₀ = [0.6, −0.2]. Oja w'yi verinin ana yönüne döndürür, boyunu |w| ≈ 1'de tutar: 40 adımda w ≈ [0.71, 0.71], koddaki sonuçla aynı.

Hata

Hebb'in Kör Noktası: Hata

Hebb yanıldığını bilmez. Artık denetimli öğreniyoruz: öğretmen her örneğin etiketini verir.

\[ e = {\color{#86efac}d} - {\color{#fde047}y}, \qquad E = \tfrac{1}{2}\,({\color{#86efac}d} - {\color{#fde047}y})^2 \]
  • d beklenen çıkış: etiket, öğretmen verir
  • y ağın kendi çıkışı: tahmin
  • e, E hata ve hatanın karesi (yarısı)

² Neden kare?

İşaret fark etmez (−0.6 ile +0.6 aynı kötü); büyük hataya büyük ceza.

½ Neden yarım?

Türevdeki 2 ile sadeleşir: dE/dy = ½·2·(d − y)·(−1) = −(d − y).

🧮 Hafta 2'nin nöronu

σ ile y = 0.3659, d = 1 → e = 0.6341, E = 0.2011

dE/dy · E'nin y'ye göre türevi

“y biraz değişirse E ne kadar değişir?” d etiket, yani sabit; E'yi doğrudan değiştiren tek şey y.

⟹

∂E/∂w₁ · asıl soru: w₁'e göre

y'yi elle değiştiremeyiz, w'yi değiştirebiliriz. w₂, b, x, d sabitken yalnız w₁'i oynatırız → kısmi türev (∂ “del”). Yol: w₁ → net → y → E.

Hedef: E'yi küçültmek. Peki w'yi hangi yöne itmeliyiz? →

Hata → Yön

Makine Ağırlığı Nasıl Seçecek?

Deneyerek bulalım: w₁'i çok az (h kadar) oynat, hatanın ne kadar değiştiğine bak.

\[ \frac{\partial E}{\partial w_1} \approx \frac{\overbrace{E(w_1 + h) - E(w_1)}^{\color{#fca5a5}\Delta E\text{: E ne kadar değişti}}}{\underbrace{h}_{\color{#93c5fd}\text{w}_1\text{'e verdiğimiz küçük dürtme}}} \]

🔈 okunuş: ∂E/∂w₁ “del E bölü del w bir”·≈ “yaklaşık”: h küçüldükçe eşitlenir

Üç parça, üç soru

h: w₁'i ne kadar dürttük?
ΔE: bu dürtme hatayı ne kadar değiştirdi?
ΔE / h: w₁'in 1 birimlik değişimine düşen hata değişimi. Bölünce h'den bağımsız, nöronun kendi duyarlılığı kalır.

Hafta 2'nin nöronu, d = 1, w₁ = 0.5 → E = 0.20106

hE(w₁ + h)ΔEΔE / h
0.10.18644−0.01462−0.1462
0.010.19959−0.00147−0.1471
0.0010.20092−0.00015−0.1471

h 10 kat küçülünce ΔE de 10 kat küçülür, oran aynı kalır: ≈ −0.147. İşte türev bu.

Eksi: w₁ artınca E azalıyor ⇒ w₁'i artır. Her nöron bu soruyu cevaplayabilir mi? →

Hata → Yön

Dürtme Hataya Ulaşıyor mu?

Aynı nöron (d = 1), aynı dürtme: w₁'e h = 0.01. Değişimi zincir boyunca izle: w₁ → net → y → E.

Sigmoid: değişim E'ye ulaşır

öncesonradeğişim
w₁0.50→0.51+0.01
net−0.5500→−0.5400+0.0100
y = σ(net)0.3659→0.3682+0.0023
E0.2011→0.1996−0.0015

∂E/∂w₁ ≈ −0.0015 / 0.01 ≈ −0.147 → eksi: w₁'i artırınca E azalıyor ⇒ w₁'i artır

Basamak: değişim y'de kaybolur

öncesonradeğişim
w₁0.50→0.51+0.01
net−0.5500→−0.5400+0.0100
y = basamak(net)0→00
E0.5000→0.50000

∂E/∂w₁ = 0 / 0.01 = 0 → E hiç kıpırdamıyor ⇒ yön bilgisi yok

İşaret yönü, büyüklük adımı söyler: w'yi türevin tersine it. Önce türevi hatırlayalım →

Etkileşimli · Türev

Türev = Anlık Değişim

0 w
\[ E'(w)=\lim_{h\to 0}\frac{E(w+h)-E(w)}{h} \]
\( E(w)=\tfrac12\,(2-w)^2 \Rightarrow E'(w)=w-2 \)

h → 0: slayt 14'teki oranın tam hâli (lim “limit”, E′ “E türev”). Örnek: x = 1, d = 2 olan doğrusal nöron, y = w. E en küçük w* = 2'de (y = d): amaç w'yi değil E'yi sıfırlamak.

w3.5
E(w)1.13
eğim E'(w)1.50

Eğim + ise w'yi artırınca E büyür, − ise küçülür. Kaydırıcıyı oynat →

Etkileşimli · Gradyan İnişi

Gradyan İnişi: Hatayı Yokuş Aşağı

0 w min E · w* = 2
\( w \leftarrow w - \eta\,E'(w) \)
w4.50
E(w)3.13
adım0
0.30

Çok ağırlıkta: her ağırlık için bir kısmi türev (∇ “nabla”, ∇E = gradyan):
\( \nabla E=\left[\tfrac{\partial E}{\partial w_1},\dots,\tfrac{\partial E}{\partial w_n}\right] \)
Tek nöronda → Widrow–Hoff ve Delta (bu hafta); çok katmanda → geri yayılım H7

Neden üç davranış? \( w_{k+1}-2=(1-\eta)(w_k-2) \): her adım w*'a uzaklığı (1 − η) ile çarpar → η < 1 küçülür, 1 < η < 2 işaret değiştirerek küçülür, η > 2 büyür.

Widrow–Hoff · 1960

ADALINE ve LMS Kuralı

Gradyan inişinin en basit nörona uygulanışı: y = net. Türev yine var (E'nin w'ye göre türevi); yalnız aktivasyonun türevi f′ = 1 olduğu için görünmüyor.

\[ \footnotesize E=\tfrac12\,(d-\text{net})^2 \;\Rightarrow\; \frac{\partial E}{\partial w_i} = -(d-\text{net})\,x_i \;\Rightarrow\; \Delta\mathbf{w} = \eta\,(d - \mathbf{w}^\top\mathbf{x})\,\underbrace{\mathbf{x}}_{\text{girdiler}} \]

x = girdiler. net = w₁x₁ + w₂x₂ + … + b olduğundan w₁ 1 artınca net x₁ kadar artar (∂net/∂wᵢ = xᵢ). Her ağırlık kendi girdisi kadar sorumlu: xᵢ = 0 ise wᵢ değişmez, negatif girdi → ters yön.

👥 Kim?

Bernard Widrow ve öğrencisi Marcian "Ted" Hoff, Stanford, 1960. Hoff sonradan Intel'de ilk mikroişlemcinin (4004) mimarlarından biri oldu.

⚙️ ADALINE

ADAptive LInear NEuron. Öğrenirken doğrusal çıktıyı (net) kullanır; karar verirken eşikler. Birazdan göreceğimiz Delta kuralı bunun genellemesi.

📡 Hâlâ yaşıyor

Adı LMS (en küçük ortalama kareler). Telefon ve modemlerde yankı giderme, gürültü engelleme gibi adaptif filtrelerin temeli.

Widrow, B. & Hoff, M. E. (1960). Adaptive switching circuits. IRE WESCON Convention Record, Part 4, 96–104.

Etkileşimli · Widrow–Hoff

Widrow–Hoff Adım Adım

● hedef +1 · ○ hedef −1 · sarı halka = sıradaki · kesikli = önceki doğru

Bipolar AND, η = 0.1. f′ = 1: hiç kör olmaz, ama hatayı net'e bakarak ölçer → 4/4 doğruyken bile w değişir; sonunda w ≈ [0.47, 0.44, −0.50].

Zincir Kuralı

İç İçe Fonksiyonlar: Türevleri Çarp

Peki çıktı y = σ(net) olursa? E artık w'ye bir halka daha uzaktan bağlı: w → net → y → E. İç içe fonksiyonun türevi için zincir kuralı gerekir.

x g: 3x+1 u f: u² y du/dx = 3 dy/du = 2u yerel türevler ↑   (geriye çarpılır)
\[ \frac{dy}{dx} = \frac{dy}{du}\cdot\frac{du}{dx} = 2u\cdot 3 = 6(3x+1) \]

Yerel türevleri çarparak geriye taşırsın (kontrol: x=1 → u=4 → dy/dx = 2·4·3 = 24). Nöron da tam böyle bir zincir: w → net → y → E. Sıradaki slaytta kuralı nörona uygulayacağız →

Zincir Kuralı

Duyarlılığın Formülü

Nöron iki adımlı bir zincir: \( \mathbf{w} \to \text{net} \to y \). Zincir kuralı: türevleri çarp.

\[ \frac{\partial y}{\partial w_i} = \underbrace{f'(\text{net})}_{\text{aktivasyonun eğimi}} \cdot \underbrace{x_i}_{\text{girdi}}, \qquad \frac{\partial y}{\partial b} = f'(\text{net}) \]

Hafta 2'deki nöron: net = −0.55, x = [1, 2, −1]

aktivasyonf′(net)f′(−0.55)∂y/∂w = f′ · x
basamak0 (her yerde)0[0, 0, 0] · sinyal yok
sigmoid σσ(1 − σ)0.232[0.232, 0.464, −0.232]
tanh1 − tanh²0.750[0.750, 1.499, −0.750] · σ'nın ~3 katı
ReLUnet > 0: 1, değilse 00[0, 0, 0] · net < 0'da kör
doğrusal1 (her yerde)1[1, 2, −1] = x · Widrow–Hoff

f′ büyükse nöron öğrenmeye açık, f′ = 0 ise öğrenme durur. Peki madem kör, basamağı ve ReLU'yu neden kullanıyoruz? →

Haklı Soru

Madem Kör, Neden Kullanıyoruz?

Bir yerde kör olmak her yerde kör olmak değil; ve her aktivasyonun ayrı bir görevi var.

🪜 Basamak

Onunla türev üzerinden öğretmeyiz. Perceptron kuralı türev istemez, doğrudan hatayla günceller: Δw = η(d − y)x H4. Eğitimden sonra da son kararı vermek için idealdir: evet / hayır.

⚡ ReLU

Kör bölgesi yalnız net < 0. net > 0'da f′ = 1: sinyal hiç sönmez (σ′ en fazla 0.25; katman katman çarpılınca sıfıra yaklaşır). Bir ağda her örnekte nöronların bir kısmı açıktır; hep kapalı kalan “ölür” → Leaky ReLU (Slayt 31).

⚖️ Kusursuz yok

σ ve tanh de |net| büyüyünce doyar: net = 5'te σ′ = 0.0066, neredeyse kör. Her aktivasyonun kör bölgesi var; seçim, nöronun nerede çalıştığına ve görevine bağlı.

Kısaca: öğrenirken nöronun türevin sıfır olmadığı bölgede çalışmasını isteriz. Şimdi zincire hatayı da ekleyip kuralı türetelim →

Delta Kuralı · 1986

Delta Kuralı: Üç Halkalı Zincir

\[ E = \tfrac{1}{2}(d-y)^2, \qquad y = f(\text{net}), \qquad \text{net} = \mathbf{w}^\top\mathbf{x} \]
\[ \frac{\partial E}{\partial w_i} = \underbrace{\frac{\partial E}{\partial y}}_{-(d-y)} \cdot \underbrace{\frac{\partial y}{\partial\, \text{net}}}_{f'(\text{net})} \cdot \underbrace{\frac{\partial\, \text{net}}{\partial w_i}}_{x_i\ (\text{i. girdi})} \]
\[ \Delta\mathbf{w} = -\eta\,\frac{\partial E}{\partial \mathbf{w}} = \eta\, \underbrace{(d-y)\,f'(\text{net})}_{\delta}\;\underbrace{\mathbf{x}}_{\text{girdiler}} \]

Widrow–Hoff'a tek halka eklendi: f′(net). f doğrusal ise f′ = 1 → Widrow–Hoff. x yine girdiler.

δ = hata × eğim (“küçük delta”): kuralın adı buradan. Bias için x₀ = 1 → Δb = η·δ. δ'yı katmanlar boyunca geri taşımak = geri yayılım H7

Rumelhart, Hinton & Williams (1986), PDP Vol. 1, MIT Press · “delta kuralı” adı bu kitapla yaygınlaştı.

Sayısal Örnek

Hafta 2'nin Nöronu Bir Adım Öğreniyor

x = [1, 2, −1], w = [0.5, −0.25, 0.75], b = 0.2, f = σ, hedef d = 1, η = 0.5

AdımHesapSonuç
1 · ilerinet = −0.55 → y = σ(−0.55)y = 0.3659
2 · hatae = d − y · E = ½e²e = 0.6341 · E = 0.2011
3 · eğimf′ = y(1 − y)0.2320
4 · δδ = e · f′ = 0.6341 · 0.23200.1471
5 · güncelleΔw = η·δ·x · Δb = η·δ[0.0736, 0.1471, −0.0736] · 0.0736
6 · tekraryeni net = −0.0351 → yy = 0.4912 · E = 0.1294

Tek adımda hata %35.6 azaldı ve her ağırlık "doğru yöne" gitti: x₂ = 2 olan w₂ en çok, x₃ = −1 olan w₃ ters yönde değişti.

Etkileşimli · Delta

Delta: Nöronun İçinde Bir Adım

1x₁ 2x₂ −1x₃ 1x₀ ? net = Σ wᵢxᵢ σ ? y d = 1 e = d − yE = ½e² δ = ?
  1. ① ileri
  2. ② hata
  3. ③ eğim f′
  4. ④ δ
  5. ⑤ geri Δw
  6. ⑥ güncelle

Önceki slaytın canlı hâli (d = 1, η = 0.5). ⑤'te δ geri akar: her ağırlık kendi girdisi kadar düzeltilir.

Etkileşimli · Delta

Delta Kuralı Adım Adım

● hedef 1 · ○ hedef 0 · sarı halka = sıradaki · kesikli = önceki doğru

AND, f = σ, η = 2, başlangıç Hafta 2'nin nöronu. Her adımda δ = (d − y)·y(1 − y): hata × eğim. Doğru, net = 0 (σ = 0.5) çizgisidir. 50. epoch'ta (200. adım) w = [2.90, 2.83, −4.28]: kod slaytıyla aynı.

Eğitim Ayarları

η, Epoch ve Ne Zaman Durmalı?

🎚️ Öğrenme oranı η

Küçük → yavaş ama emin. Büyük → salınır, hatta ıraksar. Widrow–Hoff, AND'de: η = 0.2 yakınsar, 0.5 salınır, η ≥ 1 patlar.

🔁 Epoch

Eğitim setinin tamamı bir kez gösterildi = 1 epoch. Öğrenme genelde onlarca–binlerce epoch sürer.

🚶 Online ↔ 📦 Toplu

Online: her örnekten sonra güncelle (bugünkü kurallar). Toplu (batch): tüm örneklerin Δw'sini topla, sonra bir kez güncelle. Arası: mini-batch H8

🛑 Durma kriteri

E < ε (“epsilon”: seçtiğimiz çok küçük bir sayı), tüm örnekler doğru ya da en fazla N epoch. Hangisi önce gelirse.

Hepsini canlı deneyelim →

Etkileşimli · Delta Kuralı

Nöron Öğreniyor

Başlangıç: Hafta 2'deki nöronun ağırlıkları w = [0.5, −0.25], b = 0.2 · ● hedef 1 · ○ hedef 0 · sarı halka = sıradaki örnek. Dene: XOR'da E nerede takılıyor? W–H'de η = 1? Basamakta neden hiçbir şey olmuyor?

Etkileşimli · f′'nin Rolü

Fonksiyon ve Türevi

━ f(z)   ┅ f′(z)   ■ f′ < 0.05: doyma (nöron duyarsız)

Sigmoid ve tanh'ı z = ±5'e götür: f′ ≈ 0 → δ = (d − y)·f′ ≈ 0 → Δw ≈ 0. Hata büyük olsa bile nöron öğrenemez: doyma. Basamakta f′ her yerde 0.

Türevler

Sigmoid'in Türevi Kendisinden Gelir

\[ \sigma(z) = \frac{1}{1+e^{-z}} \;\Rightarrow\; \sigma'(z) = \frac{e^{-z}}{(1+e^{-z})^2} = \sigma(z)\,\bigl(1-\sigma(z)\bigr) \] \[ \tanh'(z) = 1 - \tanh^2(z) \]
zσ(z)σ′(z)tanh′(z)
00.50000.25001.0000
20.88080.10500.0707
40.98200.01770.0013
import math
sig = lambda z: 1 / (1 + math.exp(-z))
z, h = 2.0, 1e-4
(sig(z + h) - sig(z)) / h     # 0.10499 (sayısal)
sig(z) * (1 - sig(z))         # 0.10499 (formül)

İleri geçişte hesapladığın y'yi yeniden kullanırsın: δ = (d − y)·y·(1 − y). Türev neredeyse bedava. Hafta 7'de autograd bunu otomatik yapacak H7

Hafta 2'nin Sözü

Gizli Katmanda Neden ReLU?

Hafta 2'de "nedeni H3'te" demiştik. İşte: Delta'da f′ bir çarpan. Çok katmanda f′'ler zincirle çarpılır H7, sinyal sönmemeli.

f① Büker mi?② f′ ne diyor?Gizli katmanda
basamak✓0 → öğrenme sinyali yok✗ öğrenemez
doğrusal✗ katmanlar çöker1✗ derinlik boşa
sigmoid✓≤ 0.25 → 10 katmanda ≤ 0.25¹⁰ ≈ 10⁻⁶; uçlarda doyar△ eskiden standart
tanh✓≤ 1, sıfır merkezli; yine de uçlarda doyar○ RNN/LSTM'de yaygın
ReLU✓ menteşez > 0'da tam 1 → sönmez; hesabı ucuz✓ bugünün varsayılanı

⚠️ ReLU'nun zaafı

z < 0'da f′ = 0 → hep negatif kalan nöron "ölür". Çözüm: Leaky ReLU, GELU (Transformer'lar) H14

♻️ Sigmoid bitmedi

Gizlide nadir ama çıktıda olasılık verir; LSTM'de 0–1 arası kapı (vana) olarak çalışır.

Koda Dök

Delta Kuralı, Sıfırdan

import torch
X = torch.tensor([[0., 0.], [0., 1.], [1., 0.], [1., 1.]])
d = torch.tensor([0., 0., 0., 1.])                 # AND
w, b, eta = torch.tensor([0.5, -0.25]), torch.tensor(0.2), 2.0

for epoch in range(1, 51):
    for x, t in zip(X, d):                         # örnek örnek (online)
        y = torch.sigmoid(w @ x + b)
        delta = (t - y) * y * (1 - y)              # (d − y)·f′(net)
        w = w + eta * delta * x                    # Δw = η·δ·x
        b = b + eta * delta
    if epoch in (1, 10, 50):
        E = 0.5 * ((d - torch.sigmoid(X @ w + b)) ** 2).sum()
        print(epoch, round(E.item(), 4))
# 1 0.4466
# 10 0.2101
# 50 0.0563
(torch.sigmoid(X @ w + b) >= 0.5).int()            # tensor([0, 0, 0, 1]) ✓

Döngünün kalbi 3 satır: ileri hesap, δ, güncelleme. Canlı demodaki "sigmoid, η = 2, AND" ile aynı sayılar.

Yan Yana

Hebb · Widrow–Hoff · Delta

HebbWidrow–Hoff (LMS)Delta
Paradigmadenetimsizdenetimlidenetimli
Δwη · y · xη · (d − net) · xη · (d − y) · f′(net) · x
fherhangidoğrusaltürevlenebilir (σ, tanh)
Hatayı bilir mi?✗✓✓
Zaafıağırlık patlar → Ojadoğruyken de iter (d − net ≠ 0); η sınırlıdoyma (f′ ≈ 0)
TorunlarıHopfield, SOM H11–H13adaptif filtrelergeri yayılım H7

Basamak f ile Delta öğrenemez (f′ = 0). Rosenblatt bunu türevi hiç kullanmayan bir kuralla çözdü: r = d − y → perceptron H4

Mini Quiz · Haftayı Yokla

Kendini Test Et

1) Hebb kuralı hangi paradigmadır?
2) Delta kuralına basamak f verirsek?
3) Widrow–Hoff'ta f′(net) kaçtır?
4) η çok büyük seçilirse?
Toparlayalım

Bu Hafta Ne Öğrendik?

✅ Öğrenmek = ağırlığı güncellemek: w ← w + Δw

✅ Paradigmalar: denetimli (d var), denetimsiz (d yok), pekiştirmeli (ödül)

✅ Genel kural: Δw = η·r·x; kuralları ayıran öğrenme sinyali r

✅ Hebb: Δw = η·y·x, denetimsiz; ağırlık patlar → Oja

✅ Hata: E = ½(d − y)²; gradyanın tersine git

✅ Widrow–Hoff (ADALINE, LMS): f doğrusal, f′ = 1

✅ Delta: Δw = η·(d − y)·f′(net)·x, δ = hata × eğim

✅ f′ öğrenmeyi yönetir: basamak 0 (kör), doyma ≈ 0, ReLU 1

🗺️ Hepsi tek katman: hata, d'nin bilindiği çıkışta ölçülür. Gizli katmanda d yok → geri yayılım H7

Uygulama · ~40 dk

Kuralları Kendin Kodla

1 · Hebb'i doğrula. Slayt 8'deki üç adımı PyTorch ile tekrarla. Sonunda w = [1, −3.5, 5] çıkmalı.

2 · Patlamayı çiz. Hebb ve Oja'yı 100 adım çalıştır; |w|'yi adım adım aynı grafikte çiz (y ekseni log ölçek).

3 · Delta ile OR. Slayt 32'deki kodu OR'a uyarla. η = 0.5, 2, 5 için E–epoch eğrilerini aynı grafikte çiz. Hangisi en hızlı?

4 · LMS'in sınırı. Widrow–Hoff'u AND'de η = 0.2, 0.5, 1 ile çalıştır. Hangisi yakınsıyor, hangisi patlıyor? Slayt 17 ile açıkla.

İpucu: Delta'yı doğrusal f'ye çevirmek için tek satırı değiştirmek yeter: f′ = 1.

Sonraki Hafta

Hafta 4 — Ayrık Perceptron

Basamaklı nöron Delta ile öğrenemedi. Rosenblatt (1958) f′'yü hiç kullanmayan bir kural buldu. Hangi problemleri garanti öğrenir: doğrusal ayrılabilirlik ve perceptron yakınsama teoremi. Hâlâ tek katman; çok katmana H6'da, geri yayılıma H7'de geçeceğiz.

\[ \Delta \mathbf{w} = \eta\,(d - y)\,\mathbf{x} \]
← Ders Ana Sayfasına Dön