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
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
3Kilder
2- Gradient-Based Learning Applied to Document Recognition (LeCun et al., 1998)
- ImageNet Classification with Deep Convolutional Neural Networks (Krizhevsky et al., 2012)