convolutional layer
Et convolutional layer er et neuralt netværkslag, der anvender foldningsoperationer (konvolution) på inputdata for at ekstrahere hierarkiske træk, typisk i form af feature maps.
Kort fortalt
Et convolutional layer er et lag i et neuralt netværk, der scanner inputdata (f.eks. et billede) med små filtre for at genkende mønstre som kanter og teksturer.
- Kategori
- arkitektur
- Niveau
- øvet
- Udtale
- /kɒnvəˈluːʃənəl ˈleɪər/
Betydninger
2- 1
Et neuralt netværkslag, der udfører en diskret foldning mellem inputdata og et sæt af lærbare filtre (kerner) for at producere feature maps.
- I et CNN ekstraherer det første convolutional layer simple træk som vandrette og lodrette kanter. — Lærebog i deep learning, 2023
- 2
Betegnelse for det kombinerede lag bestående af konvolution, aktiveringsfunktion (typisk ReLU) og eventuel batch-normalisering, som ofte omtales under ét.
- Moderne CNN-arkitekturer stakker typisk flere convolutional layers med ReLU-aktivering imellem. — Forskningsartikel, 2022
Hvornår bruges det
Convolutional layers bruges primært i convolutional neural networks (CNN'er) til billedbehandling, men også i lyd- og tekstbehandling med 1D-konvolution. De anvendes i en stak med efterfølgende aktiveringsfunktioner og pooling-lag for gradvist at opbygge komplekse repræsentationer.
Formel
(I * K)(i,j) = \sum_m \sum_n I(i+m, j+n) \cdot K(m,n)Kodeeksempel
import torch.nn as nn
conv_layer = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)Opretter et 2D convolutional layer med 3 input-kanaler (f.eks. RGB-billede), 16 outputkanaler, 3x3 kernel, stride 1 og padding 1 for at bevare rumlig dimension.
Oprindelse
Udtrykket 'convolution' kommer fra latin 'convolvere' (sammenrulle), og refererer til den matematiske foldningsoperation. 'Layer' betegner lag i et neuralt netværk.
Afledte ord
3Kilder
2- Gradient-Based Learning Applied to Document Recognition (LeCun et al., 1998)
- ImageNet Classification with Deep Convolutional Neural Networks (Krizhevsky et al., 2012)