L’intelligence artificielle pour les développeurs
By   |  October 01, 2015

L’intelligence artificielle a longtemps eu pour but de simuler l’intelligence humaine, et d’obtenir un système artificiel capable de réflexion, de prise de décision et d’apprentissage. Les chercheurs se sont donc assez rapidement intéressés au fonctionnement du cerveau pour le reproduire. C’est ainsi que les premiers neurones artificiels ont été définis par Mac Culloch et Pitts en 1943.

Aujourd’hui, on ne cherche plus à créer des cerveaux avec toutes leurs capacités, mais à avoir des systèmes pouvant résoudre certains problèmes complexes sur lesquels les systèmes classiques sont limités. C’est ainsi que sont nés les réseaux de neurones artificiels.

Ce chapitre commence par en expliquer les origines biologiques, en s’intéressant au fonctionnement des encéphales, et plus précisément aux neurones. Le neurone formel est ensuite présenté. Le perceptron, un des modèles les plus simples de réseaux, ainsi que son apprentissage sont expliqués.
Cependant, il est insuffisant pour résoudre de nombreux problèmes. Les réseaux de type “feed-forward”, plus puissants, sont alors présentés, avec en particulier les réseaux dits MLP (MultiLayer Perceptron) et RBF (Radial Basis Function).

Le chapitre continue avec une présentation des différentes formes d’apprentissage de ces systèmes. Enfin, d’autres types de réseaux et les principaux do­maines d’application sont exposés pour terminer cette partie théorique. Une implémentation d’un réseau MLP avec apprentissage est proposée en C#, ainsi que son application à deux problèmes différents. Une synthèse clôt ce chapitre.

Origine biologique
On sait depuis longtemps que la réflexion se fait grâce au cerveau. Celui-ci a donc été étudié assez tôt (dès le 18e siècle). Il existe des “cartes” du cerveau, indiquant ses principales structures et leurs rôles associés. Si tout n’est pas encore compris, on sait par exemple que le cervelet est très important pour la coordination des mouvements ou que l’hypo­thalamus gère des fonctions importantes comme le sommeil, la faim ou la soif.

Remarque : Contrairement à une idée reçue, que l’on retrouve même dans des films récents comme Lucy de Luc Besson sorti en 2014, on utilise bien 100 % de notre cerveau. Cependant, à un moment donné, seule une partie de celui-ci est mobilisée, en fonction des besoins. Une zone qui ne serait pas utilisée subirait une forte dégénérescence et disparaîtrait rapidement.

Les cellules les plus importantes du cortex cérébral sont les neurones. Ceux-ci sont très nombreux, vu que l’on en compte presque une centaine de mil­liards chez l’être humain. Ces cellules demandant énormément d’énergie et étant fragiles, elles sont protégées et nourries par les cellules gliales (90 % des cellules du cerveau), qui n’ont par contre aucun rôle dans la réflexion.

On sait que les neurones communiquent entre eux via des impulsions électriques. En effet, les “capteurs” (œil, oreille, peau…) envoient des impulsions électriques aux neurones, qu’ils traitent et transmettent ou non aux autres cellules.

Chaque neurone possède donc autour de son cœur (nommé soma) :

  • Des dendrites, qui sont ses entrées.
  • Un long axone lui servant de sortie.

Les signaux électriques arrivent donc au soma en suivant les dendrites, puis sont traités : selon l’intensité et la somme des impulsions reçues, le neurone envoie ou non une impulsion le long de son axone. Celui-ci est relié à des dendrites d’autres neurones.

Remarque : Le lien physique entre deux neurones se fait grâce aux synapses, cependant leur fonctionnement n’est pas expliqué plus en détail, n’étant pas utile à la compréhension des réseaux artificiels. Un neurone peut donc être schématisé comme suit (l’axone possède en fait des ramifications lui permettant de se connecter à plusieurs autres neurones) :

Chaque neurone est donc une entité très simple, faisant simplement un tra­vail sur les impulsions reçues pour choisir ou non d’en envoyer une en sortie. La puissance du cerveau se situe en fait dans le nombre de neurones et les nombreuses interconnexions entre eux.

Le neurone formel
Le neurone artificiel, aussi appelé neurone formel, reprend le fonctionne­ment du neurone biologique.
3.1 Fonctionnement général
Un neurone reçoit des entrées et fournit une sortie, grâce à différentes caractéristiques :

  • Des poids accordés à chacune des entrées, permettant de modifier l’impor­tance de certaines par rapport aux autres.
  • Une fonction d’agrégation, qui permet de calculer une unique valeur à partir des entrées et des poids correspondants.
  • Un seuil (ou biais), permettant d’indiquer quand le neurone doit agir.
  • Une fonction d’activation, qui associe à chaque valeur agrégée une unique valeur de sortie dépendant du seuil.

Remarque : La notion de temps, importante en biologie, n’est pas prise en compte pour la majorité des neurones formels.

Le neurone formel peut donc se résumer sous la forme suivante :

Navigation

<12345>

© HPC Today 2018 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

S01-170208

Brands / Products index

S02-ISC2018-171211