Sobes.tech
Junior — Senior

Čo je 1x1 konvolúcia a na čo sa používa?

sobes.tech AI

Odpoveď od AI

Konvolúcia 1x1 je operácia konvolúcie s jadrom veľkosti 1 na 1 pixel. Používa sa v konvolučných neurónových sieťach na zmenu počtu kanálov (hĺbky) vstupného tenzora bez zmeny priestorových rozmerov (šírky a výšky).

Hlavné použitia konvolúcie 1x1:

  • Zníženie alebo zvýšenie dimenzie kanálov, čo pomáha znížiť počet parametrov a výpočtovú záťaž.
  • Zavedenie nelinearít medzi vrstvami pomocou aktivačných funkcií po konvolúcii 1x1.
  • Miešanie informácií medzi kanálmi, zlepšenie reprezentácie čŕt.

Príklad v PyTorch:

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)  # dávka=1, 64 kanálov, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])