Sobes.tech
Middle

Do czego służy warstwa pooling?

sobes.tech AI

Odpowiedź od AI

Warstwa pooling w sieciach neuronowych służy do zmniejszenia wymiarowości danych wejściowych, co pomaga zmniejszyć obciążenie obliczeniowe i liczbę parametrów modelu. Sprzyja również wyodrębnianiu najważniejszych cech, zwiększając odporność modelu na przesunięcia i zniekształcenia danych wejściowych.

Najczęstsze typy pooling:

  • Max pooling — wybiera maksymalną wartość z obszaru.
  • Average pooling — oblicza wartość średnią.

Przykład max pooling z rozmiarem okna 2x2 i krokiem 2:

import torch
import torch.nn as nn

input_tensor = torch.tensor([[[[1, 2, 3, 4],
                               [5, 6, 7, 8],
                               [9, 10, 11, 12],
                               [13, 14, 15, 16]]]], dtype=torch.float32)

pool = nn.MaxPool2d(kernel_size=2, stride=2)
output = pool(input_tensor)
print(output)

Wynik będzie zawierał maksima z każdego 2x2 bloku, zmniejszając wymiar z 4x4 do 2x2.