4. Sieci konwolucyjne

4.1. Operacja konwolucji (splotu)

W sieciach konwolucyjnych podstawową rolę pełni operacja splotu (ang. convolution). Przykład operacji splotu został przedstawiony na rysunku 12. Filtr nakładany jest na przetwarzany obraz, a następnie wartości wag filtra i pikseli obrazu są przemnażane. Wyniki poszczególnych mnożeń dodajemy. Zatem dla położenia filtra jak na rysunku 12 otrzymujemy: 
    1 * (−1) + 2 * 0 + 2 * 1 + 1 * (−1) + 2 * 0 + 2 * 1 + 1 * (−1) + 2 * 0 + 3 * 1 = 4
    . Uzyskaną wartość wstawiamy w odpowiadające miejsce nowego obrazu.

Ilustracja operacji konwolucji - filtr 3x3 nakładany na fragment obrazu z wyliczeniem wyniku
Rysunek 12: Operacja konwolucji (splotu)

Operacja filtracji/splotu/konwolucji jest szeroko stosowana w klasycznym przetwarzaniu obrazu. Przykład zastosowania filtrów krawędziowych został przedstawiony na rysunku 13. Filtr górny wykrywa krawędzie poziome a dolny pionowe.

Przykład zastosowania filtrów krawędziowych - filtr poziomy i pionowy z wynikami filtracji
Rysunek 13: Przykład filtrów krawędziowych

Przykład detekcji krawędzi pionowej dla mikro obrazu został przedstawiony na rysunku 14. Widzimy, że w obrazie wyjściowym duże wartości pikseli odpowiadają lokalizacji krawędzi na obrazie wejściowym.

Przykład detekcji krawędzi pionowej - obraz wejściowy, filtr i wynik konwolucji
Rysunek 14: Przykład detekcji krawędzi pionowej

W klasycznym przetwarzaniu obrazu stosujemy filtry zaprojektowane przez ludzi, takie jak filtry krawędziowe pokazane na rysunkach 13 i 14. W sieciach konwolucyjnych stosujemy w każdej warstwie zbiór filtrów o uczonych wagach. Zatem wagi filtrów w pewnym sensie będziemy traktować analogicznie jak wagi połączeń w perceptronie wielowarstwowym. Są one dostrajane za pomocą algorytmów gradientowych na podstawie zbioru uczącego.