konvolutionelt neuralt netværk

Et konvolutionelt neuralt netværk (CNN) er en type neurale netværk, der anvender konvolutionelle lag til at lære hierarkiske repræsentationer fra data med grid-lignende topologi, især billeder.

Kort fortalt

Et konvolutionelt neuralt netværk er en AI-model, der er særligt god til at genkende mønstre i billeder ved at bruge filtre, der scanner inputtet for træk som kanter og former.

Kategori
arkitektur
Niveau
begynder

Betydninger

1
  1. 1

    Et feedforward neuralt netværk, der består af en eller flere konvolutionelle lag, ofte efterfulgt af pooling-lag og fuldt forbundne lag, designet til at lære rumlige hierarkier af træk.

    • Det konvolutionelle neurale netværk opnåede state-of-the-art resultater på ImageNet-klassifikationsopgaven.Krizhevsky et al., 2012
    • For at detektere objekter i realtid anvendes et konvolutionelt neuralt netværk som YOLO.Redmon et al., 2016

Hvornår bruges det

CNN'er bruges primært til computer vision-opgaver som billedklassifikation, objektdetektion og segmentering. De anvendes også i sprogforståelse (f.eks. tekstklassifikation) og lydbehandling. Arkitekturen er designet til at udnytte rumlige sammenhænge og reducere antallet af parametre gennem deling af vægte.

Kodeeksempel

import tensorflow as tf

model = tf.keras.Sequential([
    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(32,32,3)),
    tf.keras.layers.MaxPooling2D((2,2)),
    tf.keras.layers.Conv2D(64, (3,3), activation='relu'),
    tf.keras.layers.MaxPooling2D((2,2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

Simpelt CNN i TensorFlow/Keras til klassifikation af 32x32 farvebilleder i 10 klasser.

Oprindelse

Termen er en oversættelse af den engelske 'convolutional neural network'. 'Konvolution' henviser til den matematiske operation af foldning (convolution), som netværket anvender i de konvolutionelle lag.

Afledte ord

3

Kilder

2
  • Gradient-Based Learning Applied to Document Recognition (LeCun et al., 1998)
  • ImageNet Classification with Deep Convolutional Neural Networks (Krizhevsky et al., 2012)