Sobes.tech
Middle

Kokia yra pooling sluoksnio paskirtis?

sobes.tech AI

Atsakymas iš AI

Neuroninių tinklų pooling sluoksnis naudojamas įvesties duomenų matmenų sumažinimui, kas padeda sumažinti skaičiavimo apkrovą ir modelio parametrų skaičių. Taip pat jis padeda išryškinti svarbiausias savybes, didindamas modelio atsparumą poslinkiams ir iškraipymai įvesties duomenyse.

Dažniausiai naudojami pooling tipai:

  • Max pooling — pasirenka didžiausią reikšmę iš srities.
  • Average pooling — apskaičiuoja vidurkį.

Max pooling pavyzdys su 2x2 lango dydžiu ir 2 žingsniais:

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)

Rezultatas turės didžiausias reikšmes iš kiekvieno 2x2 bloko, sumažindamas matmenis nuo 4x4 iki 2x2.