Sobes.tech
Junior — Senior

Mi az az 1x1-es konvolúció, és mire használják?

sobes.tech MI

Válasz az MI-től

Az 1x1-es konvolúció egy olyan művelet, amely egy 1x1 pixeles maggal végzett konvolúciót jelent. Ezt a konvolúciós neurális hálózatokban alkalmazzák, hogy megváltoztassák a bemeneti tenzor csatornaszámát (mélységét) anélkül, hogy megváltoztatnák a térbeli méreteket (szélesség és magasság).

Az 1x1-es konvolúció fő alkalmazásai:

  • A csatornák dimenziójának csökkentése vagy növelése, ami segít csökkenteni a paraméterek számát és a számítási terhelést.
  • Nemlinearitások bevezetése a rétegek között az aktivációs függvények segítségével az 1x1-es konvolúció után.
  • Információk keverése a csatornák között, javítva a jellemzők reprezentációját.

Példa PyTorch-ban:

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)  # tételméret=1, 64 csatorna, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])