
Deep Learning
Simulation de l'esprit humain dans la pensée
Ce que vous apprendrez
- Comprendre le réseau de neurones et la classification binaire
- Utiliser l'algorithme Logistic Regression
- Calculer la fonction de coût et les dérivées
- Construire le réseau de neurones à une couche cachée et appliquer la descente de gradient
- Construire le réseau de neurones profond
- Utiliser la bibliothèque Keras pour la prédiction et la classification
- Travailler avec TensorFlow et ses applications
- Appliquer le réseau de neurones convolutif
- Construire un modèle LSTM et le réseau récurrent
- Utiliser les Autoencoders
À propos du cours
Ce cours enseigne le Deep Learning et les réseaux de neurones pas à pas, de la première idée jusqu'à la construction de modèles en code. Vous commencez par le réseau de neurones, l'apprentissage supervisé, la classification binaire et l'algorithme Logistic Regression, puis la fonction de coût, le calcul des dérivées et le graphe de calcul. Ensuite, vous apprenez le réseau de neurones à une couche cachée, les fonctions d'activation et la descente de gradient, puis le réseau de neurones profond, la propagation avant et les dimensions des matrices. Vous passez à la pratique avec la bibliothèque Keras pour la prédiction et la classification, puis TensorFlow et ses bases, puis le réseau de neurones convolutif, puis les données séquentielles, le réseau de neurones récurrent et le modèle LSTM, avant de terminer par les Autoencoders. Chaque partie s'accompagne d'une application pratique et de fichiers à télécharger. Le cours convient à toute personne qui connaît les bases de Python et veut entrer dans le monde de l'intelligence artificielle. Après le cours, vous comprendrez comment fonctionnent les réseaux de neurones et vous saurez construire des modèles de prédiction et de classification avec Keras et TensorFlow.
Résultats attendus
- Maîtrisez l'utilisation des réseaux neuronaux pour construire des modèles d'apprentissage profond efficaces.
- Analysez les données et appliquez l'apprentissage profond pour résoudre des problèmes complexes.
- Concevez et mettez en œuvre de vrais projets en utilisant des outils d'apprentissage profond avancés.
- Comprenez comment optimiser les performances des modèles en utilisant des techniques avancées.
- Préparez-vous à entrer dans le domaine de l'intelligence artificielle et de l'apprentissage profond en tant que professionnel.
Avis des apprenants
- ★★★★★احمد م.·منذ 4 شهرشاهد 100٪
كورس مفيد جدا وعملي ونظري في نفس الوقت فالكورس يدمج المفاهيم النضريه مع التطبيق العملي
تم عرض كل التقييمات (1)
Contenu du cours
1Fondamentaux de l'apprentissage profond et des réseaux neuronaux
31 leçons
- IntroductionPrésente le contenu du premier chapitre du cours de deep learning : le concept de réseau de neurones, les bases de programmation avec propagation avant et arrière, un réseau à une couche cachée puis un réseau profond.1:56
- Réseau de neuronesDéfinit un réseau de neurones à travers un exemple de prédiction du prix d'une maison, où des neurones relient des entrées comme la surface et le nombre de pièces au prix via des couches cachées que le réseau construit lui-même.8:13
- Apprentissage supervisé et réseaux de neuronesExplique l'apprentissage supervisé avec les réseaux de neurones à travers des exemples comme l'immobilier, la publicité en ligne, la traduction et les voitures autonomes, le type de réseau adapté à chacun, et les données structurées ou non structurées.7:52
- Classification binairePrésente la classification binaire en apprentissage supervisé : l'image représentée comme vecteur d'entrée X avec sorties Y, la notation des données d'entraînement et de test et les dimensions des matrices.13:55
- Charger la liste des symboles
- Algorithme de régression logistiqueExplique l'algorithme de régression logistique pour la classification binaire : les paramètres W et B et la fonction sigmoïde qui borne la sortie entre zéro et un, avec son comportement pour les grandes valeurs positives et négatives.8:51
- Fonction de coûtExplique la fonction de coût en classification binaire : la différence entre la perte d'un exemple et la perte moyenne sur toutes les données de test, sa formule avec log et son rôle dans l'amélioration de W et B.11:43
- Calculer les valeurs des variablesExplique comment la descente de gradient trouve les meilleurs W et B en minimisant la fonction de coût convexe : partir de valeurs initiales puis avancer par itérations grâce à la dérivée et au taux d'apprentissage.14:00
- CalculExplique la dérivée : la pente d'une droite comme variation de y sur variation de x, la règle de la fonction au carré et la dérivée du logarithme, car l'essentiel du cours s'appuie dessus.13:34
- Graphique computationnelExplique le graphe de calcul à travers une fonction de trois variables, en montrant comment il ordonne les étapes de la propagation avant pour calculer la valeur, avant la rétropropagation et les dérivées.6:23
- Graphique computationnel pour le calcul des dérivéesUtilise le graphe de calcul pour obtenir les dérivées par rétropropagation de droite à gauche, en calculant l'effet de la variation de chaque variable sur la sortie de la fonction avec le même exemple.15:24
- Calcul des dérivées pour l'application de l'algorithmeMontre le calcul des dérivées dz, dw1, dw2 et db pour appliquer la descente de gradient en régression logistique sur un seul exemple à deux caractéristiques, via le graphe de calcul et la règle dz = a - y.12:51
- Calcul des dérivées pour plusieurs exemplesÉtend le calcul des dérivées à m exemples : accumulation de dw1, dw2, db et dz dans une boucle for, division par m pour la moyenne et mise à jour de W et B, en soulignant la lenteur de la boucle.10:34
- Comprendre les directionsPrésente la vectorisation à la place des boucles for, en comparant en Python avec NumPy le produit np.dot et une boucle, ce qui montre que la version vectorisée est bien plus rapide.15:59
- Charger un exemple pratique
- Utiliser les directions dans l'algorithme de régression linéaireApplique la vectorisation à la régression logistique : dz comme vecteur égal à A - Y, calcul de dw et db sans boucle for, puis mise à jour de W et B avec le taux d'apprentissage.14:45
- Distribution en PythonExplique le Broadcasting en Python avec NumPy à partir d'un tableau de calories d'aliments : sommer les colonnes, diviser chaque ligne par les totaux et utiliser reshape pour vérifier la forme du tableau.14:29
- Charger un exemple pratique
- Introduction au réseau de neurones creuxIntroduit le réseau de neurones peu profond à une couche cachée, la notation des couches et des nœuds, et le calcul de Z et A pour chaque couche, des entrées jusqu'à la sortie.11:08
- Représentation du réseau de neurones creux et calcul de la sortieMontre la représentation d'un réseau peu profond et le calcul de la sortie de sa première couche pour un nœud puis pour tous les nœuds en vecteurs, avec les dimensions de W, b et Z comme une matrice 4 par 3 et une colonne 4 par 1.17:30
- Calcul de la sortie pour plusieurs exemplesExplique le calcul de la sortie pour m exemples d'entraînement au lieu d'un seul, en empilant les exemples comme colonnes dans une matrice X et en calculant d'un coup les matrices Z et A de la couche cachée.10:25
- Fonction d'activationCompare les fonctions d'activation : sigmoïde pour la classification binaire, tanh de valeurs entre moins un et un, ReLU et Leaky ReLU pour corriger le problème des valeurs négatives.11:23
- Calcul pour les fonctions d'activationCalcule les dérivées des fonctions d'activation : sigmoïde avec g(1-g), tanh avec un moins le carré de la fonction, et ReLU dont la dérivée vaut zéro pour les valeurs négatives et un pour les positives.15:58
- Chargement du format de fonction
- Mise en œuvre de la descente de gradient pour le réseau de neurones creuxApplique la descente de gradient au réseau peu profond : propagation avant avec ses quatre équations, puis rétropropagation pour calculer dz2, dw2, db2, dz1, dw1 et db1 afin de mettre à jour les paramètres.18:27
- Introduction aux réseaux de neurones profondsIntroduit le réseau de neurones profond : sa définition avec plus d'une couche cachée, la notation L pour le nombre de couches et n pour les nœuds de chaque couche, et un rappel des propagations avant et arrière.11:19
- Propagation avant dans les réseaux de neurones profondsExplique la propagation avant dans un réseau profond : calcul de Z et A couche après couche, règle générale Z = W·A(l-1) + b puis A = g(Z), appliquée à la matrice de tous les exemples.13:52
- Comment calculer les dimensions de la matriceExplique comment déterminer les dimensions des matrices dans un réseau profond pour W, b, Z et A afin d'éviter les erreurs courantes, dW et db ayant les mêmes dimensions que W et b.22:52
- Composants essentiels pour la mise en œuvre des réseaux de neurones profondsPrésente les briques de base pour implémenter un réseau profond : une étape avant qui prend A(l-1) et stocke Z dans un cache, et une étape arrière qui utilise ce cache pour calculer dW, db et dZ avant de mettre à jour W et b.14:14
- Mise en œuvre des composants essentiels pour le calcul de la descente de gradientExplique les formules de Backward Propagation pour calculer DW, DB et DA à chaque couche grâce à la vectorisation, leur calcul en Python, puis introduit les Hyperparameters.11:22
- HyperparamètresClarifie la différence entre les Parameters comme W et B et les Hyperparameters comme le learning rate, le nombre de couches, la fonction d'activation et les itérations, et comment les ajuster pour améliorer les performances.4:44
2Développement de réseaux neuronaux profonds et formation de modèles
6 leçons
- Bibliothèques utilisées pour le développementCompare les bibliothèques de deep learning TensorFlow, PyTorch et Keras et leurs usages : Keras pour construire vite et simplement, les autres pour plus de contrôle ou pour la recherche académique.7:08
- Exemple pratique d'utilisation de la bibliothèque Keras pour la prédictionPrésentation théorique de l'usage de Keras pour prédire la résistance du béton d'après ses composants, avec des couches cachées utilisant ReLU et la séparation des données en entraînement et test.11:12
- Première application pratiquePremier travail pratique sur Kaggle pour écrire du code sans rien installer : construction d'un modèle Keras prédisant la résistance du béton, entraînement, puis prédiction pour un nouveau béton.26:35
- Chargement du fichier de données
- Exemple pratique d'utilisation de la bibliothèque Keras pour la classificationExemple pratique de classification avec Keras : encodage one-hot des classes et construction d'un réseau de couches Dense dont la couche de sortie compte quatre nœuds, un par classe, donnant des probabilités.13:51
- Deuxième application pratiqueDeuxième application de classification d'images avec Keras sur MNIST : chargement des données et vérification de leurs dimensions, conversion des classes avec to_categorical, puis construction et entraînement du modèle avec fit jusqu'à environ 97 % de précision.35:06
3Utilisation de TensorFlow
9 leçons
- Introduction à TensorFlowIntroduction à TensorFlow : son backend en C et C++, son exécution sur CPU ou GPU, et le graphe de flux de données qui relie tableaux multidimensionnels et opérations.16:13
- Fondamentaux Partie UnExplique les bases de TensorFlow : le graphe de calcul, les tableaux multidimensionnels (tenseurs) et leurs rangs, du scalaire au vecteur et à la matrice, avec l'exemple de la multiplication de W et X puis l'ajout de B.9:04
- Fondamentaux Partie DeuxPrésente les bases de TensorFlow : importer la bibliothèque, définir des valeurs avec la fonction constant, créer une fonction qui additionne des valeurs avec un paramètre, et distinguer constantes et variables.17:50
- Fondamentaux Partie TroisMontre comment créer des tableaux multidimensionnels dans TensorFlow, vérifier leur forme avec shape, puis multiplier des matrices avec matmul et afficher le résultat.9:00
- Application sur la prédiction Partie UnRappel rapide de la régression linéaire et de son application avec TensorFlow sur les données d'émission de CO2 selon la taille du moteur, en définissant A et B et en calculant l'écart entre prédictions et valeurs réelles.21:33
- Application sur la prédiction Partie DeuxPoursuit la régression linéaire dans TensorFlow : valeurs initiales et taux d'apprentissage, entraînement par descente de gradient, puis tracé de la droite obtenue sur les données réelles.26:13
- Télécharger le fichier de données
- Application sur la classification Partie UnApplique la classification par régression logistique dans TensorFlow sur les données Iris : chargement et séparation des données, définition de W et B comme variables, et fonction d'activation pour retenir la classe la plus probable parmi trois.32:22
- Application sur la classification Partie DeuxTermine l'application de classification dans TensorFlow : boucle d'entraînement avec une fonction de perte Keras, calcul des poids, du biais et de l'optimisation, suivi de la précision, puis conclusion de la partie sur les bases de TensorFlow.24:28
4Réseau de neurones convolutionnel
8 leçons
- Introduction aux réseaux de neurones convolutifsIntroduit les réseaux de neurones convolutifs (CNN), en les comparant à l'approche classique de classification d'images par extraction manuelle de caractéristiques, avec des applications comme la détection du cancer de la peau et les voitures autonomes.7:54
- Principes de baseExplique les principes de base d'un CNN pour la détection d'objets : il extrait automatiquement les caractéristiques des images et les combine progressivement pour reconnaître un objet, comme dans l'exemple de reconnaissance de bâtiments.5:46
- Architecture des réseaux de neurones convolutifsExplique l'architecture de base d'un CNN : représenter l'image sous forme de matrice, appliquer un filtre ou noyau, retenir la valeur maximale, puis classer l'image grâce aux probabilités.18:26
- Application pratique utilisant la méthode traditionnelle partie unApplication pratique de l'approche traditionnelle de classification d'images : encodage one-hot des classes, définition des poids W et du biais B, fonction Softmax et optimiseur SGD avec un taux d'apprentissage.27:20
- Application pratique utilisant la méthode traditionnelle partie deuxPoursuit l'approche traditionnelle en construisant l'étape d'entraînement avec GradientTape et l'entropie croisée pour mettre à jour W et B, puis en suivant la précision par époque jusqu'à environ 84 %.14:01
- Télécharger l'application
- Application pratique sur le réseau de neurones convolutifTravaux pratiques sur le CNN : application de filtres et de couches de pooling, entraînement avec l'algorithme Adam, et précision portée à 94 % contre 84 % avec l'approche traditionnelle.29:50
- Télécharger l'application
5Construction de différents modèles pour l'apprentissage profond
10 leçons
- Introduction à la construction de différents modèles pour l'apprentissage profondIntroduit les réseaux de neurones récurrents (RNN) pour les données séquentielles, avec des applications comme la prédiction du cours d'une action, l'analyse de sentiments, la suggestion de mots, la traduction et la synthèse vocale.4:45
- Données de séries temporellesExplique les données séquentielles et pourquoi les réseaux de neurones classiques ne peuvent pas les traiter, faute de mémoriser les sorties précédentes, et comment un RNN résout cela en les conservant.3:06
- Réseau de neurones récurrentExplique l'architecture du RNN et son traitement des données séquentielles grâce à un état précédent faisant office de mémoire, ses usages et ses limites comme la sensibilité et l'instabilité, avant d'aborder le LSTM.6:48
- Modèle LSTMExplique le modèle LSTM, un réseau récurrent qui corrige les problèmes du RNN grâce à une cellule mémoire et trois portes (entrée, lecture, oubli), le calcul se répétant jusqu'à la fin des données.6:45
- Application pratique des bases du modèle LSTMTravaux pratiques sur les bases du LSTM et du LSTM empilé sur Kaggle : définition des entrées et de l'état précédent, construction d'une cellule puis de deux cellules empilées, affichage des sorties et de la mémoire.23:14
- Télécharger l'application
- Introduction aux nouveaux AutoencodeursIntroduit les Autoencoders comme réseaux de neurones pour l'apprentissage non supervisé et leurs usages : extraction de caractéristiques, compression de données et réduction de dimensions, avec comparaison à la PCA sur MNIST.5:20
- Architecture des AutoencodeursExplique l'architecture d'un Autoencoder en deux parties : un encodeur qui compresse les caractéristiques de l'image en moins de dimensions et un décodeur qui la reconstruit, les valeurs compressées servant ensuite à la classification et autres tâches.4:02
- Application pratique sur les AutoencodeursTravaux pratiques sur les Autoencoders avec MNIST : encodeur à couches de 256, 128 et 32 unités et décodeur restituant 784 entrées, entraîné avec RMSProp pour reconstruire des images proches des originales.19:13
- Télécharger l'application
Formateur

Ing. Amr Abdel Fattah
Ce cours fait partie du diplôme




