Sobes.tech
Middle

Mire való a pooling réteg?

sobes.tech MI

Válasz az MI-től

A neuronhálózatokban a pooling réteg a bemeneti adatok dimenziójának csökkentésére szolgál, ami segít csökkenteni a számítási terhelést és a modell paramétereinek számát. Emellett elősegíti a legfontosabb jellemzők kiemelését, növelve a modell ellenálló képességét a bemeneti adatok elmozdulásai és torzulásai ellen.

A leggyakoribb pooling típusok:

  • Max pooling — kiválasztja egy terület maximális értékét.
  • Average pooling — kiszámítja az átlagértéket.

Példa max pooling-ra 2x2-es ablakmérettel és 2-es lépéssel:

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)

Az eredmény minden 2x2-es blokk maximumát tartalmazza, és a méret 4x4-ről 2x2-re csökken.