Convolutional Neural Network

Neural Network en Deep Learning

Inleiding Neural Network is een methode van Machine Learning, het wordt ook wel artificial neural network of simulated neural networks. Hierin worden vraagstukken zoals classificatie en regressie opgelost worden. Het kan ook voor complexere taken zoals beeld- geluid- en taalherkenning ingezet worden. De naam Neural Network staat voor neuraal netwerk, dit komt omdat een Neural Networks gebaseerd zijn op de werking van het brein. Door het ontstaan van een toename aan rekenkracht, zorgt voor een steeds groter wordend netwerk die getraind kan worden. Dit heet Deep Learning. Aan de ene kant zorgt Deep Learning dat hardware steeds meer kan doen. Aan de andere kant zorgt het ervoor dat weinig voorwerk snel complexe Neural Network toe te passen. Er zijn veel verschillende methodes die bij Deep Learning horen. Elk Network heeft zijn eigen unieke toepassingen en kenmerken. De bekendste zijn:

Convolutional Neural Network (CNN)

Een CNN maakt deel uit van deep learning en wordt typisch gebruikt voor beeld gerelateerde vraagstukken. Die probeert de werking van de visuele cortex na te bootsen. Het zit zelfs zo in elkaar dat het precies lijkt op de hersens frontale kwab, dit gebied zorgt voor het processen van visuele prikkels. CNN is ontworpen om automatisch en adaptief ruimtelijke ordes van kenmerken te leren door middel van backpropagatie. Hierbij maak je gebruik van meerdere bouwstenen, zoals convolution lagen, poolinglagen en volledig verbonden lagen. Deze lagen of bouwstenen behoren tot een wiskundig construct. De convolution en pooling lagen voeren kenmerkextractie uit. De volledig verbonden laag brengt de kenmerken in kaart in de uiteindelijke uitvoer. De convolution laag is het belangrijkste voor CNN. en CNN heeft knooppunten dat een input laag, een of meer verschillende verborgen lagen en een output laag bevat. Een knooppunt is verbonden met een ander knooppunt. Een knooppunt heeft een bijbehorend gewicht en drempel. Als de output van een knooppunt een hoger is dan de drempelwaarde, dan is dat knooppunt geactiveerd, dan wordt data naar een volgende laag gestuurd. Als de drempelwaarde lager is dan het aangegeven knooppunt dan gebeurt er niks.

Afbeelding ter illustratie: de verschillende lagen in het CNN

Doel van die verschillende lagen

De convolution laag is de belangrijkste laag, en daarbij gebeurt ook het meeste in. Het proces van convolution omvat in een kern, dat is het fundamentele van de computers besturingssysteem. Het kan ook binnen die laag filteren om zo te kijken of er een kenmerk aanwezig is in de afbeelding. Meerdere iteraties zorgen dat de kern over een hele afbeelding gaat. Na elke iteratie wordt een inproduct gecalculeerd tussen de input pixels en de filter. De output van de serie van de inproducten is ook wel de kenmerkende kaart of de ingewikkelde functie. Uiteindelijk wordt de afbeelding omgezet in getalswaardes, hierdoor kan CNN de afbeelding herkennen van het patroon. De pooling laag gaat net zoals de convolution laagde kern of filter ook over de afbeelding heen. Het verschil zit hem in het gebruik van de nummers. De pooling laag vermindert de getallen van de parameters in de input en is er ook voor een klein verlies aan informatie. Dit zorgt voor het verminderen van de complexiteit en het verbeterd de efficiëntie van CNN. De volledig verbonden laag wordt ook wel verkort naar FC laag. Hier gebeurd de afbeelding classificatie in de CNN, het is gebaseerd op wat er in de vorige afbeelding gebeurd. Hier wordt alle input en knooppunten van de ene laag verbonden met de activatie eenheid of knooppunt van de andere laag. Niet alle lagen zijn volledig verbonden doordat het anders een te dicht netwerk wordt. Het zou ook de output verminderen.

Waarom gebruiken we CNN?

CNN is fundamenteel voor deep learning. Het wordt gebruikt voor beeldherkenning, beeld classificatie en computer visie (CV). CNN is hierbij erg help vol is, de resultaten zijn namelijk erg nauwkeurig vooral als er heel veel data aanwezig is. Deze directe vorm van deep learning zorgt voor het elimineren van handmatige functie-extractie. De meest gebruikte applicaties waarin CNN gebruikt worden: Gezondheidzorg. CNN kan verschillende afwijkende omstandigheden kan de patiënt opsporen, door het onderzoeken van duizenden visuele rapporten. Automobiel. CNN technologie helpt met zelfrijdende auto’s en autonome voertuigen. Sociale media. Sociale media platformen gebruiken CNN met het aanbevelen van gebruikers die je zou kunnen kennen. Door de mensen te identificeren op de gebruikers foto. Kunstmatige intelligentie. CNN zorgt ervoor dat kunstmatige intelligentie (AI) wordt bevordert door bepaalde systemen aan te bieden die menselijke hersenactiviteit stimuleren. Detailhandel. CNN zorgt ervoor dat er bepaalde spullen van een merk voorbij komen die voor de gebruiker leuk wordt gevonden. Gezichtsherkenning voor rechtshandhaving. Generative advance networks (GAN), zijn beelden die echt lijken maar niet echt zijn, worden gebruikt voor het produceren van nieuwe afbeeldingen. Dat wordt gebruikt voor het trainen van deep learning en gezichtsherkenning. Geluid herkenning. Het leert en detecteert de gebruikers gesproken woorden en verwerkt de input hiervan om hun acties te begeleiden. Ook wordt het gebruikt om te reageren op de gebruiker.

Deepfake en Fraude

Deepfake kan zorgen voor identiteit fraude. Deep staat voor deep learning en fake voor de video of audio die nep is. Deepfake werd eerst vooral gebruikt voor beroemdheden, politieke trucs en wraakpornografie. Maar criminelen kunnen het ook gebruiken om bijvoorbeeld het belastingsysteem te hacken. Door middel van video. Ook audio kan zorgen dat criminelen geld kunnen krijgen. Dit is bijvoorbeeld bij telefoongesprekken. Banken en financiële instellingen moeten nu op het gebied van fraudebestrijding extra inspanning inleveren. Daarvoor zijn bijvoorbeeld het opsporen van digitale geldtransacties. Ze gaan hierbij kijken naar een afwijkend gedrag in de geldtransacties van een cliënt. Er worden nu al algoritmes ontwikkeld om deepfake tegen te gaan, deze algoritmes zorgen dat verschillende soorten deepfake herkent wordt. De UvA en het NFI onderzoeken het fenomeen en hebben een goede methode gevonden om het op te sporen. Met de methode rolling shutter-methode kunnen ze een patroon vinden van een tijdlijn, hierdoor kunnen ze bepalen wanneer de video of audio is opgenomen. Hierbij maken ze gebruik van het elektrische netwerkfrequentie. Omdat overal in Europa het netwerksysteem tussen de 49,5 en 50,5 hertz ligt en aan elkaar aangesloten is kan er bepaald worden wanneer het is opgenomen. Om een deepfake te herkennen kun je kijken naar: Onbekende afzender, als het geen betrouwbare bron is. Kan het zijn dat de video deepfake is. Details, als gezichtsuitdrukkingen onnatuurkijk zijn of komen de bewegingen niet overeen met de mond, mist de persoon bepaalde dingen zoals vingers of knippert de persoon niet met zijn ogen. Dan is het een grote kans dat het deepfake is. Onscherpe of vertraagde pixels.