Big Data
Introduzione al Deep Learning
Appunti per la preparazione orale
Indice
1 Che cos’è il Deep Learning 4
2 Multi-Layer Perceptron 4
2.1 Perché servono le non linearità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Grafo computazionale 5
4 Funzioni di attivazione delle unità nascoste 5
4.1 Sigmoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Tangente iperbolica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.4 Leaky ReLU e PReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.5 Maxout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.6 GeLU, Swish e SwiGLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Unità di uscita e funzione di loss 6
5.1 Regressione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 Classificazione binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Classificazione multiclasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4 Classificazione multi-label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Teorema di approssimazione universale 7
7 Addestramento e backpropagation 7
8 Gradient Descent e mini-batch 8
8.1 Batch Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.2 Stochastic Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.3 Mini-batch Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9 Ottimizzatori 8
9.1 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9.2 AdaGrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1
9.3 RMSProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9.4 Adam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
10 Vanishing ed exploding gradient 9
11 Skip connection e residual block 9
12 Regolarizzazione delle reti neurali 10
12.1 Weight decay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.2 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.3 Early stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.4 Data augmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
12.5 Batch Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
13 Reti Convoluzionali 10
13.1 Tensore di ingresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.2 Kernel e feature map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.3 Stride e padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.4 Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
13.5 Blocco convoluzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
14 Architetture CNN 12
14.1 LeNet, AlexNet e VGG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
14.2 Inception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
14.3 Depthwise separable convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
14.4 ResNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
14.5 Transfer learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
15 Autoencoder 12
15.1 Denoising autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
15.2 Sparse autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
15.3 Contractive autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
16 Variational Autoencoder 13
16.1 Reparameterization trick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
17 Generative Adversarial Networks 14
18 Reti Ricorrenti 14
19 LSTM e GRU 15
2
19.1 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
19.2 GRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
19.3 Reti bidirezionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
20 Encoder-decoder e traduzione automatica 15
21 Meccanismo di attenzione 16
22 Transformer 16
22.1 Self-attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
22.2 Multi-head attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
22.3 Positional encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
22.4 Encoder e decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
22.5 Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
23 Confronto finale 17
24 Sintesi finale 18
3
1 Che cos’è il Deep Learning
Deep Learning
Il è una parte del Machine Learning basata su reti neurali con molti strati. L’idea
centrale non è soltanto imparare una funzione che collega gli ingressi alle uscite, ma imparare
automaticamente anche una rappresentazione utile dei dati.
Nei modelli tradizionali le feature vengono spesso progettate manualmente. In una rete profonda,
invece, gli strati iniziali imparano caratteristiche semplici e gli strati successivi le combinano in
rappresentazioni progressivamente più astratte.
Per un’immagine, ad esempio:
• i primi strati possono riconoscere bordi e orientamenti;
• gli strati intermedi possono riconoscere forme e parti di oggetti;
• gli strati profondi possono riconoscere l’oggetto completo.
La profondità è quindi il numero di trasformazioni successive applicate ai dati. La larghezza è il
numero di unità presenti in ogni strato.
2 Multi-Layer Perceptron
Multi-Layer Perceptron,
Il abbreviato MLP, è la struttura di base delle reti neurali profonde.
Un MLP è composto da:
• uno strato di ingresso;
• uno o più strati nascosti;
• uno strato di uscita.
In una rete fully connected ogni neurone di uno strato riceve l’uscita di t
-
Machine Learning & Deep Learning
-
Dimostrazioni Deep Learning
-
Machine Learning and Deep Learning
-
Appunti - Artificial neural network and deep learning