4 - Deep Learning - FR
4 - Deep Learning - FR
4 - Deep Learning - FR
profond
apprentissage
Cours 4
Aperçu du cours
1. Introduction (Cours 1) 3. Réglage des réseaux profonds (Cours 5)
Qu'est-ce que l'intelligence artificielle? Introduction
Concevoir une architecture réseau profond
2. Fondations Autres facteurs de conception réseau profond
2.1. Fondations de l'apprentissage automatique (Cours 1) Détecter les problèmes de formation
Qu'est-ce que l'apprentissage automatique?
Régression linéaire 4. Architectures d'apprentissage profond (Cours 5)
Régression logistique Modèles d'images
2.2. Fondations des réseaux neuronaux (Cours 2) Modèles de séquence
Le Perceptron Modèles génératifs
Réseaux neuronaux peu profonds Modèles de renforcement profond
2.3. Fondations de l'apprentissage profond (Cours 3,4) 5. Modèles d'image
Qu'est-ce que l'apprentissage profond? 5.1. Réseaux neuronaux convolutionnels (Cours 6)
Validation du modèle Éléments fondamentaux des blocs de construction
Normalisation des entrées Couches réseau
Surajustement et Sous-ajustement Réseaux célèbres
Régularisation Techniques de formation
Initialisation du poids
5.2. Applications CNN (Cours 7)
Fonctions d'activation
Détection d'objets
Fonctions de perte
Reconnaissance faciale
Algorithmes d'optimisation
Génération d'œuvres d'art
Normalisation des lots
Aperçu du cours
6. Modèles séquence 7. Modèles génératifs (Cours 10)
6.1. Neural récurrent Réseaux (Cours 8) Introduction
Réseaux neuronaux récurrents en avant AutoEncodeurs
Réseaux contradictoires génératifs
Unités récurrentes fermées
Applications de réseaux contradictoires génératifs
Mémoire à long terme
Réseaux neuronaux récurrents bidirectionnels 8. Modèles de renforcement profond (Cours 11)
Réseaux neuronaux récurrents profonds Principes fondamentaux de l'apprentissage par
renforcement
6.2. Incorporations de mots (Cours 9) Processus de décision Markov
Principes de base des incorporations de mots Q-Apprentissage
L'apprentissage de l’incorporations de mots Gradient de politique
Algorithme Word2Vec Applications d'apprentissage de renforcement profond
Algorithme GloVe
Applications de l’incorporations de mots 9. Limitations et de nouveaux Frontières (Cours 12)
6.3. Modèles séquence à séquence (Cours 9) Limitations de l'apprentissage en profondeur
Apprentissage profond Bayesian
Introduction
Apprendre à apprendre
Modèle de traduction automatique
Évaluation de la traduction automatique
Modèle d'attention pour la traduction
automatique
Le but des fonctions d'activation est d'introduire des non-linéarités dans le réseau
Fonctions d'activation dans l'apprentissage en
profondeur
𝑔 𝑧 =𝑧
Fonction linéaire
Fonctions d'activation dans l'apprentissage en
profondeur
1
𝑔 𝑧 =
1 + exp(−𝑧)
𝑔 𝑧 = 𝑙𝑜𝑔𝑒 (1 + exp(𝑧))
Fonction Softplus
Fonctions d'activation dans l'apprentissage en
profondeur
exp(𝑧𝑗 )
Exemple: 𝑔 𝑧𝑗 =
σ𝑖 exp(𝑧𝑖 )
Renvoie la distribution de
probabilité sur des classes de
sortie mutuellement exclusives.
Utilisé à la couche de sortie
d'un classificateur
Normaliser les activations à la
somme 1
Fonction Softmax
Fondements de l'apprentissage
en profondeur
Fonctions de perte
Perte dans les réseaux de neurones
La perte empirique mesure la perte totale sur l'ensemble de notre ensemble de données.
Également connu sous le nom de fonction de coût, fonction d'objectif, risque empirique
Fonctions de perte empirique pour la régression
Ne peut pas être utilisé s'il existe une valeur zéro due à la division par 0
Pour les prévisions trop faibles, le pourcentage d'erreur ne peut pas dépasser 100, mais pour
les prévisions trop élevées, il n'y a pas de limite supérieure au pourcentage d'erreur.
Lorsqu'il est utilisé pour comparer la précision des méthodes de prévision, il est biaisé en ce
qu'il choisira systématiquement une méthode dont les prévisions sont trop basses.
Fonctions de perte empirique pour la régression
Erreur L2
ො 𝑦 = σ𝑚
L 𝑦, 𝑖=1 𝑦
ො𝑖 − 𝑦𝑖 2
Identique à MSE sauf qu'elle n'exprime pas de moyenne (ne comporte pas
de division par m)
Fonctions de perte empirique pour la régression
Erreur L1
ො 𝑦 = σ𝑚
L 𝑦, 𝑖=1 𝑦
ො𝑖 − 𝑦𝑖
Identique à MAE sauf qu'elle n'exprime pas de moyenne (ne comporte pas
de division par m)
Fonctions de perte empirique pour la classification
Entropie Croisée
1
L 𝑦,
ො 𝑦 = − σ𝑚 𝑦 × log 𝑦ො𝑖 + (1 − 𝑦𝑖 ) × (1 − log(𝑦ො𝑖 ))
2𝑚 𝑖=1 𝑖
Poisson
1
L 𝑦,
ො 𝑦 = σ𝑚 𝑦ො − 𝑦𝑖 × log 𝑦ො𝑖
2𝑚 𝑖=1 𝑖
Hinge
𝑚
1
𝐿 𝑦,
ො 𝑦 = max(0,1 − 𝑦ො𝑖 ∗ 𝑦𝑖 )
2𝑚
𝑖=1
Hinge carrée
𝑚
1
𝐿 𝑦,
ො 𝑦 = (max(0,1 − 𝑦ො𝑖 ∗ 𝑦𝑖 ))2
2𝑚
𝑖=1
𝜕𝐽(𝑾)
𝑾←𝑾−𝛼
𝜕𝑾
Optimiser la fonction de perte par descente de gradient
Comment choisir le bon taux d'apprentissage 𝛼?
Choisir le taux d'apprentissage
Estimation initiale
Estimation initiale
Estimation initiale
Des taux d’apprentissage stables convergent sans à-coups et évitent les minima
locaux
Choiser le taux d'apprentissage
Solution naïve:
Essayez beaucoup de taux d'apprentissage et voyez lequel est «juste comme il faut»
Solution élégante:
Concevoir un taux d'apprentissage adaptatif qui «s'adapte» au paysage
Forward Propagation on 𝑋
1 𝑙 𝜆 2
Compute cost function 𝐽 = σ𝑖=1 𝐿(𝑦ො 𝑖 − 𝑦 (𝑖) ) + σ𝑙 𝑊 (𝑙)
𝑁 2∗𝑁 𝐹
For 𝑡 = 1 . . 𝐵
Forward Propagation on 𝑋 {𝑡}
1 𝜆 2
Compute cost function 𝐽{𝑡} = σ𝑙𝑖=1 𝐿(𝑦ො 𝑖 − 𝑦 (𝑖) ) + σ𝑙 𝑊 (𝑙)
𝑁/𝐵 2∗𝑁/𝐵 𝐹
𝐽 𝐽{𝑡}
Choisir la taille du mini-lot
mini_batch_size Nom Comportement
𝑡 = 𝑏𝑎𝑡𝑐ℎ_𝑠𝑖𝑧𝑒 Batch Gradient Un ensemble de données énorme
Descente de gradient stochastique Descent rend une itération trop longue
𝑡=1 Stochastic Perdez toute la vitesse que vous auriez
Gradient Descent tirée de la vectorisation
1 ≤ 𝑡 ≤ 𝑏𝑎𝑡𝑐ℎ_𝑠𝑖𝑧𝑒 Mini-batch Apprentissage le plus rapide grâce à la
Gradient Descent vectorisation
Peut progresser sans parcourir
l'intégralité du l’ensemble de données
Descente de gradient en mini-lot
𝛽 = 0.5 (2 𝑗𝑜𝑢𝑟𝑠)
Descente de gradient en mini-lot avec momentum (élan)
Descente de gradient sans élan Descente de gradient avec élan
On iteration 𝑡
Compute 𝑑𝑊, 𝑑𝑏 on current mini-batch
𝑣𝑑𝑊 = 𝛽𝑣𝑑𝑊 + 1 − 𝛽 𝑑𝑊 La descente de gradient avec élan
𝑣𝑑𝑏 = 𝛽𝑣𝑑𝑏 + (1 − 𝛽)𝑑𝑏 peut être considérée comme une
𝑊 = 𝑊 −∝ 𝑣𝑑𝑊 , 𝑏 = 𝑏 −∝ 𝑣𝑑𝑏 balle qui glisse dans la descente et
qui gagne de la vitesse
Hyperparamètres: 𝑣𝑑𝑊 = 𝛽𝑣𝑑𝑊 + 1 − 𝛽 𝑑𝑊
Taux d’apprentissage ∝ friction rapidité accélération
𝛽 = 0.9
Descente de gradient en mini-lot avec RMSprop
Utilisé pour réduire les oscillations, tout comme Momentum
RMSprop = “racine moyenne carrée” prop (Root Mean Square prop)
On iteration 𝑡
Compute 𝑑𝑊, 𝑑𝑏 on current mini-batch
𝑠𝑑𝑊 = 𝛽𝑠𝑑𝑊 + 1 − 𝛽 𝑑𝑊 2
𝑠𝑑𝑏 = 𝛽𝑠𝑑𝑏 + (1 − 𝛽)𝑑𝑏 2
𝑑𝑊 𝑑𝑏
𝑊 = 𝑊 −∝ , 𝑏 = 𝑏 −∝
𝑠𝑑𝑊 +𝜀 𝑠𝑑𝑏 +𝜀
Hyperparameters:
Taux d’apprentissage ∝
𝛽 = 0.9
Pour éviter la division par zéro 𝜀 = 10−8
Descente de gradient en mini-lot avec Adam
On iteration 𝑡
Compute 𝑑𝑊, 𝑑𝑏 on current mini-batch
𝑣𝑑𝑊 = 𝛽1 𝑣𝑑𝑊 + 1 − 𝛽1 𝑑𝑊, 𝑣𝑑𝑏 = 𝛽1 𝑣𝑑𝑏 + (1 − 𝛽1 )𝑑𝑏 (momentum)
𝑠𝑑𝑊 = 𝛽2 𝑠𝑑𝑊 + 1 − 𝛽2 𝑑𝑊 2 , 𝑠𝑑𝑏 = 𝛽2 𝑠𝑑𝑏 + 1 − 𝛽2 𝑑𝑏 2 (RMSprop)
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑣 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑣
𝑣𝑑𝑊 = 𝑑𝑊𝑡 , 𝑣𝑑𝑏 = 𝑑𝑏𝑡 (bias correction)
1−𝛽1 1−𝛽1
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑠𝑑𝑊 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑠𝑑𝑏
𝑠𝑑𝑊 = , 𝑠𝑑𝑏 = (bias correction)
1−𝛽2𝑡 1−𝛽2𝑡
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑
𝑣𝑑𝑊 𝑣𝑑𝑏
𝑊 = 𝑊 −∝ , 𝑏 = 𝑏 −∝
𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 +𝜀
𝑠𝑑𝑊 𝑐𝑜𝑟𝑟𝑒𝑐𝑡𝑒𝑑 +𝜀
𝑠𝑑𝑏