Réseaux de neurones - À quoi ressemble l'avenir de l'intelligence artificielle ?

Publié: 2020-01-14

Que sont les réseaux de neurones ?

Inspiré des réseaux de neurones biologiques, ce système informatique « apprend » à effectuer diverses tâches en prenant en considération certains exemples, généralement sans être programmé avec des règles spécifiques à la tâche.
Les réseaux de neurones sont une unité fonctionnelle d'apprentissage en profondeur et s'inspirent de la structure du cerveau humain. Cependant, les réseaux de neurones artificiels les plus récents sont des unités fonctionnelles d'apprentissage en profondeur.

Les réseaux de neurones
Fig.1 : Réseau de neurones

Par exemple, dans la reconnaissance d'images, comme l'identification d'une image de chat.
Les systèmes informatiques pourraient apprendre à identifier des images qui contiennent des chats en analysant des exemples d'images qui ont été manuellement étiquetées comme "chat" ou "pas de chat". En utilisant les résultats pour identifier les chats dans d'autres images, ils sont capables d'apprendre à identifier l'image réelle. Ils le font sans aucune connaissance préalable des chats ou de leurs caractéristiques, par exemple, qu'ils ont de la fourrure, des queues, des moustaches et des visages de chat.

Réseau de neurones - Identification de chat

Fig 2: Identification du chat

L'apprentissage en profondeur utilise des réseaux de neurones artificiels qui imitent le comportement du cerveau humain pour résoudre des problèmes complexes liés aux données. L'apprentissage en profondeur fait lui-même partie de l'apprentissage automatique qui relève du grand parapluie de l'intelligence artificielle (IA).
Apprentissage automatique - Application de l'intelligence artificielle (IA), l'apprentissage automatique permet aux systèmes d'apprendre et de s'améliorer automatiquement à partir de l'expérience sans être explicitement programmé. L'apprentissage automatique se concentre sur le développement de programmes informatiques qui peuvent accéder aux données et les utiliser pour apprendre par eux-mêmes.
Le processus d'apprentissage commence lorsqu'ils commencent à observer les données, telles que des exemples, une expérience directe ou des instructions, afin de rechercher des modèles qui les aident à prendre de meilleures décisions à l'avenir. L'objectif principal est de permettre aux ordinateurs d'apprendre automatiquement sans intervention ou assistance humaine et d'ajuster leurs actions en conséquence.
Apprentissage profond – L'apprentissage profond (également appelé apprentissage profond structuré ou apprentissage hiérarchique) fait partie d'une famille plus large de méthodes d'apprentissage automatique basées sur des réseaux de neurones artificiels. Sous Deep Learning, le processus d'apprentissage peut être supervisé, semi-supervisé ou non supervisé. L'apprentissage en profondeur est une classe d'algorithmes d'apprentissage automatique qui utilise plusieurs couches pour extraire progressivement des fonctionnalités de niveau supérieur à partir de l'entrée brute.
Par exemple, dans le traitement d'images, les couches inférieures peuvent identifier les contours, tandis que les couches supérieures peuvent identifier les concepts pertinents pour un humain, tels que les chiffres, les lettres ou les visages.

Structure du réseau de neurones

Structure du réseau de neurones

Les réseaux de neurones sont constitués de neurones, qui constituent l'unité de traitement centrale du réseau. Les réseaux de neurones sont essentiellement constitués de 3 couches différentes, à savoir la couche d'entrée, la couche cachée et la couche de sortie.
La couche d'entrée est la couche où l'entrée est transmise au réseau. La couche de sortie utilise la sortie de cette couche cachée particulière, où la plupart des calculs ont lieu. Ceci est associé à une valeur numérique appelée biais, qui est ensuite ajoutée à la somme d'entrée qui est transmise à la fonction de seuil appelée fonction d'activation.
La fonction d'activation détermine si un neurone particulier doit être activé ou non. Le neurone activé transmet les données à la couche suivante.
Un canal se connecte entre ces neurones.

Fonctionnement des réseaux de neurones avec exemple

Étapes de base :

  1. Nos neurones d'entrée représentent une entrée, basée sur les informations que nous essayons de classer.
  2. Chaque nombre dans les neurones d'entrée se voit attribuer un poids à chaque synapse (canal).
  3. À chaque neurone de la couche suivante, nous ajoutons les sorties de toutes les synapses arrivant à ce neurone avec un biais et appliquons une fonction d'activation (généralement une fonction sigmoïde) à la somme pondérée (cela fait que le nombre se situe entre 0 et 1).
    Somme d'entrée = (w1*x1) + (w1*x2) + (w1*x3) + b1 calculé pour chaque entrée de neurone
  4. La sortie de cette fonction sera traitée comme l'entrée de la prochaine couche de synapse
  5. Continuez jusqu'à ce que vous atteigniez la sortie.

Prenons l'exemple de la classification d'une feuille telle que feuille normale ou feuille défectueuse.
Ici, nous fournissons une image de feuille à notre système pour la classer en fonction de son état.
L'image est divisée en morceaux en fonction de sa dimension, par exemple, si sa hauteur et son poids sont de 28 pixels, elle est divisée en 28 x 28 pixels sur 784 pixels et envoyée à la couche d'entrée. Mais dans ce cas, c'est 30px de largeur et 900px de hauteur, qui sont transmis à la couche d'entrée.

Neurone

Le neurone d'une couche est connecté à une autre couche avec un poids aléatoire qui est utilisé pour calculer la somme. La somme d'entrée d'une couche est envoyée à la couche suivante (couche cachée) et chaque couche cachée est associée à une valeur numérique qui est ajoutée à la somme d'entrée.
La fonction d'activation décide quel neurone sera activé et quel que soit le neurone activé, cette valeur de neurone est transmise à la couche suivante. C'est ce qu'on appelle la propagation vers l'avant.

neurone avec une valeur plus élevée

Dans la couche de sortie, le neurone avec une valeur plus élevée détermine la sortie. La valeur est fondamentalement la valeur de probabilité. Si la valeur de probabilité la plus élevée prédit une sortie erronée, le réseau doit encore être formé. Dans ce cas, elle est déterminée comme une feuille défectueuse, elle doit donc être entraînée, après quoi la détection/classification peut être effectuée.

Neural

La rétropropagation est effectuée pour prédire la sortie correcte, qui est basée sur une valeur prédite. Ceci est comparé à la sortie réelle. Des poids sont attribués de manière itérative jusqu'à ce qu'ils prédisent correctement la feuille. Le poids est ensuite réinitialisé pour minimiser l'erreur.

Sortie du réseau neuronal


Après avoir réinitialisé le poids, sur la base de la différence d'erreur de la valeur prédite, nous avons obtenu le résultat exact comme une feuille normale.

Certaines des applications du réseau de neurones

  1. Google Traduction
  2. Reconnaissance de visage
  3. Voitures autonomes
  4. Détection d'objets
  5. Composition musicale
  6. Reconnaissance de la parole
  7. Vérification orthographique
  8. Reconnaissance de caractères


Avantages

  • Lorsque l'élément du réseau de neurones échoue, il peut continuer sans aucun problème à l'aide de la nature parallèle.
  • Les réseaux de neurones apprennent et n'ont pas besoin d'être reprogrammés.
  • Il peut être implémenté dans n'importe quelle application.
  • Les réseaux de neurones effectuent des tâches qu'un programme linéaire ne peut pas effectuer.

Désavantages

  • Les réseaux de neurones ont besoin d'être entraînés pour fonctionner.
  • Nécessite un temps de traitement élevé pour les grands réseaux de neurones.
  • Quantité de données.