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])