Introduction générale aux réseaux de neurones artificiels
Introduction générale aux réseaux de neurones
DEFINITION Définition Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs élémentaires fonctionnant en parallèle. Chaque processeur élémentaire calcule une sortie unique sur la base des informations qu'il reçoit. Toute structure hiérarchique de réseaux est évidemment un réseau.
la préhistoire James [1890] : McCulloch & Pitts [1943] Hebb [1949] mémoire associative McCulloch & Pitts [1943] A logical calculus of the ideas immanent in nervous activities neurone formel Les ordinateurs à codage binaire (Von Neumann) L ’intelligence artificielle (calcul symbolique) Les réseaux de neurones Hebb [1949] Organisation of behavior le conditionnement est une propriété des neurones loi d’apprentissage
Historique les premiers succès Rosenblatt [1957] : le perceptron, premier modèle opérationnel reconnaissance d ’une configuration apprise tolérance aux bruits Widrow [1960] : adaline, adaptive linear element Minsky & Papert [1969] : impossibilité de classer des configurations non linéairement séparables abandon (financier) des recherches sur les RNA
Historique l’ombre et le renouveau [1967 - 1982] : Mise en sommeil des recherches sur les RNA. Elles continuent sous le couvert de domaines divers. Grossberg, Kohonen, Anderson, ... Hopfield [1982] : modèle des verres de spins Boltzmann [1983] : première réponse à Minsky et Papert [1985] : la rétro-propagation du gradient et le perceptron multicouche Rumelhart, McClelland, … [1985] : le groupe Parallel Distributed Processing
Domaines d’application Classification : répartir en plusieurs classes des objets données quantitatives informations qualitatives reconnaissance des formes Recherche Opérationnelle résoudre des problèmes dont on ne connaît pas la solution Mémoire Associative restituer une donnée à partir d’informations incomplètes et/ou bruitées.
Analogie entre neurone biologique/Artificiel
neurone formel Par définition un réseau neuromimétique est constitué de neurones formels et ceux-ci sont reliés entre eux via des flèches ce qui donne un graphe orienté. En comparaison avec son homologue biologique, le neurone formel est constitué de synapses qui sont représentées par des flèches pondérées, d’un centre qui est l’équivalent du noyau cellulaire où se déroule les activités mathématiques telles que la sommation des entrées ainsi que la fonction d’activation (f(a)) qui s’applique à la sommation des entrées pour être comparée au seuil d’activité ‘’Θ’’, et d’une sortie qui est l’équivalent de l’axone. Chaque neurone formel est un automate complètement indépendant, dont l’état, une valeur scalaire, définie son activité ou activation a.
neurone formel Les composantes d’un réseau neuromimétique peuvent donc être définies de cette façon : - X1, X2, X3, X4, … Xn constituent les valeurs d’entrées (valeurs scalaires). - w1, w2, w3, w4, … wn constituent la pondération de chaque flèches ou synapses. - f constitue une fonction d’activation. - a constitue une valeur scalaire d’activation ( la Σ des entrées pondérées). - Θ constitue le seuil. - Y est la sortie
Le Neurone Formel Le neurone formel, l’unité élémentaire d’un RNA, se compose de deux parties : évaluation de la stimulation reçue évaluation de son activation (fonction f) Il est caractérisé par : son état (binaire, discret, continu) le niveau d’activation reçu en entrée (continu) le poids des connections en entrée Wi
Neurone formel Dans sa première version, le neurone formel était donc implémenté avec une fonction à seuil (a), mais de nombreuses versions existent. Ainsi le neurone de McCulloch et Pitts a été généralisé de différentes manières, en choisissant d'autres fonctions d'activations, comme les fonctions linéaires par morceaux (b), des sigmoïdes (c) ou des gaussiennes (d) par exemples.
Neurone Formel Les fonctions d’activation :
Neurone Formel La fonction linéaire et la fonction à seuil :
Le Neurone Formel La fonction sigmoïde :
Apprentissage Définition Apprentissage supervisé Apprentissage non supervisé Règles d ’apprentissage
Définition L ’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré. On distingue deux grandes classes d’algorithmes d’apprentissage : L’apprentissage supervisé L’apprentissage non supervisé
Apprentissage supervisé superviseur sortie désirée ENTREES erreur réseau sortie obtenue
Apprentissage non supervisé réseau sortie obtenue ENTREES
Règles d’apprentissage L’apprentissage consiste à modifier le poids des connections entre les neurones. Il existe plusieurs règles de modification : Loi de Hebb : wij=Raiaj Règle de Widrow-Hoff (delta rule) : wij=R(di - ai)aj Règle de Grossberg : wij=R(aj - wij)ai i j Wij
Règles d’apprentissage Loi de Hebb : Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou diminué. R est une constante positive qui représente la force d'apprentissage (learning rate). ai = -1 ai = 1 aj = -1 Wij = R Wij = -R aj = 1 Wij = -R Wij = R
Règles d’apprentissage Loi de Widrow-Hoff (delta rule) : ai activation produite par le réseau di réponse désirée par l'expert humain Par exemple si la sortie est inférieure à la réponse désirée, il va falloir augmenter le poids de la connexion à condition bien sûr que l'unité j soit excitatrice (égale à 1). On est dans l'hypothèse d'unités booléennes {0,1}. ai = 0 ai = 1 di = 0 Wij = 0 Wij = -R di = 1 Wij = R Wij = 0
Règles d’apprentissage Loi de Grossberg : On augmente les poids qui entrent sur l'unité gagnante ai s'ils sont trop faibles, pour les rapprocher du vecteur d'entrée aj. C’est la règle d’apprentissage utilisée dans les cartes auto-organisatrices de Kohonen
Différents types de réseaux de neurones 1. Le perceptron 1.1. Description 1.2. Loi d’apprentissage du perceptron 2. Les réseaux (filtres) linéaires 2.1. Description 2.2. Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme 3. Le perceptron multicouche 3.1. Description 3.2. La rétropropagation ou algorithme d’apprentissage de « Backpropagation » 4. Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) 4.1. Description 4.2. Les réseaux de neurones à régression généralisée (Generalized Regression Networks) 4.3. Les réseaux de neurones probabilistes (Probabilistic Neural Networks) 5. Les réseaux récurent 6.1. Réseaux de Elman_ 6.2. Réseaux de Hopfield
Description & loi d’apprentissage du perceptron Soient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du perceptron et a est réponse du perceptron. L’évolution de la valeur des poids W et des biais b du perceptron vont varier, à chaque fois que les vecteurs d’entrée sont présentés au perceptron, selon la règle :
Les réseaux linéaire: Algorithme d’apprentissage (LMS ou Windrow-Hoff algorithme) Soient p et t les vecteurs d’entrée et sortie cible utilisés pour l’apprentissage du réseau et a est la réponse du réseau. L’objectif est de minimiser la fonction coût F (erreur quadratique moyenne entre entrées et réponses du réseau) définie comme Q étant le nombre d’exemples.
Perceptron multicouche Un réseau multicouche n’est rien d’autre qu’un assemblage de couches concaténées les unes aux autres de gauche vers la droite. L’équation qui décrit les sorties d’une couche k dans un perceptron multicouche est donnée par :
Le perceptron multicouche activation fonction sigmoïde fonction tangente hyperbolique
Le perceptron multicouche apprentissage : retropropagation de l’erreur
Les réseaux de neurones à fonctions radiales de base (Radial Basis Network) Ici, la fonction de transfert est une exponentielle. L’opérateur sommation disparaît au profit de l’opération multiplication (élément par élément des matrices). Les réseaux à bases radiales nécessitent beaucoup plus de neurones qu’un réseau feedforward.
Réseau de Elman Le réseau de Elman à des neurones tansig dans sa couche cachée récurrente et un neurone linéaire dans sa couche de sortie. Ce type de réseau peut aussi approximer n’importe qu’elle type de fonction pourvu que la couche cachée ait assez de neurones. Puisque ce réseau peut enregistrer de l’information pour une référence future, il est capable d’apprendre des associations aussi bien temporelles que spatiales.
Réseau de Hopfield
Le modèle de Hopfield la théorie des verres de spin : un modèle dynamique La renaissance du connexionisme théorie des verres de spin modèle dynamique et récurrent réseau complètement connecté apprentissage par loi de Hebb Le rappel associatif se fait en minimisant une fonction d’énergie pour tomber dans l’un des attracteurs correspondant aux formes mémorisées Si on a N unités dans le réseau, on peut mémoriser 0,14 pattern différents
Réseau de Hopfield Les réseaux de Hopfield sont des réseaux récurrents et entièrement connectés. Dans ce type de réseau, chaque neurone est connecté à chaque autre neurone et il n'y a aucune différenciation entre les neurones d'entrée et de sortie. Ils fonctionnent comme une mémoire associative non-linéaire et sont capables de trouver un objet stocké en fonction de représentations partielles ou bruitées. L'application principale des réseaux de Hopfield est l'entrepôt de connaissances mais aussi la résolution de problèmes d'optimisation. Le mode d'apprentissage utilisé ici est le mode non-supervisé.
Le modèle de Hopfield l’architecture du réseau Les neurones de Hopfield sont discrets et répondent à une fonction seuil. Pour des commodités d’utilisation, on considère une fonction seuil très simple : 1, si x > 0 F(x) = -1, sinon Le réseau est complètement connecté, et les connexions sont symétriques. Les valeurs d’entrée sont binaires (-1, 1) mais peuvent être aisément remplacées par les valeurs binaires usuelles (0, 1) en utilisant une simple transformation. A(-1,1) = 2.A(0,1) - 1
Le modèle de Hopfield principe de fonctionnement Apprentissage (loi de Hebb): Utilisation : un vecteur est présenté au réseau les neurones calculent leurs sorties les sorties sont propagées et on itère jusqu ’à la convergence
Le modèle de Hopfield principe de fonctionnement Modification de l’état d’un neurone Energie du réseau
Le modèle de Hopfield les mémoires associatives Dans une mémoire informatique classique, une information est retrouvée à partir d'une clé arbitraire. Par opposition, une donnée entreposée dans une mémoire associative est accessible à partir d'informations qui lui sont associées. La fonction d'une mémoire associative est de restituer une information en tenant compte de sa perturbation ou de son bruit. L'information doit alors se rapprocher d'une information apprise ou connue. Si les mémoires associatives restituent des informations qu'elles ont apprises à partir d'entrées incomplètes ou bruitées, il existe aussi des mémoires hétéro-associatives qui en plus peuvent associer plusieurs informations entre elles.
Récapitulatif
Les étapes de la conception d’un réseau de neurone Choix et préparation des échantillons Comme dans les cas d'analyse de données, cette étape est cruciale et va aider le concepteur à déterminer le type de réseau le plus approprié pour résoudre son problème. La façon dont se présente l'échantillon conditionne : le type de réseau, le nombre de cellules d'entrée, le nombre de cellules de sortie et la façon dont il faudra mener l'apprentissage, les tests et la validation. Elaboration de la structure du réseau La structure du réseau dépend étroitement du type des échantillons. Il faut d'abord choisir le type de réseau : un perceptron standard, un réseau de Hopfield, un réseau à décalage temporel (TDNN), un réseau de Kohonen, un ARTMAP etc... Dans le cas du perceptron par exemple, il faudra aussi choisir le nombre de neurones dans la couche cachée. Apprentissage L'apprentissage consiste tout d'abord à calculer les pondération optimales des différentes liaisons, en utilisant un échantillon. La méthode la plus utilisée est la rétropropagation : on entre des valeurs du les cellules d'entrée et en fonction de l'erreur obtenue en sortie (le delta), on corrige les poids accordés aux pondérations. C'est un cycle qui est répété jusqu'à ce que la courbe d'erreurs du réseau ne soit croissante (il faut bien prendre garde ne ne pas sur-entrainer un réseau de neurones qui deviendra alors moins performant). Il existe d'autres méthodes d'apprentissage telles que le quickprop par exemple. Validation et Tests Alors que les tests concernent la vérification des performances d'un réseau de neurones hors échantillon et sa capacité de généralisation, la validation est parfois utilisée lors de l'apprentissage (ex: cas du early stopping). Une fois le réseau calculé, il faut toujours procéder à des tests afin de vérifier que notre réseau réagit correctement.