CNN
forkortelse for Convolutional Neural Network
En CNN (Convolutional Neural Network) er et neuralt netværk designet til at bearbejde data med grid-lignende topologi, såsom billeder, ved hjælp af konvolutionelle lag til at lære hierarkiske mønstre.
Kort fortalt
En CNN er en type neuralt netværk, der er særlig god til at genkende mønstre i billeder, f.eks. kanter, former og objekter, ved hjælp af filtre, der bevæger sig på tværs af input.
- Kategori
- arkitektur
- Niveau
- øvet
Betydninger
1- 1
En arkitektur for neurale netværk, der anvender konvolutionelle lag til at udtrække rumlige hierarkier af features fra inputdata som billeder.
- CNN-modeller som ResNet og VGG har opnået state-of-the-art resultater på ImageNet. — Krizhevsky et al., 2012
- En typisk CNN består af konvolutionelle lag, pooling-lag og fuldt forbundne lag. — LeCun et al., 1998
Hvornår bruges det
CNN-modeller bruges primært inden for computer vision til opgaver som billedklassificering, objektdetektion og segmentering. De anvendes også i andre domæner med grid-struktur, f.eks. lydspektrogrammer eller tidsserier.
Kodeeksempel
from tensorflow.keras import layers, models
model = models.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D((2, 2)),
layers.Conv2D(64, (3, 3), activation='relu'),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])Eksempel på en simpel CNN til håndskriftsgenkendelse (MNIST) i Keras.
Oprindelse
CNN står for Convolutional Neural Network, på dansk konvolutionelt neuralt netværk. Konvolution refererer til den matematiske operation med at folde (lat. convolvere) et filter over inputdata.
Afledte ord
4Kilder
2- LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-Based Learning Applied to Document Recognition.
- Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks.