Sobes.tech
Junior — Senior

Wat is een 1x1 convolutie en waar wordt het voor gebruikt?

sobes.tech AI

Antwoord van AI

Een 1x1-convolutie is een bewerking van convolutie met een kernel van 1 bij 1 pixelgrootte. Het wordt toegepast in convolutionele neurale netwerken om het aantal kanalen (diepte) van de invoertensor te wijzigen zonder de ruimtelijke afmetingen (breedte en hoogte) te veranderen.

Belangrijkste toepassingen van 1x1-convolutie:

  • Vermindering of vergroting van de kanaaldimensie, wat helpt om het aantal parameters en de rekenbelasting te verminderen.
  • Invoering van niet-lineariteiten tussen lagen via activatiefuncties na de 1x1-convolutie.
  • Menging van informatie tussen kanalen, wat de kenmerkenrepresentatie verbetert.

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