Convolutional Neurala Nätverk cheatsheet Stjärniga

Skulle du vilja se detta cheatsheet på ditt modersmål? Du kan hjälpa oss att översätta det på GitHub!,div>

Convolutional Neural Networks
återkommande neurala nätverk
Tips och tricks

av Afshine Amidi och Shervine Amidi

översikt

arkitektur av en traditionell CNN Convolutional neurala nätverk, även känd som CNNs, är en specifik typ av neurala nätverk som i allmänhet består av följande lager:


Konvolutionsskiktet och Poolskiktet kan finjusteras med avseende på hyperparametrar som beskrivs i nästa avsnitt.,

typer av lager

Convolution layer (CONV) convolution layer (CONV) använder filter som utför convolution operationer som det skannar ingången $i$ med avseende på dess dimensioner. Dess hyperparametrar inkluderar filterstorleken $f$ och steg $s$. Den resulterande produktionen $o$ kallas funktionskarta eller aktiveringskarta.

anmärkning: konvolutionssteget kan också generaliseras till 1D-och 3D-Fallen.,

Pooling (POOL) pooling layer (POOL) är en nedsampling operation, vanligtvis tillämpas efter en falsning skikt, vilket gör vissa rumsliga invariance. I synnerhet är max och genomsnittlig sammanslagning speciella typer av sammanslagning där det maximala och genomsnittliga värdet tas respektive.,ion väljer det maximala värdet för den aktuella vyn

varje sammanslagning operation medelvärden värdena för den aktuella vyn Illustration • bevarar upptäckta funktioner
• mest använda • downsamples funktionskarta
• används i lenet

helt ansluten (FC) det fullt anslutna lagret (FC) fungerar på en tillplattad ingång där varje ingång är ansluten till alla nervceller., Om närvarande finns FC-lager vanligtvis mot slutet av CNN-arkitekturer och kan användas för att optimera mål som klasspoäng.

filtrera hyperparametrar

faltningsskiktet innehåller filter för vilka det är viktigt att känna till betydelsen bakom dess hyperparametrar.,

dimensioner av ett filter ett filter av storlek $f \ gånger F$ appliceras på en ingång som innehåller $C$ kanaler är en $f \ gånger f \gånger C$ volym som utför varv på en inmatning av storlek $i \ gånger i \ gånger C$ och producerar en utmatningsfunktionskarta (även kallad aktiveringskarta) av storlek $o \gånger o \gånger 1$.

anmärkning: tillämpningen av $k$ filter av storlek $f\gånger F$ resulterar i en output funktion karta över Storlek $o \gånger k$.,

steg för en konvolutional eller en poolningsoperation anger stride $s$ antalet pixlar genom vilka fönstret rör sig efter varje operation.

Zero-padding Zero-padding betecknar processen att lägga $p$ nollor på varje sida av gränserna för ingången.,led nedan:

Tuning hyperparametrar

Parameterkompatibilitet i convolution layer genom att notera $i$ längden på ingångsvolymen storlek, $f$ längden på filtret, $p$ mängden noll padding, $s$ stride, sedan utdatastorleken $o$ av funktionskartan längs den dimensionen ges av:

\

förstå modellens komplexitet för att bedöma komplexiteten hos en modell är det ofta användbart att bestämma antalet parametrar som dess arkitektur kommer att ha., I ett givet lager av ett konvolutionellt neuralt nätverk görs det enligt följande:

\

i exemplet nedan har vi $f_1 = F_2 = 3$ och $s_1 = s_2 = 1$, vilket ger $R_2 = 1 + 2\cdot 1 + 2\cdot 1 = 5$.

vanliga aktiveringsfunktioner

rektifierad linjär enhet det rektifierade linjära enhetsskiktet (ReLU) är en aktiveringsfunktion $g$ som används på alla delar av volymen. Det syftar till att införa icke-linjäriteter till nätverket., Dess varianter sammanfattas i tabellen nedan:

Softmax Den softmax steg kan ses som en generaliserad logistisk funktion som tar som indata en vektor av poäng $x\in\mathbb{R}^n$ och utgångar en vektor av produktionen sannolikhet $s\in\mathbb{R}^n$ genom en softmax funktion i slutet av arkitektur. Det definieras enligt följande:

\

objektdetektering

typer av modeller det finns 3 huvudtyper av objektigenkänningsalgoritmer, för vilka arten av vad som förutses är annorlunda., They are described in the table below:

Image classification Classification w., objekt i en bild
• förutspår sannolikheten för objekt och där den är belägen
• upptäcker upp till flera objekt i en bild
• förutspår sannolikheter för objekt och där de är belägna
traditionell CNN förenklad YOLO, r-CNN Yolo, R-CNN

upptäckt i samband med objektdetektering används olika metoder beroende på om vi bara vill hitta objektet eller upptäcka en mer komplex form i bilden., De två viktigaste sammanfattas i tabellen nedan:

korsning över Unionskorsning över unionen, Även känd som $\textrm{IoU}$, är en funktion som kvantifierar hur korrekt placerad en förutsagd avgränsningsruta $b_p$ är över den faktiska avgränsningsrutan $b_a$. Det definieras som:

\

Ankarlådor Ankarboxning är en teknik som används för att förutsäga överlappande avgränsningslådor., I praktiken är nätverket tillåtet att förutsäga mer än en ruta samtidigt, där varje ruta förutsägelse begränsas för att ha en viss uppsättning geometriska egenskaper. Till exempel kan den första förutsägelsen potentiellt vara en rektangulär låda med en given form, medan den andra kommer att vara en annan rektangulär låda med en annan geometrisk form.

icke-max-dämpning icke-max-dämpningstekniken syftar till att ta bort dubbla överlappande avgränsningsrutor av samma objekt genom att välja de mest representativa. Efter att ha tagit bort alla rutor som har en sannolikhet förutsägelse lägre än 0.,6, följande steg upprepas medan det finns lådor kvar:

för en viss klass,
• Steg 1: Välj rutan med största förutsägelse Sannolikhet.
• steg 2: kassera en ruta med en $\textrm{IoU}\geqslant0.5$ med föregående ruta.

YOLO du tittar bara en gång (YOLO) är ett objekt detekteringsalgoritm som utför följande steg:

• Steg 1: dela in bilden i en $g\gånger g$ rutnät.,
• Steg 2: För varje ruta i rutnätet, köra en CNN som förutsäger $y$ i följande format:

i\^T\in\mathbb{R}^{G\gånger G\gånger k\gånger(5+p)}}\]där $p_c$ är sannolikheten för att upptäcka ett objekt, $b_x,b_y,b_h,b_w$ egenskaper har upptäckts bouding rutan $c_1,…, c_p$ är en one-hot representation av vilken av $p$ – klasserna upptäcktes, och $k$ är antalet ankarlådor.
• steg 3: Kör icke-max-dämpningsalgoritmen för att ta bort eventuella överlappande kryssrutor.,

r-CNN-Region med invecklade neurala nätverk (r-CNN) är en objektdetekteringsalgoritm som först segment bilden för att hitta potentiella relevanta avgränsningsrutor och sedan köra detekteringsalgoritmen för att hitta mest sannolika objekt i dessa avgränsningsrutor.,

anmärkning: även om den ursprungliga algoritmen är beräkningsmässigt dyr och långsam, nyare arkitekturer aktiverat algoritmen att köra snabbare, såsom snabb r-CNN och snabbare r-CNN.två huvudtyper av modell summeras i tabellen nedan:

ansiktsverifiering ansiktsigenkänning
• är detta rätt person?,
• One-to-one lookup
* är detta en av $k$ – personerna i databasen?
• One-to-many lookup

one shot learning one shot learning är en ansiktsverifieringsalgoritm som använder en begränsad träningsuppsättning för att lära sig en likhetsfunktion som kvantifierar hur olika två givna bilder är. Likhetsfunktionen som tillämpas på två bilder noteras ofta $d (\textrm{image 1}, \ textrm{image 2}).,$

\

överföring av Neural stil

Motivation målet med neural stilöverföring är att generera en bild $g$ baserat på ett visst innehåll $C$ och en given Stil $s$.,

aktivering i ett visst lager $l$, aktiveringen noteras $a^{}$ och är av dimensioner $n_H \ gånger n_w \ gånger n_c$

\ (C)} – a^{(g)}||^2}\]

\}=\sum_{i=1}^{n_h^{}} \ sum_{j = 1}^{n_w^{}}a_{ijk}^{}a_{IJK”}^{}}\]

anmärkning: stilmatrisen för stilbilden och den genererade bilden noteras $G^{(S)}$ respektive $g^{(g)}$.,

\}(S,G)=\frac{1}{(2n_Hn_wn_c)^2}||G^{(S)}-G^{(G)}||_F^2=\frac{1}{(2n_Hn_wn_c)^2}\sum_{k,k”=1}^{n_c}\Big(G_{kk”}^{(S)}-G_{kk”}^{(G)}\Big)^2}\]div den totala kostnadsfunktionen definieras som en kombination av innehålls-och stilkostnadsfunktionerna, viktade med parametrar $\alpha,\beta$, enligt följande:

\

anmärkning: ett högre värde på $\alpha$ kommer att göra modellen bryr sig mer om innehållet medan ett högre värde på $\beta$ kommer att göra det mer om stilen.,

arkitekturer som använder beräkningstrick

generativa Adversarial Network Generative adversarial networks, även kända som GANs, består av en generativ och diskriminerande modell, där den generativa modellen syftar till att generera den mest sanningsenliga produktionen som kommer att matas in i det diskriminativa som syftar till att skilja den genererade och sanna bilden.

anmärkning: Använd fall som använder varianter av GANs inkluderar text till bild, musikgenerering och syntes.,

ResNet den återstående nätverksarkitekturen (även kallad ResNet) använder kvarstående block med ett stort antal lager som är avsedda att minska träningsfelet. Kvartsblocket har följande karakteriserande ekvation:

\}=g(A^{}+z^{})}\]

Inception Network denna arkitektur använder inception moduler och syftar till att ge ett försök på olika konvolutioner för att öka dess prestanda genom funktioner diversifiering. I synnerhet använder den $1\times1$ convolution tricket för att begränsa beräkningsbördan.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *