Capsule Neural Networks: cos'è, come funziona, architettura e componenti
Pubblicato: 2020-04-03Come riconosci le cose? Se scrivo "Loro" e "Loro", li leggeresti entrambi come "Loro"? La tua risposta sarebbe probabilmente sì.
Il tuo cervello può identificare le caratteristiche primarie e aiutarti a riconoscere le cose. Ecco perché puoi individuare facilmente i volti. Le reti neurali a capsula funzionano in modo simile. In questo articolo, daremo un'occhiata a cosa sono e come funzionano. Se sei interessato agli algoritmi di apprendimento automatico , ti piacerà sicuramente questo articolo. Quindi iniziamo.
Sommario
Che cos'è una rete neurale a capsula?
Una rete neurale a capsula si concentra sulla replicazione delle reti neurali biologiche per eseguire un migliore riconoscimento e segmentazione. Sono un tipo di rete neurale artificiale. Hanno uno strato annidato sotto uno strato delle reti neurali della capsula, questo è ciò che indica la parola "capsula".
Le capsule in queste reti determinano i parametri delle caratteristiche di un oggetto. Supponiamo che le tue reti di capsule debbano identificare un volto. Le capsule si concentreranno sulla determinazione della presenza o meno delle caratteristiche facciali specifiche. Non si limitano a questo solo. Controlleranno anche come sono organizzate le caratteristiche del viso particolare. Quindi, il tuo sistema può identificare una faccia solo quando le capsule determinano che gli elementi di quella faccia sono nell'ordine giusto.
Potresti chiederti, come determinano l'ordine di quelle caratteristiche? Queste reti possono farlo grazie all'input che dai loro. Dopo aver esaminato centinaia (o addirittura migliaia) di immagini, possono eseguire questo compito in modo efficiente.
Ulteriori informazioni: Reti neurali: applicazioni nel mondo reale

Come funzionano le reti a capsule?
Ora, diamo un'occhiata a come funzionano queste reti. Inizialmente, le capsule eseguono la moltiplicazione di matrici delle matrici di peso con vettori di input. Questo ci fornisce informazioni sulla relazione spaziale tra diverse caratteristiche di basso livello e di alto livello.
Successivamente, le capsule selezionano una capsula madre. Effettuano la selezione tramite il routing dinamico, di cui abbiamo discusso più avanti in questo articolo. Una volta che hanno scelto la loro capsula madre, trovano la somma dei vettori schiacciata tra 0 e 1 quando mantengono la loro direzione. Esegui lo schiacciamento usando la norma del frame delle coordinate come probabilità di esistenza e la distanza del coseno come misura dell'accordo.
C'è una differenza significativa tra le reti neurali standard e le reti neurali a capsula. Mentre le reti di capsule utilizzano capsule per incapsulare bit essenziali di informazioni su un'immagine, le reti neurali standard utilizzano i neuroni per questo scopo. Le capsule producono vettori, mentre i neuroni possono produrre solo quantità scalari. Per questo motivo, le capsule possono identificare la direzione di un viso (o una caratteristica specifica), ma i neuroni no. Se cambi la direzione di qualsiasi caratteristica, il valore del vettore rimarrà lo stesso, ma la sua direzione cambierà in base al cambiamento di posizione.
Le reti a capsule funzionano straordinariamente bene su piccoli set di dati e semplificano l'interpretazione di immagini robuste. A parte questo, conservano tutte le informazioni dell'immagine, inclusa la trama, la posizione e la posa. Il loro unico inconveniente è che non possono sovraperformare vasti set di dati.
Leggi: 6 tipi di funzione di attivazione nelle reti neurali
Qual è l'architettura di una rete neurale a capsula?
I due componenti principali di una rete a capsule sono un codificatore e un decodificatore. In totale, contengono sei strati. L'encoder ha i primi tre livelli e hanno la responsabilità di acquisire e convertire l'immagine di input in un vettore (16-dimensionale). Il primo livello dell'encoder è la rete neurale convoluzionale ed estrae le caratteristiche di base dell'immagine.
Il secondo livello è la rete PrimaryCaps, che prende quelle caratteristiche essenziali e trova schemi più dettagliati tra di loro. Ad esempio, potrebbe vedere la relazione spaziale tra tratti particolari. Set di dati diversi hanno un numero diverso di capsule nella rete PrimaryCaps; ad esempio, il set di dati MNIST ha 32 capsule. Il terzo livello è il DigitCaps Network e anche il numero di capsule presenti in esso varia. Dopo questi livelli, l'encoder ha un vettore a 16 dimensioni che va al decoder.

Il decoder ha tre livelli collegati. Prende il vettore a 16 dimensioni e cerca di ricostruire la stessa immagine da zero con l'aiuto dei dati che ha. In questo modo, la rete diventa più robusta in quanto può fare previsioni in base alle sue conoscenze.
Leggi anche: Rete neurale ricorrente in Python
Calcoli in una CNN
Moltiplicazione matriciale
Tra il primo e il secondo strato, eseguiamo la moltiplicazione della matrice. Questo codifica le informazioni delle relazioni spaziali e le informazioni codificate mostrano la probabilità delle classificazioni delle etichette.
Pesi scalari
In questa fase di calcolo, le capsule di livello inferiore regolano i loro pesi in base ai pesi delle capsule di livello superiore. Lo fanno per abbinare i pesi delle capsule di alto livello. Le capsule di alto livello rappresentano un grafico della distribuzione del peso e accettano l'allocazione più grande da superare. Tutti comunicano tra loro attraverso un routing dinamico.
Instradamento dinamico
Nel routing dinamico, le capsule inferiori inviano i propri dati alla capsula madre. Tutti inviano i propri dati alla capsula più adatta secondo loro e la capsula che riceve la maggior parte dei dati diventa la capsula madre. Le capsule genitore seguono l'accordo e assegnano i pesi di conseguenza.
Per comprendere l'instradamento dinamico, supponiamo di fornire alla rete della capsula le immagini di una casa. Affronta alcuni problemi con l'identificazione del tetto della casa. Quindi le capsule analizzano l'immagine, in particolare la sua parte costante. Coordinano la struttura della casa per quanto riguarda le pareti e il tetto.

Prima decidono se l'oggetto è una casa o meno e poi inviano le loro previsioni alle capsule di alto livello. Se le proiezioni del tetto relative alle pareti corrispondono ad altre previsioni delle capsule di basso livello, l'output dice che l'oggetto è una casa. Questo è il processo di instradamento previo accordo.
Non linearità da vettore a vettore
Una volta completato il routing dinamico, il sistema comprime le informazioni, il che significa che le comprime. Ti dà la probabilità che la capsula riconosca o meno una particolare caratteristica.
Pensieri finali
Dopo aver esaminato questo articolo, devi aver acquisito familiarità con le reti neurali a capsula e le loro operazioni. Devi anche esserti reso conto di quanto possano essere utili le loro azioni.
Se vuoi saperne di più sugli algoritmi di machine learning, dai un'occhiata al nostro blog. Troverai alcuni articoli ben informati lì.
Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Status di Alumni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Cosa sono le reti neurali dei trasformatori?
Quando una rete neurale prende una sequenza di vettori come input, la cambia in un vettore chiamato (il processo è chiamato codifica) e poi la decodifica in un'altra sequenza, viene chiamata rete neurale del trasformatore. Il trasformatore è un componente presente in molte architetture di reti neurali per l'elaborazione di dati sequenziali, inclusi testo in linguaggio semplice, segnali acustici, sequenze genomiche e dati di serie temporali. L'applicazione più comune delle reti neurali dei trasformatori è nell'elaborazione del linguaggio naturale.
Cosa sono le reti neurali grafiche e come funzionano i grafici?
Le reti neurali del grafico, o GNN, sono modelli neurali che utilizzano la trasmissione di messaggi tra i nodi del grafico per rappresentare la dipendenza dal grafico. Queste reti operano direttamente sulle strutture dei grafi date. In parole semplici, ogni nodo nel grafico ha un'etichetta e una rete neurale viene utilizzata per prevedere i nodi dell'etichetta in base alla verità fondamentale. I GNN hanno recentemente acquisito importanza in una varietà di discipline, inclusi i social network, i grafici della conoscenza, i sistemi di raccomandazione e persino le scienze della vita.
Le capsule sono diverse dalle reti di capsule?
Entrambi i termini, capsule e capsule networks, sono collegati al deep learning, ma non sono la stessa cosa. Un gruppo di neuroni i cui vettori di attività rappresentano i parametri di istanziazione di un determinato elemento, come quello di un oggetto, è noto come capsula. Tuttavia, le reti a capsule sono reti in grado di recuperare informazioni geografiche e altri aspetti importanti per ridurre al minimo la perdita di dati durante il processo di operazioni di pooling.