Intelligence artificielle - Réseaux de neurones

Encore un autre domaine de recherche en IA, les réseaux neuronaux, est inspiré du réseau neuronal naturel du système nerveux humain.

Que sont les réseaux de neurones artificiels (RNA)?

L'inventeur du premier neuro-ordinateur, le Dr Robert Hecht-Nielsen, définit un réseau neuronal comme -

"... un système informatique composé d'un certain nombre d'éléments de traitement simples et hautement interconnectés, qui traitent les informations par leur réponse d'état dynamique aux entrées externes."

Structure de base des ANN

L'idée des RNA est basée sur la conviction que le fonctionnement du cerveau humain en établissant les bonnes connexions peut être imité en utilisant du silicium et des fils comme vivant. neurons et dendrites.

Le cerveau humain est composé de 86 milliards de cellules nerveuses appelées neurons. Ils sont connectés à d'autres milliers de cellules par Axons.Les stimuli de l'environnement externe ou les apports des organes sensoriels sont acceptés par les dendrites. Ces entrées créent des impulsions électriques, qui voyagent rapidement à travers le réseau neuronal. Un neurone peut alors envoyer le message à un autre neurone pour gérer le problème ou ne pas l'envoyer.

Les ANN sont composés de plusieurs nodes, qui imitent les neuronsdu cerveau humain. Les neurones sont reliés par des liens et interagissent les uns avec les autres. Les nœuds peuvent prendre des données d'entrée et effectuer des opérations simples sur les données. Le résultat de ces opérations est transmis à d'autres neurones. La sortie à chaque nœud est appelée sonactivation ou node value.

Chaque lien est associé à weight.Les ANN sont capables d'apprendre, ce qui a lieu en modifiant les valeurs de poids. L'illustration suivante montre un simple ANN -

Types de réseaux neuronaux artificiels

Il existe deux topologies de réseau neuronal artificiel - FeedForward et Feedback.

FeedForward ANN

Dans ce ANN, le flux d'informations est unidirectionnel. Une unité envoie des informations à une autre unité dont elle ne reçoit aucune information. Il n'y a pas de boucles de rétroaction. Ils sont utilisés dans la génération / la reconnaissance / la classification de motifs. Ils ont des entrées et des sorties fixes.

FeedBack ANN

Ici, les boucles de rétroaction sont autorisées. Ils sont utilisés dans les mémoires adressables de contenu.

Fonctionnement des ANN

Dans les diagrammes de topologie représentés, chaque flèche représente une connexion entre deux neurones et indique la voie du flux d'informations. Chaque connexion a un poids, un nombre entier qui contrôle le signal entre les deux neurones.

Si le réseau génère une sortie «bonne ou souhaitée», il n'est pas nécessaire d'ajuster les poids. Cependant, si le réseau génère une sortie «médiocre ou indésirable» ou une erreur, alors le système modifie les pondérations afin d'améliorer les résultats ultérieurs.

Apprentissage automatique dans les ANN

Les RNA sont capables d'apprendre et doivent être formés. Il existe plusieurs stratégies d'apprentissage -

  • Supervised Learning- Il s'agit d'un enseignant plus érudit que l'ANN lui-même. Par exemple, l'enseignant fournit des exemples de données dont l'enseignant connaît déjà les réponses.

    Par exemple, la reconnaissance de motifs. L'ANN fait des suppositions tout en reconnaissant. Ensuite, l'enseignant fournit les réponses à l'ANN. Le réseau compare ensuite ses suppositions aux réponses «correctes» de l'enseignant et effectue des ajustements en fonction des erreurs.

  • Unsupervised Learning- Il est nécessaire lorsqu'il n'y a pas de jeu de données d'exemple avec des réponses connues. Par exemple, rechercher un motif masqué. Dans ce cas, le regroupement, c'est-à-dire la division d'un ensemble d'éléments en groupes selon un modèle inconnu, est effectué sur la base des ensembles de données existants présents.

  • Reinforcement Learning- Cette stratégie basée sur l'observation. L'ANN prend une décision en observant son environnement. Si l'observation est négative, le réseau ajuste ses poids pour pouvoir prendre une autre décision requise la prochaine fois.

Algorithme de propagation arrière

C'est l'algorithme de formation ou d'apprentissage. Il apprend par l'exemple. Si vous soumettez à l'algorithme l'exemple de ce que vous voulez que le réseau fasse, il change les poids du réseau afin qu'il puisse produire la sortie souhaitée pour une entrée particulière à la fin de la formation.

Les réseaux de propagation arrière sont idéaux pour les tâches simples de reconnaissance de formes et de mappage.

Réseaux bayésiens (BN)

Ce sont les structures graphiques utilisées pour représenter la relation probabiliste entre un ensemble de variables aléatoires. Les réseaux bayésiens sont également appelésBelief Networks ou Bayes Nets. Les BN raisonnent sur un domaine incertain.

Dans ces réseaux, chaque nœud représente une variable aléatoire avec des propositions spécifiques. Par exemple, dans un domaine de diagnostic médical, le nœud Cancer représente la proposition qu'un patient a un cancer.

Les arêtes reliant les nœuds représentent des dépendances probabilistes parmi ces variables aléatoires. Si sur deux nœuds, l'un affecte l'autre, ils doivent être directement connectés dans les directions de l'effet. La force de la relation entre les variables est quantifiée par la probabilité associée à chaque nœud.

Il y a une seule contrainte sur les arcs dans un BN que vous ne pouvez pas retourner à un nœud simplement en suivant des arcs dirigés. Par conséquent, les BN sont appelés graphes acycliques dirigés (DAG).

Les BN sont capables de gérer simultanément des variables à valeurs multiples. Les variables BN sont composées de deux dimensions -

  • Gamme de prépositions
  • Probabilité attribuée à chacune des prépositions.

Considérons un ensemble fini X = {X 1 , X 2 ,…, X n } de variables aléatoires discrètes, où chaque variable X i peut prendre des valeurs dans un ensemble fini, noté Val (X i ). S'il existe un lien dirigé de la variable X i vers la variable X j , alors la variable X i sera un parent de la variable X j montrant les dépendances directes entre les variables.

La structure de BN est idéale pour combiner les connaissances antérieures et les données observées. Le BN peut être utilisé pour apprendre les relations causales et comprendre divers domaines de problèmes et pour prédire les événements futurs, même en cas de données manquantes.

Construire un réseau bayésien

Un ingénieur du savoir peut construire un réseau bayésien. L'ingénieur des connaissances doit suivre un certain nombre d'étapes lors de sa création.

Example problem- Cancer du poumon. Un patient souffre d'essoufflement. Il rend visite au médecin, soupçonnant qu'il a un cancer du poumon. Le médecin sait qu'à l'exception du cancer du poumon, il existe diverses autres maladies possibles que le patient pourrait avoir comme la tuberculose et la bronchite.

Gather Relevant Information of Problem

  • Le patient est-il fumeur? Si oui, alors risque élevé de cancer et de bronchite.
  • Le patient est-il exposé à la pollution atmosphérique? Si oui, quelle sorte de pollution atmosphérique?
  • Prendre une radiographie positive indiquerait une tuberculose ou un cancer du poumon.

Identify Interesting Variables

L'ingénieur du savoir essaie de répondre aux questions -

  • Quels nœuds représenter?
  • Quelles valeurs peuvent-ils prendre? Dans quel état peuvent-ils être?

Pour l'instant, considérons les nœuds, avec seulement des valeurs discrètes. La variable doit prendre exactement une de ces valeurs à la fois.

Common types of discrete nodes are -

  • Boolean nodes - Ils représentent des propositions, prenant des valeurs binaires TRUE (T) et FALSE (F).

  • Ordered values- Un nœud Pollution peut représenter et prendre des valeurs de {faible, moyen, élevé} décrivant le degré d'exposition d'un patient à la pollution.

  • Integral values- Un nœud appelé Âge peut représenter l'âge du patient avec des valeurs possibles de 1 à 120. Même à ce stade précoce, des choix de modélisation sont en cours.

Nœuds et valeurs possibles pour l'exemple du cancer du poumon -

Nom du nœud Type Valeur Création de nœuds
Polution Binaire {FAIBLE, ÉLEVÉE, MOYENNE}
Fumeur Booléen {TRUE, FASLE}
Cancer du poumon Booléen {TRUE, FASLE}
Radiographie Binaire {Positif négatif}

Create Arcs between Nodes

La topologie du réseau doit capturer les relations qualitatives entre les variables.

Par exemple, qu'est-ce qui fait qu'un patient a un cancer du poumon? - Pollution et tabagisme. Ajoutez ensuite les arcs du nœud Pollution et du nœud Smoker au nœud Lung-Cancer.

De même, si le patient a un cancer du poumon, le résultat de la radiographie sera positif. Ajoutez ensuite les arcs du nœud Lung-Cancer au nœud X-Ray.

Specify Topology

De manière classique, les BN sont disposés de telle sorte que les arcs pointent de haut en bas. L'ensemble des nœuds parents d'un nœud X est donné par Parents (X).

Le nœud du cancer du poumon a deux parents (raisons ou causes): la pollution et le fumeur , tandis que le nœud fumeur est unancestordu nœud X-Ray . De même, la radiographie est un enfant (conséquence ou effets) du nœud du cancer du poumon etsuccessorde nœuds Fumeur et Pollution.

Conditional Probabilities

Maintenant, quantifiez les relations entre les nœuds connectés: cela se fait en spécifiant une distribution de probabilité conditionnelle pour chaque nœud. Comme seules les variables discrètes sont considérées ici, cela prend la forme d'unConditional Probability Table (CPT).

Tout d'abord, pour chaque nœud, nous devons examiner toutes les combinaisons possibles de valeurs de ces nœuds parents. Chacune de ces combinaisons est appelée uninstantiationde l'ensemble parent. Pour chaque instanciation distincte des valeurs du nœud parent, nous devons spécifier la probabilité que l'enfant prendra.

Par exemple, les parents du nœud Cancer du poumon sont Pollution et Tabagisme. Ils prennent les valeurs possibles = {(H, T), (H, F), (L, T), (L, F)}. Le CPT spécifie la probabilité de cancer pour chacun de ces cas comme <0,05, 0,02, 0,03, 0,001> respectivement.

Chaque nœud aura une probabilité conditionnelle associée comme suit -

Applications des réseaux de neurones

Ils peuvent effectuer des tâches faciles pour un humain mais difficiles pour une machine -

  • Aerospace - Avions de pilote automatique, détection des défauts des avions.

  • Automotive - Systèmes de guidage automobile.

  • Military - Orientation et direction de l'arme, suivi de cible, discrimination d'objet, reconnaissance faciale, identification de signal / image.

  • Electronics - Prédiction de séquence de code, disposition de la puce IC, analyse des pannes de puce, vision industrielle, synthèse vocale.

  • Financial - Évaluation immobilière, conseiller en prêts, filtrage hypothécaire, notation des obligations d'entreprise, programme de négociation de portefeuille, analyse financière d'entreprise, prédiction de la valeur de la devise, lecteurs de documents, évaluateurs de demandes de crédit.

  • Industrial - Contrôle des processus de fabrication, conception et analyse des produits, systèmes d'inspection de la qualité, analyse de la qualité du soudage, prédiction de la qualité du papier, analyse de la conception des produits chimiques, modélisation dynamique des systèmes de processus chimiques, analyse de la maintenance des machines, appels d'offres, planification et gestion de projets.

  • Medical - Analyse des cellules cancéreuses, analyse EEG et ECG, conception prothétique, optimiseur de temps de transplantation.

  • Speech - Reconnaissance vocale, classification vocale, conversion de texte en parole.

  • Telecommunications - Compression d'images et de données, services d'information automatisés, traduction en temps réel de la langue parlée.

  • Transportation - Diagnostic du système de freinage des camions, planification des véhicules, systèmes de routage.

  • Software - Reconnaissance de formes en reconnaissance faciale, reconnaissance optique de caractères, etc.

  • Time Series Prediction - Les ANN sont utilisés pour faire des prévisions sur les stocks et les calamités naturelles.

  • Signal Processing - Les réseaux neuronaux peuvent être formés pour traiter un signal audio et le filtrer de manière appropriée dans les aides auditives.

  • Control - Les ANN sont souvent utilisés pour prendre des décisions de direction de véhicules physiques.

  • Anomaly Detection - Comme les ANN sont experts dans la reconnaissance des modèles, ils peuvent également être formés pour générer une sortie lorsque quelque chose d'inhabituel se produit qui ne correspond pas au modèle.