Les livres représentent une grande source d'information pour comprendre les notions qui nous intéressent
Anonyme- Livres & vidéos
- Le Deep Learning pour le traitement d’images - Classification, détection et segmentation avec Python et TensorFlow
Le Deep Learning pour le traitement d’images Classification, détection et segmentation avec Python et TensorFlow
3 avis
Consulter des extraits du livre en ligne
Aperçu de la version papier
Les points forts du livre :
- Une progression pédagogique complète, du fondement théorique à la mise en pratique,
- Des applications pratiques diversifiées : classification, détection, segmentation et monitoring post-déploiement,
- Une approche responsable et durable du développement en deep learning
- Niveau Confirmé à Expert
- Nombre de pages 536 pages
- Parution janvier 2024
- Niveau Confirmé à Expert
- Parution janvier 2024
Après une introduction à l'intelligence artificielle, le matériel et les logiciels nécessaires à sa pratique sont détaillés. Suivent ensuite des explications progressives des réseaux de neurones convolutionnels, en décrivant tout d’abord les classifieurs linéaires, puis les réseaux de neurones profonds, et enfin les réseaux convolutionnels. Ces trois chapitres sont accompagnés de scripts Python utilisant TensorFlow, et suivis d’astuces pour améliorer la performance et limiter les biais potentiels du réseau et l’impact carbone lié à son apprentissage et son utilisation. L'apprentissage par transfert, qui consiste à adapter un réseau pré-entraîné à une nouvelle tâche, est ensuite présenté, et accompagné d’un exemple basé sur TensorFlow.
Les chapitres suivants décrivent les réseaux convolutionnels appliqués à d'autres tâches que la classification, comme la détection et la segmentation. Ces chapitres sont accompagnés de scripts présentant l’utilisation des bibliothèques TensorFlow Object Detection et de l'architecture Unet.
Le lecteur trouve une description de plusieurs méthodes permettant de visualiser le fonctionnement du réseau et d’améliorer son explicabilité, puis cet ouvrage explique pourquoi surveiller les performances d’un modèle après son déploiement, et comment organiser une telle surveillance en pratique. Le script accompagnant ce chapitre décrit le fonctionnement de la librairie tf_explain, qui implémente plusieurs des méthodes présentées.
Vient ensuite un exposé des critères définis par la Commission européenne pour juger qu’un modèle d'intelligence artificielle est "responsable", et une traduction de ces critères en bonnes pratiques à adopter lors du développement et du déploiement.
Enfin, le livre conclut avec des conseils pour améliorer vos compétences et vous tenir au courant des évolutions récentes dans le domaine de l'apprentissage profond appliqué au traitement d'images.
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-04320-8
- EAN : 9782409043208
- Ref. ENI : EIHS-DEEPLEAR
Caractéristiques
- HTML
- ISBN : 978-2-409-04321-5
- EAN : 9782409043215
- Ref. ENI : LNEIHS-DEEPLEAR
Téléchargements
Introduction
- Révolution de modèles d'apprentissage profond en traitement d'images
- Structure du livre
- Langue utilisée pour les termes techniques
Intelligence artificielle et apprentissage profond
- Objectifs du chapitre
- Définitions de l'intelligence artificielle, apprentissage automatique et apprentissage profond
- 1. Intelligence artificielle
- 2. Apprentissage automatique
- 3. Apprentissage profond
- Fonctionnement général d'un modèle d'apprentissage
- 1. Processus d’apprentissage et ingrédients
- 2. Processus général de résolutiond’un problème en apprentissage profond
- 3. Types de problèmes en traitement d’images
- Bref historique de l’intelligence artificielle et de l'apprentissage profond
- 1. Naissance de l’intelligence artificielle
- 2. Apprentissage automatique
- 3. Grandes ruptures de 2011
- Promesses, limites et risques
- 1. Apports de l’intelligence artificielle pour le traitement d’images
- 2. Limites et risques de l’intelligence artificielle
- a. Vision idéalisée des prouesses possibles
- b. Bonnes pratiques souvent peu connues et appliquées
- c. Généralisabilité limitée
- d. Performances limitées par les donnéesd’entraînement
- 3. Questions éthiques
- 4. Impact carbone et consommation d’eau
Outils indispensables à la pratique
- Objectifs de ce chapitre
- Ordinateurs et cartes graphiques
- 1. GPU et CPU
- 2. Taille de la mémoire vive
- 3. Investir dans un ordinateur performant ou réalisertous les calculs sur des plateformes déportées ?
- Jeux de données ouverts
- 1. Fondamentaux d’un jeu de données d’entraînement
- 2. Avantages d’utiliser un jeu de données ouvert
- 3. Ensembles de référence
- a. Iris
- b. MNIST
- c. CIFAR-10
- d. Cats vs dogs
- e. ImageNet
- f. COCO
- 4. Où trouver d’autres ensembles de données ?
- 1. Python
- 2. Librairies spécifiques
- 3. Frameworks pour l’apprentissage profond
- 4. TensorFlow, Keras et TensorBoard
- a. Keras
- b. TensorBoard
- a. Jupyter notebook
- b. Google Colab
- 1. Ouvrir les exemples de ce livre dans Google Colab
- 2. Ouvrir les exemples de ce livre localement
- a. Récupérer le code
- b. S’assurer que Python est installé, l’installerle cas échéant
- c. Créer un environnement virtuel
- d. Activer l’environnement virtuel
- e. Installer Jupyter Notebook
- f. Installer TensorFlow
- g. Ouvrir et exécuter un notebook
Classifieurs linéaires
- Objectifs du chapitre
- Vocabulaire et notations
- 1. Étiquettes
- 2. Caractéristiques
- 3. Exemples
- 4. Modèle
- Modèle paramétrique du classifieur linéaire
- 1. Définition du modèle
- 2. Interprétation d’un classifieurlinéaire comme une mise en correspondance avec un motif
- 3. Interprétation d’un classifieurlinéaire comme un ensemble de plans de séparation
- Étapes de l’entraînement
- Séparation des données
- 1. Principe
- 2. Proportions
- 3. Validation croisée
- 4. Types de séparation
- a. Séparation aléatoire
- b. Séparation stratifiée
- c. Séparation groupée
- 5. Mise en œuvre de la séparation desdonnées avec la bibliothèque scikit-learn
- a. Validation croisée
- b. Séparation aléatoire
- c. Séparation stratifiée
- d. Séparation groupée
- 1. Fonction-coût
- a. Erreur quadratique moyenne
- b. Softmax et entropie croisée
- c. Entropie croisée binaire
- a. Définition
- b. Descente de gradient stochastique et par lots
- 1. Classification binaire
- a. Matrice de confusion
- b. Justesse
- c. Sensibilité et spécificité,précision et rappel
- d. Score F1
- e. Courbe précision-rappel
- f. Courbe ROC
- 1. Sélection automatique des caractéristiques
- 2. Ajout de non-linéarité
Réseaux de neurones profonds
- Objectifs du chapitre et prérequis
- Neurone formel
- 1. Définition du neurone formel
- 2. Neurone formel comme la généralisationdes classifieurs linéaires
- 3. Neurone formel comme la modélisation d’unneurone biologique
- Réseaux de neurones profonds
- 1. Fonctionnement d’un réseau de neurones profond
- 2. Intérêt des réseaux deneurones profonds
- 3. Spécifier un réseau de neuronesdans Keras
- Étapes de l'apprentissage des réseaux de neurones profonds
- Optimisation des poids
- 1. Descente de gradient
- 2. Calcul du gradient
- 3. Descente de gradient par rétropropagation
- 4. Inconvénients de la descente de gradient
- 5. Variantes de la descente de gradient
- a. Descente de gradient avec inertie
- b. AdaGrad
- c. RMSProp
- d. ADAM
- 6. Optimiser les poids dans TensorFlow avec Keras
- a. Compilation du modèle
- b. Entraînement du modèle
- c. Surveiller le processus d’entraînement avecTensorBoard
- 1. Caractéristiques des fonctions d’activation
- 2. Fonctions d’activation courantes
- 3. Spécifier une fonction d’activation dansKeras
- 1. Définition
- 2. Détection du surapprentissage par visualisationde la courbe d’apprentissage
- 3. Quatre pistes pour limiter le surapprentissage
- a. Augmentation de la quantité de données
- b. Diminution de la complexité du modèle
- c. Interruption prématurée de l’entraînement
- d. Extinction de neurones
- 1. Différents types d’hyperparamètres
- 2. Ordre et stratégie de sélectiondes hyperparamètres
- 3. Sélection du taux d’apprentissage
- a. Diagnostic du taux d’apprentissage d’aprèsla courbe d’apprentissage
- b. Stratégie de sélection du taux d’apprentissage
- c. Décroissance du taux d’apprentissage
Réseaux de neurones à convolution
- Objectifs du chapitre et prérequis
- Motivation, historique et applications des réseaux de neurones à convolution
- 1. Motivation
- 2. Historique
- a. Structure inspirée par le fonctionnementdu cortex visuel
- b. Du premier réseau aux réseaux deneurones modernes
- c. Réseaux modernes
- 1. Architecture générale d’un réseaude neurones à convolution
- 2. Couches de convolution
- a. Fonctionnement d’un filtre de convolution
- b. Signification de la convolution
- c. Valeurs aux bords
- d. Images couleur
- e. Définition du pas d’un filtre de convolution
- f. Organisation des filtres de convolution dans la couchede convolution
- g. Ajouter une couche de convolution à un modèleséquentiel dans Keras
- h. Couche de convolution en résumé
- a. Principe
- b. Ajouter une couche d’activation à un modèleséquentiel dans Keras
- a. Principe
- b. Ajouter une couche d’agrégation à unmodèle séquentiel dans Keras
- a. Principe
- b. Ajouter une couche d’extinction de neurones dans Keras
- a. Principe
- b. Ajouter une couche de normalisation par lots dans Keras
- a. Principe
- b. Ajouter une couche complètement connectéedans Keras
- 1. Liste des hyperparamètres et stratégiede sélection
- 2. Choix de la structure du réseau
- a. Facteur de sous-échantillonnage et nombrede couches
- b. Taille des filtres
- 1. Augmentation de données
- 2. Normalisation
Bonnes pratiques pour l'entraînement
- But du chapitre et prérequis
- Objectifs des bonnes pratiques
- Améliorer la performance
- 1. Avant toute chose, définir la performancenécessaire
- 2. Tour d’horizon des actions à mener lorsquele réseau ne présente pas les performances attendues
- 3. Vérification de l’implémentation :bonnes pratiques et surapprentissage programmé
- 4. Gestion des classes déséquilibrées
- 5. Surveiller et limiter le surapprentissage
- 6. Utiliser des ensembles de modèles
- 7. Comment choisir le réseau le plus performant?
- Encourager la généralisabilité
- Assurer la reproductibilité de l'entraînement
- Limiter le biais
- 1. Définition et origine des biais
- 2. Des jeux de données biaisés pardéfaut
- 3. Une amplification des biais présents dansles données d’entraînement
- 4. Anticiper les biais éventuels
- 5. Limiter les biais anticipés avant l’entraînement
- 6. Détecter et corriger les biais éventuelsdu modèle entraîné
- 7. Comment faire s’il est impossible de construire unjeu de données non biaisé ?
- Impact carbone et consommation d'eau de l'apprentissage profond
- 1. Impact grandissant
- 2. Questionner l’utilité du modèleavant son développement, et à chaque étape
- 3. Limiter la consommation électrique
- 4. Sensibiliser les protagonistes à l’impactcarbone de l’apprentissage profond
- Conclusion
Adapter un réseau existant
- Objectifs du chapitre et prérequis
- Apprentissage par transfert
- 1. Principe et motivation
- 2. Fonctionnement détaillé
- 3. Où trouver des modèles pré-entraînés ?
- 4. Comment choisir quel modèle utiliser ?
- a. Deux critères de choix : la complexité etla précision
- b. Sources d’informations pour la complexité etla performance sur le jeu de données original
- 1. AlexNet
- a. Architecture
- b. Amélioration des performances d’AlexNet :augmentation de données et ensemble de modèles
- a. Réseaux plus profonds
- b. Architecture de VGG
- c. Différences entre AlexNet et VGG et motivations
- a. Présentation générale
- b. Module d’inception
- c. Agrégation par moyennage global
- d. Classifieurs auxiliaires
- e. Architecture globale
- f. Autres versions
- a. Révolution de la profondeur
- b. Connexions résiduelles
- c. Architecture de ResNet
- d. InceptionResNet
- e. DenseNet
- a. Présentation générale
- b. Mise à l’échelle combinée
- c. Blocs résiduels inversés
- d. Architecture d’EfficientNet-B0
Détection
- But du chapitre et prérequis
- Définition de la détection et spécificités
- 1. Définition de la détection
- 2. Apport de l’apprentissage profond pour la détection
- 3. Spécificités de la détection
- Métriques de la détection
- 1. Indice de Jaccard
- 2. Vrais et faux positifs, faux négatifs
- 3. Précision, rappel et score F1
- 4. Courbe de rappel de précision et moyennede la précision moyenne
- 5. Images par seconde
- 6. Résumé des métriques dela détection
- Ingrédients généraux des réseaux de détection
- 1. Localisation et classification
- 2. Représentation des détections
- a. Ancres
- b. Images matricielles
- 3. Fonctions-coût
- a. Format général
- b. Fonction-coût de localisation
- c. Fonction-coût de classification
- 1. Premières versions
- 2. Faster R-CNN
- a. Architecture générale
- b. Réseau de base
- c. Détection
- d. Suppression des régions non optimales
- e. Réseau de convolution basé sur lesrégions
- f. Suppression des régions non optimales
- g. Entraînement et fonction-coût
- 1. YOLO
- a. Principe général
- b. Boîtes englobantes préliminaires
- c. Couches de détection
- d. Détection multiéchelle
- e. Architecture complète du réseau
- f. Sortie du réseau
- g. Post-traitement
- h. Fonction-coût
- i. Limitations
- j. Autres versions
- k. YOLOv7
- a. Présentation
- b. Architecture globale
- c. Fonction-coût
- a. Perte focale
- b. Architecture de RetinaNet
- 1. Problèmes des ancres
- 2. CenterNet
- a. Représentation de la vérité terrain
- b. Architecture
- c. Fonctions de perte
- d. Performance du réseau
- 1. Récapitulatif des réseaux rencontrés
- 2. Comparaison des performances
- 3. Comment choisir un réseau de détection ?
Segmentation
- But du chapitre et prérequis
- Segmentation sémantique, d'instances et panoptique
- 1. Différents types de segmentation
- 2. Apport de l’apprentissage profond pour la segmentation
- 3. Difficultés de la segmentation
- Métriques de la segmentation
- 1. Justesse
- 2. Indice de Jaccard
- 3. Coefficient de Dice
- 4. Vrais positifs, faux positifs et faux négatifs
- 5. Précision, rappel et score F1
- 6. Résumé des différentesmétriques
- Fonctions-coût
- 1. Erreur de classification
- a. Entropie croisée
- b. Perte de Dice
- 1. Erreur de classification
- 2. Erreur de détection
- 1. Architecture
- a. Contraction et expansion
- b. Connexions
- c. Types de couches
- a. Suréchantillonnage par convolution transposée
- b. Remplissage
- c. Pas
- d. Gestion de la profondeur
- e. Effets d’échiquier
- 1. Mask R-CNN
- a. Rappel de l’architecture de Faster R-CNN
- b. Architecture de Mask R-CNN
- c. Fonction-coût
- d. Avantages et limites
- a. Rappel de l’architecture de YOLO
- b. Principe de YOLACT
- c. Séparation de la segmentation en deux opérationsplus simples
- d. Réseau de pyramide de caractéristiques
- e. Architecture globale
- f. Fonction-coût
- g. Avantages et limites
- 1. Principe global
- 2. EfficientPS
- a. Principe
- b. Fusion des segmentations sémantique et d’instances
Applications spécifiques
- But du chapitre et prérequis
- Des réseaux très polyvalents
- Amélioration d'images
- 1. Principe de la restauration d’images
- 2. Principe général de la restaurationd’images avec des réseaux de neurones convolutionnels
- 3. Fonctions-coût
- a. Erreur quadratique moyenne
- b. Erreur moyenne absolue
- c. Indice de similarité structurale
- 1. Définition de la régression et exemplesd’applications
- 2. Fonctionnement
- 1. Applications
- 2. Concaténation directe des informations
- 3. Concaténation des caractéristiquesissues des images et des autres informations
- 4. Ajout d’un canal à l’image
Ouvrir la boîte noire
- But du chapitre et prérequis
- Pourquoi ouvrir la boîte noire ?
- Visualiser directement le modèle entraîné
- 1. Poids des filtres
- 2. Cartes d’activation
- Réduire la dimension de la représentation latente de l'image
- 1. Représentation latente de l’image
- 2. Réduction de dimension par t-SNE
- 3. Visualisation des représentations latentesavec t-SNE
- Visualiser les pixels importants
- 1. Occlusion
- 2. LIME
- 3. Grad-CAM
- 4. Gradients intégrés
- 5. Autres méthodes de déterminationdes pixels importants
- Visualiser les modèles de classe ou de neurone
- 1. Visualisation de modèle de classe
- 2. Visualisation de modèle de neurone
- Explicabilité des réseaux de segmentation et de détection
- 1. Prévalence des méthodes d’explicabilité pourla classification
- 2. Visualisation du fonctionnement du réseauencodeur
- 3. Visualisation des pixels importants
- a. Visualisation des pixels importants pour la segmentation
- b. Explicabilité des réseaux de détection
Maintenance après déploiement du modèle
- But du chapitre et prérequis
- Dérive du modèle
- Causes de la baisse de performance
- 1. Modification des images
- 2. Modification des étiquettes
- 3. Biais
- Détecter et quantifier la dérive
- 1. Surveillance des images
- a. Inspection visuelle
- b. Distance de Fréchet
- c. Appliquer la distance de Fréchet en pratique
- d. Entraînement d’un classifieur binaire
- e. Conclusion à propos de la surveillance desimages
- 1. Surveillance des images
- 2. Surveillance des prédictions
- a. Surveillance de la répartition des classesprédites
- b. Comparaison de la distribution des prédictions à leurdistribution attendue
- 3. Surveillance de la performance
- 4. Conclusion sur la détection de la dériveglobale
- 5. Surveillance spécifique du biais
- 1. Réentraînement périodique
- 2. Modèles spécifiques
Intelligence artificielle responsable
- But du chapitre et prérequis
- Sept principes majeurs de l'IA responsable
- Régulation officielle pour le futur proche
- 1. AI Act
- 2. Produits interdits
- 3. Produits réglementés
- 4. Autres produits
- Facteur humain et contrôle humain
- Robustesse technique et sécurité
- 1. Robustesse technique
- 2. Sécurité
- Respect de la vie privée et gouvernance des données
- Transparence
- Diversité, non-discrimination et équité
- Bien-être sociétal et environnemental
- Responsabilisation
- Conclusion
Conclusion
- Ce que vous avez appris
- Pour aller plus loin
- 1. S’entraîner sur des cas pratiques
- 2. Élargir ses connaissances théoriques
- 3. Se tenir au courant des dernières avancéesthéoriques et pratiques
Un professionnel s'attend à plus de détail sur l'algorithmique. Cela reste un bel exposé de concepts. Idéal pour ceux qui survolent le sujet mais de peu d'utilité pour ceux qui ont les mains dans le cambouis.
Anonymebon ouvrage, bien rédige et intérressant et didactique
AnonymeDaphné WALLACH
Diplômée d’un doctorat en intelligence artificielle pour le traitement d’images médicales, Daphné Wallach exerce depuis plus de 10 ans dans ce domaine. Elle est ingénieure en recherche et développement dans la start-up Intradys, qui développe des outils d’intelligence artificielle pour la neuroradiologie interventionnelle. Elle met également son expertise au bénéfice de formations sur l’intelligence artificielle et sur le traitement d’images, qu’elle dispense à l’université de Rennes et en entreprise.
En savoir plus


