Konwolucyjne sieci neuronowe (Convolutional Neural Networks, CNN) to architektura, która nauczyła komputery „widzieć". Inspirowane biologicznym systemem wzrokowym, CNN potrafią rozpoznawać twarze, diagnozować choroby na zdjęciach rentgenowskich, prowadzić samochody autonomiczne i moderować treści w mediach społecznościowych. To jedna z najważniejszych innowacji w historii AI.

Dlaczego zwykłe sieci nie radzą sobie z obrazami?

Obraz o rozdzielczości 224×224 pikseli z 3 kanałami kolorów (RGB) to 224 × 224 × 3 = 150 528 wejść. Gdybyśmy podłączyli każde wejście do każdego neuronu w warstwie ukrytej z 1000 neuronami, potrzebowalibyśmy 150 milionów wag — tylko dla jednej warstwy. To nieefektywne, podatne na przeuczenie i ignoruje fundamentalną własność obrazów: cechy lokalne.

Krawędź w lewym górnym rogu wygląda tak samo jak krawędź w prawym dolnym. Oczy mają podobny kształt niezależnie od pozycji na zdjęciu. CNN wykorzystują tę obserwację przez trzy kluczowe mechanizmy: konwolucję, dzielenie parametrów i pooling.

Warstwa konwolucyjna — serce CNN

Czym jest konwolucja?

Konwolucja (splot) to operacja matematyczna: mały filtr (kernel) przesuwa się po obrazie, obliczając iloczyn skalarny z fragmentem obrazu w każdej pozycji. Wynik to mapa cech (feature map) — nowy obraz, w którym jasne piksele wskazują miejsca, gdzie filtr „znalazł" szukany wzorzec.

Filtr (kernel)

Filtr to mała macierz (typowo 3×3 lub 5×5) z wyuczonymi wagami. Różne filtry wykrywają różne cechy:

  • Filtr pionowych krawędzi: detektuje pionowe linie
  • Filtr poziomych krawędzi: detektuje poziome linie
  • Filtr Gaussa: rozmywa obraz, redukując szum
  • Filtry wyższego rzędu: tekstury, kształty, gradienty kolorów

W tradycyjnym przetwarzaniu obrazów filtry projektowano ręcznie. W CNN sieć sama się uczy optymalnych filtrów przez backpropagation. To kluczowa różnica.

Dzielenie parametrów (weight sharing)

Ten sam filtr jest stosowany do całego obrazu — przesuwa się po nim, szukając tego samego wzorca w każdym miejscu. Rezultat: drastycznie mniejsza liczba parametrów. Filtr 3×3 z 3 kanałami ma zaledwie 27 wag + 1 bias = 28 parametrów — niezależnie od rozmiaru obrazu.

Hiperparametry konwolucji

  • Stride (krok) — o ile pikseli przesuwa się filtr. Stride 1 = gęste mapowanie. Stride 2 = dwukrotne zmniejszenie rozdzielczości
  • Padding — dodatkowe piksele (zera) dookoła obrazu, żeby zachować wymiary wyjścia. „Same padding" = wyjście takie samo jak wejście. „Valid" = brak paddingu
  • Liczba filtrów — każdy filtr produkuje jedną mapę cech. Typowo: 32, 64, 128, 256 filtrów na warstwę

Warstwa poolingowa

Pooling zmniejsza wymiary map cech, zachowując najważniejsze informacje:

  • Max Pooling — z okna (np. 2×2) wybiera największą wartość. Najpopularniejszy wariant
  • Average Pooling — z okna oblicza średnią. Używany rzadziej
  • Global Average Pooling — średnia z całej mapy cech. Używany przed warstwą wyjściową zamiast fully connected

Pooling 2×2 ze stridem 2 zmniejsza wymiary mapy cech czterokrotnie (2× szerokość × 2× wysokość), dramatycznie redukując liczbę obliczeń.

Architektura CNN — od pikseli do klasyfikacji

Typowa CNN to sekwencja bloków konwolucja–aktywacja–pooling, zakończona warstwami w pełni połączonymi:

1. Wczesne warstwy — cechy niskopoziomowe

Pierwsza warstwa konwolucyjna uczy się wykrywać proste cechy: krawędzie, gradienty kolorów, punkty. Filtry przypominają detektory krawędzi znane z klasycznego przetwarzania obrazów.

2. Środkowe warstwy — cechy pośrednie

Kolejne warstwy łączą cechy niskopoziomowe w bardziej złożone: tekstury, części obiektów (oczy, koła, litery), powtarzalne wzorce.

3. Głębokie warstwy — cechy wysokopoziomowe

Najgłębsze warstwy reagują na całe obiekty lub ich kategorie: twarze, samochody, psy. Mapy cech są coraz mniejsze (dzięki poolingowi), ale coraz bardziej abstrakcyjne.

4. Warstwy w pełni połączone + Softmax

Na końcu mapy cech są „spłaszczone" do wektora i przetwarzane przez warstwy w pełni połączone (jak w zwykłym MLP). Ostatnia warstwa z funkcją aktywacji Softmax generuje rozkład prawdopodobieństwa po klasach: „kot: 92%, pies: 6%, królik: 2%".

Przełomowe architektury CNN

LeNet-5 (1998, Yann LeCun)

Pierwsza praktycznie użyteczna CNN — rozpoznawała odręczne cyfry na czekach bankowych. 5 warstw, ~60 000 parametrów. Punkt wyjścia dla wszystkiego, co nastąpiło.

AlexNet (2012, Krizhevsky, Sutskever, Hinton)

Przełom w konkursie ImageNet: 15,3% top-5 error (vs. 25,8% tradycyjnymi metodami). 8 warstw, 60M parametrów, trenowany na GPU. Użył ReLU, dropout, augmentację danych. Rozpoczął erę deep learning.

VGGNet (2014, Oxford)

16–19 warstw z jednolitą architekturą: wyłącznie filtry 3×3 i max pooling 2×2. Pokazał, że głębokość ma znaczenie. 138M parametrów — olbrzymi, ale elegancko prosty.

GoogLeNet / Inception (2014, Google)

Wprowadził moduł Inception — równoległe konwolucje z filtrami 1×1, 3×3, 5×5 łączone razem. 22 warstwy, ale tylko 6,8M parametrów (20× mniej niż VGG). Innowacja: konwolucja 1×1 jako redukcja wymiarowości.

ResNet (2015, Microsoft, Kaiming He)

Residual connections — dodawanie wejścia warstwy do jej wyjścia (skip connections). Rozwiązanie problemu zanikającego gradientu w bardzo głębokich sieciach. ResNet-152 ma 152 warstwy — wcześniej niemożliwe. Residual connections stały się standardem w niemal wszystkich architekturach, włącznie z transformerami.

EfficientNet (2019, Google)

Systematyczna optymalizacja trzech wymiarów: głębokości, szerokości i rozdzielczości wejścia. Osiąga najwyższą dokładność przy najniższych kosztach obliczeniowych. „Więcej" nie zawsze znaczy „lepiej" — liczy się balans.

Zastosowania CNN

Rozpoznawanie i klasyfikacja obrazów

Fundamentalne zastosowanie: „co jest na tym zdjęciu?" Wyszukiwanie obrazów Google, rozpoznawanie twarzy, moderacja treści w mediach społecznościowych.

Detekcja obiektów

Nie tylko „co?", ale „gdzie?". Modele YOLO (You Only Look Once), SSD, Faster R-CNN rysują prostokąty wokół obiektów na zdjęciach i w wideo w czasie rzeczywistym. Zastosowania: samochody autonomiczne, monitoring, robotyka.

Segmentacja semantyczna

Klasyfikacja każdego piksela w obrazie: „ten piksel to droga, ten to chodnik, ten to pieszy". Kluczowe dla autonomicznej jazdy i analizy obrazów medycznych.

Diagnostyka medyczna

CNN analizujące zdjęcia rentgenowskie, tomograficzne i dermatologiczne osiągają dokładność porównywalną z radiologami i dermatologami. Wykrywanie raka piersi, retinopatii cukrzycowej, złamań.

Przetwarzanie wideo

Wideo to sekwencja obrazów. CNN przetwarzające ramki w połączeniu z mechanizmami temporalnymi (3D CNN, CNN + RNN) umożliwiają rozpoznawanie akcji, śledzenie obiektów, generowanie opisów wideo.

CNN vs. Transformery wizyjne (ViT)

Od 2020 roku transformery wkroczyły na terytorium CNN. Vision Transformer (ViT) dzieli obraz na „łatki" (patches) i przetwarza je jak tokeny tekstu, używając mechanizmu atencji.

Aspekt CNN ViT
Lokalność Filtr działa lokalnie Atencja globalna od pierwszej warstwy
Dane treningowe Działa z małymi zbiorami Wymaga ogromnych zbiorów
Wydajność obliczeniowa Efektywna Kosztowna dla dużych obrazów
Bias indukcyjny Silny (lokalność, translacja) Słaby (uczy się od zera)

W praktyce 2026 roku najlepsze modele łączą oba podejścia — np. ConvNeXt (modernizacja CNN z elementami transformerów) i hybrydowe architektury ViT + konwolucje.

Podsumowanie

CNN to architektura, która zrewolucjonizowała rozpoznawanie obrazów i dała początek erze deep learning. Konwolucja, dzielenie parametrów i pooling — trzy proste idee — pozwoliły sieciom neuronowym zrozumieć wizualny świat. Choć transformery wizyjne zdobywają coraz więcej terytorium, fundamentalne koncepcje CNN — hierarchiczne cechy, lokalność, equiwariantność translacyjna — pozostają kluczowe dla przetwarzania danych wizualnych.