FR 2980877 A1 20130405 FR 1159874 A 20111031 Dispositifs d'apprentissage et/ou de décodage de messages séquentiels, mettant en oeuvre un réseau de neurones, procédés d'apprentissage et de décodage et programmes d'ordinateur correspondants. 1. domaine de l'invention Le domaine de l'invention est celui des réseaux de neurones. Plus précisément, l'invention concerne la mise en oeuvre de réseaux de neurones, et en particulier l'apprentissage de tels réseaux et le décodage à l'aide de tels réseaux, notamment pour la remémoration de messages ou la discrimination entre messages appris et messages non appris. 2. art antérieur 2.1 intelligence artificielle Depuis un demi-siècle, précisément depuis la fameuse conférence de Dartmouth en 1956 organisée à l'initiative de John McCarthy, l'intelligence artificielle et ses applications potentielles suscitent l'intérêt de nombreux scientifiques. Cependant, à part quelques succès modestes de réalisation matérielle (réseaux de neurones formels, réseaux de Hopfield, perceptrons, logique floue, automates évolués), l'ambition de l'intelligence artificielle s'est essentiellement reportée sur la conception de systèmes dits experts, c'est-à-dire de logiciels capables de reproduire des décisions qu'un expert humain pourrait prendre sur un problème limité, avec un jeu de critères restreint et dans un contexte bien circonscrit. Et l'expression "intelligence artificielle" s'est démodée au profit de celle de "sciences cognitives", dont l'outil principal reste le classique ordinateur, dont l'architecture et le fonctionnement sont, comme chacun le sait, très éloignés de ceux du cerveau. Malgré tous les efforts accomplis ces vingt dernières années dans l'exploration du réseau neural biologique, grâce à des procédés de plus en plus sophistiqués (électro-encéphalographie, imagerie par résonance magnétique, ...), le cerveau reste, du point de vue du traitement de l'information, terra incognita. 2.2 réseau de Hopfield Le codage dans les réseaux de neurones peut notamment être abordé par le biais des mémoires associatives de Hopfield (voir par exemple : John J. Hopfield (2007) Hopfield network. Scholarpedia, 2(5):1977), lesquelles sont très simples à construire et constituent une référence du domaine. Un réseau de Hopfield, dont un exemple est donné en figure 1 (cas d'un réseau de Hopfield classique à n = 8 neurones), est porté par un graphe non orienté complet à n sommets (neurones) et sans boucles. Le graphe comporte donc n(n -1) - 28 liaisons et la liaison bidirectionnelle entre les sommets i et j est 2 caractérisée par un poids (synaptique) w1. Ce poids résulte de l'apprentissage de M messages de n valeurs binaires antipodales (± 1), chaque valeur dm (i = 1...n) du dème message (m = 1. correspondant à une même valeur du ilème neurone. est donné par : 1 " -Idnorn Mm=1 et peut prendre P = M+ 1 valeurs. La remémoration d'un message particulier, à partir d'une partie de son contenu, s'effectue à travers le processus itératif décrit par les relations suivantes, où 1),P est la valeur de sortie du ième neurone après lap'ème itération : vp = +1 si 11,121.1 I V1 > 0 j=1 j#1 V il) = -1 si ri!1.1 I v-1 Posner, E. R. Rodemich, and S. S. Venkatesh, dans "The capacity of the Hopfield associative memory," IEEE Trans. Inform. Theory, vol. IT-33, pp. 461-482, 1987. Cette borne Mmax est très faible comparée au nombre de connexions dans le réseau, et limite l'intérêt des réseaux de Hopfield et leurs applications. Par exemple, avec 1900 neurones, et donc 1,8.106 connexions binaires, un réseau de 10 Hopfield est capable d'acquérir et de se remémorer uniquement environ 250 messages de 1900 bits. 2.4. réseaux de neurones à grande diversité d'apprentissage Claude Berrou et Vincent Gripon ont proposé une nouvelle approche des réseaux de neurones, reposant notamment sur les notions de grappes neurales et 15 de codage parcimonieux, décrite notamment dans le document de brevet PCT/EP2011/064605 (non encore publié). Ils ont notamment montré que des réseaux de neurones entièrement binaires sont capables d'apprendre un grand nombre de messages, à condition que ces messages soient de petite longueur, comparativement à la taille du réseau. Les principes d'apprentissage et de 20 remémoration de ces réseaux, dits "classiques" dans la suite, sont rappelés ci- après. Le réseau de neurones est découpé en c grappes (appelées également blocs dans le document de brevet PCT/EP2011/064605) de tailles arbitraires. Pour plus de simplicité, on considère dans les équations introduites dans la suite que toutes 25 les grappes ont la même taille : 1, de sorte que le réseau contienne un total de n = cl neurones. Le réseau étant binaire, toute valeur de connexion w(oxi y) reliant le neurone j de la grappe i au neurone j' de la grappe est soit 1 si la connexion existe, soit 0 dans le cas contraire. Les messages que le réseau peut apprendre sont segmentés en c sous-30 messages (ou symboles dans le cas plus général de messages non binaires), un n pour chaque grappe, chacun ayant / valeurs possibles. Dans le cas de messages binaires, le nombre de bits d'information que porte chaque sous-message est log2(1). Après l'apprentissage de Mmessages dm, la valeur des connexions est : V/, 0 sinon (1) 11 si i i' et l'ii, d'in = j et el = j' En d'autres termes, le réseau associe à chaque message un neurone, et un seul, par grappe. Ces neurones sont appelés "fanaux" de manière imagée car un seul d'entre eux, dans des conditions normales, peut être allumé (activé) dans sa grappe. Les fanaux d'un message sont tous reliés les uns aux autres. Ce processus correspond donc à la création de cliques dans un graphe, dont chaque sommet appartient à une grappe différente. Afin de quantifier les performances d'un tel réseau, il est essentiel d'introduire sa densité, c'est-à-dire le nombre de ses connexions rapporté au nombre maximum de connexions possibles. Si les messages appris sont indépendants et identiquement distribués, et s'ils sont suffisamment nombreux pour considérer valide la loi des grands nombres, alors la densité d du réseau est très bien approchée par la formule suivante : ( 1\M d =1- /2 1--' M/12 pour M«12 (2) Le décodage est assuré par un algorithme itératif, qui exploite les connexions pour tenter de retrouver des portions manquantes d'information ou de corriger des erreurs. Ce processus est réalisé en deux temps : d'abord les informations sont propagées par les connexions puis au sein de chaque grappe sont sélectionnés le ou les fanaux les plus actifs, c'est-à-dire ceux qui reçoivent le plus de signaux du reste du réseau et en y ajoutant leur propre contribution (effet mémoire). On note v1 la valeur du fanal j de la grappe i. Au départ sont supposées initialisées les valeurs v1 à 1 si le message présenté en entrée du réseau active le j- ième fanal de la i-ème grappe et à 0 sinon. Ensuite, les deux étapes du décodage peuvent s'écrire : j, vij Iw(i, yvij ITIIX max (vif ) V j,1)11 Un autre objectif de l'invention, selon au moins un mode de réalisation, est de fournir une telle technique, bien adaptée à l'apprentissage et au décodage de séquences de longueurs quelconques. L'invention a également pour objectif, selon au moins un mode de réalisation, de fournir une telle technique, permettant l'apprentissage et le décodage de séquences de grandes longueurs, et permettant notamment d'encoder des flux d'informations volumineux, tels que des flux multimédia. Encore un autre objectif de l'invention, selon au moins un mode de réalisation, de fournir une telle technique, permettant d'étendre les possibilités de mises en oeuvre de mémoires associatives de messages séquentiels. 5. caractéristiques principales de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un dispositif d'apprentissage de messages séquentiels, mettant en oeuvre un réseau de neurones. Selon l'invention, ce dispositif met en oeuvre un ensemble de neurones, dits fanaux, lesdits fanaux étant des neurones binaires, pouvant prendre uniquement deux états, un état allumé et un état éteint. Ces fanaux sont distribués en c grappes comprenant chacune un nombre prédéterminé de fanaux, chaque grappe de fanaux étant affectée au traitement d'un sous-message, lesdites grappes étant ordonnées, de façon qu'il soit possible d'identifier, pour une grappe donnée, une série de grappes précédentes selon un ordre prédéfini, chaque fanal étant associé à une occurrence spécifique dudit sous-message. Le dispositif comprend également des moyens d'apprentissage dudit réseau de neurones, comprenant : - des moyens de découpage d'un message à apprendre en L sous-messages à apprendre ; - des moyens d'activation d'un unique fanal dans l'état allumé dans une grappe courante, pour un desdits sous-messages à apprendre, tous les autres fanaux de ladite grappe courante étant dans l'état éteint ; - des moyens de création de connexions entre fanaux, activant, pour ledit sous-message à apprendre, des connexions entre le fanal allumé de ladite grappe courante et le fanal allumé de chacune des grappes de la série de grappes précédant ladite grappe courante, lesdites connexions étant des connexions binaires, pouvant prendre uniquement un état connecté et un état déconnecté, et unidirectionnelles, de l'une desdites grappes précédentes vers ladite grappe courante. Ainsi, selon l'invention, on met en oeuvre une structure orientée : les connexions entre deux neurones ne sont pas bidirectionnelles (c'est-à-dire valides indifféremment dans les deux sens), mais au contraire unidirectionnelles, d'une première grappe vers une seconde grappe, selon l'ordre de celles-ci. Comme expliqué plus en détail par la suite, ceci permet un traitement séquentiel. En effet, un tel dispositif est capable d'apprendre et de restituer des séquences de tailles variables, et non plus seulement des messages atemporels et de longueurs fixes. Il est important de noter que cet aspect est tout à fait nouveau, et non évident, dans le domaine des réseaux de neurones. En effet, notamment, les réseaux de Hopfield n'ont pas une telle capacité d'apprentissage de messages séquentiels de tailles variables. L'unidirectionnalité apparaît, pour l'homme du métier, comme étant un handicap pour obtenir de bonnes performances : elle requiert deux fois plus de ressources matérielles (il faut deux bits pour spécifier une liaison entre deux noeuds du graphe orienté au lieu d'un seul pour le graphe non orienté) pour une redondance potentiellement plus faible que celle des connexions bidirectionnelles. Cependant, les inventeurs ont montré qu'elle présente également de nombreux avantages, notamment du fait qu'elle permet l'introduction d'une dimension temporelle dans l'apprentissage. On peut également noter que l'approche de l'invention correspond à une vision plus réaliste de circuits neuro-inspirés (les connexions cérébrales sont en effet unidirectionnelles). De façon préférentielle, l'invention est mise en oeuvre pour des valeurs de 10 L bien supérieures au nombre de grappes c. En effet, un message séquentiel peut passer plusieurs fois par la même grappe. Ainsi, les messages encodés peuvent par exemple correspondre à des flux multimédia. Avantageusement, une série de grappes précédentes comprend r grappes précédentes, où r est appelé recouvrement temporel. 15 De façon avantageuse, lesdits moyens de découpage délivrent lesdits sous- messages sous la forme d'une séquence, traitée selon ledit ordre prédéfini des grappes, lors de l'apprentissage. Selon certains modes de réalisation, le nombre / de fanaux de chaque bloc peut correspondre au nombre de symboles d'un alphabet fini prédéterminé. En 20 effet, les messages ne sont pas forcément binaires. Dans le cas où les messages sont binaires et présentent une longueur k = LK, où K la longueur d'un sous-message binaire, chaque bloc comprend avantageusement / = 2K fanaux. Selon un mode de réalisation particulier, le dispositif d'apprentissage peut 25 être réalisé sous la forme d'au moins un circuit intégré. Il peut également être, intégralement ou en partie, réalisé sous une forme logicielle, et stocké sur un ordinateur ou tout autre appareil de traitement adéquat. Il est également possible que les moyens de traitement, assurant notamment l'apprentissage, soit physiquement séparés de tout ou partie du réseau de neurones, qui peut être stocké à distance, et accessible par tout moyen de communication adéquat. L'invention concerne également un dispositif de décodage d'un message à décoder, à l'aide d'un réseau de neurones configuré à l'aide d'un dispositif d'apprentissage tel que décrit ci-dessus. Un tel dispositif de décodage comprend : - des moyens de découpage du message à décoder en L sous-messages à décoder ; - des moyens d'allumage de fanaux associés respectivement auxdits sous- messages à décoder, dans les blocs correspondants ; - des moyens d'association, audit message à décoder, d'un message décodé, en fonction desdits fanaux allumés et desdites connexions reliant lesdits fanaux allumés. Ainsi, l'invention selon cet aspect repose notamment sur un apprentissage parcimonieux, seul un fanal par grappe pouvant être allumé pour chaque message à apprendre, simplifiant les traitements et offrant une forte capacité de mémorisation. L'apprentissage et le décodage sont alors très simples, et fiables, puisque l'on sait que, dans chaque grappe, un seul fanal est allumé, pour un message donné. Le traitement est également simplifié, par rapport aux réseaux de neurones à valeurs réelles, ou pondérées, du fait qu'il repose sur une approche binaire : d'une part, les fanaux sont des neurones binaires, pouvant prendre uniquement deux états, et d'autre part, les connexions entre les fanaux allumés sont également, des connexions binaires, pouvant prendre uniquement un état connecté et un état déconnecté. Préférentiellement, lesdits moyens d'association mettent en oeuvre un décodage progressif, grappe par grappe, selon ledit ordre prédéfini. On effectue ainsi un décodage séquentiel, de proche en proche. Selon un aspect particulier, le dispositif de décodage peut comprendre des moyens d'initialisation, définissant les fanaux allumés des r premières grappes de la séquence à décoder, selon ledit ordre prédéterminé. Selon un autre aspect particulier, le dispositif de décodage peut comprendre des moyens de décodage local, pour chacune desdites grappes, activant dans l'état allumé au moins un fanal le plus vraisemblable, dans ladite grappe, en fonction des connexions activées par les fanaux allumés dans les r grappes précédentes, et délivrant un sous-message décodé local. Un tel dispositif de décodage peut notamment être réalisé sous la forme d'au moins un circuit intégré. Il peut également être un, ou être implanté en tout ou partie dans, un ordinateur, ou plus généralement dans un appareil comprenant des moyens de stockage de données et des moyens de traitement de données. Il est à noter par ailleurs que les dispositifs d'apprentissage et de décodage peuvent être des dispositifs distincts (physiquement ou du fait de leur implémentation logicielle) ou être regroupés dans un dispositif unique d'apprentissage et de décodage. L'invention concerne encore un procédé d'apprentissage du réseau de neurones, mettant en oeuvre un ensemble de neurones, dits fanaux, lesdits fanaux étant des neurones binaires, pouvant prendre uniquement deux états, un état allumé et un état éteint, lesdits fanaux étant distribués en c grappes comprenant chacune un nombre prédéterminé de fanaux, chaque grappe de fanaux étant affectée au traitement d'un sous-message, lesdites grappes étant ordonnées, de façon qu'il soit possible d'identifier, pour une grappe donnée, une série de grappes précédentes selon un ordre prédéfini, chaque fanal étant associé à une occurrence spécifique dudit sous-message. Un tel procédé d'apprentissage comprend les étapes suivantes : - découpage d'un message à apprendre en L sous-messages à apprendre, et pour chaque sous-message à apprendre, associé à une grappe courante : activation d'un unique fanal dans l'état allumé dans ladite grappe courante, pour un desdits sous-messages à apprendre, tous les autres fanaux de ladite grappe courante étant dans l'état éteint ; création de connexions entre fanaux, activant, pour ledit sous-message à apprendre, des connexions entre le fanal allumé de ladite grappe courante et le fanal allumé de chacune des grappes de la série des r grappes précédant ladite grappe courante, lesdites connexions étant des connexions binaires, pouvant prendre uniquement un état connecté et un état déconnecté, et unidirectionnelles, de l'une desdites grappes précédentes vers ladite grappe courante. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, comprenant des instructions de code de programme pour l'exécution du procédé d'apprentissage tel que décrit ci-dessus, lorsqu'il est exécuté sur un ordinateur. L'invention concerne encore un procédé de décodage d'un message à décoder, à l'aide d'un réseau de neurones configuré selon le procédé d'apprentissage tel que décrit ci-dessus. Un tel procédé de décodage comprend les étapes suivantes : (a) réception d'un message à décoder ; (b) découpage dudit message à décoder en L sous-messages à décoder ; (c) association, audit message à décoder, d'un message décodé, en fonction des fanaux allumés correspondant auxdits sous-messages à décoder. Ladite étape (c) peut comprendre, pour chacun desdits sous-messages à décoder et pour chaque grappe correspondante, les sous-étapes de : (cl) allumage du fanal associé au sous-message à décoder, dans ladite grappe ; (c2) identification de connexions reliant ledit fanal allumé et lesdits fanaux allumé des grappes précédentes. De façon avantageuse, le procédé de décodage peut mettre en oeuvre un décodage de proche en proche, les sous-messages associés auxdites grappes étant décodées séquentiellement, grappe par grappe, selon ledit ordre prédéfini. Selon certains modes de réalisation de l'invention, le parcours de grappe à grappe défini par ledit ordre peut être parcouru plusieurs fois, la dernière grappe étant reliée à la première. L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution de ce procédé de décodage, lorsqu'il est exécuté sur un ordinateur. 6. liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1, commentée en préambule, présente un exemple d'un réseau de Hopfield à 8 neurones ; les figures 2A et 2B illustrent respectivement les connexions inter-grappes autorisées pour un réseau classique et pour une chaîne de tournois de même complexité ; la figure 3 présente une comparaison de la probabilité de retrouver un message précédemment appris lorsque 25% de ses symboles sont effacés, entre le réseau classique contenant 4 grappes de 512 neurones chacune et le réseau de chaînes de tournois de paramètre r = 3 constitué de 8 grappes de 512 neurones chacune ; les figures 4A et 4B illustrent le renforcement de la redondance lors de l'apprentissage de séquences afin d'éviter des ambiguïtés lorsque des symboles se répètent dans la séquence.; la figure 5 illustre l'apprentissage d'une séquence de taille quelconque dans le réseau de la figure 4B ; la figure 6 montre l'évolution de la probabilité qu'une erreur n'ait pas d'impact sur la remémoration de futurs symboles au sein d'une séquence, en fonction de l'efficacité du réseau et pour divers paramètres , - la figure 7 illustre schématiquement une mise en oeuvre d'un apprentissage selon un mode de réalisation de l'invention ; - la figure 8 illustre schématiquement une mise en oeuvre d'un décodage selon un mode de réalisation de l'invention. 7. description d'un mode de réalisation 7.1 introduction L'invention s'appuie sur des aspects développés dans le domaine de la théorie de l'information, dont les développements ont été pendant longtemps suscités et captés par les besoins des télécommunications, en perpétuelle demande d'améliorations. Des avancées considérables ont ainsi été obtenues dans l'écriture de l'information, sa compression, sa protection, son transport et son interprétation. En particulier, ces dernières années ont vu l'émergence de nouveaux 15 procédés de traitement de l'information qui s'appuient sur des échanges probabilistes à l'intérieur de machines pluricellulaires. Chaque cellule est conçue pour traiter un problème de manière localement optimale et c'est l'échange d'informations (des probabilités ou des logarithmes de probabilité) entre les cellules qui conduit à un résultat globalement optimal. 20 Le turbo-décodage a ouvert la voie à ce type d'approche (voir par exemple C. Berrou, A. Glavieux and P. Thitimajshima, "Near Shannon limit errorcorrecting coding and decoding: turbo-codes", Proc. of IEEE ICC '93, Geneva, pp. 1064-1070, May 1993. Voir aussi : Sylvie Kerouédan and Claude Berrou (2010), Scholarpedia, 5(4):6496). Le turbo-décodage a été reconnu comme une 25 instance du principe très général de propagation de croyance (« belief propagation » en anglais ; voir par exemple R. J. McEliece, D. J. C. MacKay and J.-F. Cheng, "Turbo decoding as an instance of Pearl's 'belief propagation' algorithm", IEEE Journal on Selected Areas in Commun., vol. 16, no. 2, pp. 140152, Feb. 1998), lequel a trouvé par la suite une autre application importante dans 30 le décodage des codes « Low Density Parity Check » (LDPC, voir par exemple R. G. Gallager, "Low-density parity-check codes", IRE Trans. Inform. Theory, Vol. IT-8, pp. 21-28, Jan. 1962). Les inventeurs ont observé que l'on pouvait tenter d'adapter les développements effectués dans ces domaines à l'utilisation des réseaux de neurones, en termes de structure distribuée, séparabilité des informations, résistance au bruit, résilience, etc. Les développements décrits dans le document PCT/EP2011/064605 montrent les avantages de la parcimonie et la grande diversité d'apprentissage, comme rappelé en préambule. 7.2 prise en compte de l'unidirectionnalité L'invention propose d'améliorer cette technique, notamment grâce à l'unidirectionnalité. En d'autres termes, selon le vocabulaire de la théorie des graphes, l'invention permet de passer des « cliques » aux « tournois » et aux « chaînes de tournois ». En effet, tout message est appris, dans le réseau « classique » au travers de l'inscription d'une clique dans des grappes de neurones fanaux. Si les cliques maximisent le nombre de liaisons entre fanaux représentatifs d'un message et donc sa redondance, elles requièrent cependant un nombre important de connexions, proportionnel au carré du nombre de sommets reliés. L'approche de l'invention introduit une réduction de cette redondance dans le processus d'apprentissage se répercute sur les performances du réseau, notamment en rendant les connexions unidirectionnelles. Cette approche non évidente a posteriori, puisqu'elle diminue les redondances et augmente la complexité (pour repérer le sens de la connexion), présente cependant des avantages. Une réduction structurée de la redondance des cliques permettant de préserver de bonnes propriétés de mémorisation et remémoration est possible, comme expliqué ci-après. En outre, on peut noter une analogie biologique, les synapses (entrées neuronales ) et les axones (sorties) n'étant pas interchangeables. En théorie des graphes, on appelle tournoi un sous-ensemble de noeuds du graphe qui sont tous interconnectés, dans un sens ou dans l'autre mais pas dans les deux. Cette notion s'appuie donc nécessairement sur des graphes orientés et non plus symétriques. L'unidirectionnalité peut apparaître dans un premier temps comme étant un handicap pour obtenir de bonnes performances : elle requiert deux fois plus de ressources matérielles (il faut deux bits pour spécifier une liaison entre deux noeuds du graphe orienté au lieu d'un seul pour le graphe non orienté) pour une redondance potentiellement plus faible que celle des connexions bidirectionnelles. Cependant, elle permet l'introduction d'un caractère temporel dans l'apprentissage. Soit un réseau compartimenté en c grappes numérotées de 1 à c et r un paramètre entier entre 1 et c - 1. On appelle chaîne de tournois de paramètre r un tel réseau si seules sont autorisées les connexions entre les grappes i et j, j - i (mod c) La figure 3 compare les performances des deux types de réseaux dans les configurations décrites par la figure 1 pour un taux d'effacement des messages en entrée de 25%, soit 1 grappe effacée dans le cas du réseau classique et 2 grappes effacées dans le cas de la chaîne de tournois (avec c = 8). Cette figure 3 montre que la perte en performance est raisonnable. Cependant, la chaîne de tournois requiert une ressource matérielle 4 fois plus grande. 7.4 principe de l'apprentissage de séquences L'apprentissage de séquences pose le problème de la répétition de situations déjà rencontrées. C'est un problème connu en théorie des jeux qui peut s'exprimer de la façon suivante : dans une même situation, la décision à prendre peut dépendre uniquement de l'état actuel de la partie ou également de situations précédentes. Par exemple, lors d'une partie d'échecs de haut niveau, la décision prise par un joueur ne devrait pas dépendre des décisions qui ont été prises précédemment. En particulier un joueur pourrait se faire remplacer en cours de partie sans que le remplaçant ne connaisse la suite de coups qui a mené à la situation en cours et sans que ses chances de gagner ne soient affectées. Au contraire, dans un jeu à information imparfaite, une partie de cartes par exemple, il est très fréquent que la décision d'un joueur dépende des choix précédents qu'ont pu faire ses adversaires. Pour prendre un exemple concret, on imagine que l'on souhaite apprendre 30 un mot composé de quelques caractères, par exemple « brain ». Dans le cas d'un apprentissage sans mémoire, le processus se contente de donner des règles de transition : par exemple "b" mène à "r" qui mène à "a" qui mène à "i" qui mène à "n". Se pose alors un double problème : lorsqu'un mot contient plusieurs fois la même lettre ou lorsque plusieurs mots partagent les mêmes lettres. Une ambiguïté en résulte qui ne peut être levée que par un renforcement des liens entre les caractères des mots appris. L'invention propose une solution à ce problème, en utilisant les chaînes de tournois précédemment introduites pour réaliser ce renforcement. Les figures 4A et 4B illustrent ce principe : sur la figure 4A il est impossible de savoir si, partant de A, il faut retrouver ABCDE ou ABCFGHCDE. En effet, deux connexions 41 et 42 partent de C, et on ne sait pas si l'on doit aller vers D (connexion 41) ou vers F (connexion 42). En revanche, dans le mode de réalisation de la figure 4B, chaque lettre est reliée à la précédente (flèche pleine) et à celle encore précédente (flèche en pointillés). En d'autres termes, le caractère futur est relié aux deux précédents. On a donc connaissance d'une séquence, qui permet de lever l'ambiguïté : partant de B pour aller à C, on doit aller à F, qui reçoit d'une part la flèche pleine 43 de C et d'autre part la flèche pointillée 44 de B, correspondant donc à BCF. BCD n'est pas possible, puisque D n'est pas connecté à B. 7.5 exemple d'apprentissage de séquences dans un réseau parcimonieux Le principe d'apprentissage de séquences tel que décrit ci-dessus peut être adapté aux réseaux parcimonieux tels qu'introduits notamment dans le document PCT/EP2011/064605. Soit dm une séquence de symboles de longueur L, c'est-à-dire une suite ordonnée de L symboles. Pour plus de simplicité, L est considéré multiple de c et toutes les séquences auront la même longueur L. Ceci n'est cependant pas obligatoire. Afin d'apprendre de telles séquences, dans le cas le plus général où L est supérieur à c, les grappes doivent être sollicitées à plusieurs reprises. Ainsi, la grappe numérotée i ne correspondra plus simplement au i-ème symbole des messages appris mais à tous les i + kc- ièmes symboles, où k est un entier positif. L'apprentissage se déroule sur une chaîne de tournois de recouvrement r. Après l'apprentissage de M séquences de de longueur L, le réseau est défini par : Vi, [Il; cil, Vj, j'E [11;11, 1 si 1 (i' -i) mod c ;n+kc = j et La figure 5 illustre un exemple de processus d'apprentissage, dans lequel chaque symbole est appris en se déplaçant de grappe en grappe au travers du réseau et en se liant aux r symboles précédents. Dans cette représentation de l'apprentissage d'une séquence de taille quelconque, le réseau contient c = 8 grappes 51 et le recouvrement est r = 3 (chaque grappe est reliée aux trois grappes précédentes). Les symboles du message à apprendre sont appris circulairement et séquentiellement sur les différentes grappes, selon l'ordre illustré par les flèches (0, 1, 2, ... 21, 22). On constate clairement, sur cette figure 5, que, comme déjà mentionné, chaque grappe est utilisée plusieurs fois. 7.6 probabilités d'erreurs dans le décodage de séquences Contrairement aux réseaux du document de brevet PCT/EP2011/064605 qui considéraient le décodage de messages aléatoirement effacés ou erronés, le décodage des séquences s'appuie sur la connaissance parfaite des premiers symboles. D'autres informations pourraient être fournies, par exemple la valeur de certains symboles placés plus loin dans les séquences. Dans l'analyse qui suit, on considère uniquement le cas où seuls les r premiers symboles sont renseignés. Puisque les symboles appris ne sont reliés qu'à des symboles qui précédent, le réseau n'est pas adapté à la remémoration d'une séquence "à l'envers", c'est-à-dire en partant des derniers symboles. Il suffirait toutefois d'inverser le sens de toutes les connexions pour que cette opération devienne possible. Tout comme pour les réseaux classiques, c'est la densité d qui conditionne les performances. La probabilité de retrouver un symbole connaissant les r précédents se définit comme : Prec = (1- dr)" (16) Si les messages sont de longueur L, la probabilité d'erreur lors de la remémoration du message entier est : Pe =1- (1- dr )(1-1)(L-r) (17) À probabilité d'erreur fixée, il s'en déduit la diversité (nombre maximal de messages appris) du réseau comme suit : ( ( 1 log 1- 1- (1- Pe)(1-1)(L-r) (18) la quantité (19) La capacité est obtenue en multipliant cette diversité par d'informations binaires contenues dans chaque séquence : Cseq = L.log2(/).Smax (Pe) Enfin, l'efficacité du réseau s'écrit : s Cseq eq cr12 Smax(Pe)= -L log(1 1 ) c (20) La table 2 donne quelques valeurs sur le nombre et la longueur des séquences que de tels réseaux sont capables de mémoriser puis de retrouver avec une probabilité d'erreur de 0.01, ainsi que l'efficacité associée : c 1 r L Smax ris eq 8 512 2 16 155 0.5% 8 512 3 16 1513 3.4% 8 512 3 32 578 2.6% 8 512 3 64 225 2% 20 512 10 100 12741 21.9% 50 256 20 1000 1823 22.2% TABLE 2 : Nombres de séquences (diversité) Smax qu'une chaîne de tournois est capable d'apprendre puis de remémorer avec une probabilité d'erreur inférieure à 0.01, pour différentes valeurs de c, 1, r et L. L'efficacité correspondante est également précisée. La probabilité d'erreur lors de la remémoration d'un symbole particulier peut être grandement affectée par des erreurs précédentes. En particulier, si les r précédents symboles retrouvés sont faux, il y a de très fortes chances que la suite des symboles décodés soit également totalement fausse. Ceci peut justifier l'introduction de moyens pour que certains symboles soient renseignés d'une autre manière, de même que les premiers symboles. La figure 6 montre l'évolution de la probabilité qu'une erreur reste locale et n'ait donc pas d'influence sur le décodage des prochains symboles, en fonction de l'efficacité du réseau, et pour divers paramètres. Elle montre que le réseau reste capable de surmonter des erreurs isolées jusqu'à une efficacité de l'ordre de 30 %. 7.7 résumé La figure 7 illustre de façon schématique et simplifiée un mode de réalisation du procédé d'apprentissage de l'invention. Lors d'une étape 61 d'initialisation, on sélectionne les fanaux des r premières grappes, correspondant aux r premiers symboles de la séquence de symboles à acquérir. Ensuite, on place (62) le symbole suivant de la séquence à acquérir dans la grappe suivante dans la chaîne de grappes (selon l'ordre prédéterminé). La grappe suivante est la première de la chaîne, si la grappe courante est la dernière de la chaîne. Puis on relie (63) les r fanaux des grappes précédentes au fanal de la grappe courante. Si le symbole courant est le dernier (64), l'apprentissage 65 de la séquence est terminé. Dans le cas contraire (66), on répète l'étape 62 pour le symbole suivant. La figure 8 illustre, de la même façon schématique et simplifiée un mode de réalisation du procédé de décodage de l'invention. Lors d'une étape 71 d'initialisation, on sélectionne les fanaux des r premières grappes, correspondant aux r premiers symboles de la séquence de symboles. Ces r premiers symboles sont supposés connus. Ensuite, on sélectionne (72) le symbole suivant dans la grappe suivante, à l'aide des équations (15) définies ci-dessus. La grappe suivante est la première de la chaîne, si la grappe courante est la dernière de la chaîne. Si le symbole courant n'est pas le dernier (73), l'étape 72 est répétée pour le symbole suivant. Si le symbole courant est le dernier (74), le décodage est terminé (75). 7.8 conclusion L'approche de l'invention permet d'"affaiblir" la redondance de la clique dans les réseaux de neurones introduits dans le document de brevet PCT/EP2011/064605, tout en gardant d'excellentes propriétés de mémoires associatives. D'une part, les réseaux y gagnent en plausibilité biologique, d'autre part et surtout, ils deviennent capables d'apprendre des séquences de longueur quelconque, indépendante du nombre de noeuds dans le graphe (alors que, dans le réseau classique, longueur des messages et taille du réseau sont étroitement liées). Ces réseaux orientés sont notamment aptes à apprendre des séquences très longues, ce qui pourrait leur donner la possibilité d'encoder des flux d'informations volumineux, des flux multimédia par exemple. L'introduction de la séquentialité dans les mémoires associatives permet d'étendre leurs possibilités.15 REVENDICATIONS1. Dispositif d'apprentissage de messages séquentiels, mettant en oeuvre un réseau de neurones, caractérisé en ce qu'il comprend un ensemble de neurones, dits fanaux, lesdits fanaux étant des neurones binaires, pouvant prendre uniquement deux états, un état allumé et un état éteint, lesdits fanaux étant distribués en c grappes (23;) comprenant chacune un nombre prédéterminé de fanaux, chaque grappe (23;) de fanaux étant affectée au traitement d'un sous-message, lesdites grappes (23;) étant ordonnées, de façon qu'il soit possible d'identifier, pour une grappe donnée, une série de grappes précédentes selon un ordre prédéfini, chaque fanal étant associé à une occurrence spécifique dudit sous-message, et des moyens d'apprentissage dudit réseau de neurones, comprenant : - des moyens de découpage d'un message à apprendre en L sous- messages à apprendre ; des moyens d'activation (62) d'un unique fanal dans l'état allumé dans une grappe courante, pour un desdits sous-messages à apprendre, tous les autres fanaux de ladite grappe courante étant dans l'état éteint ; - des moyens de création (63) de connexions entre fanaux, activant, pour ledit sous-message à apprendre, des connexions entre le fanal allumé de ladite grappe courante et le fanal allumé de chacune des grappes de la série de grappes précédant ladite grappe courante, lesdites connexions étant des connexions binaires, pouvant prendre uniquement un état connecté et un état déconnecté, et unidirectionnelles, de l'une desdites grappes précédentes vers ladite grappe courante. 2. Dispositif d'apprentissage selon la revendication 1, caractérisé en ce qu'une série de grappes précédentes comprend r grappes précédentes, où r c- 1, r est appelé recouvrement temporel. , 2980877 .25 3. Dispositif d'apprentissage selon l'une quelconque des revendications 1 et 2, caractérisé en ce que lesdits moyens de découpage délivrent lesdits sous-messages sous la forme d'une séquence, traitée selon ledit ordre prédéfini des grappes, lors de l'apprentissage. 5 4. Dispositif d'apprentissage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le nombre I de fanaux de chaque grappe correspond au nombre de symboles d'un alphabet fini prédéterminé. 5. Dispositif d'apprentissage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdits messages sont binaires et présentent une 10 longueur k = Lx; où K la longueur d'un sous-message binaire, chaque grappe comprenant I= 2k. fanaux. 6. Dispositif d'apprentissage selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il est réalisé sous la forme d'au moins un circuit intégré. 7. Dispositif de décodage d'un message à décoder, à l'aide d'un réseau de 15 neurones configuré à l'aide d'un dispositif d'apprentissage selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comprend : des moyens de découpage du message à décoder en L sous-messages à décoder ; des moyens d'allumage de fanaux associés respectivement auxdits sous- 20 messages à décoder, dans les grappes correspondantes ; des moyens d'association, audit message à décoder, d'un message décodé, en fonction desdits fanaux allumés et desdites connexions reliant lesdits fanaux allumés. 8. Dispositif de décodage selon la revendication 7, caractérisé en ce que 25 lesdits moyens d'association mettent en oeuvre un décodage progressif, grappe par grappe, selon ledit ordre prédéfini. 9. Dispositif de décodage selon l'une quelconque des revendications 7 et 8, caractérisé en ce qu'il comprend des moyens d'initialisation, définissant les fanaux allumés des r premières grappes de la séquence à décoder, selon ledit 30 ordre prédéterminé. 10. Dispositif de décodage selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comprend des moyens de décodage local, pour chacune desdites grappes, activant dans l'état allumé au moins un fanal le plus vraisemblable, dans ladite grappe, en fonction des connexions activées par les fanaux allumés dans les r grappes précédentes, et délivrant un sous-message décodé local. 11. Dispositif de décodage selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il est réalisé sous la forme d'au moins un circuit intégré. 12. Procédé d'apprentissage du réseau de neurones, caractérisé en ce qu'il met en oeuvre un ensemble de neurones, dits fanaux, lesdits fanaux étant des neurones binaires, pouvant prendre uniquement deux états, un état allumé et un état éteint, lesdits fanaux étant distribués en c grappes (23;) comprenant chacune un nombre prédéterminé de fanaux, chaque grappe de fanaux étant affectée au traitement d'un sous-message, lesdites grappes (23;) étant ordonnées, de façon qu'il soit possible d'identifier, pour une grappe donnée, une série de grappes précédentes selon un ordre prédéfini, chaque fanal étant associé à une occurrence spécifique dudit sous-message, et en ce qu'il comprend les étapes suivantes : découpage d'un message à apprendre en L sous-messages à apprendre, et pour chaque sous-message à apprendre, associé à une grappe courante : activation (62) d'un unique fanal dans l'état allumé dans ladite grappe courante, pour un desdits sous-messages à apprendre, tous les autres fanaux de ladite grappe courante étant dans l'état éteint ; création (63) de connexions entre fanaux, activant, pour ledit sous-message à apprendre, des connexions entre le fanal allumé de ladite grappe courante et le fanal allumé de chacune des grappes de la série des r grappes précédant ladite grappe courante, -lesdites connexions étant des connexions binaires, pouvant prendre uniquement un état connecté et un état déconnecté, et unidirectionnelles, de l'une desdites grappes précédentes vers ladite grappe courante. 13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution du procédé d'apprentissage selon la revendication 12, lorsqu'il est exécuté sur un ordinateur. 14. Procédé de décodage d'un message à décoder, à l'aide d'un réseau de neurones configuré selon le procédé d'apprentissage de la revendication 12, caractérisé en ce qu'il comprend les étapes suivantes : (a) réception d'un message à décoder ; (b) découpage dudit message à décoder en L sous-messages à décoder ; (c) association, audit message à décoder, d'un message décodé, en fonction des fanaux allumés correspondant auxdits sous-messages à décoder. 15. Procédé de décodage selon la revendication 14, caractérisé en ce que ladite étape (c) comprend, pour chacun desdits sous-messages à décoder et pour chaque grappe correspondante, les sous-étapes de : (cl) allumage du fanal associé au sous-message à décoder, dans ladite grappe ; (c2) identification de connexions reliant ledit fanal allumé et lesdits fanaux allumé des grappes précédentes. 16. Procédé de décodage selon l'une quelconque des revendications 14 et 15, caractérisé en ce qu'il met en oeuvre un décodage de proche en proche, les sous- messages associés auxdites grappes étant décodées séquentiellement, grappe par grappe, selon ledit ordre prédéfini. 17. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des . 2980877 8 instructions de code de programme pour l'exécution du procédé de décodage selon l'une au moins des revendications 14 à 16, lorsqu'il est exécuté sur un ordinateur.