Az FC (Fully Connected = teljesen összekötött) rétegben minden neuron minden bemenethez kapcsolódik — a CNN (Convolutional Neural Network = konvolúciós neurális háló) rétegben csak a szomszédokhoz. Más elnevezések: FC = „dense layer" (Keras), „linear layer" (PyTorch).
A CNN lényege: egyetlen kernel (= szűrőmag, filter) végigcsúszik az egész képen/jelen. Ez a weight sharing (= súlymegosztás): ugyanaz a 3×3 súly néz bele a bal felső és a jobb alsó sarokba is.
🎯 Kernel csúsztatás — a súlyok SZÍNE azonos!
Kernel pozíció Feature map kimenet
CNN: y[i,j] = Σ w[m,n] · x[i+m, j+n] — UGYANAZ a w[m,n] mindenhol FC: y[i,j] = Σ w_ij[m,n] · x[m,n] — KÜLÖNBÖZŐ w minden pozícióra
03 // PARAMÉTERSZÁM50 millió vs 640
Ez nem elírás. Egy 224×224 képnél az FC réteg 50 milliárd súlyt igényel — a CNN kevesebb mint ezret.
📊 Paraméterszám összehasonlítás — interaktív
Miért baj a sok paraméter? (1) Memória és számítás. (2) Overfitting (= túltanulás): a háló „magol" — megtanulja a tanító adatot, de új adatra rosszul általánosít. Minél kevesebb paraméterrel old meg egy feladatot, annál robusztusabb (generalizáció = általánosítóképesség).
04 // LOKÁLIS KAPCSOLATA képek lokális struktúrával rendelkeznek
Egy pixel a szomszédjaival együtt alkotja az éleket, textúrákat. A kép másik sarkában lévő pixellel nincs közvetlen kapcsolata — az FC feleslegesen próbálja megtanulni ezt. A CNN neuron receptive field-je (= receptív mező, látómező) az a terület, amit közvetlenül „lát".
🔬 Receptív mező — mit „lát" egy neuron?
Közvetlen receptív mező Effektív receptív mező (mélyebb réteg)
Receptive field (= receptív mező) növekedése: L1: 3×3, L2: 5×5, L3: 7×7... Mélyebb réteg = nagyobb terület → lokálisból fokozatosan globális! A háló „alulról felfelé" (bottom-up) építi a megértést: edge → texture → pattern → object.
05 // EKVIVARANCIAHa a bemenet eltolódik, a kimenet is eltolódik
A konvolúciós réteg translation equivariant (= transzláció-ekviváriáns): ha a minta 3 pixellel jobbra tolódik, a feature map (= jellemzőtérkép) is 3 pixellel jobbra tolódik — de az értéke nem változik! A feature map a kernel egy adott „kérdésére" adott válasz térképe.
➡️ Eltolás hatása — interaktív
Bemenet (eredeti) Kernel (rögzített) Feature map (követi az eltolást!)
Conv(shift(x, Δ)) = shift(Conv(x), Δ) — az eltolás és a konvolúció felcserélhető!
Stride (= lépésköz): hány pixelt ugrik a kernel (stride=2 → felezi a kimenetet)
Padding (= kitöltés): széleken nullákkal bővít, hogy a kimenet mérete megmaradjon
06 // POOLING → INVARIANCIAA pooling „elnyeli" a kis eltolást
Az ekvivarianciát a pooling (= összevonó) réteg alakítja invarianciává (= változatlansággá): a 2×2 max-pool (= maximumválasztó összevonás) 1 pixelnyi eltolást már nem „látja" — a maximum ugyanaz marad. Létezik average pooling (= átlagoló) is.
🏊 Max-pooling hatása eltolásra
Feature map (konv. után) Max-pool kimenet Maximum pozíció
Ekvivarancia → Invariancia (Equivariance → Invariance):
• Konvolúció = equivariant (ekviváriáns): eltolás → eltolás (a feature map „együtt mozog")
• + Pooling = invariant (invariáns): kis eltolás → ugyanaz a kimenet
• Több pooling réteg → nagyobb eltolástűrés (translation tolerance)
07 // 1D JEL ANALÓGIAJelfeldolgozás = CNN 1D-ben
A FIR (Finite Impulse Response = véges impulzusválaszú) szűrő h[k] pontosan ugyanúgy működik, mint a CNN kernel: megosztott súlyok, lokális kapcsolat, csúsztatás. A CNN ezt tanulhatóvá teszi a backpropagation (= visszaterjesztés) algoritmussal, ami a loss function (= veszteségfüggvény) gradiensét számítja ki.
🔊 FIR szűrő vs 1D CNN — ugyanaz!
Bemenet x[k] Kernel/szűrő h[k] Kimenet y[k]
Az egyetlen különbség: a FIR szűrőt az ember tervezi (pl. Butterworth, Chebyshev). A CNN kernelt a backpropagation (visszaterjesztés) tanulja meg a training data-ból (= tanítóadatból). A gradient descent (= gradiens-ereszkedés) iteratívan módosítja a kernel súlyait, amíg a loss minimális. De matematikailag: UGYANAZ a konvolúció.
08 // ÖSSZEFOGLALÁSA teljes kép
🎯 A CNN két trükkje — vizuális összefoglaló
1. Paraméter-megosztás (Weight Sharing): Egy kernel (3×3 = 9 súly) csúszik mindenhol → 5 nagyságrenddel kevesebb paraméter → kevesebb overfitting (túltanulás), gyorsabb tanulás. Inductive bias (= indukciós előfeltevés): „egy él az él, bárhol is van a képen."
2. Lokális kapcsolat → Transzláció-invariancia (Translation Invariance): Csak szomszédokat néz (local connectivity) → felesleges távoli kapcsolatok kizárva. Konvolúció = equivariance (ekvivarancia: kimenet együtt tolódik) + pooling (összevonás) = invariance (invariancia: kis eltolás → ugyanaz a kimenet).
Jelfeldolgozási analógia: A FIR (véges impulzusválaszú) szűrő = CNN kernel, csak a CNN-ben a backpropagation (visszaterjesztés) tanulja meg az együtthatókat. Rezgésjel, delfin-kattintás, ipari hang: 1D CNN = tanulható szűrőbank (filter bank).
09 // RÖVIDÍTÉSEKFogalomtár & rövidítésjegyzék
Az összes rövidítés és szakkifejezés, ami az anyagban előfordul — egy helyen.