Réseau de neurones de Hopfield 879420 30369533 2008-06-06T10:24:17Z TXiKiBoT 195090 robot Ajoute: [[vi:Mạng Hopfield]] {{ébauche|informatique}} Le réseau de neurones d'Hopfield est un modèle de [[réseau de neurones récurrents]] à temps discret dont la matrice des connexions est symétrique et nulle sur la diagonale et où la dynamique est asynchrone (un seul neurone est mis à jour à chaque unité de temps). Il a été découvert par le physicien [[John Joseph Hopfield|John Hopfield]] en [[1982]]. Sa découverte a permis de relancer l'intérêt dans les réseaux de neurones qui s'était essouflé durant les années 70 suite à un article de [[Marvin Minsky]] et [[Seymour Papert]]. Un réseau de Hopfield est une mémoire adressable par son contenu : une forme mémorisée est retrouvée par une stabilisation du réseau, s'il a été stimulé par une partie adéquate de cette forme. = Structure = [[Image:Hopfield net.png|Thumb|200px|right|Un réseau de Hopfield à 4 neurones]] Ce modèle de réseau est constitué de N [[neurone formel|neurones]] à états binaires (-1, 1 ou 0, 1 suivant les versions) tous interconnectés. L'entrée totale d'un neurone i est donc : :<math> I_i = \sum_{j} w_{ij} V_j </math> <!-- TeX --> où : * <math>w_{ij}</math> est le poids de la connexion du neurone i à j * <math>V_j</math> est l'état du neurone j L'état du réseau peut être caractérisé par un mot de N bits correspondant à l'état de chaque neurone. = Dynamique = Le fonctionnement du réseau est séquencé par une horloge. On notera : * <math>V_i(t)</math> ou <math>V_i</math> l'état du neurone i à l'instant t * <math>V_i(t + 1)</math> l'état du neurone i à l'instant t + dt où dt désigne l'intervalle de temps entre 2 tops d'horloge Il existe plusieurs alternatives assez équivalentes pour la mise à jour de l'état des neurones : * Le mode [[stochastique]] original de Hopfield où chaque neurone modifie son état à un instant aléatoire selon une fréquence moyenne égale pour tous les neurones. Plus simplement on peut considérer qu'à chaque top d'horloge, on tire au hasard un neurone afin de le mettre à jour. * Un mode synchrone où tous les neurones sont mis à jour simultanément. * Un mode séquentiel où les neurones sont mis à jour selon un ordre défini. Le calcul du nouvel état du neurone i se fait ainsi : <math>V_i(t+1) = \left\{\begin{matrix} 1 & \mathrm{si}\sum_{j}{w_{ij}s_j}>0, \\ -1 & \mathrm{sinon}\end{matrix}\right.</math> = Apprentissage = L'apprentissage dans un réseau d'Hopfield consiste à faire en sorte que chacun des prototypes à mémoriser soit : * Un état stable du réseau * Un état attracteur permettant de le retrouver à partir d'états légérement différents Pour estimer les poids, on se sert d'un apprentissage hebbien, inspiré de la [[règle de Hebb|loi de Hebb]] (théorisée par [[Donald Hebb|Hebb]] en [[1949]] et observée réellement dans le [[cerveau]] par Bliss et Lomo en [[1973]]). Donc l'une des représentation algébrique est: :<math>w_{ij} = \frac{1}{n} \sum_{k=1}^p x_i^k x_j^k\,</math> , <!-- TeX --> où <math>w_{ij} </math> est le poids de la connexion entre le neurone [[neurone formel|neurone]] <math> j </math> et le neurone <math> i </math>, <math> n </math> est la dimension du vecteur d'entrée, <math> p </math> le nombre de motif d'entraînement et <math> x_i^k </math> la <math>k</math>ième entrée du neurone <math> i </math>. L'apprentissage hebbien minimise la fonction d'[[énergie]], c'est à dire que si deux unités sont actives simultanément, le poids de leurs connexions est augmenté ou dimuné. = Limites = Le réseau de Hopfield a cependant des limites bien connues : il ne peut stocker environ 0,14 n patterns avec n le nombre de neurones. {{portail informatique}} [[Catégorie:Neuromimétisme]] [[Catégorie:Sciences cognitives]] [[de:Hopfield-Netz]] [[en:Hopfield net]] [[ja:ホップフィールド・ネットワーク]] [[lv:Hopfīlda tīkls]] [[ru:Нейронная сеть Хопфилда]] [[sv:Hopfieldnät]] [[vi:Mạng Hopfield]]