Programmer des neurones

Roa Zubia, Guillermo

Elhuyar Zientzia

Pour effectuer des opérations mathématiques, l'ordinateur est plus rapide que le cerveau; il peut faire des millions de calculs pour commencer à calculer le cerveau. Mais la vitesse de calcul n'est pas la seule chose que vous recherchez sur une machine, mais aussi le type de travail que vous pouvez effectuer. Pour un ordinateur, presque tout travail nécessitant une abstraction est très difficile. Connaître un visage, par exemple. Difficile, mais pas impossible; si l'ordinateur fonctionne comme un cerveau, les choses changent.
Programmer des neurones
01/12/2007 Roa Zubia, Guillermo Elhuyar Zientzia Komunikazioa
(Photo: G. Roa)

Il y a douze ans, en 1995, une voiture conduite par ordinateur a traversé les États-Unis. Au total 9.600 kilomètres. No hands across America est le nom de l'aventure, car le but était de conduire sans les mains. La voiture n'était pas sans conducteur, car une personne accélérait et freinait. Cependant, en supprimant les deux, tout le reste faisait la plate-forme de navigation appelée PANS ( Portable Avanced Navigation Suport ), un ensemble d'ordinateurs, GPS et autres systèmes. Depuis, le monde des voitures robotiques sans conducteur a beaucoup progressé, mais pas tant au niveau du logiciel. Les voitures robotiques d'aujourd'hui utilisent un logiciel similaire à celui qui avait intégré le système PANS, programmes qui permettent aux ordinateurs de simuler le fonctionnement d'un cerveau.

Le cerveau fonctionne par des neurones reliant des millions de petites unités. Séparément, les neurones ne sont pas très puissants, ils reçoivent de petits signaux électriques, les changent légèrement et les envoient. Mais, par équipes, les neurones sont très puissants, parce que ces petites unités simples sont organisées dans un grand réseau sophistiqué.

Chaque neurone reçoit des signaux d'autres milliers de neurones. Vous décidez si vous envoyez le signal vers l'avant, et si la réponse est affirmative, placez-la sur le signal et l'envoyez à d'autres milliers de neurones. Ce fonctionnement donne une énorme capacité au réseau neuronal, qui comprend des œuvres abstraites.

Neurones informatiques

Une des méthodes les plus connues pour qu'un ordinateur ait l'intelligence est de créer un réseau de petites unités de calcul. Il est généralement fait au niveau du logiciel, appelé réseau neuronal.
G. Roa

Le réseau neuronal peut être simulé par un ordinateur. De nombreuses petites unités de calcul peuvent être définies et connectées entre elles. En fournissant des données à certains d'entre eux, vous pouvez démarrer le réseau et obtenir le résultat du travail à travers les neurones de sortie. En fait, les informaticiens appellent des réseaux neuronaux aux programmes informatiques qui fonctionnent de cette façon et les classent en intelligence artificielle. Les réseaux neuronaux ne sont pas la seule façon de créer l'intelligence artificielle, mais l'un des plus importants.

Dans la plupart des définitions de l'intelligence artificielle, des verbes apparaissent comme argumenter, raisonner, interpréter, apprendre. La question est de savoir comment un ordinateur peut faire ces choses. Bien sûr, il fabrique des cerveaux à travers des millions de neurones et de connexions. Mais concevoir un tel système sur l'ordinateur est impossible, même si le nombre de neurones simulés est beaucoup plus faible. Par exemple, que doit faire chaque neurone dans le réseau pour savoir qu'un robot paysan est temps de ramasser des tomates? Personne ne connaît la réponse, mais cela n'a pas d'importance. Et c'est qu'un réseau neuronal informatique ne sait pas comment le travail est fait. Vous devez apprendre.

Le programmeur fournit au réseau une structure initiale qui l'intègre dans une phase de formation. Pour cela, il vous donne un problème et, avec l'approche du problème, la solution correcte de celui-ci. Le réseau analyse le problème et apporte une solution qui contraste avec celle fournie par l'ordinateur et adapte l'activité de chaque neurone pour ajuster correctement la solution qui obtient tout le réseau. Essayez à nouveau, si le programme est bien fait, la deuxième session approchera la solution du réseau et la bonne solution. Il va de nouveau comparer les deux solutions, reconditionner le travail des neurones et réessayer. De cette façon, jusqu'à obtenir une solution correcte.

Ce système d'apprentissage semble un piège, car il vous donne la solution que vous devriez obtenir. Mais le cerveau fait de même. Les êtres humains, par exemple, apprennent à lire ou à connaître un visage de cette façon: encore et encore après avoir vu la solution. La connaissance des visages est un bon exemple; les enfants nouveau-nés passent des mois à apprendre à connaître les visages de leurs parents, ce qui nécessite un niveau minimal d'abstraction. Et si le père ou la mère d'un enfant de six mois change d'aspect (coupe de cheveux, par exemple), il est possible que l'enfant ait de grandes difficultés à connaître son visage.

Entrée et sortie

Le logiciel qui scanne les textes et reconnaît les caractères est aujourd'hui habituel. Il est basé sur des réseaux neuronaux.
G. Roa

Pour faire apprendre au réseau, en définitive, il faut se mettre en marche. Vous devez donner un input, saisir des données. Ces données ne parviennent pas directement à tous les neurones, sont prises, traitées et transmises par quelques-uns aux neurones auxquels ils sont connectés. Les données sont transmises en neurone comme un signal électrique pour atteindre les neurones de sortie. Ces derniers neurones fournissent un output.

Input et output; l'ancien dogme de l'informatique. Les deux sont nécessaires. Ils sont des composants indispensables du réseau neuronal. Le réseau le plus simple possible aurait un neurone unique qui recueillerait un input simple et, transformé, donnerait un output simple. Pour traiter un seul neurone et une seule donnée. Un tel réseau n'apprendrait pas beaucoup. Même pour apprendre à effectuer des opérations logiques simples, un réseau a besoin de quelques neurones.

Dans l'opération appelée XOR, par exemple, deux données, des zéros ou un sont inclus ; lorsque les deux données sont unitaires, le résultat de l'opération est également un, et si vous avez un zéro, le résultat de l'opération est zéro. Il s'agit d'une opération très simple, mais il faut cinq neurones pour qu'un réseau apprenne à le faire : deux neurones pour recueillir les données de l'input, une autre pour l'output final et deux autres neurones intermédiaires.

Couches

Le plus grand développement des réseaux neuronaux l'ont fait avec des ordinateurs il y a vingt ans. Ce type de programmation continue d'évoluer, mais plus lentement.
Fichier de fichier

Les neurones intermédiaires sont nécessaires pour effectuer des travaux intermédiaires. Et si tous ces travaux intermédiaires ne sont pas similaires, chaque travail est fait par un groupe de neurones. C'est pourquoi les informaticiens les organisent par couches. Dans la première couche, vous trouverez les neurones qui reçoivent l'entrée, puis vous trouverez la première couche intermédiaire lorsque nécessaire, puis toutes les couches intermédiaires suivantes dans l'ordre et enfin la couche neuronale qui donne la sortie.

Le signal effectue ce voyage, de l'entrée à la sortie, sur une voie déterminée par les connexions. Il peut s'agir d'un chemin direct ou qui transmet le signal des dernières couches aux initiales, la structure des connexions dépendra du travail. Et des structures très complexes peuvent faire des œuvres très abstraites.

Le cerveau fonctionne de la même manière : il y a des neurones qui reçoivent l'entrée (vu, entendu, etc.) ), certains groupes neuronaux sont activés pour chaque type de travail et d'autres qui provoquent la sortie (réaction). Mais le cerveau est beaucoup plus complexe que les réseaux neuronaux informatiques. Entre autres choses, le nombre de neurones et de connexions augmente à mesure que vous apprenez, au moins au début de la vie.

Essai et erreur

Plus le travail est abstrait, plus le réseau qui apprend à le faire est complexe. Il semble impossible, par exemple, de concevoir un réseau neuronal qui sépare les lettres imprimées (caractères). Mais ces réseaux sont habituels: Ils sont appelés logiciels OCR. Comment les informaticiens les ont-ils conçus ? Comment avez-vous connu le nombre de neurones à utiliser, le nombre de couches à organiser et les connexions à établir ?

Connaître les visages est un travail abstrait et difficile, tant pour l'ordinateur que pour le cerveau biologique.
G. Roa

La réponse est simple: au début, ils ne savaient pas. Pour effectuer ce type de travail, choisissez un réseau neuronal initial qui vous fera apprendre. Il est très possible que le réseau ne puisse pas apprendre, qu'il ne reste pas une fois lancé ou qu'il donne des résultats insensés. Dans ces cas, ils ajustent le réseau, en ajoutant ou en supprimant des neurones, en restructurant le réseau lui-même ou en modifiant la transformation que réalise chaque neurone. Et ils retestent.

Enfin, quand il est capable d'apprendre le réseau, il est prêt à travailler dans le «monde réel». Et puis il faudra aussi ajuster le travail du réseau, car le processus d'apprentissage se fait à travers des exemples concrets. Et le monde réel a beaucoup de cas différents.

Travail neuronal et perceptions
Dans le cerveau, la fonction des neurones est la collecte et l'émission de signaux. Un seul neurone reçoit des milliers de signaux des milliers de connexions qui lui parviennent. Mais tous ces signaux n'ont pas la même importance pour moi, certains ont une plus grande influence sur le signal de sortie que d'autres. En fin de compte, en combinant tous les effets, le neurone génère un signal de sortie qui envoie des milliers de neurones.
(Photo: Fichier)
En informatique, la même chose. Chaque neurone doit peser sur chacun des signaux qu'il reçoit (le poids, weight en anglais, est une mesure de l'impact sur le signal de sortie). Une des clés du processus d'apprentissage est l'ajustement de ces poids. Les fonctions mathématiques sont l'un des principaux facteurs que les informaticiens doivent travailler pour que le réseau neuronal réussisse.
On le voit facilement dans des réseaux très simples, comme les perceptions. À l'époque où ils ont été inventés, les perceptrons étaient des systèmes à un seul neurone. Ils avaient beaucoup d'entrées, mais une sortie. En fait, cette sortie était le numéro 0 ou le numéro 1 en fonction des valeurs de l'entrée et du poids de ces valeurs. Par la suite, ils ont vu que les perceptions avaient une capacité d'apprentissage très limitée. Ainsi, les perceptions actuelles ont plus de neurones organisés en couches.
Pourquoi ?
L'informatique manque beaucoup pour transformer l'ordinateur en cerveau. Jusqu'à il y a deux décennies, l'idée était révolutionnaire et depuis lors on a progressé lentement. Ainsi, les réseaux neuronaux et l'intelligence artificielle sont peu mentionnés par les grands politiciens et entrepreneurs d'aujourd'hui. Cependant, ils ont pris part à la technologie.
Le système de lecture de textes et de reconnaissance de lettres est un exemple typique. Le terme anglais Optical Character Recognition est appelé système OCR. Il est basé sur un réseau neuronal. Mais les exemples ne se limitent pas aux applications habituelles.
(Photo: Fichier)
Très utilisé dans la recherche. De nombreux programmes d'étude de données cristallographiques de protéines, par exemple, sont des réseaux neuronaux. De nombreux programmes qui contrôlent des systèmes complexes utilisés en génie chimique, en général de nombreux systèmes informatisés de contrôle industriel.
Les réseaux neuronaux ont été employés pour faire des prévisions. En météorologie et en climatologie, par exemple, pour faire des prédictions à court et à long terme, respectivement. En économie, également dans le monde de l'investissement. Dans les prédictions des jeux, par exemple dans les programmes qui jouent aux échecs.
Les réseaux neuronaux peuvent être appliqués presque partout. Un cas curieux : des chercheurs australiens ont élaboré un réseau neuronal qui analyse les sons de ces animaux pour suivre par ordinateur les phases d'alimentation des moutons.
Pont Roa, Guillaume
Services
237
2007 2007 2007 2007
Description du produit Description
033 033
Intelligence artificielle; programmation; logiciel
Article 5 Article 1 Article 1 Article 1
Services
Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila