Introduction aux Réseaux de Neurones Philippe JAUFFRET Laboratoire des Systèmes d ’Information Chimique UMR 5076 du CNRS - Montpellier <[email protected]> > sommaire • Neurones biologiques et artificiels • évolution du domaine • perceptrons - application au test de polluants • les réseaux multi-niveaux • la rétropropagation • les cartes de Kohonen - application à la classification automatique des réactions • avantages et limites des RN 28/12/2002 41 < > 2 QUITTER définitions •Les réseaux de neurones (artificiels) sont des programmes informatiques fondés sur un modèle simplifié du cerveau. •Ils tentent de reproduire son comportement logique en mettant en œuvre un ensemble d’entités inspirées des neurones biologiques. •Un réseau de neurones est un exemple de « modèle connexionniste » •Un réseau de neurones peut être « entraîné » et apprendre à résoudre un problème donné 28/12/2002 41 < > 3 QUITTER Le neurone biologique dendrites Cerveau humain : ~1010 neurones ~104 connexions/neurone axone synapses noyau Signal de sortie Σ des signaux d ’entrée 28/12/2002 41 < > 4 QUITTER apprentissage biologique Chimiquement très complexe pas encore entièrement compris Logiquement assez simple : • renforcement des poids synaptiques en cas de stimuli similaires répétés • affaiblissement progressif en cas de non-stimulation (oubli ?) 28/12/2002 41 < > 5 QUITTER Le neurone artificiel I1 W1 I2 Signal de sortie ΣW S ≥ σ ? W2 i i W3 I3 Sortie = { 28/12/2002 =0 (-1) si ΣW S < σ i i ≠0 si ΣW S ≥ σ i i 41 < > 6 QUITTER Fonctions d ’un neurone •Un neurone possède une ou plusieurs connexions entrantes, à chacune d ’elles est associé un poid •Si la somme pondérée des entrées est inférieure à un seuil, le neurone reste inactif •Si cette somme dépasse le seuil, le neurone devient actif et émet un signal avant de retourner au repos 28/12/2002 41 < > 7 QUITTER Apprentissage dans un réseau de neurones Il consiste à ajuster progressivement les poids synaptiques jusqu ’à ce que: • soit les réponses soient conformes à ce que l ’on attend sur l ’échantillon d ’entraînement (apprentissage supervisé) • soit le réseau soit stabilisé (apprentissage non supervisé) 28/12/2002 41 < > 8 QUITTER Un peu d ’histoire Années 40 : fondements théoriques W.S. McCullogh & W. Pitts « A logical calculus of the ideas imminent in nervous activity », Bull. Math. Biophys., 1943, (5), 115. W. Pitts & W.S. McCullogh « How we know universals: the perception of auditory and visual forms », Bull. Math. Biophys., 1947, (9), 127. D.O. Hebb « The organization of behaviour », Wiley, New-York, 1949. Années 60 : premiers pas - le perceptron F. Rosenblatt « Principles of neurodynamics » Spartan books, New-York, 1960. M. Minski & S. Papert « Perceptrons », MIT Press, Cambridge 1969. Années 70-80 : retombée de l’intérêt pour le domaine T. Kohonen « Correlation matrix memories », IEEE Trans. On Comput., 1972, (C21), 353. J.J. Hopfield « Neural networks and physical systems with emergent collective computational abilities », Proc. Nat. Acad. Sci., 1982,(79), 2554. Fin 80 : ré-émergence puis explosion du domaine D. Rumelhart & J. McClelland « Parallel and Distributed Processing » MIT Press, Cambridge, 1988 28/12/2002 41 < > 9 QUITTER Liste (non exhaustive) d ’applications en chimie • élucidation de spectres (corrélations spectres -> structures) • détermination de la structure secondaire des protéines • diagnostics de dysfonctionement en contrôle de processus • études QSAR (entrées de types « tables de connectivités » ou propriétés physico-chimiques calculées) • classification de réactions 28/12/2002 41 < > 10 QUITTER Le plus simple des réseau de neurones: le perceptron Fonction de seuil de Heaviside : sortie 1 (oui) 0 (non) ΣWiSi ≥ σ ? σ entrées Procédure d ’apprentissage: on soumet 1 à 1 des exemples pour lesquels on connaît la réponse souhaitée Si la réponse est correcte, on continue Si la réponse est 1 (au lieu de 0), on décrémente le poids des entrées actives Si la réponse est 0 (au lieu de 1), on augmente le poids des entrées actives 28/12/2002 41 < > 11 QUITTER Exemple: test de présence de polluants dans un gaz (I) Supposons que l ’on veuille tester la présence d ’éthylamine ou d ’oxyde nitreux dans des échantillons contenant surtout de l ’air. On va se servir des spectres d ’absorption IR pour caractériser les gaz présentés % absorbance 100 100 λ (cm-1) 0 3500 600 0 3500 Spectre IR de C2H5NH2 600 Spectre IR de NO D ’après H.M. Cartwright « Applications of Artificial Intelligence in Chemistry » Oxford University Press, 1993. 28/12/2002 41 < > 12 QUITTER Exemple: test de présence de polluants dans un gaz (II) Pour utiliser le perceptron, on digitalise les spectres pour n ’en retenir qu ’un nb fini de mesures correspondant à des valeurs fixées de la longueur d ’onde Absorbance (λ=600cm-1) Absorbance (λ=700cm-1) Absorbance λ(=800cm-1) Absorbance (λ=900cm-1) Absorbance (λ=1000cm-1) Absorbance (λ=1100cm-1) Absorbance (λ=1200cm-1) Absorbance (λ=1300cm-1) Absorbance (λ=1400cm-1) Absorbance (λ=1500cm-1) ΣWiSi ≥ σ ? Si oui, alors présence de C2H5NH2 ou de NO Après une période d ’apprentissage consistant à présenter au perceptron des échantillons contenant parfois de l ’ethylamine ou du NO, le système est mis en production et fonctionne, jusqu ’à ce que ... 28/12/2002 41 < > 13 QUITTER Exemple: test de présence de polluants dans un gaz (III) On introduit un échantillon contenant du Fréon. Le spectre IR du fréon est différent de ceux de l ’éthylamine et du NO, mais présente comme le premier une forte absorbance à 800 cm-1, et comme le second une forte absorbance à 1300 cm-1 Absorbance (%) Spectre IR du Fréon 1300 800 Longueur d ’onde (cm-1) …Et le système conclue à tort à la présence d ’un des polluants recherchés ! 28/12/2002 41 < > 14 QUITTER Pourquoi un perceptron ne peut résoudre ce type de problème? Le perceptron doit décider selon la valeur de w1s1 + w2s2 Pic 1 (800,1300) (800,-) + w 2s 2 w 1s 1 (-,-) ⇒ mission impossible ! (-,1300) Pic 2 Un perceptron ne peut résoudre que des problèmes linéairement séparables 28/12/2002 41 < > 15 QUITTER La solution : les réseaux multi-niveaux 1 Pic à 800 ? 0,5 1 1 0,5 1 Pic à 1300 ? 0,5 1 1,5 1 Valeur du seuil pour une cellule 28/12/2002 41 < > -1 Valeur de sortie d ’une cellule 16 QUITTER les réseaux multi-niveaux terminologie 28/12/2002 41 < > 17 QUITTER Plusieurs types de fonctions de seuil Heaviside : • très simple sortie f(x) =0 si x < σ f(x) =1 si x ≥ σ σ entrées sortie • bien adaptée aux RN à 1 niveau (perceptron) • ne permettent pas l ’apprentissage par rétro-propagation des erreurs linéaire : • simple f(x) = max(0, min(1,x- σ)) σ entrées sortie f(x) = (1 + e-x-σ)-1 σ entrées 28/12/2002 41 < > • bien adaptée aux RN à 1 niveau • permettent l ’apprentissage dans les réseaux multi-niveau • non dérivable en 2 points sigmoïdale : • uniformément dérivable • la plus utilisée des fonctions de seuil • bien que calculs plus coûteux 18 QUITTER Apprentissage par rétropropagation des erreurs(I) erreur entrées Sorties observées 28/12/2002 41 < > Sorties attendues 19 QUITTER Apprentissage par rétropropagation des erreurs(II) Contexte : réseaux multi-niveaux à propagation directe des signaux Objectif : réduire la fonction d ’erreur En = ½ Σ (ciblen,i - actueln,i)2 i en modifiant prioritairement les poids des signaux d ’entrées contribuant le plus à l ’erreur. Méthode : gradient (procédure itérative de moindres carrés) d ’abord sur le niveau de sortie, puis récursivement sur les niveaux cachés. Rmq 1: aucun rapport avec un processus biologique Rmq 2: il existe de très nombreux modèles d ’apprentissage 28/12/2002 mais la rétropropagation est 41 largement la plus répandue. < > 20 QUITTER Apprentissage par rétropropagation des erreurs(III) L ’apprentissage par rétropropagation peut être très coûteux pour de gros réseaux exemple de très gros réseau : H. Bohr & al. « A novel approach to prediction of the 3-dimensional structures of protein backbone by neural network », FEBS Lett., 1990, (261), 43. Dimension du vecteur d ’entrée : 1220 2 niveaux cachés 500.000 poids à ajuster 28/12/2002 41 < > 21 QUITTER Fiabilité ? Vérification par validation croisée Pb: comment savoir si la phase d ’apprentissage a produit un réseau fiable ? • 1) Décomposer l ’échantillon d ’apprentissage en 2 tas : 9/10 et 1/10. • 2) Entraîner le réseau avec le premier tas (9/10). • 3) Vérifier avec le 1/10 restant que le réseau donne les résultats attendus • 4) renouveller les étapes 1-3 avec d ’autres décompositions 28/12/2002 41 < > 22 QUITTER Autre type de réseau de neurones Les cartes de Kohonen (SOM) Ces RN permettent de projeter sur un plan des données multi-dimensionnelles en préservant les relations topologiques existant entre ces données. Applications : apprentissage non supervisée, clustering, réduction du nombre d ’attributs, etc. 28/12/2002 41 < > 23 QUITTER Architecture des SOM Neurone (n-vecteur) Carte de Kohonen (mXm neurones) Poids de la composante i Vecteur d ’entrée (n) 28/12/2002 41 < > 24 QUITTER Principe de la phase d ’apprentissage dans les SOM (I) • Tous les vecteurs de poids sont initialisés aléatoirement. • Quand un nouveau vecteur de données est introduit, il est comparé à tous les vecteurs de la carte distance euclidienne : d(X,Ni) = Σ(Xi-Ni,j)2 • Les poids du neurone Ni le plus proche de X sont stimulés, de même que ceux des neurones au voisinage de Ni. 28/12/2002 41 < > 25 QUITTER Principe de la phase d ’apprentissage dans les SOM (II) L ’ajustement des poids d ’un neurone est inversement proportionnel à la « distance » de ce neurone au neurone « choisi » 28/12/2002 41 < > 26 QUITTER Principe de la phase d ’apprentissage dans les SOM (III) Finalement, dans les réseaux « entraînés », chaque vecteur est projeté dans le neurone « le plus ressemblant », et deux vecteurs « similaires » seront projetés dans des neurones proches. 28/12/2002 41 < > 27 QUITTER Exemple d ’application des SOM : classification des réactions organiques Objectif : établir des corrélations entre la variation des propriétés électroniques des atomes d ’oxygène lors d ’une réaction et le « type » de cette réaction. Prouver ainsi qu ’une classification automatique des réactions est envisageable. D ’après H. Satoh et al. « classification of organic reactions: Similarity of reactions based on changes of the electronic features of oxygen atoms in the reaction sites » J.Chem.Inf.Comput.Sci., 1998 (38), 210. 28/12/2002 41 28 < > QUITTER Choix des attributs vecteur d ’entrée Les auteurs ont pris 131 réactions au hasard dans une BD. Pour chaque atome d ’oxygène présent dans un cœur de réaction, ils ont calculés par méthode empirique, la valeur de 6 paramètres physico-chimiques : - charge σ - charge π - électronégativité σ-résiduelle - électronégativité π-résiduelle - polarisabilité - pKa Les vecteurs d ’entrée sont construit par la différence (produit réactant) de ces 6 attributs. Nb d ’étapes (« époques ») d ’apprentissage : 10.000 carte 18x18 neurones 28/12/2002 41 < > 29 QUITTER Exemple de vecteur données O O O O H H δ charge σ charge π électronégativité σ-résiduelle électronégativité π-résiduelle polarisabilité pKa -365 0,00 9,64 3,91 6,89 31,0 -391 0,00 9,33 3,18 4,32 30,0 28/12/2002 41 < > -26 0,00 -0,31 -0,73 -2,57 -1,0 30 QUITTER Résultats Réduction et alkylation Cassure d’époxides, d’éthers, de lactones et d’esters Oxydation des alcools Formation d’époxides, d’éthers, de lactones et d’esters Rmq : les clusters apparaîssent continus si l’on forme un tore en repliant la carte pour fusionner ses bords horizontaux et ses bords verticaux 28/12/2002 41 < > 31 QUITTER Principaux avantages des réseaux de neurones (I) Réutilisabilité: Un réseau de neurones n ’est pas programmé pour une application mais pour une classe de problèmes : après une phase d ’apprentissage adéquate, il peut traiter de nombreuses tâches. 28/12/2002 41 < > 32 QUITTER Principaux avantages des réseaux de neurones (II) Tolérance de pannes : le dysfonctionnement d ’une faible proportion des neurones n ’affecte pas profondément le fonctionnement général (on parle de « dégradation douce ») 28/12/2002 41 < > 33 QUITTER Principaux avantages des réseaux de neurones (III) robustesse Les couches cachées du réseau forment une représentation abstraite des données (concepts), qui permettent de savoir catégoriser des données non traitées lors de l ’apprentissage (non prévues). 28/12/2002 41 < > 34 QUITTER Principaux avantages des réseaux de neurones (IV) parallélisme Les RN sont par essence des « machines parallèles » et peuvent donc bénéficier directement des architectures multi-processeurs (tous les neurones d ’un même niveau sont indépendants) 28/12/2002 41 < > 35 QUITTER Principaux avantages des réseaux de neurones (V) « machine à découvrir les règles » Le fonctionnement des RN implique qu ’ils identifient les relations entre les données soumises. On peut envisager qu ’ils (re)découvrent empiriquement des lois gouvernant les domaines traités. 28/12/2002 41 < > 36 QUITTER Principaux avantages des réseaux de neurones (VI) Logique floue Le traitement modal des données est couvert implicitement par les RN 28/12/2002 41 < > 37 QUITTER Limites des réseaux de neurones (I) Choix des attributs Ce problème n ’est évidemment pas spécifique aux RN, mais il est clair qu ’il faut choisir soigneusement la représentation des données. Les attributs ne peuvent de plus qu ’être numériques 28/12/2002 41 < > 38 QUITTER Limites des réseaux de neurones (II) Processus d ’apprentissage • Il peut être extrêmement long. • L ’apprentissage par rétro-propagation des erreurs peut converger vers une solution sous-optimale. • Paralysie du réseau : les poids synaptiques deviennent si grands que leur modification est inopérante sur le comportement des neurones (dépassement de la zone de variation de la sigmoïde) • Surspécification : lorsque l ’apprentissage est trop prolongé, le RN perd son pouvoir de généralisation. Il reconnaît les données de l ’échantillon d ’apprentissage, mais plus de nouvelles données « similaires ». 28/12/2002 41 < > 39 QUITTER Limites des réseaux de neurones (III) Architecture du réseau Le nombre de nœuds dans les couches d ’entrée et de sortie sont généralement fixés par l ’application, mais comment optimiser le nombre de niveaux cachés et le nombre de nœuds dans ces niveaux ? 28/12/2002 41 < > 40 QUITTER Limites des réseaux de neurones (IV) explicabilité Il est quasi-impossible d ’expliquer de manière compréhensible les résultats fournis par un RN. Un RN peut découvrir empiriquement des lois et les exploiter dans la résolution de problèmes, mais il ne peut formuler ces lois. 28/12/2002 41 < > 41 QUITTER Pour en savoir plus sur les réseaux de neurones • Une introduction (site commercial mais assez complet) : http://www.statsoftinc.com/textbook/stneunet.html • une « bible » : S. Haykin « Neural Networks » , 2nd Edition, Prentice Hall, 1998. • Un tutorial : http://www.gc.ssr.upm.es/inves/neural/ann1/anntutorial.html • Source bibliographique (très exhaustive) : http://liinwww.ira.uka.de/bibliography/Neural/ 28/12/2002 41 42