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