Introduction à la neuromimetique_Stéphane Rousset.pdf

Full Transcript

INTRODUCTION À LA NEUROMIMETIQUE — et la sortie étant la même chose). Enfin, la sortie ne peut pas dépasser l’entrée, il doit y avoir une saturation biologique, ici STÉPHANE ROUSS...

INTRODUCTION À LA NEUROMIMETIQUE — et la sortie étant la même chose). Enfin, la sortie ne peut pas dépasser l’entrée, il doit y avoir une saturation biologique, ici STÉPHANE ROUSSET reproduite par un plafond qu’on fixe sur chaque neurone. On 1. INTRODUCTION : QU’EST-CE QU’UN NEURONE transforme aussi le neurone en entité binaire : activation ou non ; FORMEL ? en activation progressive puis plafonnement lorsque le seuil est dépassé ; en activation non-linéaire jusqu’à un seuil où il devient Les réseaux de neurones formels sont une simplification alors plus sensible, puis progression jusqu’au plafond. consentie de la réalité. Ils décrivent qu’un neurone A émet vers un neurone B via des liens synaptiques et que cette projection est mesurable : une sorte de quantification de l’électricité échangée, ici remplacée par une valeur pour les besoins de simplification. Le système biologique humain comporte 2 types de communications neuronales : une communication électrique et une communication chimique au sein de laquelle il y a une modulation de l’activation. Pour matérialiser cette modulation, on va créer une connexion entre A et B et cette connexion peut être plus ou moins forte : il s’agit d’un coefficient qui module la façon dont l’activation passe d’un neurone à un autre. On le nomme W (pour weight en anglais, plus le poids est important, plus l’activation passe). L’activation reçue par le neurone B, qu’on appelle activation de sortie correspond donc à l’activation en entrée multipliée par le poids de connexion. Pour un neurone formel donné i qui calcule sa somme d’activation Chacun des neurones va faire les calculs de façon indépendante qu’il reçoit, il faut bien penser que les j sont aussi les i de et parallèle. Soit à un instant T, le neurone qui calcul « i » a une quelqu’un et calculent aussi leur activation → calcul parallèle. activation « Ai » fonction de la somme des activations qu’il reçoit L’apprentissage agit sur le poids des connexions (ex : Wij = 0 des neurones « J » multipliée par le poids de la connexion qui les alors ne passe pas, mais 0,0001 passe, et 0,0001 en négatif = relie « Wij ». inhibiteur). Permet de matérialiser la création de synapse, phénomène de l’apprentissage. 2. INTERACTIVE ACTIVATION COMPETITION NETWORK P RINCIPE DE BASE : chaque concept est un neurone, une unité, elles sont regroupées ensemble au sein d’un même « pool » et il existe entre elles des connexions inhibitrices (dont le poids de Ce calcul décrit l’entrée du neurone « i », il existe également la connexion est négatif : inhibe le neurone cible) en intra : un sortie du neurone « i » et l’activation du neurone « i » (l’activation neurone actif va inhiber ses voisins, les concepts sont donc en Page 1 sur 11 compétition. A l’intérieur de l’ensemble tous les neurones sont Notion de mettre en action les capacités dans un même supposés être reliés entre eux avec des poids négatifs. D’un environnement. Concept d’émergence : accumulation de divers ensemble à l’autre, on va par contre avoir des connexions paramètres qui fonctionnent, puis mise entre eux pour faire excitatrices : un neurone d’un ensemble est activé et qu’il est émerger quelque chose. L’émergence n’est pas la somme des relié à un neurone d’un autre ensemble, comme le poids est choses, mais le fonctionnement des choses entre elles au sein du positif, alors l’activation d’un neurone entraîne l’augmentation système (mise en interaction et non pas somme de leur propre de l’activité de l’autre. activité). Réseau de neurone : unité très simple qui quand elles # R ÈGLE D ’ ACTIVATION fonctionnent créent l’émergence d’une fonction. La sortie = à l’entrée si l’activation est positive (>0), sinon, le neurone n’enverra pas d’activation : émission d’une fréquence de  Exemple : West side story sortie seulement s’il est actif. L’entrée totale correspond à : somme des Sj x Wij et la somme est pondérée par 0,1, juste pour que le système puisse tourner sans surcharge. On ajoute aussi dans le calcul de l’entrée un paramètre 0,4 qui est l’entrée de l’extérieur (cas où le neurone est activé par pas un neurone). Ensemble de neurones qui forment les ensembles conceptuels. Rappel : en intra des connexions inhibitrices et en inter des connexions excitatrices. Quand on fait fonctionner le réseau, on Si l’entrée est positive, la variation d’activation du neurone se active un des neurones de l’extérieur et tous les neurones calcul alors comme suit : l’entrée multipliée par la différence calculent leurs activations. Au temps 1, aucun neurone n’a entre l’activation maximale et l’activation observée. Permet donc, d’activation extérieur sauf le nôtre, puis au T2, le neurone A émet si activation max est observée, de multiplier l’entrée par 0 et vers un neurone B via une connexion excitatrice, qui lui-même donc éviter la surcharge. Si l’entrée est négative, l’entrée est émet vers C, etc… Puis comme le neurone A envoie vers B, de la multipliée par l’activation observée – l’activité minimale. → plus le même façon B envoie de l’activation vers A, donc l’activation de A potentiel d’entré est grand, plus l’activation est grande. augmente → augmentation progressive de l’activation à chaque séquence de calcul. # C ONCEPT D ’ ÉMERGENCE Page 2 sur 11 fonctionnement, et non accumuler du stockage. On va donc trouver comment les choses se modifient (comment les poids varient), sans se contenter de croire qu’il y a des représentations et du travail dessus. Et donc, on a 2 fonctions : - L ES FONCTIONS AUTO - ASSOCIATIVES : sont des fonctions qui font f(x) = x, signifie qu’on perçoit une image (stimulation sur les capteurs rétiniens), et s’adapter veut dire que le système est capable de reproduire telle quelle les stimulations : renvoie ce qu’il a reçu. L’état des capteurs est stable. Permet de distinguer ce qui est connu/inconnu (inconnu = non-stable). Et aussi, moins d’erreur pour les L’activation finale est la contribution de toutes les unités dans points qui ressemblent à ceux auxquels il s’est adapté. le système et les connexions entre-elles. L’état de stabilité finale Pour un point non-appris mais qui ressemble, le réseau va tient compte des points qui sont partagés entre les différentes proposer une sortie similaire (donc qui ressemble mais personnes mais aussi les différences entre-elles : prise en avec un peu d’erreur). compte de tous les paramètres. Prenons l’exemple d’une image. En supposant qu’il n’y a pas de sens, est seulement une configuration de pixel, et donc global. L’idée est que même si les éléments se ressemblent, c’est la configuration qui compte. On va donc désormais réfléchir sur une configuration. Ainsi, ce qui définit un point dans l’espace c’est sa position dans l’ensemble des coordonnées de la configuration. Et donc le défi des réseaux de neurones c’est qu’ils travaillent sur autant de coordonnées qu’il y a de neurones d’entrées. En dehors de ça, ils font juste des calculateurs de sommes pondérées d’état d’entrée. Point attracteur : tendance à ressortir la même sortie sur une 2.1. COMMENT LES RDN RENDENT COMPTE DE entrée à laquelle il n’est pas adaptée mais qui est proche d’une L’APPRENTISSAGE D’UN COMPORTEMENT ? précédente entrée, c’est donc une erreur, mais pas une erreur Exemple d’un neurone visuel (capteur rétinien), apprendre maximale. quelque chose signifie pouvoir produire un comportement - L ES FONCTIONS HÉTÉRO - ASSOCIATIVES : l’entrée et la sortie moteur de saisie, et donc revient à se demander quel système sont de nature différente (ex : à partir de visage produire le intermédiaire permet d’associer l’entrée à la sortie. nom). Les conceptions dans les RdN proposent que l’apprentissage, finalement ça revient à modifier ses processus de Page 3 sur 11  L’apprentissage dans un RdN est une modification de fonction, qui modifie le poids des connexions et les calculs. 3. LES LOIS D’APPRENTISSAGES, OU QUELS CONCEPTS SONT PROPOSÉS POUR EXPLIQUER LA MODIFICATION DES FONCTIONS ? 3.1. LOI DE HEBB (1969) Les lois de RdN doivent suivre quelques principes et Hebb n’y déroge pas : loi locale (un neurone ne doit pas savoir ce que font les autres neurones, seulement ceux auxquels il est connecté), automatique, réalisée en parallèle et « idiote » (basique). Loi inspirée biologiquement qui propose que « lorsque 2 neurones sont simultanément activés, alors le poids de la synapse qui les relie, est modifié proportionnellement au produit de leur activation. ». Revient en fait à faire : delta Wij = (1/nb de connexion à Wij)*(Si * Sj) + ancien poids = nouveau poids. Il recrée bien l’odeur de la rose après avoir vu la rose car les 2 sorties sont égales. Pour l’activation c’est la somme des entrées pondérée par le poids des connexions. Ici, on a un apprentissage distribué : c’est-à-dire une modification de l’ensemble des paramètres pour que l’espace d’entrée se projette bien sur l’espace de sortie. N’est pas une mémorisation en soit, mais le poids des connexions produit la même information. La notion d’information distribuée signifie que l’information est mise partout en même temps : modification de l’ensemble des paramètres à chaque apprentissage. De plus, avec un Durant l’étape d’apprentissage dans le RdN, la première étape apprentissage distribué, enlever un poids de connexion n’est pas consiste à stimuler une entrée et une sortie pour générer une grave puisque l’information est portée par chacun des poids de association et un poids. Par la suite, il suffit de stimuler une connexion. → Résistance. Le système va être un peu plus entrée pour construire l’apprentissage et modifier les poids. approximatif mais pourra toujours fonctionner normalement. Page 4 sur 11  L’apprentissage est une modification du poids de tous les trouver comment on peut modifier automatiquement les paramètres du système, mais y’a aucun stockage poids en fonction de l’erreur. d’information. Et ainsi, c’est que dans son fonctionnement que Par exemple, si on est sur une auto-association : je fais rentrer se retrouve la « mémoire » du système. une image, elle ne revient pas telle quelle, je regarde ce que j’ai  Le nouveau poids prend en compte l’ancien, ce qui permet de sous les yeux et ce qui est revenu, et en fonction de l’erreur je conserver la réponse pour l’ancienne stimulation, et donc 1 modifie les poids. Il y a donc 1 étape de plus par rapport à Hebb poids permet de répondre à 2 entrées. C’est la construction du où il y avait association = modification, puisqu’ici il y un calcul de poids en lui-même qui permet cette double réponse, et non un l’erreur puis une modification. stockage des deux informations. 3.2.1. REVUE HISTORIQUE POUR MIEUX COMPRENDRE : La loi de Hebb induit la séparation entre information générale et PERCEPTRON (ROSENBLATT) information spécifique parce qu’un même système ne peut pas faire les deux. Conséquence : Sur un mur avec des capteurs, flash d’une image en niveau de gris, et ceux-ci associés à une autre matrice avec des lampes Avantage : Biologiquement plausible ; apprentissage très rapide ; allumées ou éteinte selon un seuil. Associé aux lampes : un Pour l’information spécifique, dans le réseau de Hebb, neurone de décision, avec un poids de connexion qu’on peut l’apprentissage se fait en 1 seule fois : en parallèle une seule modifier par apprentissage. Celui-ci est à seuil simple : somme adaptation pour modifier le poids des connexions. Les modèles des Sj x Wij doit dépasser un seuil pour s’activer. suivants vont être différents : apprentissage interlacés (entrelacés) ou lents, résultant plutôt d’un ensemble de compromis. 3.2. SYSTÈME À CORRECTION D’ERREURS On va prendre un réseau avec au départ, entre l’entrée et la sortie, des poids de connexion au hasard et faible (pour optimiser), avant apprentissage. On va ensuite calculer une erreur d’adaptation. Soit une entrée réelle et une sortie désirée, l’apprentissage suit 2 étapes : - Calculer la sortie qu’on obtient sur l’entrée réelle, sans modifier les poids. Il s’agit de la sortie produite suite à On veut lui apprendre à faire une tâche de genre : si homme l’entrée dans le réseau en fonction des poids initiaux. s’allume, si femme ne s’allume pas. On va agir sur la - L’adaptation : comparer la sortie effective par rapport à la modification du poids : augmenter le potentiel ou baisser le sortie désirée. On calcule la différence entre ce qu’on a eu potentiel de faire passer ou non le courant, finalement augmenter et ce qu’on voulait : l’erreur. Plus l’erreur est importante, ou diminuer la synapse. plus on va ensuite modifier les poids. L’objectif est de # R ÈGLES Page 5 sur 11 - Si Sj = 0 → pas de modification. Pas de courant donc pas Sauf que si on a plusieurs exemple (A et B), alors les bons poids d’influence à avoir. → delta Wij = 0 de connexion (ceux qui donnent la réponse attendue) ne sont pas - Si Sj = 1 → SortieDésirée = 1 // SortieEffective 1 → pas de les mêmes (sinon c’est la même réponse alors qu’on a 3 items modification, donc delta Wij = 0 différents) et pour avoir des poids qui permettent de joindre A et → SD = 1 // SE = 0 → nécessité d’augmenter le poids B, on se retrouve alors avec un espace restreint : car ça devrait s’allumer. Delta Wij + → SD = 0 // SE = 0 → delta Wij = 0 → SD = 0 // SE = 1 → delta Wij = baisser le poids Et donc formule : Delta Wij = Sj (Sdésirée – Seffective) x LR (taux d’apprentissage, souvent alpha type de problème. - C = > alpha - D = < alpha Problème : dans le cas D, la somme de chaque entrée multipliée # P ROBLÈME DANS LES R D N : M INSKY ET P APERT par le poids de sa connexion avec i, ne peut pas conduire à 0, et Soit un RdN linéaire avec 2 cellules d’entrées et 1 cellule de ne peut donc pas conduire à avoir un alpha inférieur à B ou C. sortie, où on présente 4 exemples : Le réseau ne peut pas apprendre ça car le réseau est non- linéairement séparable dans l’espace des entrées. En effet, le système cherche à séparer, dans l’espace des entrées, les points rouges et les points bleus : ici, impossible (voir dessin en dessous) car n’importe quelle droite ne peut pas séparer les deux mêmes sorties du même côté de la droite. Le problème que l’on va voir est le problème du XoR (« ou » exclusif »). Il expose que prendre tout n’est pas bon (1/1 = 0), prendre rien n’est pas bon (0/0 = 0), et prendre l’un des deux est bon (0/1 ou 1/0 = 0). Rappel : Le RdN pour calculer la sortie va faire la somme de chaque entrée multipliée par le poids de sa connexion. Dans le cas du XOR, ce qu’on veut : pour l’exemple A et D, on veut que le système donne une sortie proche de 0, tandis que Or, si on a un système linéairement séparable comprenant un l’exemple B et C doivent avoir des entrées proches de 1 pour « ou inclusif », on peut obtenir : donner des sorties proches de 1. On veut en fait que les sorties B et C soient supérieures aux sorties A et D : SB/SC > SA/SD. Pour simplifier, on peut mettre un seuil, par exemple alpha : Ici, le problème devient linéairement séparable dans l’espace des entrées. Vu que nous on est sur un système hétéro-associatif : on - A = < alpha Page 8 sur 11 lui donne quelque chose et on veut une sortie, alors notre les cas B et C. Dans cette solution nouvelle avec une déformation problème est juste de vouloir avoir une sortie 0 et 1 et de les de la linéarité, on peut alors, grâce à la couche cachée, déformer trier. Donc ça fonctionne si on devient plus inclusif en mettant un l’espace physique dans les couches cachées pour ramener les 2 « ou » qui accepte les 2. sorties 0 (même 1 et 1) séparable dans un espace linéaire vers le « monde ». Toutefois, en ingénierie, quand on a un problème à résoudre, on ne peut pas a priori savoir s’il est linéairement séparable ou non. Si on a + de neurones dans la couche cachée, alors le système a La seule solution est de faire apprendre puis de voir ensuite, s’il plus de dimension et donc c’est plus facile pour lui. Avec ne parvient pas à apprendre, que c’est l’absence de linéarité qui beaucoup de dimension, la déformation est beaucoup plus pourrait en être la cause. → difficile à usiner s’il faut tester avant. simple, il n’a donc pas à travailler sur la déformation de l’espace : # S OLUTION espace grand et déformation facile. Ici, en gros, il va pouvoir Soit une couche cachée, avec des poids qui permettent de apprendre par cœur sans se casser la tête (#simplification). Le déformer les points : E1 à C1 / E2 et C2, on va faire une problème est qu’en généralisation il est faible car il a appris par déformation de l’espace avec un poids de connexion entre eux cœur : chacun des exemples est appris sans grosse déformation, qui puissent ensuite donner un espace séparable au niveau des avec donc une excellente mémoire brute, mais beaucoup de mal cellules de sorties. à généraliser (car finalement ne sait pas vraiment travailler les données, déformer l’espace). Finalement, selon la complexité du problème, il reste toujours préférable d’avoir une couche cachée assez petite car ça permet mieux de structurer le système et permet de généraliser. Autre question : une ou plusieurs ? On sait que si on en met plusieurs, le système est capable de déformer et est bon en généralisation. # P ROBLÈME Comment faire apprendre les poids au réseau seul et donc  Séparation dans l’espace déformé. C’est la non-linéarité de comment faire les déformations qui nous intéressent. la fonction qui permet de déformer. On déforme l’espace Raisonnement : le poids de la connexion dans la couche cachée physique et on a une fonction non-linéaire pour obtenir en participe plus à l’erreur de sortie s’il est grand, et du coup on sortie un espace linéairement séparable. peut rétroréfléchir : on prend le poids et on multiplie par le poids Rappel : dans un espace non-linéairement séparable sans de la connexion et permet alors de connaître l’erreur en couche déformation, le système ne pouvait pas apprendre, parce que les cachée. Et une fois qu’on estime l’erreur de la CC, on peut entrées 1/1 → 0 posait un problème conceptuellement : le également modifier le poids de sa connexion avec l’entrée. système ne peut pas apprendre quand on lui demande de sortir C’est le fonctionnement avec un système à correction d’erreur. rien quand il reçoit 2 activations « suffisantes » pour sortir 1 dans Page 9 sur 11 Note : Le système en couche caché apprend tout seul parce qu’on Au final, l’apprentissage et la généralisation sont proches : a besoin qu’il déforme de façon optimale avec les entrées et chaque nouvel exemple conduit à une généralisation plus fine, et sorties. sans stockage (comme pourrait laisser penser l’apprentissage) : le système généralise toujours et c’est son apprentissage. => pas Une fois qu’on connait l’erreur en couche cachée, on peut de stockage, mais adaptation des paramètres qui permet à la modifier le poids de la connexion. → résultat : système fin au système d’avoir de la « mémoire » : la mémoire est une automatique et locale qui fonctionne bien. (Note bien : la fonction de traitement ; l’objet n’est pas stocké il a servi à couche cachée est que des estimations car on ne connait pas, modifier les paramètres de la fonction. vu qu’on ne sait pas comment déformer, donc faut qu’il le fasse seul). Jusqu’alors, 2 entrées proches avaient la même réponse parce que dans l’espace physique « ça se ressemblait » : les stimuli se ressemblaient « physiquement ». C’est assez trivial, est interpolation. Sauf que chez l’être humain on a des généralisations qui ne sont pas dues à la ressemblance entre les objets, mais à l’histoire des relations qu’on a eu avec les objets (permet la catégorisation des objets en « cuisine » et appliquer des propriétés). McClelland 97, va présenter au RN des choses qui ne se ressemblent pas physiquement mais que dans l’histoire de l’apprentissage les relations élémentaires des objets soit conjointes : en entrée, il va coder les choses de façon localiste et + on a de couche cachée + on travaille sur des estimations simple (→ le codage en entrée est très simple de sorte à ce d’estimations d’estimations d’erreur… A force, l’erreur devient qu’une cellule est allumée et les autres éteintes), et va apprendre trop estimée, ce qui plafonne le nombre de couche maximale. des ensembles des relations entrée/sortie : suite d’exemple de Concernant les deep neural network, ils mettent plein de couches relation sémantique de base. On agit ensuite sur le poids des cachées mais modifie les fonctions d’entrée pour être plus simple connexions pour créer des ensembles. On observe alors une vraie et donc moins sensible à l’erreur. généralisation, et qui n’est pas par interpolation puisque ça ne se ressemble pas. La correction d’erreur est le moteur qui permet de faire ces ajustements. Enfin, une fois que les points qui ont servi à la Par exemple, on lui fait apprendre canarie et plume en entrée, redéfinition de la position de la droite, ils n’existent pas, ils ne avec oiseau en sortie. Le poids des connexions entre plume → sont pas stockés quelque part. Si le réseau répond 0, c’est parce oiseau, canarie → oiseau et canarie/plume sera fort. A terme, que le point qui est présenté dans le monde réel est projeté dans présenter un autre item présentant des caractéristiques de plume l’espace 0. et dont on fait ajustement en sortie pour insister qu’il s’agît d’un oiseau, permettra d’activer plus probablement les unités associées à oiseau. Avec cette organisation, le système parvient à Page 10 sur 11 faire des associations sémantiques et des généralisations : il apprendre les liens entre les différents éléments a amené à infère que ce nouvel animal porte les mêmes propriétés que les déformer l’espace en formant 2 catégories. « autres » oiseaux. Notons bien que le point d’entrée est positionné sur un espace à 8 dimensions (car 8 cellules) et est symbolisé par l’ensemble de l’activité des 8 cellules dans leur espace commun (c’est l’ensemble de la dynamique d’activation qui représente « oak »). Ainsi, quand on présente un nouvel exemple, alors il va « automatiquement » être placé dans la même partie de l’espace car les contraintes d’apprentissages (et les poids des connexions par ailleurs existantes dans cette catégorie sémantiques) font qu’il y a moins d’erreur à le placer dans cette partie. C’est donc effectivement une interpolation (similarité) mais elle n’a pas lieu dans l’espace physique, mais plutôt dans l’espace modifié par les contraintes d’apprentissages. Si on enregistre une seule des cellules, elle sera effectivement plus active pour les animaux, ça ne veut pas dire pour autant qu’elle est spécifique au concept, mais qu’elle participe de cette façon donnée à positionner l’item dans l’espace avec les 7 autres. Coexistence des informations générales et spécifiques. L’ordre dans lequel on apprend les choses a une importance, par exemple si on demande à un RN d’apprendre à additionner en base 8 ou en base 10, on voit qu’il apprendre mieux en faisant Dec puis Oct VS Dec ET Oct et mieux le tout que Oct seul. Si la nouvelle information est incompatible, l’apprentissage est bien Durant l’apprentissage, on présente une entrée, avec les poids il sûr impossible. y a une activation sur les couches cachées, puis transmissions, puis une sortie et enfin un ajustement des poids par une méthode d’ajustement de la sortie effective et des poids originaux par rapport à la sortie désirée. C’est l’étape 1 : la constitution des liens sémantiques via un premier apprentissage. On remarque que l’activité en sortie des CC de la première couche varie entre le 25ème essai et le 500ème : on a des points qui sont très similaire entre eux et très différents avec les autres, il s’agit d’un regroupement en catégorie → cette déformation de l’espace pour Page 11 sur 11

Use Quizgecko on...
Browser
Browser