Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Comment effectuer une classification à l'aide d'un réseau de neurones :qu'est-ce que le Perceptron ?

Cet article explore la théorie de base et la structure d'une topologie de réseau neuronal bien connue.

Il s'agit du premier d'une série d'articles qui serviront de longue introduction à la conception, à la formation et à l'évaluation des réseaux de neurones. L'objectif est d'effectuer une classification complexe à l'aide d'un programme informatique Python qui implémente une architecture de réseau neuronal connue sous le nom de Perceptron multicouche.

Vous pouvez trouver le reste de la série Perceptron ici pour votre commodité :

  1. Comment effectuer une classification à l'aide d'un réseau de neurones :qu'est-ce que le perceptron ?
  2. Comment utiliser un exemple simple de réseau neuronal Perceptron pour classer des données
  3. Comment former un réseau de neurones Perceptron de base
  4. Comprendre la formation simple sur les réseaux neuronaux
  5. Une introduction à la théorie de la formation pour les réseaux de neurones
  6. Comprendre le taux d'apprentissage dans les réseaux de neurones
  7. Apprentissage automatique avancé avec le Perceptron multicouche
  8. La fonction d'activation sigmoïde :activation dans les réseaux de neurones Perceptron multicouches
  9. Comment former un réseau de neurones Perceptron multicouches
  10. Comprendre les formules d'entraînement et la rétropropagation pour les perceptrons multicouches
  11. Architecture de réseau neuronal pour une implémentation Python
  12. Comment créer un réseau de neurones Perceptron multicouche en Python
  13. Traitement du signal à l'aide de réseaux de neurones :validation dans la conception de réseaux de neurones
  14. Entraînement d'ensembles de données pour les réseaux de neurones :comment entraîner et valider un réseau de neurones Python

Qu'est-ce qu'un réseau de neurones ?

Les réseaux de neurones sont des outils de traitement du signal qui sont vaguement basés sur la structure du cerveau humain. Ils sont généralement associés à l'intelligence artificielle (IA). Je n'aime pas le terme « intelligence artificielle » car il est imprécis et réducteur. Si vous définissez « l'intelligence » comme la capacité d'effectuer rapidement des calculs numériques, alors les réseaux neutres sont définitivement une IA. Mais l'intelligence, à mon avis, est bien plus que cela - c'est le genre de chose que conçoit un système qui effectue rapidement des calculs numériques, puis écrit un article à ce sujet, puis réfléchit à la signification du mot « intelligence », puis se demande pourquoi les êtres humains créent des réseaux de neurones et écrivent des articles à leur sujet.

De plus, l'intelligence artificielle n'est pas artificielle. C'est très réel l'intelligence, car c'est un système mathématique qui fonctionne selon l'intelligence des êtres humains qui l'ont conçu.

Les réseaux de neurones sont des routines logicielles qui peuvent « apprendre » à partir de données existantes et résoudre efficacement des problèmes complexes de traitement du signal. Ils sont intéressants à étudier et à expérimenter, et dans certains cas, ils dépassent de loin les capacités des algorithmes «normaux». Cependant, ils n'élimineront pas la faim dans le monde, ils ne peuvent pas écrire de bonnes poésies, et je doute qu'ils conduisent un jour une voiture aussi prudemment qu'un être humain à la fois sobre et ne rédigeant pas de SMS.

Qu'est-ce que Perceptron ?

Un réseau de neurones Perceptron de base est conceptuellement simple. Il ne peut se composer que de deux nœuds d'entrée et d'un nœud de sortie reliés par des connexions pondérées :

La dimensionnalité des données d'entrée doit correspondre à la dimensionnalité de la couche d'entrée. Le terme "dimensionnalité" peut être un peu déroutant ici car la plupart des gens ne peuvent pas visualiser quelque chose avec plus de trois dimensions. Tout cela signifie vraiment que vos données d'entrée, par exemple un motif que vous souhaitez classer, sont un vecteur d'une longueur donnée et que votre couche d'entrée doit avoir un nœud pour chaque élément du vecteur. Donc, si vous essayez de classer un modèle représenté par une série de 20 points de données, vous avez un vecteur de 20 éléments et avez besoin de 20 nœuds d'entrée.

Un nœud de sortie génère des données qui intéressent le concepteur. Le nombre de nœuds de sortie dépend de l'application. Si vous souhaitez prendre une décision de classification oui/non, vous n'avez besoin que d'un seul nœud de sortie, même s'il existe des centaines de nœuds d'entrée. D'un autre côté, si l'objectif est de placer un vecteur d'entrée dans l'une des catégories possibles, vous aurez plusieurs nœuds de sortie.

Les données qui se déplacent d'un nœud à un autre sont multipliées par des poids. Ces valeurs scalaires ordinaires sont en fait la clé de la fonctionnalité du Perceptron :les poids sont modifiés au cours du processus d'apprentissage, et en ajustant automatiquement ses poids en fonction des modèles contenus dans les données d'apprentissage, le réseau acquiert la capacité de produire une sortie utile.

Que se passe-t-il à l'intérieur d'un nœud ? (AKA Comment fonctionnent les réseaux de neurones ?)

Les nœuds de la couche d'entrée ne sont que des points de connexion ; ils ne modifient pas les données d'entrée. La couche de sortie, ainsi que toutes les couches supplémentaires entre l'entrée et la sortie, contiennent les nœuds de calcul du réseau. Lorsque les données numériques arrivent aux nœuds de calcul, elles sont d'abord additionnées, puis elles sont soumises à une fonction « d'activation » :

Le concept d'activation renvoie au comportement des neurones (biologiques), qui communiquent via des potentiels d'action actifs ou inactifs; cela ressemble plus à un système numérique marche/arrêt qu'à un système analogique. Dans le contexte des réseaux de neurones (artificiels), les nœuds, également appelés neurones (artificiels), peuvent imiter le comportement neuronal en appliquant une fonction de seuil qui produit 1 lorsque l'entrée est supérieure au seuil et 0 sinon.

Le graphique suivant présente la relation entrée-sortie de la fonction d'activation de base « pas d'unité ».

En insérant cette transformation de seuil dans la propagation des données de nœud à nœud, nous introduisons une non-linéarité dans le système, et sans cette non-linéarité, la fonctionnalité d'un réseau de neurones est très limitée. La théorie ici est complexe, mais l'idée générale (je pense) est que les combinaisons de transformations linéaires, même si ces transformations linéaires se produisent de nombreuses fois, ne pourront jamais se rapprocher des relations qui caractérisent les phénomènes naturels complexes et les tâches sophistiquées de traitement du signal.

Malgré le fait que les vrais neurones fonctionnent selon une sorte de modèle marche/arrêt, l'approche par seuil de l'activation (artificielle) du réseau neuronal n'est pas optimale. Nous reviendrons sur ce sujet dans un prochain article.

Conclusion

Nous avons couvert les éléments les plus basiques du Perceptron, et dans le prochain article, nous rassemblerons ces pièces et verrons comment fonctionne un système rudimentaire.

Les réseaux de neurones sont un sujet vaste, et je vous préviens juste que cela pourrait être une longue série. Mais je pense que ce sera un bon.


Embarqué

  1. Qu'est-ce que le cloud computing et comment fonctionne le cloud ?
  2. Qu'est-ce que le micro-apprentissage ? Comment cela va changer le monde en 2021
  3. Comment l'écosystème du réseau change l'avenir de la ferme
  4. Qu'est-ce qu'un réseau intelligent et en quoi pourrait-il aider votre entreprise ?
  5. Qu'est-ce qu'une clé de sécurité réseau ? Comment le trouver ?
  6. Comment les fabricants utilisent l'automatisation pour gérer le boom du commerce électronique
  7. Quel est le rôle du vérin de positionnement ? Comment ça marche?
  8. Qu'est-ce qu'un compacteur et comment choisir le bon ?
  9. Quels sont les avantages de l'utilisation de tuyaux en fonte ductile ?