Des réseaux neuronaux artificiels
Comment fonctionne un réseau neuronal
artificiel ?
Comment fonctionne son processus d’apprentissage
?
Le rêve que portaient à proprement parler les concepteurs d’ ordinateurs
à capacité élevée n’était pas celui de la
calculatrice surdouée que nous connaissons aujourd’hui, mais une réplique
de l’intelligence humaine. Si les développeur de telle machines rêvaient
de cette intelligence artificielle au cours de leur recherches, son développement
effectif, ne fut que le fruit d’erreurs et de contrecoups successifs. – La
fabrication d’intelligence polyvalente s’est avérée bien plus
difficile que ce que prévoyaient des années durant les scientifiques.
Dans des cas plus spécifiques il existe cependant entre-temps de bons
résultats. En particulier dans le domaine des réseaux neuronaux
artificiels qui ont trouvé leur place dans l’activité d’exploitation
de données.
Un ordinateur ordinaire nécessite des instructions bien précises
– Lorsque vous utilisez un programme, l’ordinateur travaille de façon
précise et à grande vitesse, étape par étape, mais
surtout sans tolérer d’erreur : il exploite les données
de manière digitale, à l’aide des valeurs zéro et un, oui
et non, sans possibilité supplémentaire.
Un réseau neuronal artificiel, lui, travaille différemment :
il est conçu à l’image d’un cerveau, du système nerveux.
A la place d’un programme, il dispose d’une structure de cellules (en
biologie :Neurones) et de connexions entre celle-ci (en biologie :
Synapses). Comme dans un cerveau humain, il existe un domaine qui « perçoit » :
ce que les organes sensoriels livrent au cerveau chez l’Homme, les dénommées
« neurones d’entrée » occupent la même fonction
dans un réseau neuronal artificiel. Dans ce que l’on nomme des couches
dissimulées, se trouvent des cellules nerveuses semblables de par leur
fonction à celles de notre matière grise où ont lieu l’apprentissage
et l’exploitation par « la perception des sens ». De l’autre
côté, il existe dans un réseau neuronal artificiel un « neurone
de sortie » – ce que l’on appèle la « bouche » du
système, qui fournit le résultat. Ainsi, au contraire de l’ordinateur
classique, le réseau neuronal artificiel est tolérant quant aux
erreurs et peut finalement prendre des décisions selon un choix tendant
vers l’infini et non binaire. Ainsi les réseaux neuronaux artificiels
sont aujourd’hui utilisés à différents niveaux pour la
reconnaissance de structures, comme par exemple pour reconnaître les visages :
submergé d’images, c’est à lui de décider si une image
jusque là inconnue lui est familière – comme lorsque nous reconnaissons
d’anciens amis dans la rue, même si nous les avons vus il y a plusieurs
années pour la dernière fois avec une autre coiffure .
Evidemment le réseau neuronal est beaucoup plus petit que le cerveau
– il ne peut donc travailler et n’exploiter qu’une seule tâche à
la fois. C’est pourquoi nous avons recours au Distributed Computing, cela nous
permet de répartir de nombreuses tâches entre nos membres afin
d’atteindre la diversité nécessaire aux estimations boursières.
Comment le RNA fonctionne – Exploitation d’informations
Chaque neurone (cellule nerveuse) des couches dissimulées et chaque
connexion (Synapse) reçoit au départ une valeur nominale au hasard.
Dans le cadre de neurones, on parlera de valeurs seuil et dans celui
des synapses on utilisera le terme de pondérations. Les neurones
d’entrées reçoivent les cours d’entrée sous forme de valeurs.
Les neurones reçoivent ensuite par le biais des connexions une information
qui ne sera retransmise qu’à condition que la valeur soit plus élevée
que la valeur seuil du neurone. On dira alors que le neurone « propage ».
Les réseaux neuronaux artificiels (RNA) de MoneyBee®
sont appliqués aux cours boursiers. Aux neurones d’entrée (« organes
de sens ») de nos réseaux nous appliquons une centaine de données
boursières différentes comme valeurs. Celles-ci sont fournies
dans les couches dissimulées : à travers le poids des connexions
et les valeurs seuil, elles influenceront le contenu d’information des neurones
se trouvant entre elles et les neurones de sorties. Les informations circulent
donc des neurones d’entrée vers les neurones de sortie à travers
le réseau (« Forward Propagation »).
Les neurones d’entrée reçoivent jour par jour une sorte de rapport
de situation de la Bourse. Le réseau enregistre ses expériences
sous forme de pondérations et de valeurs seuils puis recommence la procédure
– il s’agit d’une observation répétitive d’un millier de données
boursières jusqu’à reconnaissance de structures précises
parmi ces données enregistrées comme valeurs des neurones et des
connexions.
Dans l’ensemble, le RNA travaille comme un être humain qui suit les cours
boursiers : il observe les données boursières, les évalue
et apprend du passé. Il essaye ensuite d’adapter ses expériences
à l’avenir – le réseau neuronal artificiel contrairement à
l’Homme ne sait pas ce que signifient des données telles que Dollar,
Dax, Nemax, Dow Jones – dans la mesure où il ne s’agit pour le réseau
que de valeurs nominales. Ainsi il est incorruptible et sincère dans
l’annonce de ses pronostics, puisqu’il ne peut exister d’arrière-pensée
ou d’imagination susceptible de falsifier l’analyse. Mais pour cela le réseau
neuronal artificiel a besoin d’une méthode d’apprentissage précise.
Comment le RNA travaille – Le processus d’apprentissage
Tant que le réseau neuronal n’apprend pas, les pronostics sont mauvais
– en effet les valeurs seuils et les pondérations ont au départ
été choisies par hasard. Désormais l’apprentissage du réseau
neuronal a lieu et l’algorithme d’apprentissage modifiera les pondérations
et les valeurs seuils en considérant la valeur effective du pronostic.
Il s’agit donc d’une sorte d’apprentissage surveillé où le « professeur »
(les programmateurs de MoneyBee®)
connaît le résultat initial (cours historiques) et les présente
après calculs pour comparaison à son « élève »(le
réseau neuronal). Ces deux valeurs sont finalement censées être
le plus proche possible l’une de l’autre – la différence doit être
minimisée. C’est la base du processus d’apprentissage à proprement
parler : la méthode dite de « Error Backpropagation »
qui a été développée en 1984. Le message d’erreur
se reproduit de manière opposée à l’information, donc
à reculons, en partant des neurones de sorties vers les neurones d’entrée
et en améliorant les pondérations et les valeurs seuils.
Cette procédure se succèdera continuellement en
utilisant une structure (composition de données) différente à
chaque fois. Une structure complète se compose des informations d’entrée
(cotations) et du résultat des cours déjà connu. Un cycle
s’achève une fois que tous les échantillons ont été
testés (cf. graphique alvéole du bas à gauche).
La chronologie des structures à l’intérieur d’un cycle est choisie
de façon aléatoire.
L’apprentissage est interrompu si un nombre déterminé de cycles
est atteint ou si une durée déterminée de calcul n’apporte
aucune amélioration du réseau, ce que l’on distingue lorsque plusieurs
cycles successifs n’ont pas apporté d’amélioration (cf. courbe
d’apprentissage, graphique alvéole du haut à gauche). L’apprentissage
est alors achevé et le réseau est prêt pour les vrais pronostics,
c’est-à-dire ceux se référant à l’avenir. Pour cela,
il suffit de l’alimenter de nouvelles données telles que les cours boursiers
qui s’étendent jusqu’à ce jour. La procédure de propagation
avancée est alors employée et l’on obtient immédiatement
les pronostics souhaités – les réseaux neuronaux artificiels nécessitent
beaucoup de temps durant l’apprentissage mais le calcul lui-même est nettement
plus rapide. C’est au professeur cette fois d’attendre le dépassement
de la période de pronostic avant d’examiner son élève et
de pouvoir seulement déterminer la qualité du pronostic. Ces données
sont alors publiées sur www.moneybee.fr
- une visite régulière sur nos pages peut donc être très
intéressante .
Bien sûr l’ordinateur individuel ne possède pas de neurones – ils sont
stimulés par les programmes traditionnels. Il faut s’imaginer un tableau
où les valeurs s’influencent mutuellement selon un algorithme complexe – soit
une matrice complexe en mesure d’apprendre.
|