Guida all'apprendimento profondo della CNN

Pubblicato: 2022-10-14

La capacità dell'intelligenza artificiale di colmare il divario tra le abilità umane e quelle delle macchine è notevolmente aumentata. Sia i professionisti che i dilettanti si concentrano su molte sfaccettature del campo per ottenere grandi risultati. Il campo della visione artificiale è una delle tante di queste discipline.

Sommario

I nostri programmi AI e ML negli Stati Uniti

Master of Science in Machine Learning e AI da LJMU e IIITB Programma Executive PG in Machine Learning e Intelligenza Artificiale da IIITB
Per esplorare tutti i nostri corsi, visita la nostra pagina qui sotto.
Corsi di apprendimento automatico

Il campo mira a dare ai computer la capacità di vedere e comprendere il mondo come gli esseri umani e utilizzare questa comprensione per vari compiti, tra cui il riconoscimento di immagini e video, l'analisi e la categorizzazione delle immagini, la ricreazione dei media, i sistemi di raccomandazione, l'elaborazione del linguaggio naturale, ecc. Rete neurale convoluzionale è l'algoritmo principale utilizzato per sviluppare e perfezionare i miglioramenti del deep learning nella visione artificiale nel tempo. Scopriamo di più sull'algoritmo di deep learning!

Ottieni la certificazione di Machine Learning dalle migliori università del mondo. Guadagna master, Executive PGP o programmi di certificazione avanzati per accelerare la tua carriera.

Che cos'è la rete neurale di convoluzione?

Una rete neurale convoluzionale o CNN è un metodo di apprendimento profondo che può acquisire un'immagine di input, dare importanza a vari elementi e oggetti nell'immagine, come pesi e pregiudizi apprendibili, e distinguerli. In termini comparativi, una CNN richiede una pre-elaborazione sostanzialmente inferiore rispetto ad altre tecniche di classificazione. La CNN ha la capacità di apprendere questi filtri e proprietà, mentre, nelle tecniche primitive, i filtri sono progettati manualmente.

L'architettura di una CNN è influenzata da come è organizzata la corteccia visiva e assomiglia alla rete di connettività dei neuroni nel cervello umano. I singoli neuroni reagiscono agli stimoli solo in quest'area del campo visivo limitato, nota come campo ricettivo. Una serie di tali sovrapposizioni copre l'intero campo visivo.

L'architettura della rete neurale di convoluzione

L'architettura delle reti neurali convoluzionali differisce da quella delle reti neurali convenzionali. Una normale rete neurale trasforma un input, facendolo passare attraverso diversi livelli nascosti. Ogni strato è costituito da un insieme di neuroni collegati a tutti i neuroni nello strato sottostante. Il livello di output finale completamente connesso è dove sono rappresentate le previsioni.

Le reti neurali convoluzionali sono strutturate in modo leggermente diverso. Gli strati sono prima disposti in tre dimensioni: larghezza, altezza e profondità. Inoltre, solo una parte dei neuroni nello strato successivo è collegata a quelli nello strato sottostante. L'output verrà quindi condensato in un unico vettore di punteggio di probabilità e raggruppato insieme allo strato di convoluzione.

La CNN è composta da due parti:

L'estrazione di caratteristiche da livelli nascosti

La rete eseguirà una serie di operazioni convoluzionali e di pooling in questa sezione per rilevare le funzionalità. È qui che la rete identificherebbe le strisce di una tigre, due orecchie e quattro gambe se ne avessi l'immagine.

Classificazione delle sezioni

Oltre a queste funzionalità recuperate, in questo caso i livelli di convoluzione funzioneranno come un classificatore. Daranno la probabilità che l'oggetto dell'immagine corrisponda alla previsione dell'algoritmo.

Estrazione di caratteristiche

Una delle componenti chiave della CNN è la convoluzione. La combinazione matematica di due funzioni per ottenere una terza funzione è denominata convoluzione. Combina due insiemi di dati. Una mappa delle caratteristiche viene creata eseguendo una convoluzione sui dati di input nel caso di una CNN che utilizza un filtro o un kernel. La convoluzione viene eseguita spostando il filtro sull'ingresso. Ogni posizione esegue una moltiplicazione di matrici e somma l'output sulla mappa delle caratteristiche.

Eseguiamo diverse convoluzioni sull'input, utilizzando un filtro diverso per ogni operazione. Di conseguenza, vengono prodotte varie mappe delle caratteristiche. L'output del livello di convoluzione viene infine assemblato utilizzando tutte queste mappe delle caratteristiche.

Come ogni altra rete neurale, utilizziamo un processo di attivazione per rendere non lineare il nostro output, in cui la funzione di attivazione viene utilizzata per inviare l'output della convoluzione in una rete neurale convoluzionale.

Tipi di rete neurale di convoluzione

Strato di convoluzione:

Il componente fondamentale della CNN è lo strato di convoluzione. Trasporta la maggior parte del carico di calcolo sulla rete. Questo strato crea un prodotto scalare tra due matrici, una delle quali è il kernel, una raccolta di parametri apprendibili, e l'altra è l'area vincolata del campo ricettivo. Rispetto a un'immagine, il kernel è più piccolo nello spazio ma più profondo. Ciò indica che la larghezza e l'altezza del kerne saranno spazialmente piccole se l'immagine è composta da tre canali; tuttavia, la profondità aumenterà su tutti e tre i canali.

Il kernel si sposta attraverso l'altezza e l'ampiezza dell'immagine durante il passaggio in avanti, creando una rappresentazione dell'immagine di quella regione ricettiva. Di conseguenza, viene creata una rappresentazione bidimensionale dell'immagine chiamata mappa di attivazione, che rivela la risposta del kernel in ogni posizione dell'immagine. Un passo è un nome per la dimensione scorrevole del kernel.

Livello di raggruppamento:

Questo livello riduce solo la potenza di calcolo necessaria per elaborare i dati. Si ottiene riducendo ulteriormente le dimensioni della matrice evidenziata. Tentiamo di estrarre le caratteristiche dominanti da una piccola porzione del quartiere in questo livello.

Il pooling medio e il pool massimo sono due diversi tipi di strategie di pooling.

In contrasto con Max-pooling, che prende semplicemente il valore più alto tra tutti quelli all'interno della regione di pooling, Average-pooling calcola la media di tutti i valori all'interno della regione di pooling.

Ora abbiamo una matrice con gli elementi chiave dell'immagine dopo aver raggruppato i livelli, e questa matrice ha dimensioni ancora più piccole, che saranno molto utili nella fase successiva.

Livello completamente connesso:

Un metodo economico per apprendere le permutazioni non lineari delle caratteristiche di alto livello fornite dall'output dello strato convoluzionale consiste nell'aggiungere uno strato completamente connesso. In quell'area, il livello completamente connesso ora sta imparando una funzione che potrebbe non essere lineare.

Dopo averlo convertito in un formato appropriato per il nostro perceptron multi-livello, appiattiremo l'immagine di input in un vettore colonna. Una rete neurale feed-forward riceve l'output appiattito e la backpropagation viene utilizzata per ogni iterazione di addestramento. Il modello può classificare le immagini utilizzando il metodo di classificazione Softmax identificando caratteristiche di basso livello dominanti e specifiche in molte epoche.

Livelli non linearità:

I livelli di non linearità sono spesso inclusi subito dopo il livello convoluzionale per aggiungere non linearità alla mappa di attivazione perché la convoluzione è un'operazione lineare e le immagini sono tutt'altro che lineari.

Le operazioni non lineari si presentano in una varietà di forme, le più comuni sono:

Sigmoide

La formula matematica per la non linearità sigmoidea è () = 1/(1+e ). Demolisce un numero con valore reale nell'intervallo compreso tra 0 e 1. Il gradiente di un sigmoide diventa quasi zero quando l'attivazione è o alla coda, che è una caratteristica sigmoidea molto sfavorevole. La backpropagation ucciderà efficacemente il gradiente se il gradiente locale diventa troppo piccolo. Inoltre, supponiamo che l'input al neurone sia esclusivamente positivo. In tal caso, l'output sigmoideo sarà esclusivamente positivo o esclusivamente negativo, portando a una dinamica a zigzag di aggiornamenti del gradiente per il peso.

Tanh

Tanh condensa un numero con valore reale nell'intervallo [-1, 1]. Come i neuroni sigmoidi, l'attivazione è satura, ma a differenza di loro, il suo output è centrato sullo zero.

ReLU

L'unità lineare rettificata (ReLU) ha recentemente guadagnato molta popolarità. Esegue il calcolo della funzione ()=max (0,). Per dirla in altro modo, l'attivazione esiste solo a soglie zero. ReLU accelera la convergenza di sei volte ed è più affidabile di sigmoide e tanh.

Sfortunatamente, ReLU può essere fragile durante l'allenamento, il che è uno svantaggio. Un forte gradiente può aggiornarlo impedendo al neurone di aggiornarsi ulteriormente. Tuttavia, possiamo farlo funzionare scegliendo un tasso di apprendimento appropriato.

Blog popolari di Machine Learning e Intelligenza Artificiale

IoT: storia, presente e futuro Esercitazione sull'apprendimento automatico: impara il ML Cos'è l'algoritmo? Semplice e facile
Stipendio per ingegnere robotico in India: tutti i ruoli Un giorno nella vita di un ingegnere di machine learning: cosa fanno? Cos'è l'IoT (Internet delle cose)
Permutazione vs combinazione: differenza tra permutazione e combinazione Le 7 tendenze principali nell'intelligenza artificiale e nell'apprendimento automatico Machine Learning con R: tutto ciò che devi sapere

Inizia la tua guida all'apprendimento profondo della CNN con UpGrad

Iscriviti alla Laurea Magistrale in Machine Learning e Intelligenza Artificiale presso UpGrad in collaborazione con LJMU.

Il programma di certificazione prepara gli studenti per i ruoli tecnici attuali e futuri fornendo argomenti rilevanti per il settore. Anche i progetti reali, i casi di studio multipli e gli accademici internazionali offerti da esperti in materia sono fortemente enfatizzati nel programma.

Registrandoti, puoi sfruttare le funzionalità esclusive di UpGrad, come il monitoraggio della rete, le sessioni di studio e il supporto all'apprendimento a 360 gradi.

Qual è l'algoritmo di deep learning della CNN?

Il modo in cui opera la CNN è ottenere un'immagine, assegnarle un peso in base ai vari elementi nell'immagine e quindi separarli l'uno dall'altro. Rispetto ad altri algoritmi di deep learning, la CNN richiede una pre-elaborazione dei dati estremamente ridotta.

Cosa distingue la CNN dal deep learning?

Il deep learning è più spesso utilizzato nel marketing per sembrare più professionale di quanto non sia. Esistono numerose varietà di reti neurali profonde, inclusa la CNN. Le CNN sono apprezzate per i loro numerosi usi vantaggiosi nell'identificazione delle immagini.

Perché la CNN è superiore a completamente connessa?

Le convoluzioni non hanno connessioni dense e non tutti i nodi di input hanno un impatto su ogni nodo di output. Grazie a ciò, i livelli convoluzionali ora possono apprendere con maggiore flessibilità. Inoltre, ci sono meno pesi per livello, il che avvantaggia input ad alta dimensione come i dati dell'immagine.

La CNN viene utilizzata solo per le immagini?

Sì. Qualsiasi array di dati 2D e 3D può essere elaborato utilizzando la CNN.