
Apprentissage profond par le créateur de Keras, 2e édition
Description
Introduction au livre
Pas un seul mot, pas une seule ligne de code n'est gaspillée !
Si vous ne devez choisir qu'un seul livre sur l'apprentissage profond, choisissez celui-ci !
L'auteur, fondateur de Keras et chercheur en apprentissage profond chez Google, met l'accent sur la « démocratisation de l'intelligence artificielle ».
Ce livre est une autre façon d'initier un public plus large à l'apprentissage profond, en s'attachant à rendre les concepts et la mise en œuvre de l'apprentissage profond aussi faciles à comprendre que possible.
Remaniée à plus de 75 % et augmentée de plus d'un tiers par rapport à la première édition, la deuxième édition est conçue pour vous aider à acquérir rapidement les compétences nécessaires pour commencer à développer des applications d'apprentissage profond, grâce à des explications intuitives, des illustrations en couleur et des exemples clairs.
Couvrant à la fois les techniques pratiques facilement applicables dans la vie réelle et les théories essentielles nécessaires à la maîtrise des réseaux neuronaux, ce livre offre des perspectives et la philosophie de l'auteur, depuis l'initiation à l'apprentissage profond jusqu'aux techniques pratiques.
De plus, afin d'éliminer la barrière mathématique, les concepts sont expliqués dans un code intuitif et concis, sans notation mathématique.
Recommandé à toute personne intéressée par l'apprentissage en profondeur ou souhaitant élargir ses connaissances.
Si vous ne devez choisir qu'un seul livre sur l'apprentissage profond, choisissez celui-ci !
L'auteur, fondateur de Keras et chercheur en apprentissage profond chez Google, met l'accent sur la « démocratisation de l'intelligence artificielle ».
Ce livre est une autre façon d'initier un public plus large à l'apprentissage profond, en s'attachant à rendre les concepts et la mise en œuvre de l'apprentissage profond aussi faciles à comprendre que possible.
Remaniée à plus de 75 % et augmentée de plus d'un tiers par rapport à la première édition, la deuxième édition est conçue pour vous aider à acquérir rapidement les compétences nécessaires pour commencer à développer des applications d'apprentissage profond, grâce à des explications intuitives, des illustrations en couleur et des exemples clairs.
Couvrant à la fois les techniques pratiques facilement applicables dans la vie réelle et les théories essentielles nécessaires à la maîtrise des réseaux neuronaux, ce livre offre des perspectives et la philosophie de l'auteur, depuis l'initiation à l'apprentissage profond jusqu'aux techniques pratiques.
De plus, afin d'éliminer la barrière mathématique, les concepts sont expliqués dans un code intuitif et concis, sans notation mathématique.
Recommandé à toute personne intéressée par l'apprentissage en profondeur ou souhaitant élargir ses connaissances.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
Chapitre 1 : Qu'est-ce que l'apprentissage profond ?
1.1 Intelligence artificielle, apprentissage automatique et apprentissage profond
1.1.1 Intelligence artificielle
1.1.2 Apprentissage automatique
__1.1.3 Apprentissage de représentations à partir de données
__1.1.4 Que signifie « profond » dans l'apprentissage profond ?
__1.1.5 Comprendre les principes de fonctionnement de l'apprentissage profond avec trois figures
__1.1.6 Réalisations de l'apprentissage profond à ce jour
__1.1.7 Ne croyez pas aux engouements à court terme
__1.1.8 Perspectives sur l'IA
1.2 Avant l'apprentissage profond : un bref historique de l'apprentissage automatique
1.2.1 Modélisation probabiliste
__1.2.2 Premiers réseaux neuronaux
__1.2.3 Méthode du noyau
__1.2.4 Arbres de décision, forêts aléatoires et machines à gradient boosté
1.2.5 Retour aux réseaux neuronaux
__1.2.6 Caractéristiques de l'apprentissage profond
1.2.7 Tendances récentes en apprentissage automatique
1.3 Pourquoi l'apprentissage profond ? Pourquoi maintenant ?
__1.3.1 Matériel
__1.3.2 données
__1.3.3 Algorithme
1.3.4 Un nouveau souffle d'investissement
__1.3.5 Popularisation de l'apprentissage profond
__1.3.6 Cela va-t-il durer ?
Chapitre 2 : Composantes mathématiques des réseaux neuronaux
2.1 Première rencontre avec les réseaux neuronaux
2.2 Représentation des données pour les réseaux neuronaux
__2.2.1 Scalaire (Tenseur de rang 0)
__2.2.2 Vecteurs (Tenseurs de rang 1)
__2.2.3 Matrice (Tenseur de rang 2)
__2.2.4 Tenseurs de rang 3 et tenseurs de rang supérieur
__2.2.5 Propriétés fondamentales
__2.2.6 Manipulation des tenseurs avec NumPy
__2.2.7 Données par lots
__2.2.8 Exemples concrets de tenseurs
__2.2.9 Données vectorielles
__2.2.10 Données de séries temporelles ou données séquentielles
__2.2.11 Données d'image
__2.2.12 Données vidéo
2.3 Les rouages des réseaux neuronaux : opérations tensorielles
__2.3.1 Opérations élément par élément
__2.3.2 Diffusion
__2.3.3 Multiplication tensorielle
__2.3.4 Conversion de la taille des tenseurs
__2.3.5 Interprétation géométrique des opérations tensorielles
__2.3.6 Interprétation géométrique de l'apprentissage profond
2.4 Le moteur des réseaux neuronaux : l’optimisation basée sur le gradient
__2.4.1 Qu'est-ce qu'une dérivée ?
__2.4.2 Dérivées des opérations tensorielles : gradients
__2.4.3 Descente de gradient stochastique
__2.4.4 Connexion dérivée : Algorithme de rétropropagation
2.5 Revenir sur le premier exemple
__2.5.1 Réimplémentation du premier exemple à partir de zéro en utilisant TensorFlow
__2.5.2 Exécution de l'étape d'entraînement
__2.5.3 Boucle d'entraînement complète
__2.5.4 Évaluation du modèle
2.6 Résumé
Chapitre 3 : Introduction à Keras et TensorFlow
3.1 Qu'est-ce que TensorFlow ?
3.2 Qu'est-ce que Keras ?
3.3 Bref historique de Keras et TensorFlow
3.4 Mise en place de l'environnement de travail d'apprentissage profond
3.4.1 Jupyter Notebook : un outil recommandé pour l’expérimentation en apprentissage profond
3.4.2 Utilisation de Colab
3.5 Premiers pas avec TensorFlow
3.5.1 Tenseurs et variables constants
3.5.2 Opérations sur les tenseurs : Calculs mathématiques dans TensorFlow
__3.5.3 Retour sur l'API GradientTape
3.5.4 Exemple de bout en bout : classificateur linéaire TensorFlow
3.6 Structure du réseau neuronal : Comprendre l’API Keras de base
__3.6.1 Couche : Composants de l’apprentissage profond
Modèle 3.6.2 au sol
3.6.3 Étape « Compiler » : Mise en place du processus d’apprentissage
3.6.4 Choix d'une fonction de perte
3.6.5 Comprendre la méthode fit()
3.6.6 Surveillance des pertes et des indicateurs dans les données de validation
3.6.7 Inférence : Utilisation du modèle entraîné
3.7 Résumé
Chapitre 4 : Premiers pas avec les réseaux de neurones : classification et régression
4.1 Classification des critiques de films : un problème de classification binaire
__4.1.1 Ensemble de données IMDB
4.1.2 Préparation des données
4.1.3 Création d'un modèle de réseau neuronal
__4.1.4 Validation de la formation
4.1.5 Prédiction de nouvelles données à l'aide d'un modèle entraîné
__4.1.6 Expériences supplémentaires
__4.1.7 Résumé
4.2 Classification des articles de presse : un problème de classification multiple
__4.2.1 Ensemble de données Reuters
4.2.2 Préparation des données
4.2.3 Configuration du modèle
4.2.4 Validation de la formation
4.2.5 Prédiction à partir de nouvelles données
4.2.6 Autres façons de gérer les étiquettes et les pertes
4.2.7 Pourquoi avez-vous besoin d'une couche intermédiaire suffisamment grande ?
__4.2.8 Expériences supplémentaires
__4.2.9 Résumé
4.3 Prévoir les prix des maisons : un problème de régression
__4.3.1 Données sur les prix de l'immobilier à Boston
4.3.2 Préparation des données
4.3.3 Configuration du modèle
4.3.4 Validation de l'entraînement par validation croisée à K plis
4.3.5 Prédiction à partir de nouvelles données
__4.3.6 Résumé
4.4 Résumé
Chapitre 5 : Principes fondamentaux de l'apprentissage automatique
5.1 Généralisation : l’objectif de l’apprentissage automatique
5.1.1 Sous-ajustement et sur-ajustement
5.1.2 L'essence de la généralisation dans l'apprentissage profond
5.2 Évaluation des modèles d'apprentissage automatique
5.2.1 Ensembles d'entraînement, de validation et de test
5.2.2 Dépassement du seuil du bon sens
5.2.3 Éléments à prendre en compte concernant l'évaluation du modèle
5.3 Améliorer les performances d'entraînement
5.3.1 Réglage des paramètres clés de la descente de gradient
5.3.2 Formuler de meilleures hypothèses sur la structure
5.3.3 Augmentation de la capacité du modèle
5.4 Amélioration des performances de généralisation
5.4.1 Conservation des jeux de données
5.4.2 Ingénierie des caractéristiques
__5.4.3 Utilisation de la résiliation anticipée
5.4.4 Réglementation du modèle
5.5 Résumé
Chapitre 6 : Un flux de travail général d’apprentissage automatique
6.1 Définition de la tâche
6.1.1 Définition du problème
6.1.2 Collecte de données
6.1.3 Comprendre les données
6.1.4 Sélection des indicateurs de succès
6.2 Développement du modèle
6.2.1 Préparation des données
6.2.2 Choix d'une méthode d'évaluation
6.2.3 Aller au-delà du modèle de base
6.2.4 Augmentation de la capacité du modèle : création d’un modèle surajusté
6.2.5 Régularisation du modèle et réglage des hyperparamètres
6.3 Déploiement du modèle
6.3.1 Explication du travail au client et définition des attentes
6.3.2 Déploiement du modèle d'inférence
6.3.3 Surveillance du modèle pendant son exécution
6.3.4 Maintenance du modèle
6.4 Résumé
Chapitre 7 : Maîtriser Keras
7.1 Différents flux de travail
7.2 Plusieurs façons de créer un modèle Keras
7.2.1 Modèle séquentiel
__7.2.2 API fonctionnelle
7.2.3 Sous-classement de modèles
7.2.4 Combinaison de plusieurs méthodes
7.2.5 Utiliser l'outil approprié à la tâche
7.3 Utilisation des boucles de formation et d'évaluation intégrées
7.3.1 Création d'un indicateur personnalisé
7.3.2 Utilisation des fonctions de rappel
__7.3.3 Création d'un rappel personnalisé
7.3.4 Surveillance et visualisation avec TensorBoard
7.4 Création de boucles de formation et d'évaluation personnalisées
7.4.1 Entraînement vs. Inférence
7.4.2 Utilisation de bas niveau des indicateurs de mesure
7.4.3 Boucle complète de formation et d'évaluation
7.4.4 Amélioration des performances avec tf.function
7.4.5 Utilisation de la méthode fit() comme boucle personnalisée
7.5 Résumé
Chapitre 8 : Apprentissage profond pour la vision par ordinateur
8.1 Introduction aux réseaux neuronaux convolutifs
8.1.1 Opération de convolution
8.1.2 Opération de max pooling
8.2 Entraînement d'un réseau de neurones convolutif à partir de zéro sur un petit ensemble de données
8.2.1 Faisabilité de l'apprentissage profond dans les problèmes de petits ensembles de données
8.2.2 Téléchargement des données
8.2.3 Création d'un modèle
8.2.4 Prétraitement des données
8.2.5 Utilisation de l'enrichissement des données
8.3 Utilisation de modèles pré-entraînés
8.3.1 Extraction de caractéristiques à l'aide d'un modèle pré-entraîné
8.3.2 Ajustement fin d'un modèle pré-entraîné
8.4 Résumé
Chapitre 9 : Apprentissage profond avancé pour la vision par ordinateur
9.1 Trois tâches majeures en vision par ordinateur
9.2 Exemple de segmentation d'image
9.3 Modèles d'architecture modernes pour les réseaux de neurones convolutifs
9.3.1 Modularisation, superposition et réutilisation
__9.3.2 Liaison résiduelle
__9.3.3 Normalisation par lots
__9.3.4 Convolution séparée en profondeur
__9.3.5 S'applique à tous les modèles de type Xception
9.4 Interprétation des apprentissages des réseaux de neurones convolutifs
__9.4.1 Visualisation de l'activation intermédiaire
__9.4.2 Visualisation des filtres ConvNet
__9.4.3 Visualisation d'une carte thermique des activations de classe
9.5 Résumé
Chapitre 10 : Apprentissage profond pour les séries temporelles
10.1 Différents types d'opérations sur les séries temporelles
10.2 Problème de prévision de température
10.2.1 Préparation des données
__10.2.2 Niveau de référence du bon sens
10.2.3 Essai d'un modèle d'apprentissage automatique de base
10.2.4 Essai d'un modèle convolutionnel 1D
__10.2.5 Le premier réseau neuronal récurrent
10.3 Comprendre les réseaux neuronaux récurrents
__10.3.1 Couches récurrentes dans Keras
__10.4 Utilisations avancées des réseaux neuronaux récurrents
10.4.1 Utilisation du dropout récurrent pour réduire le surapprentissage
__10.4.2 Empilage de couches circulaires
__10.4.3 Utilisation des RNN bidirectionnels
__10.4.4 Suite
10.5 Résumé
Chapitre 11 : Apprentissage profond pour le texte
11.1 Introduction au traitement automatique du langage naturel
11.2 Préparation des données textuelles
__11.2.1 Normalisation des textes
__11.2.2 Segmentation du texte (tokenisation)
__11.2.3 Indexation du dictionnaire lexical
__11.2.4 Utilisation de la couche de vectorisation du texte
11.3 Deux façons de représenter des groupes de mots : les ensembles et les séquences
__11.3.1 Préparation des données de critiques de films IMDB
11.3.2 Traitement des mots comme des ensembles : méthode BoW
11.3.3 Traitement des mots comme des séquences : l’approche par modèle séquentiel
11.4 Architecture du transformateur
11.4.1 Comprendre l'attention portée à soi-même
11.4.2 Attention multi-têtes
__11.4.3 Encodeur transformateur
__11.4.4 Quand dois-je utiliser un modèle de séquence plutôt qu'un modèle BoW ?
11.5 Au-delà de la classification de texte : apprentissage de séquence à séquence
__11.5.1 Exemple de traduction automatique
11.5.2 Modèle séquence-à-séquence utilisant un RNN
__11.5.3 Modèle séquence-à-séquence utilisant des transformateurs
11.6 Résumé
Chapitre 12 : Apprentissage profond pour les modèles génératifs
12.1 Génération de texte
__12.1.1 Bref historique des modèles d'apprentissage profond pour la génération de séquences
__12.1.2 Comment générer des données de séquence ?
12.1.3 Importance de la stratégie d'échantillonnage
__12.1.4 Implémentation d'un modèle de génération de texte avec Keras
__12.1.5 Fonction de rappel de génération de texte utilisant un échantillonnage à température variable
__12.1.6 Résumé
12.2 Rêve profond
__12.2.1 Implémentation de Keras DeepDream
__12.2.2 Résumé
12.3 Transfert de style neuronal
__12.3.1 Perte de contenu
__12.3.2 Perte de style
__12.3.3 Implémentation du transfert de style neuronal avec Keras
__12.3.4 Résumé
12.4 Génération d'images à l'aide d'auto-encodeurs variationnels
12.4.1 Échantillonnage de l'espace latent d'une image
12.4.2 Vecteur conceptuel pour la transformation d'image
__12.4.3 Auto-encodeur variationnel
__12.4.4 Implémentation d'un VAE avec Keras
__12.4.5 Résumé
12.5 Introduction aux réseaux antagonistes génératifs
12.5.1 Comment implémenter un GAN
__12.5.2 Méthodes de formation
__12.5.3 Préparation du jeu de données CelebA
__12.5.4 Discriminateur
__12.5.5 Constructeur
__12.5.6 Réseaux hostiles
__12.5.7 Résumé
12.6 Résumé
Chapitre 13 : Meilleures pratiques pour résoudre les problèmes du monde réel
13.1 Exploiter pleinement le potentiel de votre modèle
__13.1.1 Optimisation des hyperparamètres
__13.1.2 Ensemble de modèles
13.2 Entraînement d'un modèle à grande échelle
__13.2.1 Accélération de l'entraînement sur GPU avec une précision mixte
__13.2.2 Formation multi-GPU
__13.2.3 Formation TPU
13.3 Résumé
Conclusion du chapitre 14
14.1 Révision des concepts clés
14.1.1 Méthodes diverses pour l'IA
14.1.2 Pourquoi l'apprentissage profond est-il si particulier en apprentissage automatique ?
__14.1.3 À propos de l'apprentissage profond
__14.1.4 Technologies de base
__14.1.5 Flux de travail général d'apprentissage automatique
__14.1.6 Structure principale du réseau
__14.1.7 Le potentiel de l'apprentissage profond
14.2 Limites de l'apprentissage profond
__14.2.1 Le risque d’anthropomorphisme dans les modèles d’apprentissage automatique
14.2.2 Machines autonomes vs. agents intelligents
14.2.3 Généralisation locale vs. Généralisation ultime
14.2.4 Le but du renseignement
__14.2.5 Spectre de généralisation
14.3 Méthodes pour améliorer la généralisation en IA
14.3.1 L'importance de se fixer des objectifs pertinents : la règle du raccourci
__14.3.2 Nouveaux objectifs
14.4 Mise en œuvre de l'intelligence : les composantes manquantes
__14.4.1 L'intelligence supérieure aux métaphores abstraites
__14.4.2 Deux types d'abstraction
__14.4.3 Moitié manquante de la figure
14.5 L'avenir de l'apprentissage profond
__14.5.1 Modèle de type programme
__14.5.2 Combinaison d'apprentissage profond et de synthèse de programmes
14.5.3 Apprentissage persistant et réutilisation modulaire des sous-programmes
14.5.4 Vision à long terme
14.6 S'adapter aux changements rapides
14.6.1 S'exercer avec les problèmes du monde réel de Kaggle
__14.6.2 Consultez les articles les plus récents via les archives (arXiv)
__14.6.3 Exploration de l'écosystème Keras
14.7 Conclusion
1.1 Intelligence artificielle, apprentissage automatique et apprentissage profond
1.1.1 Intelligence artificielle
1.1.2 Apprentissage automatique
__1.1.3 Apprentissage de représentations à partir de données
__1.1.4 Que signifie « profond » dans l'apprentissage profond ?
__1.1.5 Comprendre les principes de fonctionnement de l'apprentissage profond avec trois figures
__1.1.6 Réalisations de l'apprentissage profond à ce jour
__1.1.7 Ne croyez pas aux engouements à court terme
__1.1.8 Perspectives sur l'IA
1.2 Avant l'apprentissage profond : un bref historique de l'apprentissage automatique
1.2.1 Modélisation probabiliste
__1.2.2 Premiers réseaux neuronaux
__1.2.3 Méthode du noyau
__1.2.4 Arbres de décision, forêts aléatoires et machines à gradient boosté
1.2.5 Retour aux réseaux neuronaux
__1.2.6 Caractéristiques de l'apprentissage profond
1.2.7 Tendances récentes en apprentissage automatique
1.3 Pourquoi l'apprentissage profond ? Pourquoi maintenant ?
__1.3.1 Matériel
__1.3.2 données
__1.3.3 Algorithme
1.3.4 Un nouveau souffle d'investissement
__1.3.5 Popularisation de l'apprentissage profond
__1.3.6 Cela va-t-il durer ?
Chapitre 2 : Composantes mathématiques des réseaux neuronaux
2.1 Première rencontre avec les réseaux neuronaux
2.2 Représentation des données pour les réseaux neuronaux
__2.2.1 Scalaire (Tenseur de rang 0)
__2.2.2 Vecteurs (Tenseurs de rang 1)
__2.2.3 Matrice (Tenseur de rang 2)
__2.2.4 Tenseurs de rang 3 et tenseurs de rang supérieur
__2.2.5 Propriétés fondamentales
__2.2.6 Manipulation des tenseurs avec NumPy
__2.2.7 Données par lots
__2.2.8 Exemples concrets de tenseurs
__2.2.9 Données vectorielles
__2.2.10 Données de séries temporelles ou données séquentielles
__2.2.11 Données d'image
__2.2.12 Données vidéo
2.3 Les rouages des réseaux neuronaux : opérations tensorielles
__2.3.1 Opérations élément par élément
__2.3.2 Diffusion
__2.3.3 Multiplication tensorielle
__2.3.4 Conversion de la taille des tenseurs
__2.3.5 Interprétation géométrique des opérations tensorielles
__2.3.6 Interprétation géométrique de l'apprentissage profond
2.4 Le moteur des réseaux neuronaux : l’optimisation basée sur le gradient
__2.4.1 Qu'est-ce qu'une dérivée ?
__2.4.2 Dérivées des opérations tensorielles : gradients
__2.4.3 Descente de gradient stochastique
__2.4.4 Connexion dérivée : Algorithme de rétropropagation
2.5 Revenir sur le premier exemple
__2.5.1 Réimplémentation du premier exemple à partir de zéro en utilisant TensorFlow
__2.5.2 Exécution de l'étape d'entraînement
__2.5.3 Boucle d'entraînement complète
__2.5.4 Évaluation du modèle
2.6 Résumé
Chapitre 3 : Introduction à Keras et TensorFlow
3.1 Qu'est-ce que TensorFlow ?
3.2 Qu'est-ce que Keras ?
3.3 Bref historique de Keras et TensorFlow
3.4 Mise en place de l'environnement de travail d'apprentissage profond
3.4.1 Jupyter Notebook : un outil recommandé pour l’expérimentation en apprentissage profond
3.4.2 Utilisation de Colab
3.5 Premiers pas avec TensorFlow
3.5.1 Tenseurs et variables constants
3.5.2 Opérations sur les tenseurs : Calculs mathématiques dans TensorFlow
__3.5.3 Retour sur l'API GradientTape
3.5.4 Exemple de bout en bout : classificateur linéaire TensorFlow
3.6 Structure du réseau neuronal : Comprendre l’API Keras de base
__3.6.1 Couche : Composants de l’apprentissage profond
Modèle 3.6.2 au sol
3.6.3 Étape « Compiler » : Mise en place du processus d’apprentissage
3.6.4 Choix d'une fonction de perte
3.6.5 Comprendre la méthode fit()
3.6.6 Surveillance des pertes et des indicateurs dans les données de validation
3.6.7 Inférence : Utilisation du modèle entraîné
3.7 Résumé
Chapitre 4 : Premiers pas avec les réseaux de neurones : classification et régression
4.1 Classification des critiques de films : un problème de classification binaire
__4.1.1 Ensemble de données IMDB
4.1.2 Préparation des données
4.1.3 Création d'un modèle de réseau neuronal
__4.1.4 Validation de la formation
4.1.5 Prédiction de nouvelles données à l'aide d'un modèle entraîné
__4.1.6 Expériences supplémentaires
__4.1.7 Résumé
4.2 Classification des articles de presse : un problème de classification multiple
__4.2.1 Ensemble de données Reuters
4.2.2 Préparation des données
4.2.3 Configuration du modèle
4.2.4 Validation de la formation
4.2.5 Prédiction à partir de nouvelles données
4.2.6 Autres façons de gérer les étiquettes et les pertes
4.2.7 Pourquoi avez-vous besoin d'une couche intermédiaire suffisamment grande ?
__4.2.8 Expériences supplémentaires
__4.2.9 Résumé
4.3 Prévoir les prix des maisons : un problème de régression
__4.3.1 Données sur les prix de l'immobilier à Boston
4.3.2 Préparation des données
4.3.3 Configuration du modèle
4.3.4 Validation de l'entraînement par validation croisée à K plis
4.3.5 Prédiction à partir de nouvelles données
__4.3.6 Résumé
4.4 Résumé
Chapitre 5 : Principes fondamentaux de l'apprentissage automatique
5.1 Généralisation : l’objectif de l’apprentissage automatique
5.1.1 Sous-ajustement et sur-ajustement
5.1.2 L'essence de la généralisation dans l'apprentissage profond
5.2 Évaluation des modèles d'apprentissage automatique
5.2.1 Ensembles d'entraînement, de validation et de test
5.2.2 Dépassement du seuil du bon sens
5.2.3 Éléments à prendre en compte concernant l'évaluation du modèle
5.3 Améliorer les performances d'entraînement
5.3.1 Réglage des paramètres clés de la descente de gradient
5.3.2 Formuler de meilleures hypothèses sur la structure
5.3.3 Augmentation de la capacité du modèle
5.4 Amélioration des performances de généralisation
5.4.1 Conservation des jeux de données
5.4.2 Ingénierie des caractéristiques
__5.4.3 Utilisation de la résiliation anticipée
5.4.4 Réglementation du modèle
5.5 Résumé
Chapitre 6 : Un flux de travail général d’apprentissage automatique
6.1 Définition de la tâche
6.1.1 Définition du problème
6.1.2 Collecte de données
6.1.3 Comprendre les données
6.1.4 Sélection des indicateurs de succès
6.2 Développement du modèle
6.2.1 Préparation des données
6.2.2 Choix d'une méthode d'évaluation
6.2.3 Aller au-delà du modèle de base
6.2.4 Augmentation de la capacité du modèle : création d’un modèle surajusté
6.2.5 Régularisation du modèle et réglage des hyperparamètres
6.3 Déploiement du modèle
6.3.1 Explication du travail au client et définition des attentes
6.3.2 Déploiement du modèle d'inférence
6.3.3 Surveillance du modèle pendant son exécution
6.3.4 Maintenance du modèle
6.4 Résumé
Chapitre 7 : Maîtriser Keras
7.1 Différents flux de travail
7.2 Plusieurs façons de créer un modèle Keras
7.2.1 Modèle séquentiel
__7.2.2 API fonctionnelle
7.2.3 Sous-classement de modèles
7.2.4 Combinaison de plusieurs méthodes
7.2.5 Utiliser l'outil approprié à la tâche
7.3 Utilisation des boucles de formation et d'évaluation intégrées
7.3.1 Création d'un indicateur personnalisé
7.3.2 Utilisation des fonctions de rappel
__7.3.3 Création d'un rappel personnalisé
7.3.4 Surveillance et visualisation avec TensorBoard
7.4 Création de boucles de formation et d'évaluation personnalisées
7.4.1 Entraînement vs. Inférence
7.4.2 Utilisation de bas niveau des indicateurs de mesure
7.4.3 Boucle complète de formation et d'évaluation
7.4.4 Amélioration des performances avec tf.function
7.4.5 Utilisation de la méthode fit() comme boucle personnalisée
7.5 Résumé
Chapitre 8 : Apprentissage profond pour la vision par ordinateur
8.1 Introduction aux réseaux neuronaux convolutifs
8.1.1 Opération de convolution
8.1.2 Opération de max pooling
8.2 Entraînement d'un réseau de neurones convolutif à partir de zéro sur un petit ensemble de données
8.2.1 Faisabilité de l'apprentissage profond dans les problèmes de petits ensembles de données
8.2.2 Téléchargement des données
8.2.3 Création d'un modèle
8.2.4 Prétraitement des données
8.2.5 Utilisation de l'enrichissement des données
8.3 Utilisation de modèles pré-entraînés
8.3.1 Extraction de caractéristiques à l'aide d'un modèle pré-entraîné
8.3.2 Ajustement fin d'un modèle pré-entraîné
8.4 Résumé
Chapitre 9 : Apprentissage profond avancé pour la vision par ordinateur
9.1 Trois tâches majeures en vision par ordinateur
9.2 Exemple de segmentation d'image
9.3 Modèles d'architecture modernes pour les réseaux de neurones convolutifs
9.3.1 Modularisation, superposition et réutilisation
__9.3.2 Liaison résiduelle
__9.3.3 Normalisation par lots
__9.3.4 Convolution séparée en profondeur
__9.3.5 S'applique à tous les modèles de type Xception
9.4 Interprétation des apprentissages des réseaux de neurones convolutifs
__9.4.1 Visualisation de l'activation intermédiaire
__9.4.2 Visualisation des filtres ConvNet
__9.4.3 Visualisation d'une carte thermique des activations de classe
9.5 Résumé
Chapitre 10 : Apprentissage profond pour les séries temporelles
10.1 Différents types d'opérations sur les séries temporelles
10.2 Problème de prévision de température
10.2.1 Préparation des données
__10.2.2 Niveau de référence du bon sens
10.2.3 Essai d'un modèle d'apprentissage automatique de base
10.2.4 Essai d'un modèle convolutionnel 1D
__10.2.5 Le premier réseau neuronal récurrent
10.3 Comprendre les réseaux neuronaux récurrents
__10.3.1 Couches récurrentes dans Keras
__10.4 Utilisations avancées des réseaux neuronaux récurrents
10.4.1 Utilisation du dropout récurrent pour réduire le surapprentissage
__10.4.2 Empilage de couches circulaires
__10.4.3 Utilisation des RNN bidirectionnels
__10.4.4 Suite
10.5 Résumé
Chapitre 11 : Apprentissage profond pour le texte
11.1 Introduction au traitement automatique du langage naturel
11.2 Préparation des données textuelles
__11.2.1 Normalisation des textes
__11.2.2 Segmentation du texte (tokenisation)
__11.2.3 Indexation du dictionnaire lexical
__11.2.4 Utilisation de la couche de vectorisation du texte
11.3 Deux façons de représenter des groupes de mots : les ensembles et les séquences
__11.3.1 Préparation des données de critiques de films IMDB
11.3.2 Traitement des mots comme des ensembles : méthode BoW
11.3.3 Traitement des mots comme des séquences : l’approche par modèle séquentiel
11.4 Architecture du transformateur
11.4.1 Comprendre l'attention portée à soi-même
11.4.2 Attention multi-têtes
__11.4.3 Encodeur transformateur
__11.4.4 Quand dois-je utiliser un modèle de séquence plutôt qu'un modèle BoW ?
11.5 Au-delà de la classification de texte : apprentissage de séquence à séquence
__11.5.1 Exemple de traduction automatique
11.5.2 Modèle séquence-à-séquence utilisant un RNN
__11.5.3 Modèle séquence-à-séquence utilisant des transformateurs
11.6 Résumé
Chapitre 12 : Apprentissage profond pour les modèles génératifs
12.1 Génération de texte
__12.1.1 Bref historique des modèles d'apprentissage profond pour la génération de séquences
__12.1.2 Comment générer des données de séquence ?
12.1.3 Importance de la stratégie d'échantillonnage
__12.1.4 Implémentation d'un modèle de génération de texte avec Keras
__12.1.5 Fonction de rappel de génération de texte utilisant un échantillonnage à température variable
__12.1.6 Résumé
12.2 Rêve profond
__12.2.1 Implémentation de Keras DeepDream
__12.2.2 Résumé
12.3 Transfert de style neuronal
__12.3.1 Perte de contenu
__12.3.2 Perte de style
__12.3.3 Implémentation du transfert de style neuronal avec Keras
__12.3.4 Résumé
12.4 Génération d'images à l'aide d'auto-encodeurs variationnels
12.4.1 Échantillonnage de l'espace latent d'une image
12.4.2 Vecteur conceptuel pour la transformation d'image
__12.4.3 Auto-encodeur variationnel
__12.4.4 Implémentation d'un VAE avec Keras
__12.4.5 Résumé
12.5 Introduction aux réseaux antagonistes génératifs
12.5.1 Comment implémenter un GAN
__12.5.2 Méthodes de formation
__12.5.3 Préparation du jeu de données CelebA
__12.5.4 Discriminateur
__12.5.5 Constructeur
__12.5.6 Réseaux hostiles
__12.5.7 Résumé
12.6 Résumé
Chapitre 13 : Meilleures pratiques pour résoudre les problèmes du monde réel
13.1 Exploiter pleinement le potentiel de votre modèle
__13.1.1 Optimisation des hyperparamètres
__13.1.2 Ensemble de modèles
13.2 Entraînement d'un modèle à grande échelle
__13.2.1 Accélération de l'entraînement sur GPU avec une précision mixte
__13.2.2 Formation multi-GPU
__13.2.3 Formation TPU
13.3 Résumé
Conclusion du chapitre 14
14.1 Révision des concepts clés
14.1.1 Méthodes diverses pour l'IA
14.1.2 Pourquoi l'apprentissage profond est-il si particulier en apprentissage automatique ?
__14.1.3 À propos de l'apprentissage profond
__14.1.4 Technologies de base
__14.1.5 Flux de travail général d'apprentissage automatique
__14.1.6 Structure principale du réseau
__14.1.7 Le potentiel de l'apprentissage profond
14.2 Limites de l'apprentissage profond
__14.2.1 Le risque d’anthropomorphisme dans les modèles d’apprentissage automatique
14.2.2 Machines autonomes vs. agents intelligents
14.2.3 Généralisation locale vs. Généralisation ultime
14.2.4 Le but du renseignement
__14.2.5 Spectre de généralisation
14.3 Méthodes pour améliorer la généralisation en IA
14.3.1 L'importance de se fixer des objectifs pertinents : la règle du raccourci
__14.3.2 Nouveaux objectifs
14.4 Mise en œuvre de l'intelligence : les composantes manquantes
__14.4.1 L'intelligence supérieure aux métaphores abstraites
__14.4.2 Deux types d'abstraction
__14.4.3 Moitié manquante de la figure
14.5 L'avenir de l'apprentissage profond
__14.5.1 Modèle de type programme
__14.5.2 Combinaison d'apprentissage profond et de synthèse de programmes
14.5.3 Apprentissage persistant et réutilisation modulaire des sous-programmes
14.5.4 Vision à long terme
14.6 S'adapter aux changements rapides
14.6.1 S'exercer avec les problèmes du monde réel de Kaggle
__14.6.2 Consultez les articles les plus récents via les archives (arXiv)
__14.6.3 Exploration de l'écosystème Keras
14.7 Conclusion
Image détaillée
.jpg)
Avis de l'éditeur
Ce livre s'adresse à tous ceux qui souhaitent apprendre le deep learning à partir de zéro ou approfondir leurs connaissances.
Que vous soyez ingénieur en apprentissage automatique, ingénieur logiciel ou étudiant, vous apprendrez quelque chose dans ce livre.
Explorons l'apprentissage profond en commençant par des notions simples, puis en passant aux technologies les plus récentes.
Ce livre établit un équilibre entre intuition, théorie et pratique.
Nous évitons les notations mathématiques et expliquons plutôt les idées fondamentales de l'apprentissage automatique et de l'apprentissage profond à l'aide de code détaillé et d'analogies intuitives.
Il existe de nombreux exemples de code accompagnés de commentaires détaillés et de conseils pratiques.
Il comprend également une explication simple et générale de tout ce que vous devez savoir pour débuter avec l'apprentissage profond afin de résoudre des problèmes spécifiques.
Le code d'exemple utilise le framework d'apprentissage profond Python Keras.
Keras utilise TensorFlow 2 comme moteur de calcul.
Nous vous présenterons les meilleures pratiques les plus récentes en matière de Keras et TensorFlow 2.
Après avoir lu ce livre, vous comprendrez clairement ce qu'est l'apprentissage profond, quand l'appliquer et quelles sont ses limites.
Familiarisez-vous avec les flux de travail standard pour structurer et résoudre les problèmes d'apprentissage automatique, et apprenez à traiter les problèmes courants.
Vous pourrez donc utiliser Keras pour aborder un large éventail de problèmes concrets, allant de la vision par ordinateur au traitement du langage naturel, en passant par la classification d'images, la segmentation d'images, la prévision de séries temporelles, la classification de textes, la traduction automatique et la génération de texte.
Ce qui a changé dans la 2e édition :
- Intègre les dernières API TensorFlow et Keras
- Mise en œuvre de la structure du transformateur à partir de zéro, y compris l'attention
- Ajout de modèles avancés tels que la segmentation d'images, la traduction automatique, la génération de texte et la génération d'images de visages.
- Implémenter des métriques personnalisées, des rappels personnalisés et des boucles d'entraînement personnalisées
- Implémentation du modèle à l'aide de bandes de gradient et de sous-classement
- Description de l'ensemble du flux de travail d'apprentissage automatique, y compris la définition du problème, le déploiement et l'optimisation.
- Utilisez des API fonctionnelles dans la majeure partie de votre code
- Introduction d'une technique d'augmentation d'image utilisant une nouvelle couche d'augmentation d'image.
- Méthodes d'entraînement utilisant KerasTuner, précision mixte, multi-GPU et TPU
- Réflexions sur l'intelligence et la généralisation et vision de l'avenir de l'apprentissage profond.
Points positifs de ce livre :
- Explique tout, des bases aux algorithmes avancés les plus récents, en utilisant du code Python sans recourir à des formules difficiles.
- Il utilise un code Keras concis, ce qui permet aux développeurs familiarisés avec Python de le comprendre facilement.
- Couvre un large éventail d'applications, notamment les réseaux neuronaux convolutifs, les réseaux neuronaux récurrents, les transformateurs et les modèles génératifs.
- Découvrez le flux de travail complet et les mises en garde concernant les projets d'apprentissage automatique.
- Pour les débutants : Vous pouvez apprendre l'apprentissage en profondeur à partir des bases, même si vous ne connaissez pas les mathématiques.
- Pour les développeurs : si vous maîtrisez Python, vous pouvez implémenter tous les modèles avancés.
- Pour les chercheurs : Apprenez à créer des modèles personnalisés avec Keras.
Que vous soyez ingénieur en apprentissage automatique, ingénieur logiciel ou étudiant, vous apprendrez quelque chose dans ce livre.
Explorons l'apprentissage profond en commençant par des notions simples, puis en passant aux technologies les plus récentes.
Ce livre établit un équilibre entre intuition, théorie et pratique.
Nous évitons les notations mathématiques et expliquons plutôt les idées fondamentales de l'apprentissage automatique et de l'apprentissage profond à l'aide de code détaillé et d'analogies intuitives.
Il existe de nombreux exemples de code accompagnés de commentaires détaillés et de conseils pratiques.
Il comprend également une explication simple et générale de tout ce que vous devez savoir pour débuter avec l'apprentissage profond afin de résoudre des problèmes spécifiques.
Le code d'exemple utilise le framework d'apprentissage profond Python Keras.
Keras utilise TensorFlow 2 comme moteur de calcul.
Nous vous présenterons les meilleures pratiques les plus récentes en matière de Keras et TensorFlow 2.
Après avoir lu ce livre, vous comprendrez clairement ce qu'est l'apprentissage profond, quand l'appliquer et quelles sont ses limites.
Familiarisez-vous avec les flux de travail standard pour structurer et résoudre les problèmes d'apprentissage automatique, et apprenez à traiter les problèmes courants.
Vous pourrez donc utiliser Keras pour aborder un large éventail de problèmes concrets, allant de la vision par ordinateur au traitement du langage naturel, en passant par la classification d'images, la segmentation d'images, la prévision de séries temporelles, la classification de textes, la traduction automatique et la génération de texte.
Ce qui a changé dans la 2e édition :
- Intègre les dernières API TensorFlow et Keras
- Mise en œuvre de la structure du transformateur à partir de zéro, y compris l'attention
- Ajout de modèles avancés tels que la segmentation d'images, la traduction automatique, la génération de texte et la génération d'images de visages.
- Implémenter des métriques personnalisées, des rappels personnalisés et des boucles d'entraînement personnalisées
- Implémentation du modèle à l'aide de bandes de gradient et de sous-classement
- Description de l'ensemble du flux de travail d'apprentissage automatique, y compris la définition du problème, le déploiement et l'optimisation.
- Utilisez des API fonctionnelles dans la majeure partie de votre code
- Introduction d'une technique d'augmentation d'image utilisant une nouvelle couche d'augmentation d'image.
- Méthodes d'entraînement utilisant KerasTuner, précision mixte, multi-GPU et TPU
- Réflexions sur l'intelligence et la généralisation et vision de l'avenir de l'apprentissage profond.
Points positifs de ce livre :
- Explique tout, des bases aux algorithmes avancés les plus récents, en utilisant du code Python sans recourir à des formules difficiles.
- Il utilise un code Keras concis, ce qui permet aux développeurs familiarisés avec Python de le comprendre facilement.
- Couvre un large éventail d'applications, notamment les réseaux neuronaux convolutifs, les réseaux neuronaux récurrents, les transformateurs et les modèles génératifs.
- Découvrez le flux de travail complet et les mises en garde concernant les projets d'apprentissage automatique.
- Pour les débutants : Vous pouvez apprendre l'apprentissage en profondeur à partir des bases, même si vous ne connaissez pas les mathématiques.
- Pour les développeurs : si vous maîtrisez Python, vous pouvez implémenter tous les modèles avancés.
- Pour les chercheurs : Apprenez à créer des modèles personnalisés avec Keras.
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 30 août 2022
Nombre de pages, poids, dimensions : 628 pages | 1 590 g | 183 × 235 × 37 mm
- ISBN13 : 9791140701001
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne