Podręcznik
4. Sieci konwolucyjne
4.6. Pooling
Oprócz operacji konwolucji w sieciach konwolucyjnych istotną rolę odgrywa operacja poolingu. Została ona przedstawiona na rysunku 22. Widzimy tu max pooling w oknie 2x2, czyli z każdego obszaru 2x2 (oznaczone kolorami) wybieramy wartość największą i wstawiamy ją w obraz wynikowy. Jeżeli stosujemy przesunięcie okna (stride) 2x2 to po tej operacji uzyskujemy dwukrotne zmniejszenie szerokości i wysokości obrazu. Pooling stosowany jest do każdego kanału obrazu oddzielnie.
Stosowane są dwa podstawowe rodzaje poolingu:
max pooling - wybieranie wartości największej,
mean (average) pooling - wybieranie wartości średniej w oknie.
Bardziej popularny jest max pooling - pozwala przekazać dalej informację jak bardzo dana cecha wystąpiła w danym oknie. Mean pooling można stosować w ostatniej warstwie sieci w celu przejścia z przetwarzania danych 3D na 1D. Przykładowo, w ostatniej warstwie sieci konwolucyjnej otrzymujemy obraz 7x7x1000, a następnie stosujemy mean pooling w oknie 7x7, co daje obraz 1x1x1000, czyli w praktyce dane jednowymiarowe, które dalej możemy przetwarzać za pomocą warstw gęsto połączonych.
Operacja poolingu pozwala na uogólnienie operacji z poprzednich kroków, redukcję wymiaru i złożoności obrazu, redukcję szumów oraz bardziej odporną detekcję cech. Zwróćmy uwagę, że po zastosowaniu poolingu, filtry warstw kolejnych pracują na danych z większego obszaru obrazu wejściowego (filtry mogą wykrywać coraz większe obiekty). Warstwa poolingu nie ma uczonych parametrów. Należy ustawić rozmiar okna oraz jego przesunięcie. Domyślnie przesunięcie jest równe rozmiarowi okna - w ten sposób okna nie nakładają się.
