• Aide
  • Eurêkoi Eurêkoi

Livre

Deep learning avec JavaScript : réseaux de neurones dans TensorFlow.js

Résumé

Guide pour exploiter l'ensemble des possibilités offertes par l'accès à la bibliothèque de machine learning open source TensorFlow de Google à JavaScript afin de développer des modèles d'apprentissage machine dans un navigateur. ©Electre 2020


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2020
  • Notes
    • Traduit de l'américain
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (VIII-546 p.) : ill. ; 23 cm
  • Sujet(s)
  • ISBN
    • 978-2-412-05828-2
  • Indice
  • Quatrième de couverture
    • Deep Learning avec JavaScript

      L'exécution d'applications de deep learning dans le navigateur ou sur des backends basés sur Node ouvre des possibilités passionnantes pour créer des applications Web intelligentes. Avec la bibliothèque TensorFlow.js, vous construirez et vous entraînerez des modèles de deep learning avec JavaScript. Avec une évolutivité, une modularité et une réactivité sans compromis en termes de qualité de production, TensorFlow.js brille par sa portabilité. Ses modèles fonctionnent partout où JavaScript fonctionne, poussant ainsi l'apprentissage automatique dans de nouveaux modèles d'application.

      Dans ce livre, vous apprendrez à utiliser TensorFlow.js pour construire des modèles d'apprentissage profond qui s'exécutent directement dans le navigateur. Ce livre au rythme soutenu, écrit par des ingénieurs de Google, est un ouvrage pratique, engageant et facile à suivre. S'appuyant sur de nombreux exemples comme l'analyse de texte, le traitement de la parole, la reconnaissance d'image ou encore l'auto-apprentissage d'un jeu, il vous montrera comment maîtriser toutes les bases du deep learning. Par la suite, vous explorerez des concepts avancés, comme le réemploi de modèles existants pour l'apprentissage par transfert ou la génération d'images.

      • Traiter les images et le langage dans le navigateur
      • Affiner des modèles d'apprentissage automatigue avec des données côté client
      • Créer du texte et des images avec le deep learning génératif
      • Fournis en téléchargement les codes source des exemples

      Pour les programmeurs JavaScript intéressés par le deep learning.


  • Tables des matières
      • Deep Learning avec JavaScript

      • Réseaux de neurones dans TensorFlow.js

      • Shanqing Cai

      • Stanley Bileschi

      • Eric D. Nielsen et François Chollet

      • Nikhil Thorat et Daniel Smilkuv

      • First Interactive

      • Avant-propos 1
      • Préface 3
      • À propos des auteurs 5
      • Introduction 7
      • Partie 1 Motivation et concepts de base11
      • 1 Deep learning et JavaScript 13
      • 1.1 Intelligence artificielle, apprentissage automatique, réseaux de neurones et deep learning16
      • Intelligence artificielle 16 • Apprentissage automatique : en quoi diffère-t-il de la programmation traditionnelle ? 17 • Réseaux de neurones et apprentissage profond 21 • Pourquoi le deep learning ? Pourquoi maintenant ? 26
      • 1.2 Pourquoi combiner JavaScript et apprentissage automatique ?27
      • Un bref historique de TensorFlow, Keras et TensorFlow.js 35 • Pourquoi TensorFlow. js : une brève comparaison avec des bibliothèques similaires 39 • Comment TensorFlow.js est-il utilisé dans le monde réel ? 41 • Ce que ce livre vous apprendra et ne vous apprendra pas sur TensorFlow.js 41
      • Partie 2 Introduction à TewsorFlow.js45
      • 2 Pour commencer : une régression linéaire simple dans TensorFlow.js 47
      • 2.1 Exemple 1 : prédire la durée d'un téléchargement avec TensorFlow.js48
      • Aperçu du projet : prédire la durée 48 • Note sur les listings de code et les interactions dans la console 48 • Création et formatage des données 50 • Définir un modèle simple 53 • Ajuster le modèle aux données d'entraînement 56 • Utiliser notre modèle entraîné pour faire des prédictions 58 • Résumé de notre premier exemple 58
      • 2.2 Explorer Model.fit() : dissection d'une descente de gradient à partir de l'Exemple 159
      • Les intuitions derrière l'optimisation de la descente de gradient 60 • Rétropropagation : Dans la descente de gradient 64.
      • 2.3 Régression linéaire avec de multiples caractéristiques en entrée68
      • Le jeu de données sur le prix de l'immobilier à Bostont 69 • Obtenir et exécuter le projet Boston Housing depuis GitHubt 70 • Accéder aux données du jeu Boston Housingt 72 • Définir précisément le problème du logement à Bostont 74 • Une légère diversion dans la normalisation des donnéet 75 • Régression linéaire sur les données du jeu Boston Housingt 78
      • 2.4 Comment interpréter votre modèlet83
      • Extraire du sens à partir des poids apprist 83 • Extraire des poids internes du modèlet 85 • Mises en garde sur l'interprétabilitét 86
      • 3 Ajouter de la non-linéarité : au-delà des sommes pondérées 89
      • 3.1 Non-linéarité : qu'est-ce que c'est et à quoi cela sert-il ?90
      • Construire l'intuition pour la non-linéarité dans les réseaux de neurones 92 • Hyperparamètres et optimisation des hyperparamètres 99
      • 3.2 Non-linéarité en sortie ; modèles pour la classification102
      • Qu'est-ce que la classification binaire ? 102 • Mesurer la qualité des classifieurs binaires : courbes de précision, de rappel, d'exactitude et ROC 104 • La courbe ROC : montrer les compromis dans la classification binaire 108 • Entropie croisée binaire : la fonction de perte pour la classification binaire 113
      • 3.3 Classification multiclasse116
      • Encodage one-hot de données catégorielles 117 • Activation Softmax 119 • Entropie croisée catégorielle : la fonction de perte pour la classification multiclasse 121 • Matrice de confusion : analyse détaillée de la classification multiclasse 123
      • 4 Reconnaître des images et des sons à l'aide des réseaux de neurones convolutifs 127
      • 4.1 Des vecteurs aux tenseurs : représentation des images128
      • Le jeu de données MNIST 129
      • 4.2 Votre premier réseau de neurones convolutif129
      • Couche conv2d 132 • Couche maxPooling2d 135 • Motifs répétés de convolution et de pooling 136 • Couches aplaties et denses 137 • Entraîner le convnet 139 • Utiliser un convnet pour faire des prédictions 143
      • 4.3 Au-delà des navigateurs : entraîner des modèles plus rapidement en utilisant Node.js146
      • Dépendances et importations pour l'utilisation de tfjs-node 146 • Entraîner un convnet amélioré pour le jeu MNIST dans tfjs-node 148 • Sauvegarder le modèle depuis Node.js et le charger dans le navigateur 152
      • 4.4 Reconnaître des mots parlés : appliquer des convnet sur des données audio154
      • Spectrogrammes : représenter des sons sous forme d'images 154
      • 5 Apprentissage par transfert : réutiliser des réseaux de neurones pré-entraînés 163
      • 5.1 Introduction à l'apprentissage par transfert : réutiliser des modèles déjà entraînés164
      • Apprentissage p ar transfert basé sur des formes de sortie compatibles : couches gelées 166 • Apprentissage par transfert sur des formes de sortie incompatibles : créer un nouveau modèle en utilisant les sorties du modèle de base 172 • Tirer le meilleur parti de l'apprentissage par transfert avec les bons ajustements : un exemple audio 186
      • 5.2 Détection d'objets par apprentissage par transfert sur un convnet197
      • Un problème simple de détection d'objets à partir de scènes synthétisées 198 • Plongée profonde dans la détection d'objets simple 199
      • Partie 3 Deep learning avancé avec TewsorFlow.js211
      • 6 Travailler avec les données 213
      • 6.1 Utiliser tf.data pour gérer les donnéese214
      • L'objet tf.data.Datasete 215 • Créer un tf.data.Datasete 215 • Accéder aux données de votre Datasete 219 • Manipuler des tf.data.Datasete 222
      • 6.2 Entraîner des modèles avec model.fitDatasete226
      • 6.3 Schémas courants d'accès aux donnéese232
      • Travailler avec des données au format CSVe 232 • Accéder à des données vidéo en utilisant tf.data.webcame 237 • Accéder à des données audio à l'aide de tf.data. microphonee 241
      • 6.4 Vos données sont probablement erronées : traiter des problèmes dans vos donnéese243
      • Théorie des donnéese 244 • Détection et nettoyage des problèmes liés aux donnéese 248
      • 6.5 Augmentation des donnéese255
      • 7 Visualisation des données et des modèles 261
      • 7.1 Visualisation des données262
      • Visualiser des données à l'aide de tfjs-vis 262 • Étude de cas : visualiser des données météorologiques avec tfjs-vis 270
      • 7.2 Visualiser des modèles après l'entraînement275
      • Visualiser les activations internes d'un convnet 278 • Visualiser à quoi les couches de convolution sont sensibles : Images avec activation maximale 281 • Interprétation visuelle du résultat de la classification d'un convnet 285
      • 8 Le sous-apprentissage, le surapprentissage et le flux de travail universel de l'apprentissage automatique 289
      • 8.1 Formuler le problème de la prévision de la température290
      • 8.2 Sous-apprentissage, surapprentissage et contre-mesures294
      • Sous-apprentissage 294 • Surapprentissage 296 • Réduire le surapprentissage avec la régularisation des poids, et visualiser son fonctionnement 298
      • 8.3 Le flux de travail universel de l'apprentissage automatique303
      • 9 Deep learning pour les séquences et le texte 309
      • 9.1 Seconde tentative de prévision météorologique : introduction aux réseaux de neurones récurrents310
      • Pourquoi les couches denses échouent à modéliser l'ordre séquentiel 311 • Comment les réseaux de neurones récurrents modélisent l'ordre séquentiel 313
      • 9.2. Construire des modèles de deep learning pour le texte322
      • Comment le texte est représenté dans l'apprentissage automatique : encodage one-hot et multi-hot 323 • Première tentative pour le problème de l'analyse de sentiment 325 • Une représentation plus efficace du texte : le plongement de mots 327 • Réseaux de neurones convolutifs 1D 330
      • 9.3 Tâches séquence à séquence avec mécanisme d'attention338
      • Formuler la tâche de séquence à séquence 339 • Architecture encodeur-décodeur et mécanisme d'attention 341 • Plongée profonde dans le modèle d'encodeur-décodeur basé sur l'attention 344
      • 10 Deep learning génératif 353
      • 10.1 Générer du texte avec LSTM354
      • Prédiction du prochain caractère : une façon simple de générer du texte 354 • L'exemple lstm-text-generation 356 • Température : caractère aléatoire ajustable dans le texte généré 359
      • 10.2 Auto-encodeurs variationnels (VAE) : trouver une représentation vectorielle efficace et structurée des images363
      • Auto-encodeur classique et VAE : idées de base 363 • Un exemple détaillé de VAE : le jeu de données Fashion-MNIST 366
      • 10.3 Générer des images avec les réseaux antagonistes génératifs (GAN)375
      • L'idée de base derrière les GAN 376 • Les briques de construction de l'ACGAN 379 • Plonger plus profondément dans l'entraînement du réseau ACGAN 383 • Voir l'entraînement et la génération pour l'ACGAN MNIST 386
      • 11 Les bases de l'apprentissage par renforcement 391
      • 11.1 Formuler les problèmes d'apprentissage par renforcement393
      • 11.2 Réseaux et gradients de politiques : l'exemple de la tige sur le chariot396
      • Cart-pole comme problème d'apprentissage par renforcement 396 • Apprentissage par renforcement : notion de politique 39S • Entraînement du réseau de politiques : l'algorithme REINFORCE 401
      • 11.3 Réseaux de valeurs et Q-learning : l'exemple du jeu Snake409
      • Snake comme problème d'apprentissage par renforcement 409 • Processus de décision de Markov et valeurs Q 412 • Q-réseau profond 415 • Entraînement du DQN 419
      • Partie 4 En résumé et en guise de conclusion435
      • 12 Tester, optimiser et déployer des modèles 437
      • 12.1 Tester des modèles TensorFlow.js438
      • Tests unitaires traditionnels 439 • Tester avec des valeurs d'or 442 • Considérations relatives à l'entraînement en continu 444
      • 12.2 Optimisation du modèle446
      • Optimisation de la taille du modèle par la quantification des poids après l'entraînement 446 • Optimiser la vitesse d'inférence en utilisant la conversion GraphModel 454
      • 12.3 Déployer des modèles TensorFlow.js sur diverses plateformes et environnements459
      • Considérations supplémentaires pour le déploiement sur le Web 459 • Déploiement vers des services dans le cloud 460 • Déploiement vers une extension de navigateur, comme dans Chrome 461 • Déployer des modèles TensorFlow.js dans des applications mobiles basées sur JavaScript 463 • Déployer des modèles TensorFlow.js dans des applications de bureau multiplateformes basées sur JavaScript 465 • Déployer les modèles TensorFlow.js sur WeChat et d'autres systèmes de plugins d'applications mobiles basés sur JavaScript 467 • Déployer des modèles TensorFlow.js sur des ordinateurs monocarte 468 • Résumé des déploiements 470
      • 13 Résumé, conclusions, et au-delà 473
      • 13.1 Révisions sur des concepts clés474
      • Diverses approches de l'IA 474 • Ce qui distingue le deep learning parmi les autres sous-domaines de l'apprentissage automatique 474 • Comment penser le deep learning à un haut niveau ? 475 • Principales technologies du deep learning 476 • Applications et opportunités débloquées par le deep learning dans JavaScript 477
      • 13.2 Aperçu rapide sur le flux de travail et les algorithmes de deep learning dans TensorFlow.js478
      • Le flux de travail universel du deep learning supervisé 478 • Types de modèles et de couches dans TensorFlow.js : une référence rapide 480 • Exploiter les modèles préentraînés de TensorFlow.js 484 • L'espace des possibilités 487 • Limites du deep learning 489
      • 13.3 Tendances dans le deep learning492
      • 13.4 Conseils pour poursuivre l'exploration493
      • S'entraînera des problèmes d'apprentissage automatique du monde réel avec Kaggle 494 • Découvrir les derniers développements sur arXiv 494 • Explorer l'écosystème de TensorFlow.js 495
      • Annexe A Installer tfjs-node-gpu et ses dépendances 497
      • Annexe B Tutoriel rapide sur les tenseurs et leurs opérations dans TensorFlow.js 503
      • Glossaire 529
      • Index 539

  • Origine de la notice:
    • Electre
  • Disponible - 681.230 DEE

    Niveau 3 - Informatique