Sobes.tech
Junior — Senior

Kas yra 1x1 konvoliucija ir kam ji naudojama?

sobes.tech AI

Atsakymas iš AI

1x1 konvoliucija yra konvoliucijos operacija su 1x1 pikselio dydžio branduoliu. Ji taikoma konvoliucinėse neuroninėse tinkluose, siekiant pakeisti įvesties tensorio kanalų skaičių (gylį) be erdvinių matmenų (plotis ir aukštis) keitimo.

Pagrindinės 1x1 konvoliucijos taikymo sritys:

  • Kanalų matmenų mažinimas arba didinimas, kas padeda sumažinti parametrų skaičių ir skaičiavimo apkrovą.
  • Nelinearumo įvedimas tarp sluoksnių naudojant aktyvacijos funkcijas po 1x1 konvoliucijos.
  • Informacijos maišymas tarp kanalų, gerinant bruožų reprezentaciją.

PyTorch pavyzdys:

import torch
import torch.nn as nn

conv1x1 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=1)
input_tensor = torch.randn(1, 64, 32, 32)  # partijos dydis=1, 64 kanalai, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])