1. Supports de cours
  2. TensorFlow et Keras - L'intelligence artificielle appliquée à la robotique humanoïde

TensorFlow et Keras L'intelligence artificielle appliquée à la robotique humanoïde

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre sur TensorFlow et sur son API intégrée Keras contient toutes les informations nécessaires pour assister le lecteur dans la mise au point, pas à pas, d'une intelligence artificielle reposant sur les pratiques courantes du deep learning et du machine learning. Autour de l'usage de notions associées aux tenseurs et à la différentiation qui représentent les deux points forts du framework, l'auteur présente dans ce livre un projet d'intelligence artificielle incarnée : celui d'un robot humanoïde.

Ainsi, en plus des notions de base de la robotique, les principaux savoir-faire permettant de coder la partie algorithmique de la création de cette IA incarnée sont traités. Principalement construit à partir d'algorithmes liés à la cognition et à la prise de décision se mettant naturellement en œuvre via Keras, ce parcours didactique permet donc au lecteur d'étudier :

- la gestion de cinématique et la planification de trajectoire ;
- le contrôle-commande et l'asservissement ;
- la reconnaissance visuelle d'objets ;
- le traitement du son ;
- le langage naturel ;
- la génération de séquences ou d'images
- et, de façon plus générale, l'automatisation des calculs d'ingénierie relatifs aux grandes matrices, aux très grands tenseurs multidimensionnels et à la différentiation de fonctions très élaborées.

L'auteur propose également dans ce livre une initiation aux outils mathématiques de référence de la discipline, dans l'optique d'accéder à un premier niveau de compréhension des articles de recherche. Sans concession simpliste en termes de formulation des expressions mathématiques, elle ne s'attarde sur aucun fondement théorique et fait l'impasse sur les difficultés conceptuelles qui pourraient troubler le lecteur n'ayant aucune pratique des mathématiques du supérieur.

À la fin du livre, le lecteur peut trouver un chapitre consacré à l'exploitation et la mise en ligne de solutions d'intelligence artificielle, ainsi que des annexes, qui font partie intégrante de l'ouvrage et qui détaillent de nombreuses manipulations de tenseurs facilitées par l'usage de TensorFlow. Chaque chapitre du livre comprend également une bibliographie soignée en rapport direct avec les propos de l'auteur ou des liens vers du code tiers répertorié sur son espace GitHub.

Des extraits choisis du code de l'ouvrage sont disponibles en téléchargement sur le site www.editions-eni.fr.



Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Table des matières

  • Introduction
    • 1. L’esprit de l’ouvrage
    • 2. L’Intelligence Artificielle dans cet ouvrage
    • 3. Les promesses de TensorFlow
    • 4. Zoom sur Keras
    • 5. Comment l’esprit vient aux machines
      • 5.1 Des origines du robot humanoïde moderne et de la nécessité de le doter d’une certaine intelligence
      • 5.2 De l’évolution des robots humanoïdes et de leurs besoins croissants en intelligence
      • 5.3 Les fondements du traitement algorithmique de l’intelligence artificielle
      • 5.4 Les probabilités modernes et une initiation rapide et un peu brutale au point de vue bayésien
        • 5.4.1 Le point de vue opposé à l’optique bayésienne : l’approche fréquentiste
        • 5.4.2 De Bayes aux réseaux bayésiens, en passant par la mesure
      • 5.5 L’apprentissage statistique (machine learning) en bref
        • 5.5.1 Apprentissage supervisé
        • 5.5.2 Apprentissage non supervisé
        • 5.5.3 Apprentissage par renforcement
      • 5.6 Les formes d’intelligence
      • 5.7 Apprendre de la bêtise
    • 6. En guise de conclusion... de l’introduction !
    • 7. Bibliographie du chapitre
  • Introduction à TensorFlow et Keras
    • 1. Présentation générale de TensorFlow
      • 1.1 Le produit
      • 1.2 Les réseaux neuronaux en (très) bref
    • 2. Préparation de l’environnement de travail TensorFlow
      • 2.1 Vérification de l’installation de TensorFlow
      • 2.2 Données à disposition pour s’entraîner
      • 2.3 R ou Python ... ou un autre langage ?
  • Code et mathématiques
    • 1. Présentation du chapitre
    • 2. En route vers les tenseurs
      • 2.1 Autour des tenseurs
      • 2.2 Contexte mathématique du chapitre
    • 3. Les vecteurs
      • 3.1 Approche intuitive des vecteurs
      • 3.2 Normes d’un vecteur
      • 3.3 Distance issue d’une norme
      • 3.4 Indices et convention d’Einstein
      • 3.5 Produit scalaire
      • 3.6 Création d’un produit scalaire à partir d’une norme
    • 4. Les matrices
    • 5. Les quaternions
    • 6. Les tenseurs
      • 6.1 Exemples de formes d’un tenseur
      • 6.2 Forme linéaire
      • 6.3 Application multilinéaire
      • 6.4 Produit tensoriel de vecteurs ou matrices
    • 7. Différentiation
      • 7.1 Introduction
      • 7.2 Généralisation et introduction à la différentiabilité
      • 7.3 Quelques cas importants de dérivées totales
      • 7.4 Analogie calculatoire
      • 7.5 Différentielle
      • 7.6 Différentiation automatique (AD)
      • 7.7 Zoom sur la notion de quantité négligeable
    • 8. Gradient
      • 8.1 Dérivée suivant une direction et introduction des dérivées partielles
      • 8.2 Définition du Gradient
      • 8.3 Considérations pratiques autour du Gradient
    • 9. Tenseur métrique
    • 10. Optimisation
    • 11. Boîte à outils complémentaire
      • 11.1 Filtre de Kalman
      • 11.2 One hot encoding
      • 11.3 Réseaux de neurones "vanilla"
    • 12. Bibliographie du chapitre
  • Hello world
    • 1. L’exemple de référence
      • 1.1 Présentation du dataset
      • 1.2 Installation de modules complémentaires
    • 2. Notre premier réseau de neurones
      • 2.1 Construction "pas à pas" du réseau avec Keras
      • 2.2 En entrée du modèle
      • 2.3 Mise en place de notre première couche d’apprentissage
      • 2.4 Un mécanisme pour éviter l’overfitting : le dropout
      • 2.5 Définir la couche sortie du modèle - couche softmax
      • 2.6 Le code correspondant
      • 2.7 Création d’un modèle instanciable, backpropagation
      • 2.8 Instanciation du modèle
      • 2.9 Évaluation du modèle
      • 2.10 Utilisation du modèle instancié
      • 2.11 Observation directe des résultats
    • 3. Conclusion
    • 4. Bibliographie du chapitre
  • Amélioration matérielle
    • 1. Amélioration des performances via l’utilisation de CUDA
      • 1.1 CUDA et TensorFlow 2 avec GPU
      • 1.2 Exécution du code en utilisant une GPU
      • 1.3 Conclusion
    • 2. Encore un peu de tuning
      • 2.1 Sauvegarder des modèles intermédiaires
      • 2.2 Sauver des modèles en JSON ou YAML
      • 2.3 Considérations techniques sur la configuration matérielle
    • 3. Bibliographie du chapitre
  • Améliorations du modèle
    • 1. Convolution et pooling
      • 1.1 Convolution
      • 1.2 Pooling
    • 2. Batch normalization
    • 3. Data augmentation
    • 4. Bibliographie du chapitre
  • Introduction à la robotique anthropomorphiste
    • 1. Ce qu’il nous faut appréhender de la robotique
    • 2. Mais qui sont ces robots ?
      • 2.1 Le contexte
      • 2.2 Problèmes clés étudiés depuis les années 1970
        • 2.2.1 Optimal control of motion planning
        • 2.2.2 Model based control - considérations préliminaires
        • 2.2.3 Asservissement
        • 2.2.4 Zoom sur les techniques d’asservissement
      • 2.3 Model Based Control (et Model learning)
      • 2.4 Planning and trajectory
    • 3. Notions basiques : DOF, Actuator, Effector, DOM
      • 3.1 Le vocabulaire
      • 3.2 La cinématique
      • 3.3 Cinématique du pendule inversé
      • 3.4 L’agencement de modèles différents
    • 4. Interfaces avec le robot
      • 4.1 Vers une interface directe avec le robot
      • 4.2 Interfaces sémantiques
    • 5. Des données pour s’entraîner
    • 6. Bibliographie du chapitre
  • Simuler les attributs de l’intelligence
    • 1. Identifier visuellement les objets
      • 1.1 Le problème
      • 1.2 Éléments de l’état de l’art
        • 1.2.1 Les images labellisées
        • 1.2.2 Les réseaux neuronaux phares de la reconnaissance d’objets dans des images
        • 1.2.3 Un exemple d’implémentation
    • 2. Transfert learning
    • 3. RNN et LSTM, quand le temps et les sentiments s’en mêlent...
      • 3.1 Le problème
      • 3.2 La solution
        • 3.2.1 Les RNN classiques
        • 3.2.2 Les RNN à mémoire, dont les LSTM
      • 3.3 Une implémentation de LSTM : génération de suites cohérentes de mots
    • 4. Passer du son au mot : speech to text
      • 4.1 Le problème posé
      • 4.2 Une implémentation
    • 5. Passer du mot au son : text to speech
      • 5.1 Un problème moins simple qu’il n’y paraît
      • 5.2 Une implémentation
    • 6. Traduction automatique
    • 7. Manipuler le langage
      • 7.1 Des problèmes courants
      • 7.2 Implémentation
        • 7.2.1 NLTK (Natural Language Toolkit) et ses compagnons
        • 7.2.2 Travailler un texte : tokenization et compagnons
      • 7.3 Zoom sur la notion d’embedding
      • 7.4 Particularité d’un modèle simple de classification de textes
    • 8. Manipuler le son
    • 9. Simuler la création et/ou jouer
      • 9.1 GAN, un modèle qui donne l’initiative à l’IA
      • 9.2 Sec2sec : pour générer des séquences
      • 9.3 VAE - encoder et décoder pour générer des images
    • 10. Bibliographie du chapitre
  • Confrontation aux réalités opérationnelles
    • 1. Se doter de divers environnements de travail
      • 1.1 Le problème
      • 1.2 Les pistes de solution
      • 1.3 En pratique
        • 1.3.1 Éléments de configuration de base
        • 1.3.2 Docker et Kaggle
      • 1.4 Mise en exploitation réelle et/ou exposition d’un prototype opérationnel
        • 1.4.1 Exposition de services ou d’une interface web (Flask, Django, plumber, TensorFlow.js)
        • 1.4.2 Intégration et déploiement continus
        • 1.4.3 TensorFlow Lite
    • 2. Répartition des traitements
      • 2.1 Le problème
      • 2.2 Éléments de solution
        • 2.2.1 Préparation des données
        • 2.2.2 Création des modèles
        • 2.2.3 Exploitation des modèles
        • 2.2.4 Travailler sur plusieurs GPU
        • 2.2.5 Se préparer au HPC (High Performance Computing)
    • 3. Le cas particulier du robot humanoïde autonome et des systèmes embarqués légers
    • 4. Bibliographie du chapitre
  • Conclusion
    • 1. En guise de conclusion
    • 2. Remerciements
  • Annexes
    • 1. Introduction aux annexes
    • 2. Petits savoir-faire TensorFlow utiles
      • 2.1 Transformer un tenseur Numpy en tenseur TensorFlow
      • 2.2 Les fonctions d’activation de TF
      • 2.3 Création d’une classe qui produit un modèle Keras
      • 2.4 Création d’un modèle avec plusieurs branches
      • 2.5 Batch normalization
      • 2.6 Choisir un optimiseur
      • 2.7 La régularisation : diminuer le risque d’overfitting
      • 2.8 Manipulations de tenseurs
        • 2.8.1 Exemple de réduction sur un axe
        • 2.8.2 Map : application d’une fonction sur les composants d’un tenseur
      • 2.9 Matrice adjointe d’une matrice (à coefficients complexes)
      • 2.10 Transformation des lignes d’une matrice en termes diagonaux
      • 2.11 Notation d’Einstein
        • 2.11.1 Produit scalaire de deux vecteurs
        • 2.11.2 Produit dyadique de deux vecteurs
        • 2.11.3 Produit d’Hadamard de deux matrices
        • 2.11.4 Produit matriciel
        • 2.11.5 Application d’une matrice sur un vecteur
        • 2.11.6 Application d’un vecteur transposé sur une matrice
        • 2.11.7 Scalaire par scalaire, vecteur, matrice...
        • 2.11.8 Somme des éléments d’un tenseur
        • 2.11.9 Trace d’une matrice
        • 2.11.10 Produit de Kronecker de deux matrices
        • 2.11.11 Transposée d’une matrice
        • 2.11.12 Tenseurs batchs et tenseurs de hautes dimensions
        • 2.11.13 Calcul des valeurs propres d’une matrice hermitienne (dans un tenseur)
        • 2.11.14 Extraction des termes diagonaux d’une matrice
    • 3. Petit formulaire commenté
      • 3.1 Définitions de différents types de matrices (et quelques usages)
      • 3.2 Une formule intéressante concernant les déterminants
      • 3.3 De la différentiation
    • 4. À étudier plus avant
      • 4.1 Méthodes d’algèbre linéaire et différentiation en algèbre linéaire
      • 4.2 Algorithmes génétiques (ou GA)
      • 4.3 Reinforcement Learning - RL
    • 5. Bibliographie du chapitre
    • Index

Auteur

Henri LAUDEEn savoir plus

Henri LAUDE est un professionnel reconnu des Computer Sciences. Il a encadré de nombreux travaux de R&D autour des data science, connexes à l'intelligence économique, à l'IA, à l'automatisation robotique, aux FinTech, à la détection de fraudes et à la cyberdéfense. Président de l'APIEC (Association pour la Promotion de l'Intelligence Economique), il est co-fondateur de la startup Advanced Research Partners, dans laquelle il anime la conception d'algorithmes très novateurs primés au Data Intelligence Forum sous le nom DxM (pour Deus eX Machina). Il est également Chief Data Scientist des startups ExorIAr (un exosquelette robotique intelligent), SysScale (un écosystème complet de développement digital/devops/IA) et du Laboratoire de Data Sciences StradaLabs (Intelligence Artificielle et IOT pour les transporteurs et logisticiens).

Caractéristiques

  • Niveau Expert
  • Nombre de pages 364 pages
  • Parution décembre 2019
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02199-2
    • EAN : 9782409021992
    • Ref. ENI : EPTENS
  • Niveau Expert
  • Parution décembre 2019
    • HTML
    • ISBN : 978-2-409-02200-5
    • EAN : 9782409022005
    • Ref. ENI : LNEPTENS

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (12,6 Ko)