Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati.
introduzione
Stai lavorando a un progetto sul riconoscimento di immagini o il rilevamento di oggetti ma non hai le basi per costruire un'architettura?
In questo articolo, Vedremo quali sono le architetture di rete neurale convoluzionale dalle basi e prenderemo un'architettura di base come caso di studio per applicare le nostre conoscenze.L'unico prerequisito è che devi solo sapere come funziona la convoluzione. preoccupati è molto semplice !!
Tomemos una convolucional neuronale rossoReti neurali convoluzionali (CNN) son un tipo de arquitectura de red neuronal diseñadas especialmente para el procesamiento de datos con una estructura de cuadrícula, come immagini. Utilizan capas de convolución para extraer características jerárquicas, lo que las hace especialmente efectivas en tareas de reconocimiento de patrones y clasificación. Gracias a su capacidad para aprender de grandes volúmenes de datos, las CNN han revolucionado campos como la visión por computadora... semplice,
Analizzeremo i livelli per ottenere informazioni dettagliate su questa CNN.
Primo, ci sono alcune cose da imparare dal mantello 1 Che cos'è passi e imbottitura, vedremo ciascuno di essi a breve con degli esempi
Supponiamo questo nell'array di input di 5 × 5 e un filtro a matrice 3X3, per chi non sa cosa Il filtro è un insieme di pesi in una matrice che viene applicato su un'immagine o una matrice per ottenere le caratteristiche richieste.., cerca per convoluzione se è la prima volta.
Nota: Prendiamo sempre la somma o la media di tutti i valori mentre facciamo una convoluzione.
Un filtro può essere di qualsiasi profondità, se un filtro ha una profondità d, può andare a una profondità di d strati e convolve, vale a dire, aggiungi tutto il (pesos x biglietti) di capas
Qui l'input è di dimensione 5 × 5 dopo aver applicato un kernel o filtri 3 × 3, da cui si ottiene una mappa delle caratteristiche di output 3 × 3, quindi proviamo a formulare questo
Quindi, l'altezza di uscita è formulata e lo stesso con la larghezza di o / anche p …
Riempimento
Mentre applichiamo le convoluzioni, non otterremo le stesse dimensioni di output di quelle di input, perderemo i dati sui bordi, quindi aggiungiamo un bordo di zeri e ricalcoliamo la convoluzione che copre tutti i valori di input.
Cercheremo di formulare questo,
Qui 2 è per due colonne di zeri insieme all'altezza e alla larghezza, e formulare lo stesso anche per la larghezza
affondi
A volte non vogliamo acquisire tutti i dati o le informazioni disponibili, quindi saltiamo alcune celle vicine per visualizzarle,
Qui la matrice o l'immagine di input è di dimensioni 5 × 5 con un filtro 3 × 3 e un passo di 2 quindi ogni volta saltiamo due colonne e convolviamo, formuliamo questo
Se le dimensioni sono in float, può prendere il velo () all'uscita, vale a dire (prossimo prossimo intero)
Qui H si riferisce all'altezza, quindi l'altezza di output è formulata e lo stesso con la larghezza di o / p anche e qui 2 è il valore del passo, quindi puoi farlo come S nelle formule.
Raggruppamento
In termini generali, il raggruppamento si riferisce ad una piccola parte, quindi qui prendiamo una piccola parte dell'input e proviamo a prendere il valore medio chiamato pool medio o prendiamo un valore massimo chiamato pool max, così quando si esegue un raggruppamento su un'immagine, non stiamo assumendo tutti i valori stiamo assumendo un valore di sintesi su tutti i valori presenti !!!
qui, questo è un esempio di pooling massimo, Ecco, facendo un passo di due, stiamo prendendo il valore massimo presente nell'array
Funzione triggerLa funzione di attivazione è un componente chiave nelle reti neurali, poiché determina l'output di un neurone in base al suo input. Il suo scopo principale è quello di introdurre non linearità nel modello, Consentendo di apprendere modelli complessi nei dati. Ci sono varie funzioni di attivazione, come il sigma, ReLU e tanh, Ognuno con caratteristiche particolari che influiscono sulle prestazioni del modello in diverse applicazioni....
La función de activación es un nodoNodo è una piattaforma digitale che facilita la connessione tra professionisti e aziende alla ricerca di talenti. Attraverso un sistema intuitivo, Consente agli utenti di creare profili, condividere esperienze e accedere a opportunità di lavoro. La sua attenzione alla collaborazione e al networking rende Nodo uno strumento prezioso per chi vuole ampliare la propria rete professionale e trovare progetti in linea con le proprie competenze e obiettivi.... que se coloca al final o entre las redes neuronales. Aiutano a decidere se il neurone si attiverà o meno.. Tenemos diferentes tipos de funciones de activación como en la figura"Figura" è un termine che viene utilizzato in vari contesti, Dall'arte all'anatomia. In campo artistico, si riferisce alla rappresentazione di forme umane o animali in sculture e dipinti. In anatomia, designa la forma e la struttura del corpo. Cosa c'è di più, in matematica, "figura" è legato alle forme geometriche. La sua versatilità lo rende un concetto fondamentale in molteplici discipline.... anteriore, ma per questo post, la mia attenzione sarà su unità lineare rettificata (riprendereLa función de activación ReLU (Rectified Linear Unit) es ampliamente utilizada en redes neuronales debido a su simplicidad y eficacia. Definida como ( F(X) = max(0, X) ), ReLU permite que las neuronas se activen solo cuando la entrada es positiva, lo que contribuye a mitigar el problema del desvanecimiento del gradiente. Su uso ha demostrado mejorar el rendimiento en diversas tareas de aprendizaje profundo, haciendo de ReLU una opción...)
Non abbassare la mascella, questo non è così complesso questa funzione restituisce semplicemente 0 se il suo valore è negativo, altrimenti, restituisce lo stesso valore che hai fornito, nient'altro che rimuove gli output negativi e mantiene i valori in mezzo 0 e + infinito
Ora che abbiamo appreso tutti i concetti di base necessari, estudiemos una neuronale rossoLe reti neurali sono modelli computazionali ispirati al funzionamento del cervello umano. Usano strutture note come neuroni artificiali per elaborare e apprendere dai dati. Queste reti sono fondamentali nel campo dell'intelligenza artificiale, consentendo progressi significativi in attività come il riconoscimento delle immagini, Elaborazione del linguaggio naturale e previsione delle serie temporali, tra gli altri. La loro capacità di apprendere schemi complessi li rende strumenti potenti.. básica llamada LeNet.
LeNet-5
Prima di iniziare vedremo quali sono le architetture progettate fino ad oggi. Questi modelli sono stati testati su dati ImageNet in cui abbiamo oltre un milione di immagini e 1000 classi da prevedere
LeNet-5 è un'architettura molto semplice, quindi chiunque può iniziare con architetture avanzate
quali sono gli ingressi e le uscite (Copertura frontale 0 e strato N):
Qui stiamo prevedendo le cifre in base all'immagine di input data, nota che qui l'immagine ha le dimensioni di altezza = 32 pixel, ancho = 32 pixel e una profondità di 1, quindi possiamo presumere che sia un'immagine in scala di grigi o in bianco e nero, Tenendo conto che l'uscita è un softmax di 10 valori, qui softmax fornisce probabilità o rapporti per tutti 10 cifre, possiamo prendere il numero come output con la probabilità o il rapporto più alti.
convoluzione 1 (Copertura frontale 1):
Qui prendiamo l'input e convolviamo con i filtri di dimensione 5 X 5, producendo così un output di dimensioni 28 x 28. Controllare la formula sopra per calcolare le dimensioni di output, cos'è che abbiamo preso 6 filtri di questo tipo e, così, il la profondità di conv1 è 6, così, le sue dimensioni erano 28 X 28 X 6 ora passalo al livello del pool
Raggruppamento 1 (Copertura frontale 2):
Qui stiamo prendendo 28 X 28 X 6 come input e applicando la combinazione media di una matrice di 2 × 2 e un passo da 2, vale a dire, posizionando una matrice di 2 X 2 sull'input e prendendo la media di tutti quei quattro pixel e saltando con un salto di 2 colonne ogni volta, cosa dà 14 X 14 X 6 come uscita, stiamo calcolando il raggruppamento per ogni livello, quindi qui la profondità di output è 6
convoluzione 2 (Copertura frontale 3):
Qui stiamo prendendo il 14 X 14 X 6, vale a dire, lui o / py convolvo con un filtro di dimensione 5 x5, con un passo di 1, vale a dire (nessun salto), e con zero ripieni, quindi otteniamo un output di 10 X 10, Ora qui prendiamo 16 filtri di questo tipo di profondità 6 e convolviamo ottenendo così un output di 10 X 10 X 16
Raggruppamento 2 (Copertura frontale 4):
Qui prendiamo l'output del livello precedente ed eseguiamo il pooling medio con un passaggio di 2, vale a dire (salta due colonne) e con un filtro taglia 2 X 2, qui sovrapponiamo questo filtro agli strati di 10 X 10 X 16 così per ciascuno 10 X 10 otteniamo output da 5 X 5, così, ottenere 5 X 5 X 16
Copertura frontale (N-2) e Strato (N-1):
Finalmente, Appiattiamo tutti i valori di 5 X 5 X 16 alla dimensione di un singolo strato 400 e inserirli in una rete neurale feed-forward di 120 neuroni che hanno una matrice di peso di dimensioni. [400,120] e uno strato nascosto di 84 neuroni collegati da 120 neuroni con matrice di peso di [120,84] e tu sei 84 i neuroni sono effettivamente collegati 10 neuroni in uscita
Questi neuroni il / p fine il numero previsto da softmaxing.
Come funziona davvero una rete neurale convoluzionale??
Funziona attraverso la condivisione del peso e la connettività scarsa,
Ecco, come potete vedere la convoluzione ha dei pesi questi pesi sono condivisi da tutti i neuroni di input, non ogni input ha un peso separato chiamato peso condiviso, e non tutti i neuroni di input sono collegati al neurone di output e solo alcuni che sono contorti vengono attivati, ciò che è noto come connettività sparsa, La CNN non è diversa dalle reti neurali feed-forward, Queste due proprietà le rendono speciali!!
punti da guardare
1. Dopo ogni circonvoluzione, l'output viene inviato a una funzione di trigger per ottenere funzionalità migliori e mantenere la positività, ad esempio: riprendere
2. La scarsa connettività e il peso condiviso sono i motivi principali per il funzionamento di una rete neurale convoluzionale.
3. Il concetto di scegliere una serie di filtri tra strati e imbottiture e le dimensioni della falcata e del filtro viene ripreso conducendo una serie di esperimenti, Non si preoccupi, concentrarsi sulla costruzione delle fondamenta, un giorno farai quegli esperimenti e costruirai un ambiente più produttivo !!!