Sobes.tech
Middle

Pooling ფენა რა მიზნით გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

ნეირონული ქსელების pooling ფენა გამოიყენება შემოსული მონაცემების ზომის შემცირებისთვის, რაც ეხმარება გამოთვლითი დატვირთვის შემცირებას და მოდელის პარამეტრების რაოდენობის შემცირებას. ის ასევე ხელს უწყობს ყველაზე მნიშვნელოვანი მახასიათებლების გამოყოფას, რაც ზრდის მოდელის მდგრადობას გადახრებისა და დამახინჯებების მიმართ.

საუკეთესო გავრცელებული pooling ტიპები:

  • Max pooling — ირჩევს მაქსიმალურ მნიშვნელობას რეგიონიდან.
  • Average pooling — ითვლის საშუალო მნიშვნელობას.

მაგალითი max pooling-ის 2x2 ზომის ფანჯარით და 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)

შედეგი შეიცავს თითოეული 2x2 ბლოკის მაქსიმალურ მნიშვნელობებს და ამცირებს ზომას 4x4-დან 2x2-მდე.