Tutoriel Deep Learning: Intelligence Artificielle utilisant le Deep Learning

Ce blog sur le didacticiel du Deep Learning vous aidera à tout comprendre sur le Deep Learning et sa relation avec le Machine Learning et l'Intelligence Artificielle.

Étant un sous-ensemble important de l'apprentissage automatique, la demande a connu une immense augmentation, en particulier parmi ceux qui souhaitent débloquer les possibilités illimitées de l'IA.Inspiré par la popularité croissante du Deep Learning, j'ai pensé créer une série de blogs qui vous renseigneront sur cette nouvelle tendance dans le domaine de l'intelligence artificielle et vous aideront à comprendre de quoi il s'agit. C'est le premier des nombreux blogs de la série appelé comme - Tutoriel d'apprentissage en profondeur .



Le tutoriel Deep Learning

Dans ce blog du tutoriel d'apprentissage en profondeur, je vais vous expliquer les choses suivantes, qui serviront de bases pour les blogs à venir:



  • Ce qui a permis au Deep Learning de voir le jour
  • Qu'est-ce que le Deep Learning et comment ça marche?

Vous pouvez parcourir cet enregistrement du tutoriel d'apprentissage profond où notre instructeur a expliqué les sujets de manière détaillée avec des exemples qui vous aideront à mieux comprendre ce concept.

Tutoriel d'apprentissage en profondeur | Réseaux de neurones d'apprentissage profond | Edureka

Applications de l'intelligence artificielle et de l'apprentissage profond

Maintenant, pensez à cela, au lieu de faire tout votre travail, vous avez une machine pour le terminer pour vous ou elle peut faire quelque chose que vous pensiez impossible du tout. Par exemple:



Prédire l

Prédire le futur: Il peut nous aider à prévoir à l’avance les tremblements de terre, les tsunamis, etc., de sorte que des mesures préventives puissent être prises pour empêcher de nombreuses vies de tomber dans les griffes de calamités naturelles.

comment créer un package en java
Chat-bots: Vous auriez tous entendu parler de Siri, l’assistant virtuel à commande vocale d’Apple. Croyez-moi, avec l'aide du Deep Learning, cette assistance virtuelle devient de jour en jour plus intelligente. En effet, Siri peut s'adapter en fonction de l'utilisateur et offrir une meilleure assistance personnalisée.
Voitures autonomes: Imaginez, à quel point ce serait incroyable pour les personnes handicapées physiques et les personnes âgées qui ont du mal à conduire seules. En dehors de cela, il sauvera des millions de vies innocentes qui sont victimes d'accidents de la route chaque année à cause d'une erreur humaine.

Google AI Eye Doctor: Il s'agit d'une initiative récente prise par Google où ils travaillent avec une chaîne indienne de soins oculaires pour développer un logiciel d'intelligence artificielle capable d'examiner les scintigraphies de la rétine et d'identifier une maladie appelée rétinopathie diabétique, qui peut entraîner la cécité.

Compositeur de musique AI: Eh bien, qui pensait que nous pouvions avoir un compositeur de musique IA utilisant Deep Learning. Par conséquent, je ne serais pas surpris d'entendre que la prochaine meilleure musique est donnée par une machine.
Une machine de lecture de rêve: C'est l'un de mes préférés, une machine qui peut capturer vos rêves sous forme de vidéo ou autre. Avec autant d'applications non réalistes de l'IA et du Deep Learning que nous avons vues jusqu'à présent, je n'ai pas été surpris de découvrir que cela a été essayé au Japon il y a quelques années sur trois sujets de test et qu'ils ont pu atteindre une précision de près de 60%. C'est quelque chose d'incroyable, mais vrai.


Je suis à peu près sûr que certaines de ces applications réelles de l'IA et du Deep Learning vous auraient donné la chair de poule. Très bien, cela définit la base pour vous et maintenant, nous sommes prêts à poursuivre dans ce tutoriel d'apprentissage en profondeur et à comprendre ce qu'est l'intelligence artificielle.



Qu'est-ce que l'intelligence artificielle?

L'intelligence artificielle n'est rien d'autre que la capacité d'une machine à imiter un comportement humain intelligent. L'IA est obtenue en imitant un cerveau humain, en comprenant comment il pense, comment il apprend, décide et travaille tout en essayant de résoudre un problème.

Par exemple: Une machine jouant aux échecs, ou un logiciel à commande vocale qui vous aide avec diverses choses dans votre iPhone ou un système de reconnaissance de plaque d'immatriculation qui capture la plaque d'immatriculation d'une voiture en excès de vitesse et la traite pour extraire le numéro d'immatriculation et identifier le propriétaire de la voiture . Tout cela n’était pas très facile à mettre en œuvre auparavant L'apprentissage en profondeur . Voyons maintenant les différents sous-ensembles de l'intelligence artificielle.

Sous-ensembles de l'intelligence artificielle

Jusqu'à présent, vous auriez beaucoup entendu parler de l'intelligence artificielle, de l'apprentissage automatique et de l'apprentissage profond. Cependant, connaissez-vous la relation entre les trois? Fondamentalement, l'apprentissage en profondeur est un sous-domaine de l'apprentissage automatique et l'apprentissage automatique est un sous-domaine de l'intelligence artificielle, comme le montre l'image ci-dessous:

Quand on regarde quelque chose comme AlphaGo , il est souvent présenté comme un grand succès pour l'apprentissage en profondeur, mais il s'agit en fait d'une combinaison d'idées provenant de plusieurs domaines différents de l'IA et de l'apprentissage automatique. En fait, vous seriez surpris d’entendre que l’idée des réseaux de neurones profonds n’est pas nouvelle mais remonte aux années 1950. Cependant, il est devenu possible de l'implémenter pratiquement en raison de la capacité de ressources haut de gamme disponible de nos jours.

Alors, pour aller de l'avant dans ce blog de didacticiel d'apprentissage en profondeur, explorons l'apprentissage automatique suivi de ses limites.

Qu'est-ce que l'apprentissage automatique?

L'apprentissage automatique est un sous-ensemble de l'intelligence artificielle qui offre aux ordinateurs la capacité d'apprendre sans être explicitement programmés. En apprentissage automatique, nous n'avons pas à définir explicitement toutes les étapes ou conditions comme toute autre application de programmation. Au contraire, la machine est formée sur un ensemble de données d'entraînement, suffisamment grand pour créer un modèle, ce qui aide la machine à prendre des décisions en fonction de son apprentissage.

java convertir le binaire en décimal

Par exemple: Nous voulons déterminer l'espèce d'une fleur en fonction de sa longueur pétale et sépale (feuilles d'une fleur) en utilisant l'apprentissage automatique. Alors, comment allons-nous le faire?

Nous alimenterons l'ensemble de données de fleurs qui contient diverses caractéristiques de différentes fleurs ainsi que leurs espèces respectives dans notre machine, comme vous pouvez le voir dans l'image ci-dessus. En utilisant cet ensemble de données d'entrée, la machine créera et entraînera un modèle qui peut être utilisé pour classer les fleurs en différentes catégories.
Une fois notre modèle formé, nous transmettrons un ensemble de caractéristiques en entrée du modèle.
Enfin, notre modèle affichera les espèces de fleurs présentes dans le nouvel ensemble de données d'entrée. Ce processus de formation d'une machine à créer un modèle et à l'utiliser pour la prise de décision est appelé Apprentissage automatique . Cependant, ce processus présente certaines limites.

Limitations de l'apprentissage automatique

L'apprentissage automatique n'est pas capable de gérer des données de grande dimension là où les entrées et les sorties sont assez volumineuses. La manipulation et le traitement de ce type de données deviennent très complexes et les ressources épuisables. Ceci est appelé Malédiction de dimensionnalité . Pour comprendre cela en termes plus simples, considérons l'image suivante:

Considérez une ligne de 100 mètres et vous avez laissé tomber une pièce quelque part sur la ligne. Maintenant, il est très pratique pour vous de trouver la pièce en marchant simplement sur la ligne. Cette ligne même est une entité unidimensionnelle.
Ensuite, considérez que vous avez un carré de côté de 100 mètres chacun, comme indiqué dans l'image ci-dessus et encore une fois, vous avez laissé tomber une pièce quelque part entre les deux. Maintenant, il est tout à fait évident que vous allez prendre plus de temps pour trouver la pièce dans cette case par rapport au scénario précédent. Ce carré est une entité à 2 dimensions.
Prenons une longueur d'avance en considérant un cube de côté de 100 mètres chacun et vous avez laissé tomber une pièce quelque part entre les deux. Maintenant, il est encore plus difficile de trouver la pièce cette fois. Ce cube est une entité en 3 dimensions.

Par conséquent, vous pouvez observer que la complexité augmente à mesure que les dimensions augmentent.Et dans la vie réelle, les données de haute dimension dont nous parlions ont des milliers de dimensions qui les rendent très complexes à manipuler et à traiter. Les données de haute dimension peuvent facilement être trouvées dans des cas d'utilisation tels que le traitement d'image, la PNL, la traduction d'images, etc.

L'apprentissage automatique n'était pas capable de résoudre ces cas d'utilisation et par conséquent, l'apprentissage en profondeur est venu à la rescousse. L'apprentissage en profondeur est capable de gérer les données de haute dimension et est également efficace pour se concentrer seul sur les bonnes fonctionnalités. Ce processus est appelé extraction de caractéristiques. Passons maintenant à ce didacticiel d'apprentissage profond et comprenons le fonctionnement de l'apprentissage profond.

Comment fonctionne le Deep Learning?

Dans une tentative de remodeler un cerveau humain, Deep Learning étudie l'unité de base d'un cerveau appelée cellule cérébrale ou neurone. Inspiré d'un neurone, un neurone artificiel ou un perceptron a été développé. Maintenant, comprenons la fonctionnalité des neurones biologiques et comment nous imitons cette fonctionnalité dans le perceptron ou un neurone artificiel:

  • Si nous nous concentrons sur la structure d'un neurone biologique, il a des dendrites qui sont utilisées pour recevoir des entrées. Ces entrées sont additionnées dans le corps cellulaire et en utilisant l'Axon, elles sont transmises au neurone biologique suivant, comme indiqué dans l'image ci-dessus.

  • De même, un perceptron reçoit plusieurs entrées, applique diverses transformations et fonctions et fournit une sortie.

  • Comme nous savons que notre cerveau est constitué de plusieurs neurones connectés appelés réseau de neurones, nous pouvons également avoir un réseau de neurones artificiels appelés perceptrons pour former un réseau de neurones profonds. Alors, allons de l'avant dans ce tutoriel d'apprentissage profond pour comprendre à quoi ressemble un réseau de neurones profonds.

Tutoriel Deep Learning: Qu'est-ce que le Deep Learning?

  • Tout réseau de neurones profonds comprendra trois types de couches:
    • La couche d'entrée
    • La couche cachée
    • La couche de sortie
Dans le diagramme ci-dessus, la première couche est la couche d'entrée qui reçoit toutes les entrées et la dernière couche est la couche de sortie qui fournit la sortie souhaitée.
Toutes les couches entre ces couches sont appelées couches cachées. Il peut y avoir n nombre de couches cachées grâce aux ressources haut de gamme disponibles ces jours-ci.
Le nombre de couches cachées et le nombre de perceptrons dans chaque couche dépendront entièrement du cas d'utilisation que vous essayez de résoudre.

Maintenant que vous avez une image d'un réseau de neurones profonds, allons de l'avant dans ce didacticiel d'apprentissage profond pour avoir une vue d'ensemble de la façon dont les réseaux de neurones profonds résout un problème de reconnaissance d'image.

Utilisation du Deep Learning - Cas

Nous souhaitons effectuer une reconnaissance d'image à l'aide de Deep Networks:

Ici, nous transmettons les données de haute dimension à la couche d'entrée. Pour correspondre à la dimensionnalité des données d'entrée, la couche d'entrée contiendra plusieurs sous-couches de perceptrons afin qu'elle puisse consommer toute l'entrée.
La sortie reçue de la couche d'entrée contiendra des motifs et ne pourra identifier les bords des images qu'en fonction des niveaux de contraste.
Cette sortie sera transmise à la couche cachée 1 où elle pourra identifier diverses caractéristiques du visage telles que les yeux, le nez, les oreilles, etc.
Maintenant, cela sera transmis à la couche cachée 2 où il pourra former les faces entières. Ensuite, la sortie de la couche 2 est envoyée à la couche de sortie.
Enfin, la couche de sortie effectue une classification en fonction du résultat obtenu à partir du précédent et prédit le nom.

Permettez-moi de vous poser une question, que se passera-t-il si l'une de ces couches est manquante ou si le réseau neuronal n'est pas assez profond? Simple, nous ne pourrons pas identifier avec précision les images. C'est la raison même pour laquelle ces cas d'utilisation n'avaient pas de solution toutes ces années avant le Deep Learning. Pour aller plus loin, nous allons essayer d'appliquer des réseaux profonds sur un ensemble de données MNIST.

  • L'ensemble de données Mnist se compose de 60 000 échantillons d'apprentissage et 10 000 échantillons de test d'images de chiffres manuscrits. La tâche ici est de former un modèle qui peut identifier avec précision le chiffre présent sur l'image.

  • Pour résoudre ce cas d'utilisation, un réseau profond sera créé avec plusieurs couches cachées pour traiter toutes les 60 000 images pixel par pixel et nous recevrons enfin une couche de sortie.
  • La couche de sortie sera un tableau d'index 0 à 9, où chaque index correspond au chiffre respectif. L'index 0 contient la probabilité que 0 soit le chiffre présent sur l'image d'entrée.
  • De même, l'indice 2 qui vaut 0,1, représente en fait la probabilité que 2 soit le chiffre présent sur l'image d'entrée. Donc, si nous voyons la probabilité la plus élevée dans ce tableau est de 0,8 qui est présente à l'index 7 du tableau. Par conséquent, le nombre présent sur l'image est 7.

    Fonctionnalités java 9 avec exemples

Conclusion

Donc, les gars, tout était question d'apprentissage en profondeur en un mot. Dans ce tutoriel d'apprentissage en profondeur, nous avons vu diverses applications de l'apprentissage profond et compris sa relation avec l'IA et l'apprentissage automatique. Ensuite, nous avons compris comment nous pouvons utiliser le perceptron ou un neurone artificiel de base pour créer un réseau de neurones profond qui peut effectuer des tâches complexes telles. Enfin, nous sommes passés par l'un des cas d'utilisation de l'apprentissage en profondeur où nous avons effectué une reconnaissance d'image à l'aide de réseaux de neurones profonds et compris toutes les étapes qui se déroulent dans les coulisses. Maintenant, dans le prochain blog de cette série de tutoriels sur l'apprentissage profond, nous allons apprendre comment implémenter un perceptron à l'aide de TensorFlow, qui est une bibliothèque basée sur Python pour l'apprentissage profond.

Maintenant que vous connaissez le Deep Learning, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation Edureka Deep Learning avec certification TensorFlow aide les apprenants à devenir des experts dans la formation et l'optimisation des réseaux de neurones de base et convolutifs à l'aide de projets et d'affectations en temps réel ainsi que de concepts tels que la fonction SoftMax, les réseaux de neurones à encodeur automatique, la machine Boltzmann restreinte (RBM).

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.