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. 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

4

Kilder

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.