Door Afshine Amidi en Shervine Amidi
Overzicht
de Architectuur van een traditionele CNN Convolutional neurale netwerken, ook wel bekend als CNNs, zijn een specifiek type van neurale netwerken die zijn over het algemeen opgebouwd uit de volgende lagen:
De convolutie laag en de bundeling laag kan worden verfijnd met betrekking tot hyperparameters die worden beschreven in de volgende secties.,
laagtypen
Convolutielaag (CONV) de convolutielaag (CONV) gebruikt filters die convolutiebewerkingen uitvoeren terwijl het de invoer $I$ scant met betrekking tot zijn afmetingen. De hyperparameters omvatten de filtergrootte $F$ en stride $S$. De resulterende uitvoer $O$ wordt feature map of activation map genoemd.
Opmerking: De convolutiestap kan ook worden gegeneraliseerd naar de 1D-en 3D-gevallen.,
Pooling (POOL) de pooling laag (POOL) is een downsampling operatie, meestal toegepast na een convolutielaag, die enige ruimtelijke invariantie doet. Met name max en gemiddelde pooling zijn speciale vormen van pooling waarbij de maximale en gemiddelde waarde respectievelijk worden genomen.,ion-hiermee selecteert u de maximale waarde van de huidige weergave
• de Meest gebruikte
• Gebruikt in LeNet
Volledig Aangesloten (FC) De volledig aangesloten laag (FC) werkt op een platte ingang waar elke ingang is aangesloten op alle neuronen., Indien aanwezig, worden FC-lagen meestal gevonden tegen het einde van CNN-architecturen en kunnen worden gebruikt om doelstellingen zoals klassescores te optimaliseren.
Filter hyperparameters
De convolutielaag bevat filters waarvoor het belangrijk is de betekenis achter de hyperparameters te kennen.,
afmetingen van een filter een filter van grootte $F \ keer F$ toegepast op een ingang die $C$ kanalen bevat is een $F \keer F \keer C$ volume dat convoluties uitvoert op een ingang van grootte $I \keer I \keer C$ en een uitvoerfunctiekaart produceert (ook wel activeringskaart genoemd) van grootte $o \keer O \keer 1$.
opmerking: de toepassing van $K$ filters van grootte $F\keer F$ resulteert in een uitvoerfunctie-kaart van grootte $o \keer O \keer K$.,
Stride voor een convolutionele of pooling-operatie geeft de stride $S$ het aantal pixels aan waarmee het venster na elke operatie beweegt.
Zero-padding Zero-padding geeft het proces aan van het toevoegen van $P$ nullen aan elke kant van de grenzen van de invoer.,led onder:
Tuning hyperparameters
Parameter compatibiliteit in convolution laag Door op te merken $I$ de lengte van de invoer de grootte van het volume, $F$ de lengte van het filter, $P het bedrag van zero padding, $S$ de stride, dan is de uitgang grootte $O$ van de functie in kaart langs die dimensie wordt gegeven door:
het Begrijpen van de complexiteit van het model voor het beoordelen van de complexiteit van een model, het is vaak nuttig om te bepalen van het aantal parameters dat de architectuur zal hebben., In een gegeven laag van een convolutioneel neuraal netwerk wordt dit als volgt gedaan:
in het voorbeeld hieronder hebben we $F_1 = F_2 = 3$ en $S_1 = S_2 = 1$, Wat $R_2 = 1 + 2\cdot 1 + 2\cdot 1 = 5$geeft.
vaak gebruikte activeringsfuncties
gerectificeerde Lineaire eenheid de gerectificeerde lineaire eenheidslaag (Relu) is een activeringsfunctie $g$ die wordt gebruikt op alle elementen van het volume. Het heeft tot doel niet-lineariteiten in het netwerk in te voeren., De varianten zijn samengevat in de onderstaande tabel:
Softmax de softmax-stap kan worden gezien als een gegeneraliseerde logistische functie die als invoer een vector van scores $x\in\mathbb{R}^n$ neemt en een vector van uitvoerwaarschijnlijkheid $p\in\mathbb{R}^n$ uitvoert via een softmax-functie aan het einde van de architectuur. Het wordt als volgt gedefinieerd:
objectdetectie
typen modellen er zijn 3 hoofdtypes van objectherkenningsalgoritmen, waarvoor de aard van wat wordt voorspeld anders is., They are described in the table below:
Image classification | Classification w., object | • een object Detecteert in een beeld • Voorspelt de waarschijnlijkheid van het object en waar het te vinden is |
• Detecteert meerdere objecten in een beeld • Voorspelt de kansen van objecten en waar ze zich bevinden |
Traditionele CNN | Vereenvoudigde YOLO, R-CNN | YOLO, R-CNN |
– Detectie In het kader van object detectie, verschillende methoden worden gebruikt, afhankelijk van de vraag of we willen gewoon om het object te vinden of het detecteren van een meer complexe vorm in het beeld., De twee belangrijkste worden samengevat in onderstaande tabel:
snijpunt over Unie snijpunt over Unie, ook bekend als $\texttrm{IoU}$, is een functie die kwantificeert hoe correct gepositioneerd een voorspelde bounding box $B_p$ is over de werkelijke bounding box $B_a$. Het wordt gedefinieerd als:
Anchor boxes Anchor boxing is een techniek die wordt gebruikt om overlappende bounding boxes te voorspellen., In de praktijk is het netwerk toegestaan om meer dan één box tegelijkertijd te voorspellen, waarbij elke boxvoorspelling beperkt is tot een bepaalde set van geometrische eigenschappen. De eerste voorspelling kan bijvoorbeeld een rechthoekige doos van een bepaalde vorm zijn, terwijl de tweede een rechthoekige doos van een andere geometrische vorm zal zijn.
Non-max suppressie de non-max suppressie techniek is gericht op het verwijderen van dubbele overlappende bounding boxes van een zelfde object door het selecteren van de meest representatieve. Na het verwijderen van alle vakken met een waarschijnlijkheid voorspelling lager dan 0.,6, worden de volgende stappen herhaald terwijl er nog vakjes over zijn:
voor een bepaalde klasse,
* Stap 1: Kies het vak met de grootste voorspellingskans.
* Stap 2: Verwijder elk vakje met een $ \ texttrm{IoU} \ geqslant0. 5$ met het vorige vakje.
YOLO You only Look Once (YOLO) is een object detectiealgoritme dat de volgende stappen uitvoert:
• Stap 1: verdeel de invoerafbeelding in een $G\times G$ raster.,
* Stap 2: Voer voor elke rastercel een CNN uit die $y$ voorspelt van de volgende vorm:
waarbij $p_c$ de kans is om een object te detecteren, $b_x, b_y,b_h, b_w$ zijn de eigenschappen van het gedetecteerde bouding box, $c_1,…, c_p$ is een one-hot representatie van welke van de $p$ klassen werden gedetecteerd, en $k$ is het aantal ankerboxen.
* Stap 3: Voer het non-max suppressiealgoritme uit om mogelijke dubbele overlappende bounding boxes te verwijderen.,
R-CNN Region with Convolutional Neural Networks (R-CNN) is een objectdetectiealgoritme dat eerst de afbeelding segmenteert om potentiële relevante bounding boxes te vinden en vervolgens het detectiealgoritme uitvoert om de meest waarschijnlijke objecten in die bounding te vinden dozen.,
opmerking: hoewel het oorspronkelijke algoritme computationeel duur en traag is, konden nieuwere architecturen het algoritme sneller laten draaien, zoals Fast R-CNN en Faster R-CNN.
Gezichtsverificatie en-herkenning
typen modellen in onderstaande tabel worden twee hoofdtypen model samengevat:
Gezichtsverificatie | gezichtsherkenning |
• is dit de juiste persoon?, * één-op-één opzoeken |
• Is dit een van de$ K $ personen in de database? • Één-op-veel-lookup |
Een Schot Leren One Shot Leren is een face controle algoritme dat gebruik maakt van een beperkte opleiding ingesteld om te leren een gelijkenis functie die kwantificeert hoe verschillende twee bepaalde beelden zijn. De similarity functie toegepast op twee afbeeldingen wordt vaak opgemerkt $d (\texttrm{afbeelding 1}, \texttrm{afbeelding 2}).,$
neural style transfer
motivatie het doel van neural style transfer is het genereren van een afbeelding $g$ gebaseerd op een gegeven inhoud $C$ en een gegeven Stijl $s$.,
Activering In een bepaalde laag $l$, de activering is opgemerkt $a^{}$ en is van de afmetingen $n_H\times n_w\times n_c$
Opmerking: de stijl matrix voor de stijl van de afbeelding en de gegenereerde afbeelding worden opgemerkt $G^{(N)}$ en $G^{(G)}$ respectievelijk.,
de Totale kostprijs functie van De totale kosten van de functie is gedefinieerd als een combinatie van de inhoud en de stijl kostenfuncties, gewogen door de parameters $\alpha,\beta$, als volgt:
Opmerking: een hogere waarde van $\alpha$ zal maken van het model geven meer informatie over de inhoud, terwijl een hogere waarde van $\beta$ zal de zorg meer over de stijl.,
architecturen met behulp van computationele trucs
generatief Tegendraadsnetwerk generatieve tegendraadsnetwerken, ook bekend als GANs, zijn samengesteld uit een generatief en een discriminatief model, waarbij het generatieve model gericht is op het genereren van de meest waarheidsgetrouwe output die zal worden ingevoerd in het discriminatief dat gericht is op het differentiëren van het gegenereerde en ware beeld.
opmerking: use cases met varianten van GANs omvatten tekst naar beeld, muziekgeneratie en synthese.,
ResNet de residuele netwerkarchitectuur (ook wel ResNet genoemd) gebruikt residuele blokken met een groot aantal lagen om de trainingsfout te verminderen. Het resterende blok heeft de volgende karakteriseringsvergelijking:
Inception Network deze architectuur gebruikt inception modules en heeft als doel om verschillende convoluties te proberen om de prestaties te verhogen door middel van diversificatie van functies. In het bijzonder gebruikt het de $1\times1$ convolution truc om de computationele belasting te beperken.