SlideShare a Scribd company logo
1 of 25
From CNN to Capsules
Speaker: Matteo Alberti
Community Machine Learning@ DeepLearningItalia
E-mail: m.alberti12@campus.unimib.it
Dal Percettrone alle architetture
multistrato (MLP)
 𝑎𝑖 = 𝑓( 𝑖 𝑤𝑖 𝑥𝑖 + 𝑏𝑖) “Separatore non lineare del piano”
 𝑓 𝑥 funzione di attivazione non lineare
senza 𝑓 𝑥 la nostra ANN si reduce ad un separatore lineare:
𝐿 𝑇 = 𝑊𝑇 𝐿 𝑇−1 = 𝑊𝑇 𝑊𝑇−1 𝐿 𝑇−2 = ⋯ 𝑊𝑇 𝑊𝑇−1. . . 𝑊1 𝐿0 = 𝑊𝐿0
 Un singolo neurone non è capace di approssimare bene
alcune decision function non lineari
 Possiamo però modellizzare strutture di neuroni connessi
fra loro. L’output di un layer diventa l’input di quello
sucessivo
Funzioni di attivazione
 Esistono molte funzioni di attivazioni
 Nelle reti neurali profonde è utile aver funzioni di
attivazioni “leggere”
 Sigmoide: 𝑦 = 𝜎 𝑥 = 1/(1 + ⅇ−𝑥
)
 è un caso particolare di una funzione logistica
 Al crescere della profondità da problem con
l’aggiornamento dei pesi
 Rectified Linear Unit (ReLu): 𝑦 = max(0, 𝑥)
 Accellera la convergenza dell’aggioranmento dei
pesi
Reti Neurali Convoluzionali (CNN)
 Nelle fully connected netwoks (MLP) ogni neurone è connesso ad ogni
neurone del layer precedente.
 MLP non scala bene con immagini (memoria e computazione)
 CNN connette solo una piccolo parte di neuroni e ne condivide i pesi
Layer convoluzionale
 Un layer convoluzionale consiste in un insieme di filtri di apprendimento
 Ogni filtro è piccolo lungo altezza e larghezza ma esteso nella prodonfità
 Durante la forward propagation si trasla ciascun filtro lungo la larghezza e
l’altezza del volume di input.
Layer convoluzionale
 Viene Prodotta un’activation map bidimensionale per quel filtro.
 Man mano che si sposta il filtro lungo l’area dell’input, si effettua un
prodotto scalare fra i valori del filtro e quelli della porzione di input
 L’accodamento di tutte queste activation map, per tutti i filtri, lungo la
dimensione della profondità forma il volume di output di un layer
convoluzionale
 Qui sotto è riportato l’output di un layer convolutionale
Operatore di pooling
 Pooling layer può essere applicato dopo un layer convoluzionale
 Serve per ridurre progressivamente la dimensione spaziale e di
conseguenza il numero di parametric
 Esistono differenti versione il Pooling, il principale è il max-pooling
Allenamento dei pesi
 L’allenamento dei pesi in una rete CNN avviene in due fasi:
 Forward Propagation
 Le funzioni di attivazioni vengono attivate da sinistra a destra
 Consiste in una somma peseta dei dati di input
 I pesi non vengono modificati
 BackPropagation:
 L’obiettivo è di ottimizzare i pesi attraverso un aggiornamento
 Riceve in input l’output prodotto dal forward pass e calcola per ogni layer
𝛿𝑖
𝑙
= (
𝑗=1
𝑙+1
𝜃𝑗𝑖
𝑙
𝛿𝑗
𝑙+1
) 𝑔′
(
𝑗=1
𝑙−1
𝜃𝑖𝑗
𝑙−1
ℎ𝑗
𝑙−1
+ 𝑏𝑖
𝑙−1
)
 E le relative derivate parziali:
∆𝜃𝑖𝑗
𝑗
= ℎ𝑗
𝑙
𝛿𝑖
𝑙+1
∆𝑏𝑖
𝑙
= 𝛿𝑖
𝑙+1
Architetture di Reti Neurali Profonde
 LeNet: consiste in una sequenza di 3 layer: 1990
 3 conv layer ((3,3) con ReLu activation) seguito da Max-pooling (2,2)
 2 Fully Connected Layer (sigmoide)
 AlexNet: sequenza di 8 layer: 2012
 Convolutional layer (96 filters, stride=4, ReLu)
 4 x Max-pooling (2x2) + Layer Convolutivo (5x5)
 3 X FC fino a quando il vettore di input ha la stessa dimensione del numero di classi
 GoogLeNet: aumento sia della profondità che della larghezza 2014
 Funzione di concatenamento dei layer (convoluzioni 1x1, 3x3, 5x5)
 Inception module per la riduzione del numero di parametri
Reti Neurali Profonde Residuali
 Rete estremamente profonda
 Risoluzione parziale al problema del gradiente
 Sfrutta il concetto di residual learning:
 Sottopone l’input x alla sequenza di convoluzioni ottenendo
F(x) e di sommare al risultato lo stesso x, ottenendo:
H(x) = F(x) + x
 Vengono concatenati più blocchi di questo
tipo che imparano non da una trasformazione
diretta ma da F(x), minimizzando l’errore
residuale.
L’utilizzo del Max-Pooling ed il problema
con le CNN
 Max-pooling ci permette di ridurre la dimensionalità spaziale
 Ci permette inoltre un’Invarianza a «leggere rototraslazioni»
 Ma CNN tendono ad imparare mnemonicamente
 Necessità di forte data augmentation
L’utilizzo del Max-Pooling ed il
problema con le CNN
 Inoltre aumentando il grado di astrazione e complessità delle figure
andiamo a perdere la gerarchia delle parti perdendo le informazioni
spaziali delle features estratte
L’intuizione
 Rendering Inverso: “Dalle informazioni visive, l’immagine viene
decostruita in base ad una rappresentazione gerarchica cercando farle
combaciare con le combinazioni di features già memorizzate”
 La Freccia viene memorizzata come combinazione delle figure
geometriche interne e della loro relativo posizione spaziale
Architettura
 Architettura shallow (2 strati nascosti)
 Le innovazioni in questa struttura sono Le Capsule: Un gruppo di neuroni
 Strato Convolutionale per estrarre features di basso livello
 PrimaryCaps:
 Ogni capsula rappresenta una features
 Racchiundono informazioni realtivi all’immagine
Una struttura Capsulare
 I neuroni artificiali producono un singolo scalare
 Una capsula produce invece racchiude tutte le informazioni rilevanti in un
vettore dove:
 La lunghezza del vettore codifica la probabilità del rilevamento di una
caratteristica
 Lo stato della caratteristica (rotazione, traslazione) viene codificata con la
direzione del vettore stesso
 Questa proprietà la definiremo ‘equivarianza’
Funzione di attivazione: " Squash"
 𝑣𝑗 =
𝑠 𝑗
2
1+ 𝑠 𝑗
2
𝑠 𝑗
𝑠 𝑗
 Andiamo ad agire unicamente sulla norma.
 Vj viene compresso fra 0 ed 1

𝑠 𝑗
𝑠 𝑗
è il versore (conserva la direzione)

𝑠 𝑗
2
1+ 𝑠 𝑗
2 Ridimensiona il vettore di input in modo che abbia compresa fra
0 ed 1
Dynamic Routing – forward pass
 1) Capsule a livello l ed il loro output 𝑢 𝑗 𝑖, r numero di iterazioni del routing
 2) 𝑏𝑖𝑗 coefficiente temporaneo necessario per iterazione inizializzato a zero
 4) 𝑐𝑖 è peso per capsule di «basso livello», utilizzo del softmax per ottenere uno scalare non
negativo con somma ad uno. Prima iterazione 𝑐𝑖𝑗 è uguale per tutte le capsule essendo
inizializzato da 𝑏𝑖𝑗
Dynamic Routing – forward pass
Dynamic Routing – forward pass
 5) Per ogni capsula di «alto livello» calcoliamo una combinazione lineare dei dati di input
pesati con i coefficienti 𝑐𝑖𝑗 ossia andiamo a sommarli e ridimensionarli
 6) Applichiamo la funzione di squash per «normalizzare» ad 1 e preservar l’orientamento del
vettore
Dynamic Routing – forward pass
EM Routing – Expected Maximization
 Finire le figure
Allenamento delle CapsNet
 Una volta fissato il passo forward
 Alleno i pesi 𝑤𝑖𝑗 con la back-propagation in modo da massimizzare la norma
della capsula relativa alla classe di target ( 𝐿 𝜇
𝑖
)
 Un’altra versione della rete utilizza un’MLP (come Autoencoding) al fine di
ricostruire l’immagine di input 𝐿 𝑝
𝑖
 Loss Funcion 𝐿 𝑖
= 𝐿 𝜇
𝑖
+ p 𝐿 𝑝
𝑖
Accuratezze su MNIST
 Parametri CNN : 35.4 M (Deep)
 Parametri Capsnet (8.2 M)
 Robustezza alle Trasformazioni Affini:
 CNN 66%
 CapsuleNet 79%
Pro
 Necessitano una quantità di dati inferiore dei corrispettivi modelli
 La struttura Capsulare permette una gerarchia delle parti
 Risulta robusta alle trasformazioni affini
 Alta capacità discriminatoria su oggetti sovrapposti
Contro
 Ancora in fase di studio, non perfermanti su large datasets
 Il processo di routing-by-agreement rallenta di molto la fase di training
aumentando in maniera esponenziale il numero di parametri

More Related Content

Similar to From cnn to capsule_Matteo_Alberti

COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesDavidePanarella
 
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...MicheleScomina
 
Dinamiche non lineari in reti neurali cellulari
Dinamiche non lineari in reti neurali cellulariDinamiche non lineari in reti neurali cellulari
Dinamiche non lineari in reti neurali cellulariStefano Vena
 
Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Antonio Notarangelo
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoFrancesco Sblendorio
 
Introduzione a Matlab
Introduzione a MatlabIntroduzione a Matlab
Introduzione a MatlabMarco Suma
 
Neural Network per la composizione musicale
Neural Network per la composizione musicaleNeural Network per la composizione musicale
Neural Network per la composizione musicaleCorinne Schillizzi
 
GFilosofi_neural-networks_2006
GFilosofi_neural-networks_2006GFilosofi_neural-networks_2006
GFilosofi_neural-networks_2006Gabriele Filosofi
 
Support Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiSupport Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiGioele Ciaparrone
 
Metodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessiMetodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessiLino Possamai
 
Comunicazioni Multmediali
Comunicazioni MultmedialiComunicazioni Multmediali
Comunicazioni Multmedialiguestb70ba
 
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...Asia Valencic
 
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...JasValencic
 
Reti Neurali
Reti NeuraliReti Neurali
Reti NeuraliAgabiti25
 
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Desirée Rigonat
 
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...MicheleScomina
 

Similar to From cnn to capsule_Matteo_Alberti (19)

COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
 
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
 
Dinamiche non lineari in reti neurali cellulari
Dinamiche non lineari in reti neurali cellulariDinamiche non lineari in reti neurali cellulari
Dinamiche non lineari in reti neurali cellulari
 
Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...Identificare feature significative per l’analisi nell’informatica forense uti...
Identificare feature significative per l’analisi nell’informatica forense uti...
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio pratico
 
Introduzione a Matlab
Introduzione a MatlabIntroduzione a Matlab
Introduzione a Matlab
 
Neural Network per la composizione musicale
Neural Network per la composizione musicaleNeural Network per la composizione musicale
Neural Network per la composizione musicale
 
relazione
relazionerelazione
relazione
 
GFilosofi_neural-networks_2006
GFilosofi_neural-networks_2006GFilosofi_neural-networks_2006
GFilosofi_neural-networks_2006
 
Support Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiSupport Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempi
 
Metodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessiMetodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessi
 
Comunicazioni Multmediali
Comunicazioni MultmedialiComunicazioni Multmediali
Comunicazioni Multmediali
 
Umano vs Computer: La sfida
Umano vs Computer: La sfidaUmano vs Computer: La sfida
Umano vs Computer: La sfida
 
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
 
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
Slides Accesso casuale nei sistemi satellitari utilizzando l'algoritmo slotte...
 
Reti Neurali
Reti NeuraliReti Neurali
Reti Neurali
 
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS T...
 
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
Extended Summary of "Evolutionary Optimization of Deep Learning Activation Fu...
 
Hog processing
Hog processingHog processing
Hog processing
 

More from Deep Learning Italia

Machine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingMachine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingDeep Learning Italia
 
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettiveModelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettiveDeep Learning Italia
 
Transformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptxTransformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptxDeep Learning Italia
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfDeep Learning Italia
 
MEETUP APRILE - Ganomaly - Anomaly Detection.pdf
MEETUP APRILE - Ganomaly - Anomaly Detection.pdfMEETUP APRILE - Ganomaly - Anomaly Detection.pdf
MEETUP APRILE - Ganomaly - Anomaly Detection.pdfDeep Learning Italia
 
The science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantisticaThe science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantisticaDeep Learning Italia
 
Pi school-dli-presentation de nobili
Pi school-dli-presentation de nobiliPi school-dli-presentation de nobili
Pi school-dli-presentation de nobiliDeep Learning Italia
 
Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework Deep Learning Italia
 
Explanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence ModelsExplanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence ModelsDeep Learning Italia
 
Use Cases Machine Learning for Healthcare
Use Cases Machine Learning for HealthcareUse Cases Machine Learning for Healthcare
Use Cases Machine Learning for HealthcareDeep Learning Italia
 
NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation Deep Learning Italia
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Deep Learning Italia
 
Towards quantum machine learning calogero zarbo - meet up
Towards quantum machine learning  calogero zarbo - meet upTowards quantum machine learning  calogero zarbo - meet up
Towards quantum machine learning calogero zarbo - meet upDeep Learning Italia
 
Macaluso antonio meetup dli 2020-12-15
Macaluso antonio  meetup dli 2020-12-15Macaluso antonio  meetup dli 2020-12-15
Macaluso antonio meetup dli 2020-12-15Deep Learning Italia
 

More from Deep Learning Italia (20)

Machine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingMachine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for Marketing
 
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettiveModelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
Modelli linguistici da Eliza a ChatGPT P roblemi , fraintendimenti e prospettive
 
Transformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptxTransformers In Vision From Zero to Hero (DLI).pptx
Transformers In Vision From Zero to Hero (DLI).pptx
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
 
Meetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdfMeetup Giugno - c-ResUNET.pdf
Meetup Giugno - c-ResUNET.pdf
 
MEETUP Maggio - Team Automata
MEETUP Maggio - Team AutomataMEETUP Maggio - Team Automata
MEETUP Maggio - Team Automata
 
MEETUP APRILE - Ganomaly - Anomaly Detection.pdf
MEETUP APRILE - Ganomaly - Anomaly Detection.pdfMEETUP APRILE - Ganomaly - Anomaly Detection.pdf
MEETUP APRILE - Ganomaly - Anomaly Detection.pdf
 
2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx2022_Meetup_Mazza-Marzo.pptx
2022_Meetup_Mazza-Marzo.pptx
 
Machine Learning Security
Machine Learning SecurityMachine Learning Security
Machine Learning Security
 
The science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantisticaThe science of can and can t e la computazione quantistica
The science of can and can t e la computazione quantistica
 
Dli meetup moccia
Dli meetup mocciaDli meetup moccia
Dli meetup moccia
 
Pi school-dli-presentation de nobili
Pi school-dli-presentation de nobiliPi school-dli-presentation de nobili
Pi school-dli-presentation de nobili
 
Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework Machine Learning Explanations: LIME framework
Machine Learning Explanations: LIME framework
 
Explanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence ModelsExplanation methods for Artificial Intelligence Models
Explanation methods for Artificial Intelligence Models
 
Use Cases Machine Learning for Healthcare
Use Cases Machine Learning for HealthcareUse Cases Machine Learning for Healthcare
Use Cases Machine Learning for Healthcare
 
NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation NLG, Training, Inference & Evaluation
NLG, Training, Inference & Evaluation
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
 
Towards quantum machine learning calogero zarbo - meet up
Towards quantum machine learning  calogero zarbo - meet upTowards quantum machine learning  calogero zarbo - meet up
Towards quantum machine learning calogero zarbo - meet up
 
Macaluso antonio meetup dli 2020-12-15
Macaluso antonio  meetup dli 2020-12-15Macaluso antonio  meetup dli 2020-12-15
Macaluso antonio meetup dli 2020-12-15
 
Data privacy e anonymization in R
Data privacy e anonymization in RData privacy e anonymization in R
Data privacy e anonymization in R
 

From cnn to capsule_Matteo_Alberti

  • 1. From CNN to Capsules Speaker: Matteo Alberti Community Machine Learning@ DeepLearningItalia E-mail: m.alberti12@campus.unimib.it
  • 2. Dal Percettrone alle architetture multistrato (MLP)  𝑎𝑖 = 𝑓( 𝑖 𝑤𝑖 𝑥𝑖 + 𝑏𝑖) “Separatore non lineare del piano”  𝑓 𝑥 funzione di attivazione non lineare senza 𝑓 𝑥 la nostra ANN si reduce ad un separatore lineare: 𝐿 𝑇 = 𝑊𝑇 𝐿 𝑇−1 = 𝑊𝑇 𝑊𝑇−1 𝐿 𝑇−2 = ⋯ 𝑊𝑇 𝑊𝑇−1. . . 𝑊1 𝐿0 = 𝑊𝐿0  Un singolo neurone non è capace di approssimare bene alcune decision function non lineari  Possiamo però modellizzare strutture di neuroni connessi fra loro. L’output di un layer diventa l’input di quello sucessivo
  • 3. Funzioni di attivazione  Esistono molte funzioni di attivazioni  Nelle reti neurali profonde è utile aver funzioni di attivazioni “leggere”  Sigmoide: 𝑦 = 𝜎 𝑥 = 1/(1 + ⅇ−𝑥 )  è un caso particolare di una funzione logistica  Al crescere della profondità da problem con l’aggiornamento dei pesi  Rectified Linear Unit (ReLu): 𝑦 = max(0, 𝑥)  Accellera la convergenza dell’aggioranmento dei pesi
  • 4. Reti Neurali Convoluzionali (CNN)  Nelle fully connected netwoks (MLP) ogni neurone è connesso ad ogni neurone del layer precedente.  MLP non scala bene con immagini (memoria e computazione)  CNN connette solo una piccolo parte di neuroni e ne condivide i pesi
  • 5. Layer convoluzionale  Un layer convoluzionale consiste in un insieme di filtri di apprendimento  Ogni filtro è piccolo lungo altezza e larghezza ma esteso nella prodonfità  Durante la forward propagation si trasla ciascun filtro lungo la larghezza e l’altezza del volume di input.
  • 6. Layer convoluzionale  Viene Prodotta un’activation map bidimensionale per quel filtro.  Man mano che si sposta il filtro lungo l’area dell’input, si effettua un prodotto scalare fra i valori del filtro e quelli della porzione di input  L’accodamento di tutte queste activation map, per tutti i filtri, lungo la dimensione della profondità forma il volume di output di un layer convoluzionale  Qui sotto è riportato l’output di un layer convolutionale
  • 7. Operatore di pooling  Pooling layer può essere applicato dopo un layer convoluzionale  Serve per ridurre progressivamente la dimensione spaziale e di conseguenza il numero di parametric  Esistono differenti versione il Pooling, il principale è il max-pooling
  • 8. Allenamento dei pesi  L’allenamento dei pesi in una rete CNN avviene in due fasi:  Forward Propagation  Le funzioni di attivazioni vengono attivate da sinistra a destra  Consiste in una somma peseta dei dati di input  I pesi non vengono modificati  BackPropagation:  L’obiettivo è di ottimizzare i pesi attraverso un aggiornamento  Riceve in input l’output prodotto dal forward pass e calcola per ogni layer 𝛿𝑖 𝑙 = ( 𝑗=1 𝑙+1 𝜃𝑗𝑖 𝑙 𝛿𝑗 𝑙+1 ) 𝑔′ ( 𝑗=1 𝑙−1 𝜃𝑖𝑗 𝑙−1 ℎ𝑗 𝑙−1 + 𝑏𝑖 𝑙−1 )  E le relative derivate parziali: ∆𝜃𝑖𝑗 𝑗 = ℎ𝑗 𝑙 𝛿𝑖 𝑙+1 ∆𝑏𝑖 𝑙 = 𝛿𝑖 𝑙+1
  • 9. Architetture di Reti Neurali Profonde  LeNet: consiste in una sequenza di 3 layer: 1990  3 conv layer ((3,3) con ReLu activation) seguito da Max-pooling (2,2)  2 Fully Connected Layer (sigmoide)  AlexNet: sequenza di 8 layer: 2012  Convolutional layer (96 filters, stride=4, ReLu)  4 x Max-pooling (2x2) + Layer Convolutivo (5x5)  3 X FC fino a quando il vettore di input ha la stessa dimensione del numero di classi  GoogLeNet: aumento sia della profondità che della larghezza 2014  Funzione di concatenamento dei layer (convoluzioni 1x1, 3x3, 5x5)  Inception module per la riduzione del numero di parametri
  • 10. Reti Neurali Profonde Residuali  Rete estremamente profonda  Risoluzione parziale al problema del gradiente  Sfrutta il concetto di residual learning:  Sottopone l’input x alla sequenza di convoluzioni ottenendo F(x) e di sommare al risultato lo stesso x, ottenendo: H(x) = F(x) + x  Vengono concatenati più blocchi di questo tipo che imparano non da una trasformazione diretta ma da F(x), minimizzando l’errore residuale.
  • 11. L’utilizzo del Max-Pooling ed il problema con le CNN  Max-pooling ci permette di ridurre la dimensionalità spaziale  Ci permette inoltre un’Invarianza a «leggere rototraslazioni»  Ma CNN tendono ad imparare mnemonicamente  Necessità di forte data augmentation
  • 12. L’utilizzo del Max-Pooling ed il problema con le CNN  Inoltre aumentando il grado di astrazione e complessità delle figure andiamo a perdere la gerarchia delle parti perdendo le informazioni spaziali delle features estratte
  • 13. L’intuizione  Rendering Inverso: “Dalle informazioni visive, l’immagine viene decostruita in base ad una rappresentazione gerarchica cercando farle combaciare con le combinazioni di features già memorizzate”  La Freccia viene memorizzata come combinazione delle figure geometriche interne e della loro relativo posizione spaziale
  • 14. Architettura  Architettura shallow (2 strati nascosti)  Le innovazioni in questa struttura sono Le Capsule: Un gruppo di neuroni  Strato Convolutionale per estrarre features di basso livello  PrimaryCaps:  Ogni capsula rappresenta una features  Racchiundono informazioni realtivi all’immagine
  • 15. Una struttura Capsulare  I neuroni artificiali producono un singolo scalare  Una capsula produce invece racchiude tutte le informazioni rilevanti in un vettore dove:  La lunghezza del vettore codifica la probabilità del rilevamento di una caratteristica  Lo stato della caratteristica (rotazione, traslazione) viene codificata con la direzione del vettore stesso  Questa proprietà la definiremo ‘equivarianza’
  • 16. Funzione di attivazione: " Squash"  𝑣𝑗 = 𝑠 𝑗 2 1+ 𝑠 𝑗 2 𝑠 𝑗 𝑠 𝑗  Andiamo ad agire unicamente sulla norma.  Vj viene compresso fra 0 ed 1  𝑠 𝑗 𝑠 𝑗 è il versore (conserva la direzione)  𝑠 𝑗 2 1+ 𝑠 𝑗 2 Ridimensiona il vettore di input in modo che abbia compresa fra 0 ed 1
  • 17. Dynamic Routing – forward pass  1) Capsule a livello l ed il loro output 𝑢 𝑗 𝑖, r numero di iterazioni del routing  2) 𝑏𝑖𝑗 coefficiente temporaneo necessario per iterazione inizializzato a zero  4) 𝑐𝑖 è peso per capsule di «basso livello», utilizzo del softmax per ottenere uno scalare non negativo con somma ad uno. Prima iterazione 𝑐𝑖𝑗 è uguale per tutte le capsule essendo inizializzato da 𝑏𝑖𝑗
  • 18. Dynamic Routing – forward pass
  • 19. Dynamic Routing – forward pass  5) Per ogni capsula di «alto livello» calcoliamo una combinazione lineare dei dati di input pesati con i coefficienti 𝑐𝑖𝑗 ossia andiamo a sommarli e ridimensionarli  6) Applichiamo la funzione di squash per «normalizzare» ad 1 e preservar l’orientamento del vettore
  • 20. Dynamic Routing – forward pass
  • 21. EM Routing – Expected Maximization  Finire le figure
  • 22. Allenamento delle CapsNet  Una volta fissato il passo forward  Alleno i pesi 𝑤𝑖𝑗 con la back-propagation in modo da massimizzare la norma della capsula relativa alla classe di target ( 𝐿 𝜇 𝑖 )  Un’altra versione della rete utilizza un’MLP (come Autoencoding) al fine di ricostruire l’immagine di input 𝐿 𝑝 𝑖  Loss Funcion 𝐿 𝑖 = 𝐿 𝜇 𝑖 + p 𝐿 𝑝 𝑖
  • 23. Accuratezze su MNIST  Parametri CNN : 35.4 M (Deep)  Parametri Capsnet (8.2 M)  Robustezza alle Trasformazioni Affini:  CNN 66%  CapsuleNet 79%
  • 24. Pro  Necessitano una quantità di dati inferiore dei corrispettivi modelli  La struttura Capsulare permette una gerarchia delle parti  Risulta robusta alle trasformazioni affini  Alta capacità discriminatoria su oggetti sovrapposti
  • 25. Contro  Ancora in fase di studio, non perfermanti su large datasets  Il processo di routing-by-agreement rallenta di molto la fase di training aumentando in maniera esponenziale il numero di parametri