Convolutionele neurale netwerken cnn
Convolutie en feature maps
Convolutionele Neurale Netwerken (CNN's) zijn een klasse van deep neural networks die bijzonder geschikt zijn voor het analyseren van beelddata. Het kernidee is de convolutionele laag, die een filter (kernel) over de invoer schuift en op elke positie een gewogen som berekent. Dit resulteert in een feature map die aangeeft waar het patroon voorkomt. Een CNN bestaat meestal uit een reeks van convolutionele lagen, pooling-lagen en volledig verbonden lagen. Convolutionele lagen leren lokale kenmerken zoals randen, hoeken en texturen. Door meerdere lagen te stapelen, worden complexere kenmerken geleerd. Pooling-lagen verkleinen de ruimtelijke dimensies en verminderen het aantal parameters. Max-pooling is het meest gebruikelijk. De laatste lagen zijn volledig verbonden en doen de uiteindelijke classificatie. CNN's hebben aanzienlijk minder parameters dan volledig verbonden netwerken met dezelfde invoergrootte, omdat filters worden gedeeld over de hele afbeelding. Dit wordt weight sharing genoemd. CNN's zijn de standaard geworden voor beeldclassificatie, objectdetectie en beeldsegmentatie. Ze worden ook gebruikt voor het analyseren van audio en tijdreeksen.
Architecturen en toepassingen
De geschiedenis van CNN's kent verschillende mijlpalen. LeNet-5 was een van de eerste CNN's en werd gebruikt voor het herkennen van handgeschreven cijfers. AlexNet won in 2012 de ImageNet-competitie en luidde de deep learning-revolutie in. VGGNet introduceerde het idee van kleine 3x3-filters en diepe netwerken. ResNet introduceerde skip connections, waardoor netwerken met honderden lagen mogelijk werden. Inception (GoogLeNet) gebruikte parallelle convoluties van verschillende groottes. EfficientNet optimaliseerde de balans tussen diepte, breedte en resolutie. Moderne CNN's worden gebruikt in zelfrijdende auto's (het herkennen van verkeersborden en voetgangers), medische beeldvorming (het detecteren van tumoren), gezichtsherkenning, en het classificeren van satellietbeelden. CNN's kunnen ook worden gecombineerd met RNN's voor video-analyse, of met attention voor beeldbeschrijving. De overdraagbaarheid van CNN's is groot: een vooraf getraind netwerk op ImageNet kan met weinig aanpassing worden gebruikt voor een nieuwe beeldtaak. Dit maakt CNN's tot een van de meest waardevolle tools in moderne AI.