introduction
C'est le contenu du cours 2, semaine 3 (C2W3) de Spécialisation en apprentissage profond.
(C2W3L01) Tuning process
Contenu
--Explication de la façon de régler l'hyperparamètre
- L'importance de l'hyperparamètre est la suivante
--Le plus important
- \alpha
――Second important
- \beta (\sim 0.9)
- #hidden_units
- mini-batch size
――Troisième important
- #layers
- learning rate decay
- Ne pas régler
- Algorithme d'optimisation Adam $ \ beta_1 $, $ \ beta_2 $, $ \ epsilon $
--Lorsque vous essayez Hyperparameter, essayez des valeurs aléatoires, n'utilisez pas de grille
- De grossier à fin; Si vous trouvez une valeur qui semble bonne, examinez-la à proximité.
(C2W3L02) Using an appropriate scale to pich hyperparameter
Contenu
--Hyperparamètre qui vous permet de sélectionner au hasard une valeur sur une échelle linéaire
- n^{[l]}
- #layers L
--Hyperparamètre pour la sélection de valeurs aléatoires sur l'échelle logarithmique
- \alpha ; 0.0001 ~ 1
- \beta ; 0.9 ~ 0.999
r = -4 \ast \textrm{np.random.rand()} \\
\alpha = 10^r \\
r = -2 \ast \textrm{np.random.rand()} - 1 \\
1-\beta = 10^r\\
\beta = 1-10^r
(C2W3L03) Hyperparameter Tuning in Practice : Panda vs. Caviar
Contenu
-
Re-test hyperparameters occasionally
-
Intuitions do get stale. Re-evaluate occasionally
-
Concentrez-vous sur un modèle et un morceau; gardez un modèle (Panda)
--Tuning de nombreux modèles en parallèle (Caviar)
--Lorsque vous avez suffisamment de ressources; Caviar
- Grandes données, grand modèle; Panda
(C2W3L04) Normalizing Activations in a Network
Contenu
- En appliquant la normalisation appliquée aux données d'entrée à la couche cachée, la vitesse d'apprentissage de $ W $ et $ b $ sera augmentée.
--Pour $ z ^ {(i)} $ de couche cachée $ l $
\mu = \frac{1}{m}\sum_{i} z^{(i)} \\
\sigma^2 = \frac{1}{m} \sum_{i} \left( z^{(i)} - \mu \right)^2 \\
z^{(i)}_{norm} = \frac{z^{(i)} - \mu}{\sqrt{\sigma^2 + \epsilon}} \\
\tilde{z}^{(i)} = \gamma z^{(i)}_{norm} + \beta
- $ \ gamma $ et $ \ beta $ sont des paramètres apprenables
-Définir la moyenne et la variance de $ z ^ {(i)} $ aux valeurs souhaitées dans $ \ gamma $ et $ \ beta $
(C2W3L05) Fitting Batch Norm into a Neural Network
Contenu
--Explication de la méthode de calcul à l'aide de la norme de lot
--Normal; $ z ^ {[l]} \ rightarrow a ^ {[l]} $
- Batch Norm ; z^{[l]} \rightarrow \tilde{z}^{[l]} \rightarrow a^{[l]}
- Les paramètres sont $ W ^ {[l]} $, $ b ^ {[l]} $, $ \ beta ^ {[l]} $, $ \ gamma ^ {[l]} $, mais $ z ^ { Le calcul de la moyenne de [l]} $ élimine l'effet du terme constant $ b ^ {[l]} $, donc $ b ^ {[l]} $ n'est plus nécessaire.
- $ z ^ {[l]} $, $ \ beta ^ {[l]} $, $ \ gamma ^ {[l]} $ a une dimension de $ \ left (n ^ {[l]}, 1 \ right ) $
- Implementing gradient descent
- for t=1 … numMiniBatches
- Compute forward prop on X^{\\{t\\}}
- In each hidden layer, use BN (Batch Norm) to replace z^{[l]} with \tilde{z}^{[l]}
- Use backprop to compute dW^{[l]}, d\beta^{[l]}, d\gamma^{[l]}
- Works w/ momentum, RMSProp, Adam
--Avec TensorFlow, vous pouvez le faire avec
tf.nn.batch_normalization```.
Impressions
――Depuis que diverses méthodes de calcul sont sorties, honnêtement, je ne peux pas le digérer (le contenu n'est pas difficile, mais il y a beaucoup de volume)
(C2W3L06) Why Does Batch Norm Work?
Contenu
- Explication intuitive de la raison pour laquelle la norme de lot est utilisée?
- L'application de la norme de lot au mini-lot d'intérêt a pour effet de mélanger un peu de bruit (comme un abandon).
Impressions
――Honnêtement, je n'ai pas compris
(C2W3L07) Batch Norm at Test Time
Contenu
- $ \ mu $ et $ \ sigma ^ 2 $ sont calculés pour chaque mini-lot.
--Mais si le nombre de données est petit au moment du test, $ \ mu $ et $ \ sigma ^ 2 $ utilisent une moyenne pondérée exponentiellement (sur le mini-lot).
(C2W3L08) Softmax regression
Contenu
- problème de classification multi-classes
- C ; #classes
- Que la couche finale (couche $ L $) du réseau neuronal soit la couche softmax
z^{[L]} = W^{[L]} a^{[L-1]} + b^{[L]} \\
t = e^{z^{[L]}} \ \textrm{(element-wise)}\\
a^{[L]} = \frac{e^{z^{[L]}}}{\sum^C_{j=1}t_i}
- S'il n'y a pas de calque caché, l'image qui divise la zone avec une ligne droite
――Si c'est un réseau de neurones compliqué, cela devient une frontière compliquée
(C2W3L09) Training a softmax classification
Contenu
- Softmax regressoin generalizes logistic regression to C classes.
- If C=2, softmax reduces to logistic regression.
L\left( \hat{y}, y \right) = - \sum^{C}_{j=1} y_j \log \hat{y}_j\\
J = \frac{1}{m} \sum^m_{i=1} L\left( \hat{y}^{(i)}, y^{(i)} \right)
(C2W3L10) Deep Learning Frameworks
Contenu
- Deep Learning Frameworks
- Caffe / Caffe2
- CNTK
- DL4J
- Keras
- Lasagne
- mxnet
- PaddlePaddle
- TensorFlow
- Theano
- Torch
--Lors du choix du framework Deep Learning
- Ease of programming (development and deployment)
- Running speed
- Truly open (open source with good governance)
(C2W3L11) Tensorflow
Contenu
-Explication de l'utilisation de TensorFlow avec le thème de la recherche de $ w $ qui minimise $ J (w) = w ^ 2 -10w + 25 $
- Si vous définissez une fonction de coût, le back prop sera implémenté automatiquement.
référence