SlideShare a Scribd company logo
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

PPTX
Db scan multiview
PDF
Continuous Time Bayesian Network Classifiers, M.Sc Thesis
PDF
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
PPTX
MATLAB Environment for Neural Network Deployment
PDF
Pres Tesi LM-2016+transcript_ita
PPTX
Deep Learning on Event-Based Cameras
PDF
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
PDF
AV_tesi_v5
Db scan multiview
Continuous Time Bayesian Network Classifiers, M.Sc Thesis
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
MATLAB Environment for Neural Network Deployment
Pres Tesi LM-2016+transcript_ita
Deep Learning on Event-Based Cameras
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
AV_tesi_v5

Similar to From cnn to capsule_Matteo_Alberti (20)

PPTX
Big Data e Deep Learning: verso una nuova generazione di programmi intelligenti
PDF
Linux Day 2019 Catania - Deep Learning
PDF
Machine learning per OSM (OpenStreetMap)
PDF
computer vision
PPTX
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
PPT
Le reti neurali
PDF
Identificare feature significative per l’analisi nell’informatica forense uti...
PPTX
Reti Neurali
PDF
Reti Neurali Su Personal Computer + Fuzzy Logic
PDF
Super risoluzione di immagini di volti con tecniche di deep learning a fini i...
PPTX
Dinamiche non lineari in reti neurali cellulari
PDF
AIXMOOC 2.2 - Reti neurali e machine learning (Valerio Freschi)
PDF
GFilosofi_neural-networks_2006
PPTX
Alla scoperta dei Vector Database e dei RAG
PPSX
Presentazione Tesi - Cusini Andrea
PDF
Corso Introduttivo alle Reti Neurali
PPTX
Vdcnn daniele meetup_27_june
PPTX
LEZIONE LEZIONE AI SECONDA LEZIONE LEZIONE AILEZIONE AI.pptx
PPTX
Introduzione al framework dl4j Antonio berti
PDF
Extended Summary of Self-building Neural Networks
Big Data e Deep Learning: verso una nuova generazione di programmi intelligenti
Linux Day 2019 Catania - Deep Learning
Machine learning per OSM (OpenStreetMap)
computer vision
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Le reti neurali
Identificare feature significative per l’analisi nell’informatica forense uti...
Reti Neurali
Reti Neurali Su Personal Computer + Fuzzy Logic
Super risoluzione di immagini di volti con tecniche di deep learning a fini i...
Dinamiche non lineari in reti neurali cellulari
AIXMOOC 2.2 - Reti neurali e machine learning (Valerio Freschi)
GFilosofi_neural-networks_2006
Alla scoperta dei Vector Database e dei RAG
Presentazione Tesi - Cusini Andrea
Corso Introduttivo alle Reti Neurali
Vdcnn daniele meetup_27_june
LEZIONE LEZIONE AI SECONDA LEZIONE LEZIONE AILEZIONE AI.pptx
Introduzione al framework dl4j Antonio berti
Extended Summary of Self-building Neural Networks
Ad

More from Deep Learning Italia (20)

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

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