Vad är Convolutional Neurala Nätverk Arkitektur?

0 Comments

denna artikel publicerades som en del av Data Science Blogathon.

introduktion

arbeta med ett projekt om bildigenkänning eller objektdetektering men hade inte grunderna för att bygga en arkitektur?,

i den här artikeln kommer vi att se vad som är invecklade neurala nätverksarkitekturer direkt från basic och vi kommer att ta en grundläggande arkitektur som en fallstudie för att tillämpa våra lärdomar, den enda förutsättningen är att du bara behöver veta hur convolution fungerar men oroa dig inte det är väldigt enkelt !!

låt oss ta ett enkelt Konvolutionellt neuralt nätverk,

Vi kommer att gå lagervis för att få djupa insikter om detta CNN.,

För det första finns det några saker att lära av lager 1 som sträcker sig och stoppning, vi kommer att se var och en av dem i korthet med exempel

låt oss anta att detta i inmatningsmatrisen av 5×5 och ett filter av matris 3X3, för dem som inte vet vad ett filter är en uppsättning vikter i en matris som appliceras på en bild eller en matris för att få de nödvändiga funktionerna, vänligen

Obs: vi tar alltid summan eller genomsnittet av alla värden medan du gör en konvolution.,

ett filter kan vara av vilket djup som helst, om ett filter har ett djup d kan det gå till ett djup av D-lager och convolute i.,”f4a6da248a”>

här är ingången av storlek 5×5 Efter applicering av en 3×3-kärna eller filter du får en 3×3-utmatningsfunktionskarta så låt oss försöka formulera detta

så utgångshöjden är formulerad och samma med o/p bredd också…

stoppning

vid tillämpning av varv kommer vi inte att få utdatamått på samma sätt som indata vi kommer att förlora data över gränser så vi lägger till en kant av nollor och omberäknar konvolutionen som täcker alla ingångsvärden.,r width also

Striding

vissa gånger vill vi inte fånga alla data eller information som finns tillgängliga så vi hoppar över några närliggande celler låt oss visualisera det,

här inmatningsmatrisen eller bilden är av dimensionerna 5×5 med ett filter på 3×3 och ett steg på 2 så varje gång vi hoppar över två kolumner och konvolut, låt oss formulera detta

om dimensionerna är i Float kan du ta ceil() på utgången i.,e (nästa stäng heltal)

här h avser höjd, så utgångshöjden är formulerad och samma med o / p bredd också och här 2 är stegvärdet så att du kan göra det som S i formlerna.

sammanslagning

i allmänna termer sammanslagning hänvisar till en liten del, så här tar vi en liten del av indata och försöker ta det genomsnittliga värdet kallas genomsnittliga sammanslagning eller ta ett maximalt värde kallas max sammanslagning, så genom att göra sammanslagning på en bild vi inte tar ut alla värden vi tar en sammanfattad värde över alla värden närvarande !!!,

här är ett exempel på max pooling så här tar vi en stride av två vi tar det maximala värdet som finns i matrisen

aktiveringsfunktion

aktiveringsfunktionen är en nod som sätts i slutet av eller mellan de två neurala nätverk. De hjälper till att bestämma om neuron skulle skjuta eller inte., Vi har olika typer av aktiveringsfunktioner precis som i figuren ovan, men för det här inlägget kommer mitt fokus att vara på rektifierad linjär enhet (ReLU)

släpp inte dina käkar, det här är inte så komplext den här funktionen returnerar helt enkelt 0 om ditt värde är negativt annars returnerar det samma värde du gav, inget annat än eliminerar negativa utgångar och upprätthåller värden mellan 0 till +oändlighet

nu, att vi har lärt oss alla grunderna som behövs låt oss studera ett grundläggande neuralt nät som heter lenet.,

LeNet-5

innan vi börjar kommer vi att se vilka arkitekturer som är utformade hittills.,ures

Vad finns det för ingångar och utgångar (Layer 0 och Lager N) :

Här har vi förutsäga siffror baserade på den inmatade bilden som ges, observera att den här bilden är av mått höjd = 32 pixlar, width = 32 pixlar, och en djup på 1, så vi kan anta att det är en bild i gråskala eller svart och vit man, hålla detta i åtanke produktionen är en softmax av alla 10 värden, här softmax ger sannolikheter eller nyckeltal för samtliga 10 siffror, vi kan ta många som produktion med högsta sannolikhet eller förhållande.,ef5″>

Här finns vi tar input och convoluting med filter av storleken 5 x 5 och därigenom producerar en output av storlek 28 x 28 in formeln ovan för att beräkna produktionen dimensioner, den saken här är att vi har tagit 6 sådana filter och därför djupet av conv1 är 6, därav dess dimensioner var, 28 x 28 x 6 nu att vidarebefordra detta till att samla lager

Sammanslagning 1 (Layer 2) :

Här finns vi tar den 28 x 28 x 6 som indata och tillämpa genomsnittliga sammanslagning av en matris av 2×2 och en steglängd av 2 jag.,e svävar en 2 x 2 matris på ingången och tar genomsnittet av alla dessa fyra pixlar och hoppar med ett hopp om 2 kolumner varje gång vilket ger 14 x 14 x 6 som utgång vi beräknar poolen för varje lager så här utgångsdjupet är 6

Convolution 2 (Layer 3) :

här tar vi 14 x 14 x 6 dvs föregående o/p och convoluting med ett filter av storlek 5 X5, med en steg på 1 i.,10 x 10 utgång, nu här tar vi 16 sådana filter av djup 6 och invecklar därmed erhålla en utgång på 10 x 10 x 16

Pooling 2 (Layer 4):

här tar vi utsignalen från föregående lager och utför Genomsnittlig sammanslagning med en steg på 2 i.,yer (n-1) :

slutligen plattar vi alla 5 x 5 x 16 till ett enda lager av storlek 400 värden en mata in dem till ett framåtriktat neuralt nätverk av 120 neuroner med en viktmatris av storlek och ett dolt lager av 84 neuroner anslutna av 120 neuroner neuroner med en viktmatris av och dessa 84 neuroner faktiskt är anslutna till en 10 utgångs neuroner

dessa o/p neuroner slutföra det förutsagda antalet genom softmaxing .,

hur fungerar ett Konvolutionellt neuralt nätverk egentligen?,

det fungerar genom viktdelning och glesa anslutningar,

Så här som du kan se konvolutionen har vissa vikter dessa vikter delas av alla ingångsneuroner, inte varje ingång har en separat vikt som kallas viktdelning, och inte alla ingångsneuroner är anslutna till utgångs neuron a ’ o endast några som är invecklade avfyras känd som glesa anslutning, CNN skiljer sig inte från feed-forward neurala nätverk dessa två egenskaper gör dem speciella !!!,

pekar på

1. Efter varje konvolution sänds utgången till en aktiveringsfunktion för att få bättre funktioner och upprätthålla positivitet, t.ex.: ReLu

2. Glesa anslutningar och viktdelning är den främsta orsaken till att ett konvolutionellt neuralt nätverk fungerar

3. Konceptet att välja ett antal filter mellan lager och stoppning och steg och filterdimensioner tas på att göra ett antal experiment, oroa dig inte för det, fokusera på att bygga grunden, en dag kommer du att göra dessa experiment och bygga en mer produktiv!!!,

Du kan också läsa den här artikeln i vår mobilapp


Lämna ett svar

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