Widzenie maszynowe: sieci konwolucyjne
Wstęp do działu
Sieć, którą złożyliśmy w Działach 10 i 11, potrafiła rozpoznawać cyfry na obrazkach 28 × 28 pikseli. To ładny sukces dydaktyczny — i zaskakująco kruchy. Podstaw jej pod nos zwyczajne zdjęcie z telefonu, a rachunek się rozsypie: pierwsza warstwa musiałaby mieć setki milionów wag. Co gorsza, ta sieć nie wie o obrazie rzeczy, którą dziecko rozumie bez wyjaśniania: że piksele obok siebie należą do siebie, i że kot przesunięty o dziesięć pikseli w prawo to nadal kot.
Ten dział opowiada, jak tę lukę zamknięto — i dlaczego zamknięcie jej dwiema prostymi operacjami uruchomiło całą dziedzinę zwaną widzeniem maszynowym (ang. computer vision). Pierwsza z tych operacji to konwolucja (splot): jedno małe okienko z dziewięcioma wagami, przesuwane po całym obrazie, zadające w każdym miejscu to samo pytanie — „czy tu jest to, czego szukam?". Druga to pooling: brutalne, bezparametrowe zmniejszanie obrazu, które zamienia informację „gdzie dokładnie" na informację „czy w ogóle". Złożone naprzemiennie w kilkanaście warstw dają sieć konwolucyjną (CNN) — architekturę, która na obrazach bije sieć gęstą tak wyraźnie, że po 2012 roku nikt poważnie nie próbował inaczej.
Zobaczymy pełną, policzalną architekturę takiej sieci: dokładnie sto cztery tysiące parametrów, każdy do sprawdzenia na kalkulatorze. Zobaczymy też, skąd bierze się hierarchia cech, którą poznałeś w Jednostce 10.4 — bo w CNN ma ona konkretną mechaniczną przyczynę, a nie tylko ładne wyjaśnienie. Na koniec wyjdziemy z MNIST-a do stawek prawdziwych: czerniak na zdjęciu skóry, zapalenie płuc na zdjęciu rentgenowskim, retinopatia na zdjęciu dna oka. Wraz z uczciwym rachunkiem tego, czego to widzenie nie potrafi — i dlaczego sieć, która wykrywa czerniaka lepiej niż dermatolog, potrafi jednocześnie dać się nabrać na ślad markera pozostawiony przez lekarza.
Mapa pojęć działu
OBRAZ TO LICZBY (12.1)
28×28×1 (szarość) · H×W×3 (kolor RGB)
sieć gęsta: setki milionów wag i zero
wiedzy o tym, co jest obok czego
│
KONWOLUCJA (12.2)
filtr 3×3 przesuwany po całym obrazie
→ MAPA CECH · WAGI WSPÓLNE (320 zamiast milionów)
│
POOLING (12.3)
okno 2×2, zostaw maksimum → połowa wymiaru
zero parametrów · „czy" zamiast „gdzie dokładnie"
│
splot → pooling → splot → pooling → splot
│
SPŁASZCZENIE → WARSTWA GĘSTA → SOFTMAX
│
HIERARCHIA CECH (12.4)
rosnące POLE RECEPCYJNE: krawędź → część → obiekt
filtry są UCZONE (LeCun 1989 · LeNet-5 1998)
│
ZASTOSOWANIA I GRANICE (12.5)
medycyna obrazowa · uczenie skrótów
przykłady kontradyktoryjne · rola człowieka
Jednostki w tym dziale
- 12.1 Obraz jako liczby: piksele, kanały, rozdzielczość
- 12.2 Konwolucja: filtr i mapa cech
- 12.3 Pooling i architektura sieci konwolucyjnej
- 12.4 Jak działa CNN: od krawędzi do obiektu
- 12.5 CNN w medycynie i granice widzenia maszynowego