Les réseaux de neurones pour les nuls : un guide complet

Publié: 2018-02-07

Notre cerveau est une incroyable machine à reconnaître les formes. Il traite les « entrées » du monde extérieur, les catégorise (c'est un chien ; c'est une part de pizza ; ooh, c'est un bus qui vient vers moi !), puis génère une « sortie » (caresser le chien ; le goût délicieux de cette pizza ; s'éloigner du bus !).
Tout cela avec peu d'effort conscient, presque impulsivement. C'est le même système qui détecte si quelqu'un est en colère contre nous ou remarque involontairement le signal d'arrêt lorsque nous le dépassons. Les psychologues appellent ce mode de pensée « Système 1 », et il comprend des compétences innées - comme la perception et la peur - que nous partageons avec d'autres animaux. (Il y a aussi un "Système 2", pour en savoir plus, consultez le très instructif Thinking, Fast and Slow de Daniel Kahneman ).
Comment tout cela est-il lié aux réseaux de neurones , demandez-vous ? Attendez, nous y arriverons dans une seconde.
Les réseaux de neurones pour les nuls - Un guide complet UpGrad Blog
Regardez l'image ci-dessus, juste vos chiffres réguliers, déformés pour vous aider à mieux expliquer l'apprentissage des réseaux de neurones . Même en regardant brièvement, votre esprit vous demandera les mots "192".
Vous ne vous êtes sûrement pas dit "Ah, ça ressemble à une ligne droite, je pense que c'est un 1". Vous ne l'avez pas calculé - c'est arrivé instantanément.
Fascinant, non ?
Il y a une raison très simple à cela - vous avez rencontré le chiffre tellement de fois dans votre vie que, par essais et erreurs, votre cerveau reconnaît automatiquement le chiffre si vous le présentez avec quelque chose de proche.
Quelle est la différence entre Data Science, Machine Learning et Big Data ?

Allons droit au but.

Table des matières

Qu'est-ce qu'un réseau de neurones exactement ? Comment ça marche?

Par définition, un réseau de neurones est un système de matériel ou de logiciels, calqué sur le fonctionnement des neurones du cerveau humain. Fondamentalement, cela aide les ordinateurs à penser et à apprendre comme les humains. Un exemple rendra cela plus clair :
En tant qu'enfant, si jamais nous touchions une tasse de café chaude et que cela nous brûlait, nous nous assurons de ne plus jamais toucher une tasse chaude. Mais avions-nous un tel concept de blessure dans notre conscience AVANT de le toucher ? Pas vraiment.
Cet ajustement de nos connaissances et de notre compréhension du monde qui nous entoure est basé sur la reconnaissance de modèles. Et, comme nous, les ordinateurs aussi apprennent grâce au même type de reconnaissance de formes. Cet apprentissage constitue toute la base du fonctionnement des réseaux de neurones .
Les programmes informatiques traditionnels fonctionnent sur des arbres logiques - Si A se produit, alors B se produit. Tous les résultats potentiels pour chacun des systèmes peuvent être préprogrammés. Cependant, cela élimine la portée de la flexibilité. Il n'y a pas d'apprentissage là-bas.
Et c'est là que les réseaux de neurones entrent en scène ! Un réseau de neurones est construit sans aucune logique spécifique. Il s'agit essentiellement d'un système formé pour rechercher et s'adapter à des modèles dans les données. Il est calqué exactement sur le fonctionnement de notre propre cerveau. Chaque neurone (idée) est connecté via des synapses. Chaque synapse a une valeur qui représente la probabilité ou la probabilité que la connexion entre deux neurones se produise. Regardez l'image ci-dessous:
Les réseaux de neurones pour les nuls - Un guide complet UpGrad Blog
Que sont exactement les neurones, demandez-vous ?
En termes simples, un neurone n'est qu'un concept singulier. Une tasse, la couleur blanche, le thé -, la sensation de brûlure de toucher une tasse chaude, pratiquement n'importe quoi. Tous ces éléments sont des neurones possibles. Tous peuvent être connectés, et la force de leur connexion est déterminée par la valeur de leur synapse. Plus la valeur est élevée, meilleure est la connexion. Voyons une connexion de réseau neuronal de base pour vous faire mieux comprendre :
Les réseaux de neurones pour les nuls - Un guide complet UpGrad Blog
Chaque neurone est le nœud et les lignes qui les relient sont des synapses. La valeur synapse représente la probabilité qu'un neurone soit trouvé à côté de l'autre. Donc, il est assez clair que le diagramme montré dans l'image ci-dessus décrit une tasse contenant du café, qui est de couleur blanche et extrêmement chaud.
Génération de langage naturel : ce que vous devez savoir

Toutes les tasses n'ont pas les propriétés comme celle en question. Nous pouvons connecter de nombreux autres neurones à la tasse. Le thé, par exemple, est probablement plus courant que le café. La probabilité que deux neurones soient connectés est déterminée par la force de la synapse qui les relie. Plus le nombre de tasses chaudes est élevé, plus la synapse est forte.
Cependant, dans un monde où les tasses ne sont pas utilisées pour contenir des boissons chaudes, le nombre de tasses chaudes diminuerait considérablement. Incidemment, cette diminution entraînerait également une baisse de la force des synapses reliant les tasses à la chaleur.
Alors,
Les réseaux de neurones pour les nuls - Un guide complet UpGrad Blog
Devient

Cette description petite et apparemment sans importance d'une tasse représente la construction de base des réseaux de neurones .
Nous touchons une tasse posée sur une table — nous constatons qu'elle est chaude. Cela nous fait penser que toutes les tasses sont chaudes. Puis, on touche un autre mug – cette fois, celui qui est resté sur l'étagère – il n'est pas chaud du tout. Nous concluons que les tasses dans l'étagère ne sont pas chaudes. Au fur et à mesure que nous grandissons, nous évoluons.
Notre cerveau absorbe des données depuis tout ce temps. Ces données lui permettent de déterminer une probabilité précise quant à savoir si la tasse que nous allons toucher sera chaude ou non. Les réseaux de neurones apprennent exactement de la même manière.
Parlons maintenant un peu du premier et du plus basique modèle de réseau de neurones : Le Perceptron !

Qu'est-ce qu'un perceptron ?

Un perceptron est le modèle le plus basique d'un réseau de neurones. Il prend plusieurs entrées binaires : x1, x2, …, et produit une seule sortie binaire.
Les réseaux de neurones pour les nuls - Un guide complet UpGrad Blog
Comprenons mieux le réseau de neurones ci-dessus à l'aide d'une analogie.
Supposons que vous vous rendiez au travail à pied. Votre décision d'aller au travail dépend principalement de deux facteurs : la météo et le fait que ce soit un jour de semaine ou non. Le facteur météo est encore gérable, mais travailler le week-end est un grand non ! Puisque nous devons travailler avec des entrées binaires, proposons les conditions sous forme de questions oui ou non. Est-ce qu'il fait beau? 1 pour oui, 0 pour non. Est-ce un jour de semaine ? 1 oui, 0 non.
Un guide du débutant pour la compréhension du langage naturel

N'oubliez pas que nous ne pouvons pas dire explicitement au réseau neuronal ces conditions ; il devra les apprendre par lui-même. Comment décidera-t-il de la priorité de ces facteurs lors de la prise de décision ? En utilisant ce qu'on appelle des "poids". Les pondérations ne sont qu'une représentation numérique des préférences. Un poids plus élevé fera que le réseau de neurones considérera cette entrée comme une priorité plus élevée que les autres. Ceci est représenté par w1, w2… dans l'organigramme ci-dessus.
"D'accord, tout cela est assez fascinant, mais où les réseaux de neurones trouvent-ils du travail dans un scénario pratique ?"

Applications réelles des réseaux de neurones

Si vous ne l'avez pas encore compris, alors voilà, un réseau de neurones peut à peu près tout faire tant que vous êtes en mesure d'obtenir suffisamment de données et une machine efficace pour obtenir les bons paramètres. Tout ce qui nécessite un apprentissage automatique, même à distance, se tourne vers les réseaux de neurones pour obtenir de l'aide. L'apprentissage en profondeur est un autre domaine qui utilise largement les réseaux de neurones. C'est l'un des nombreux algorithmes d'apprentissage automatique qui permettent à un ordinateur d'effectuer une pléthore de tâches telles que la classification, le regroupement ou la prédiction.

  • Avec l'aide de réseaux de neurones , nous pouvons trouver la solution de tels problèmes pour lesquels une méthode algorithmique traditionnelle est coûteuse ou n'existe pas.
  • Les réseaux de neurones peuvent apprendre par l'exemple, par conséquent, nous n'avons pas besoin de le programmer dans une large mesure.
  • Les réseaux de neurones sont précis et nettement plus rapides que les vitesses conventionnelles.
Gardez un œil sur la prochaine grande chose : l'apprentissage automatique

Pour les raisons mentionnées ci-dessus et bien d'autres, Deep Learning, en utilisant les réseaux de neurones , trouve une large utilisation dans les domaines suivants :

  • Reconnaissance vocale : Prenons l'exemple d' Amazon Echo Dot , des haut-parleurs magiques qui vous permettent de commander de la nourriture, d'obtenir des actualités et des mises à jour météorologiques, ou simplement d'acheter quelque chose en ligne simplement en le parlant.
  • Reconnaissance de l' écriture manuscrite : les réseaux de neurones peuvent être formés pour comprendre les schémas de l'écriture manuscrite de quelqu'un. Jetez un coup d'œil à l' application de saisie d'écriture manuscrite de Google, qui utilise la reconnaissance de l'écriture manuscrite pour convertir de manière transparente vos gribouillis en textes significatifs.
  • Reconnaissance faciale : De l'amélioration de la sécurité de votre téléphone (Face ID) aux filtres Snapchat super cool , la reconnaissance faciale est partout. Si vous avez déjà téléchargé une photo sur Facebook et qu'on vous a demandé de taguer les personnes sur votre photo, vous savez ce qu'est la reconnaissance faciale !
  • Fournir de l'intelligence artificielle dans les jeux : si vous avez déjà joué aux échecs contre un ordinateur, vous savez déjà comment l'intelligence artificielle alimente les jeux et le développement de jeux. C'est dans la mesure où les joueurs utilisent l'IA pour améliorer leurs tactiques et essayer leurs stratégies de première main .

En conclusion…
Les réseaux de neurones constituent l'épine dorsale de presque toutes les grandes technologies ou inventions que vous voyez aujourd'hui. Il est juste de dire qu'il est presque impossible d' imaginer un apprentissage profond/machine sans réseaux de neurones . Selon la manière dont vous implémentez un réseau et le type d'apprentissage que vous mettez en pratique, vous pouvez accomplir beaucoup avec un réseau de neurones , par rapport à un système informatique traditionnel.

Apprenez des cours de ML dans les meilleures universités du monde. Gagnez des programmes de maîtrise, Executive PGP ou Advanced Certificate pour accélérer votre carrière.

En quoi le deep learning est-il différent des réseaux de neurones ?

L'apprentissage en profondeur est une branche de l'apprentissage automatique, tandis que les réseaux de neurones sont constitués de divers algorithmes d'apprentissage automatique. Alors que les réseaux de neurones utilisent des neurones pour transmettre des données sous forme de valeurs d'entrée et de sortie via des connexions, l'apprentissage en profondeur est associé à la transformation et à l'extraction de caractéristiques, qui vise ainsi à établir une relation entre les stimuli et les réponses neuronales correspondantes existant dans le cerveau.

Quelles sont les limites des réseaux de neurones ?

L'un des inconvénients de l'utilisation de réseaux de neurones est qu'une quantité massive de données est nécessaire, ce qui est l'un des inconvénients. De plus, par rapport aux techniques standard, l'utilisation de réseaux de neurones est coûteuse en calculs. Un problème majeur est que les réseaux de neurones ne fournissent pas une bonne explication des sorties qu'ils produisent. Cela peut être observé sur des sites comme Quora, où lorsque le compte d'un utilisateur est annulé, aucune explication claire ne peut être fournie quant à la raison pour laquelle la réponse fournie était incorrecte.

Comment l'ambiguïté est-elle gérée par l'apprentissage automatique ?

ML comprend un large éventail de types de données tels que des photos, des vidéos, des scripts, etc. Bien que difficiles, les algorithmes d'apprentissage automatique, comme le traitement du langage naturel et le séquençage de l'ADN, apportent des réponses à l'ambiguïté. L'ambiguïté ne sera réduite que si davantage de données de haute qualité sont utilisées. De plus, l'objectif ML idéalisé doit être exact et en phase avec les besoins du projet ML en question.