Sobes.tech
Junior — Senior

Mis on 1x1 konvolutsioon ja milleks seda kasutatakse?

sobes.tech AI

Vastus AI-lt

1x1 konvolutsioon on operatsioon, mille kernel on suurusega 1 x 1 piksel. Seda kasutatakse konvolutsioonilistes närvivõrkudes, et muuta sisendi tensorite kanalite arvu (sügavust) ilma ruumiliste mõõtmete (laius ja kõrgus) muutmata.

Peamised 1x1 konvolutsiooni rakendused:

  • Kanalite mõõtme vähendamine või suurendamine, mis aitab vähendada parameetrite arvu ja arvutuskoormust.
  • Mitte-lineaalsuste sisseviimine kihtide vahele pärast 1x1 konvolutsiooni aktivatsioonifunktsioonide abil.
  • Teabe segamine kanalite vahel, parandades tunnuste esitust.

PyTorch näide:

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)  # partii suurus=1, 64 kanalit, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])