L’impression de respirer

J’avance avec la révision de ma recherche sur le phénomène d’intelligence collective, que je viens de documenter dans « The collective of individual humans being any good at being smart ». Je m’efforce à faire jonction entre mes idées à moi, d’une part, et deux autres créneaux de recherche : la théorie des systèmes complexes et l’approche psychologique à l’intelligence collective. La première, je la travaille sur la base du livre ‘What Is a Complex System?’ écrit par James Landyman et Karoline Wiesner, publié en 2020 chez Yale University Press (ISBN 978-0-300-25110-4, Kindle Edition). Quant à l’approche psychologique, ma lecture de référence est, pour le moment, le livre ‘The Knowledge Illusion. Why we never think alone’ écrit par Steven Sloman et Philip Fernbach, publié en 2017 chez RIVERHEAD BOOKS (originellement chez Penguin Random House LLC, Ebook ISBN: 9780399184345, Kindle Edition).

Je viens de cerner l’idée centrale de mon approche au phénomène d’intelligence collective, et c’est l’utilisation des réseaux neuronaux artificiels – donc de l’Intelligence Artificielle – comme simulateurs des phénomènes sociaux complexes. La touche originale bien à moi que je veux ajouter à ce sujet, vaste par ailleurs, est la façon d’utiliser des réseaux neuronaux très simples, possibles à programmer dans une feuille de calcul Excel. Ma méthode va donc un peu à l’encontre du stéréotype des super-nuages numériques portés par des super-ordinateurs joints eux-mêmes en réseau, tout ça pour prédire la prochaine mode vestimentaire ou la prochaine super-affaire en Bourse.

Lorsque je pense à la structure d’un livre que je pourrais écrire à ce sujet, le squelette conceptuel qui me vient à l’esprit est du scientifique classique. Ça commence avec une « Introduction » générale et peu formelle, genre montrer pourquoi faire tout ce bruit à propos de l’idée en question. Une section de « Matériel empirique et méthode » ensuit, ou je discute le type de données empiriques à travailler avec ainsi que la méthode de leur traitement. Le pas suivant est de présenter « La théorie et revue de littérature du sujet » en un chapitre séparé et enfin des « Exemples d’application », soit des calculs faits sur des données réelles avec la méthode en question.     

Le noyau conceptuel formel de mon approche est – pour le moment – la fonction d’adaptation. Lorsque j’ai un ensemble de variables socio-économiques quantitatives, je peux faire des assomptions plus ou moins fortes à propos de leur signification et pertinence empirique, mais je peux assumer de manière tout à fait solide que chacune de ces variables peut représenter un résultat fonctionnel important, dont l’achèvement nous poursuivons comme société. En présence de « n » variables que peux poser « n » hypothèses du type : ces gens-là poursuivent l’optimisation de la variable « i » comme orientation collective. Une telle hypothèse veut dire que toutes les variables dans l’ensemble X = (x1, x2, …, x­n), observées dans une séquence de « m » occurrences locales (t1, t2,…, tm), forment une chaîne d’états fonctionnels locaux f{x1(t), x2(t), …, x­n(t)}.  La société étudiée compare chaque état fonctionnel local à une valeur espérée de résultat xi(t) et la fonction d’adaptation produit l’erreur locale d’adaptation e(t) = xi(t)f{x1(t), x2(t), …, x­n(t)}.  La variable « xi » fait partie de l’ensemble X = (x1, x2, …, x­n). La chaîne d’états fonctionnels f{x1(t), x2(t), …, x­n(t)} est donc produite aussi bien avec la variable optimisée « xi » elle-même qu’avec les autres variables. La logique de ceci est simple : la plupart de phénomènes sociaux que nous décrivons avec des variables quantitatives, tel le Produit National Brut (mon exemple préféré), démontrent une hystérèse significative. Le PNB d’aujourd’hui sert à produire le PNB de l’après-demain, tout comme le nombre des demandes de brevet d’aujourd’hui contribue à créer le même PNB de l’après-demain.

J’essaie de faire un rapprochement entre la théorie des systèmes complexes et ma méthode à moi. Je me réfère en particulier à ‘What Is a Complex System?’ (Landyman, Wiesner 2020). Le passage que je trouve particulièrement intéressant vu ma propre méthode est celui de la page 16, que je me permets de traduire sur le champ : « Comportement coordonné ne requiert pas de contrôleur suprême […] Il est surprenant que le mouvement collectif d’une volée d’oiseaux, d’un banc de poissons ou d’un essaim d’insectes peut être reproduit par un ensemble de robots programmés à obéir juste quelques règles simples. Chaque individu doit rester près d’une poignée des voisins et ne peut pas heurter d’autres individus. Comme l’individu avance, il contrôle régulièrement sa distance par rapport aux autres pour l’ajuster de façon correspondante. En conséquence, un mouvement de groupe se forme spontanément. Le comportement adaptatif du collectif surgit d’interactions répétées, dont chacune est relativement simple en elle-même […] ».

Le truc intéressant, là, c’est que je fais exactement la même opération logique dans les réseaux neuronaux que je fais et utilise dans ma recherche sur l’intelligence collective. A l’intérieur de chaque occurrence empirique dans mon ensemble de données (donc, de façon pratique, dans chaque vers de ma base de données), je calcule en ensuite je propage un méta-paramètre de distance Euclidienne entre chaque variable et toutes les autres. Le Produit Intérieur Brut en Suède en 2007 vérifie donc sa distance Euclidienne par rapport à l’inflation, au taux d’emploi etc., tout ça en Suède en 2007. Le PIB dans mon réseau neuronal se comporte donc comme un oiseau : ça vole de façon à contrôler sa distance par rapport aux autres phénomènes sociaux.

Chaque vers de la base de données est donc accompagné d’un vecteur-fantôme des distances Euclidiennes, qui est ensuite utilisé par le réseau comme information pertinente à la tentative d’adaptation dans l’occurrence empirique suivante, donc dans le vers suivant de la base des données. Initialement, lorsque je programmais ce truc, je ne savais pas ce que ça va donner. Je ne savais presque rien de cet aspect particulier de la théorie de complexité. Je venais juste de lire quelques articles sur la théorie d’essaim dans la programmation des robots et je voulais voir comment ça marche chez moi (Wood & Thompson 2021[1]; Li et al. 2021[2]).  Je m’adaptais juste de façon (probablement) intelligente au flot de mes propres pensées. Il se fait que la propagation de ces distances Euclidiennes locales entres les variables impacte le réseau et son apprentissage de façon profonde.

Voilà donc un point certain de rapprochement entre ma méthode d’utiliser les réseaux neuronaux artificiels pour simuler l’intelligence collective et la théorie des systèmes complexes. Lorsque je crée, pour un ensemble des variables quantitatives socio-économiques, un ensemble fantôme accompagnant des distances mathématiques locales entre ces variables et je propage ces distances à travers le réseau, les nombres apprennent de façon accélérée.          

Une petite explication est de rigueur, à propos de la notion de distance mathématique. Moi, j’utilise la distance Euclidienne entre les nombres simples. Dans le domaine du Data Science c’est l’équivalent de la pierre taillée. Il y a des mesures beaucoup plus sophistiquées, ou une distance Euclidienne est calculée entre des matrices entières des nombres. Moi, j’aime bien utiliser le type d’intelligence artificielle que je comprends.

Je peux donc résumer un point important de ma méthode, tout en l’enracinant dans la théorie des systèmes complexes. Nous pouvons imaginer les sociétés humaines comme des essaims des phénomènes que nous observons de façon imparfaite à travers des variables quantitatives. L’essaim des phénomènes s’auto-organise à travers les actions d’êtres humains qui contrôlent, de façon imparfaite et néanmoins cohérente, quelle est la distance (cohérence mutuelle) entre les phénomènes distincts. Le fait que chaque culture humaine s’efforce de créer et maintenir une cohérence interne est donc le mécanisme de contrôle qui facilite l’émergence des systèmes complexes.

Mon intuition à moi, lorsque j’introduisais ces mesures-fantômes de distance Euclidienne entre les variables était un peu contraire, en fait. Mon truc, depuis ma thèse de doctorat, c’est l’innovation et le changement technologique. Après avoir lu ces articles sur la théorie d’essaim je me suis dit que l’innovation survient lorsqu’une société se dit (collectivement) « Merde ! Ras le bol avec la monotonie ! Faut secouer tout ça un peu ! Eh, les gars ! Oui, vous ! On veut dire : oui, nous ! On relâche la cohérence interne ! Oui, juste pour quelques années, pas de souci ! Oui, merde, on vous (nous) promet de ne pas inventer Facebook, enfin on espère… ».  

La société que je représente avec un réseau neuronal est donc capable d’innovation parce qu’elle peut relâcher sa cohérence culturelle interne juste ce qu’il faut pour laisser entrer des phénomènes nouveaux. Ce que j’observe mathématiquement dans mes simulations avec des données socio-économiques réelles : lorsque je propage la distance Euclidienne entre les variables à travers le réseau, celui-ci donne l’impression de respirer. Ça se gonfle et ça se dégonfle, en cadence rythmique.  


[1] Wood, M. A., & Thompson, C. (2021). Crime prevention, swarm intelligence and stigmergy: Understanding the mechanisms of social media-facilitated community crime prevention. The British Journal of Criminology, 61(2), 414-433.  https://doi.org/10.1093/bjc/azaa065

[2] Li, M., Porter, A. L., Suominen, A., Burmaoglu, S., & Carley, S. (2021). An exploratory perspective to measure the emergence degree for a specific technology based on the philosophy of swarm intelligence. Technological Forecasting and Social Change, 166, 120621. https://doi.org/10.1016/j.techfore.2021.120621

Le biais décisionnel

Mon éditorial sur You Tube

Je suis en train, comme presque toujours, de travailler sur plusieurs trucs à la fois. En gros, je fais de la théorie bien respectable, accompagnée par quelque chose de pratique. La théorie que j’essaie de mettre en la forme d’une monographie scientifique tourne autour du phénomène général de l’intelligence collective et des changements technologiques en même temps, avec un focus spécial sur l’intelligence artificielle. Je résume les deux dernières années de recherche et ça donne l’esquisse d’un livre que je pourrais rédiger à partir de mes notes de recherche publiées sur « Discover Social Sciences ». J’ai deux hypothèses de base. La première assume que l’intelligence collective des sociétés humaines se manifeste à travers le fonctionnement des institutions spécifiquement dédiées à expérimenter avec des nouvelles solutions technologiques. Je pense que l’intelligence artificielle en particulier et les technologies digitales en général représentent une accélération dans la création et le fonctionnement de telles institutions. En d’autres monts, je pose la thèse que les changements technologiques et institutionnels de la civilisation humaine convergent vers une capacité plus grande de ladite société d’expérimenter avec elle-même. En 2017, j’avais fait un peu de recherche sur l’énergie en utilisant la méthode évolutionniste. Maintenant j’ai l’impression que l’approche évolutionniste est comme une introduction à l’application d’intelligence artificielle dans les sciences sociales. Là-dedans il y a un truc qui fout un peu de désordre dans la théorie établie des sciences sociales. Cette dernière assume que les institutions de nos sociétés – donc des lois, des coutumes, des systèmes politiques etc. – représentent surtout et avant tout un acquis du passé, comme une sédimentation des stratégies de comportement qui avant la création de ces institutions étaient beaucoup plus floues et changeantes. Le droit constitutionnel représenterait donc une formalisation des stratégies politiques utilisées dans le passé, le droit civil ferait de même en ce qui concerne les contrats entre privés etc. Ça, c’est l’édifice de la théorie dominante et moi, je veux y ajouter quelques briques de plus. Je suis convaincu que certaines institutions – surtout les marchés financiers au sens large et certaines institutions politiques dans les systèmes démocratiques – sont en fait des méta-institutions, quelque chose comme des organismes femelles qui ont la capacité de recombiner l’ADN institutionnel de provenance diverse et donner ainsi naissance à des institutions nouvelles.

Ma deuxième hypothèse est celle que j’avais déjà discuté quelque peu dans un article publié en 2017 : les changements technologiques de la civilisation humaine ont pour fonction biologique essentielle de maximiser l’absorption d’énergie de l’environnement. Pourquoi est-ce important ? C’est une grande fascination intellectuelle que j’ai progressivement développée, très largement sous l’influence de Fernand Braudel et son œuvre remarquable intitulée « Civilisation et Capitalisme ». Comme je lisais et relisais plusieurs fois ce livre, je m’étais rendu compte que toute forme de civilisation humaine est essentiellement composée des technologies d’utilisation d’énergie accessible dans l’environnement – tout comme des technologies d’acquisition de nourriture – et que nos structures sociales manifestent la façon dont ces technologies marchent. En plus, le vent et l’eau – qu’aujourd’hui nous appelons « énergies renouvelables » et considérons comme une innovation – avaient formé la base de ce que nous connaissons aujourd’hui comme civilisation européenne.

J’ai donc deux hypothèses qui donnent une convergence intéressante : comme civilisation, développons-nous des institutions qui nous servent à expérimenter avec des solutions nouvelles pour maximiser notre absorption collective d’énergie ? Et voilà, boum, il y a ce troisième truc, le projet que je conceptualise, pour le moment, sous le nom d’Étangs Énergétiques. Vous pouvez consulter « La marge opérationnelle de $1 539,60 par an par 1 kilowatt » à propos de mes derniers progrès sur le sujet. Je travaille sur ce concept de deux points de vue différents : pratique et scientifique. D’une part, je m’applique à mettre au point un projet de développement d’énergies renouvelables à travers le Navigateur des Projets, accessible à travers la page de « International Renewable Energy Agency ». Les énergies renouvelables en question c’est bien sur l’électricité produite par les turbines hydroélectriques installées dans l’infrastructure d’Étangs Énergétiques. Le Navigateur des Projets est fortement orienté sur la faisabilité économique, financière et politique de l’idée en question : pour qu’un projet soit exécutable, il faut une argumentation solide et claire à l’attention d’acteurs sociaux impliqués. Cette argumentation doit aller de pair avec une idée claire de l’appropriation du projet : un groupe social bien cerné, avec des décideurs bien définis, doit être capable d’approprier aussi bien les ressources nécessaires au projet que les résultats obtenus. Le principe de base est que des projets non appropriés, avec contrôle flou sur les ressources et les résultats, sont les premiers à échouer.

Pour le moment, j’ai deux arguments principaux en faveur de mon idée. Premièrement, même ce qui se passe cet été – des vagues de chaleur, sécheresse agricole, inondations locales – nous montre que le changement climatique nous force à repenser et rebâtir nos infrastructures hydrologiques. Nous ferions bien d’apprendre des trucs nouveaux en ce qui concerne la rétention de l’eau de pluie et son utilisation ultérieure. Le danger le plus grave – côté hydrologie – est une perturbation de plus en plus profonde du marché agricole en Europe. Deuxièmement, la quantité d’eau de pluie qui tombe sur l’Europe, si utilisée de façon adéquate, c’est-à-dire si on la fait passer à travers de turbines hydroélectriques, représente une quantité énorme d’énergie. Nous avons donc un danger sérieux d’une part et des gains possibles d’autre part.

Bon, donc ça, c’est un bref résumé des sujets que je travaille dessus en ce moment. Maintenant, je veux utiliser mon journal de recherche, tel que je le présente sur mon blog, pour passer en revue ce que j’ai lu et appris sur les deux trucs, donc le gros bouquin théorique et le projet pratique. Une fois de plus je me sers de mon blog comme outil de mise en ordre. Je commence avec la théorie de changement technologique, l’intelligence collective et l’intelligence artificielle. J’ai fait un petit saut du côté des sciences humaines : psychologie, neurophysiologie etc. J’ai pu constater que – probablement sous l’impulsion des développements récents de l’intelligence artificielle – une nouvelle discipline syncrétique est née : la théorie générale de l’intelligence et de la connaissance. Le soi-disant modèle de Bignetti en est un bon exemple (consultez, par exemple, Bignetti 2014[1]; Bignetti et al. 2017[2]; Bignetti 2018[3]). Ce modèle met un peu de désordre créatif dans la distinction entre l’action et la connaissance. Cette dernière est définie comme une expression consciente de l’expérience, pendant que le terme « action » est étendu sur tout ce qui est, précisément, l’expérience d’une entité intelligente. Le modèle de Bignetti est un véhicule théorique très général qui sert à expliquer le paradoxe de l’action apparemment inconsciente. Nous, les individus, aussi bien que nous, les collectivités, nous accomplissons tout un tas d’action que nous ne sommes pas capables d’expliquer rationnellement. Enrico Bignetti, professeur émérite de biochimique et de biologie moléculaire de l’université de Parme, pose la thèse que l’expérience consciente de soi ainsi que celle de volonté individuelle et de libre arbitre sont des illusions que notre cerveau crée dans les premiers mois de notre enfance pour faire l’action plus efficiente. Ces illusions servent à mettre de l’ordre dans la masse d’informations que notre cerveau reçoit et traite.

Moi, de mon côté, je pars d’une assomption simple, apparentée à la ligne de raisonnement de professeur Bignetti : une société humaine est une collectivité des systèmes nerveux individuels, une collectivité des cerveaux, pour ainsi dire. Il est donc logique que la façon dont la société fonctionne est en partie déterminée par le fonctionnement de ces cerveaux individuels. Il y a cette observation classique, à la limite de la science et du simple bon sens, qu’une partie substantielle de notre système nerveux sert presque exclusivement à faire fonctionner les relations sociales et ça marche dans la direction opposée aussi : les relations sociales sont ce qui fait marcher la même partie substantielle de notre système nerveux. C’est une intuition que Charles Darwin avait déjà exprimée dans son livre « The Expression of The Emotions In Man And Animals »[4] et que Émile Durkheim avait traité sous un angle sociologique dans « Les règles de la méthode sociologique ». Il y a donc une connexion fonctionnelle entre ce que font nos neurones et ce que fait un ministère. Question : si les neurones d’un cerveau individuel sont capables d’intelligence individuelle, quel genre d’intelligence pouvons-nous espérer de la part des neurones assemblés dans la multitude des cerveaux individuels d’une société humaine ?

J’ai trouvé une ligne de raisonnement intéressante chez Hassabis et al. (2017[5]).Intelligence artificielle permet de créer un nombre indéfiniment grand de solutions possibles, mais l’utilisation de la neurophysiologie peut être utile dans la sélection des solutions qui ont soit la valeur de similitude par rapport au système nerveux humain soit celle de nouveauté complète par rapport à la structure neurale humaine. Dans ce contexte, il est intéressant de se poser la question ontologique : comment est-ce que l’intelligence artificielle existe ? Lorsqu’un réseau neuronal marche, donc lorsque son algorithme prouve son utilité fonctionnelle, la structure logique de ce réseau neuronal existe-t-elle de la même façon que les idées existent ?

Je suis allé un peu plus loin dans l’étude d’algorithmes d’intelligence artificielle en tant que telle. Je me suis concentré sur trois types d’algorithmes qui sont en quelque sorte les piliers d’apprentissage profond : le mélange Gaussien, la forêt aléatoire et les algorithmes d’accélération d’apprentissage, donc Adam et DQN. Je vais brièvement discuter leur logique de base. Le mélange Gaussien d’abord. Tout comme les deux autres, j’ai copié celui-là de GitHub. Plus exactement, j’ai pris comme exemple le mélange Gaussien formalisé comme https://github.com/rushter/MLAlgorithms/blob/master/examples/gaussian_mixture.py .

Notre culture, à commencer par notre langage, est basée sur la catégorisation. Nous avons besoin de nommer les choses et pour les nommer, nous avons besoin d’établir le lien logique entre des ensembles des phénomènes observables et des catégories pour les grouper. C’est ainsi que des arbres deviennent « les arbres » et des chaises deviennent « les chaises ». Nous avons même une partie distincte de notre cerveau responsable de cette fonction de nominalisation : le soi-disant sentier synaptique ventral (Mishkin et al. 1983[6] ; Grossberg 2017[7]) qui est le seul à faire ça et ne fait que ça. Si nous voulons penser quoi que ce soit de complexe, genre « quoi faire ? », c’est toujours « quoi faire avec le truc tel et tel ? » ou « quoi faire à propos de X ? ». Notre cerveau sépare la partie « faire » de la partie « truc tel et tel, X pour les amis ». Cette dernière est toujours traitée par le sentier synaptique ventral et tout ce qui reste – donc la partie « faire à propos… » – c’est le boulot d’autres parties du cerveau.  

Le mélange Gaussien produit des catégories de façon probabiliste à partir des données empiriques données au réseau neuronal doté dudit mélange. La méthode générale est basée sur le concept de similarité entre phénomènes, seulement il est approché sous un angle rigoureusement mathématique. Intuitivement, lorsque nous parlons de similarité entre plusieurs phénomènes, nous pouvons penser à les comparer deux par deux. Seulement, ce n’est pas nécessairement la meilleure idée point de vue efficacité et en plus, il est possible que cette approche intuitive ne représente pas la façon dont notre propre cerveau marche.  Nous pouvons représenter les décisions collectives d’une société humaine comme un ensemble des choix simples, comparable au choix qu’un chimpanzé fait entre deux boîtes, en fonction de la présence espérée d’un fruit dans l’une d’elles. La théorie des jeux va dans cette direction. Néanmoins l’application de l’intelligence artificielle apporte ici une contribution originale. Dans l’article par Garnelo et Shanahan (2019[8]) nous pouvons voir les résultats des tests d’intelligence effectués par un réseau neuronal dans deux structures logiques alternatives : relationnelle, donc similaire au choix du chimpanzé d’une part et auto-attentive d’autre part. La structure auto-attentive marche comme un individu introspectif : le réseau neuronal observe ses propres décisions et prend cette observation en compte lorsqu’il expérimente avec des nouvelles décisions. Le réseau neuronal résout donc le test d’intelligence selon deux logiques différentes : comme une séquence des choix simples ou bien comme un processus complexe de raisonnement. Apparemment, selon Garnelo et Shanahan (2019) la méthode complexe marche mieux et le réseau neuronal score plus de points au test.

Essayons de formaliser une méthode de catégorisation des phénomènes qui utilise cette notion d’auto-attention. Je retourne vers les maths. J’ai donc un ensemble des données empiriques brutes qui servent comme matériel d’apprentissage à un réseau neuronal. Je veux grouper ces données en des catégories aussi fonctionnelles que possible vu l’objectif que je me pose. Bon, faudrait donc le poser vraiment, cet objectif. Comme je l’avais écrit plusieurs fois sur ce blog, l’objectif d’un réseau neuronal consiste à minimiser l’écart entre une valeur qu’il calcule lui-même à travers la fonction d’activation neurale et une valeur arbitraire fixée par l’utilisateur. Si je veux programmer un robot intelligent pour disposer des paquets dans un entrepôt et je veux que ledit robot apprenne à utiliser l’espace de stockage de façon la plus efficiente possible, je lui fais minimiser l’écart entre le volume total des paquets stockés et le volume géométrique de l’entrepôt.

Je formalise donc l’objectif à atteindre comme un vecteur composé d’une ou plusieurs valeurs numériques. J’assume que pour atteindre cet objectif, mon réseau neuronal doit grouper les données de départ en des catégories. Je me tiens à l’exemple du robot d’entreposage et j’assume qu’il doit grouper 10 000 paquets à entreposer dans des catégories qui correspondent à des piles de stockage. Une pile de stockage est un ensemble des paquets superposés l’un sur l’autre, accessible au charriot robotisé de chaque côté. Je veux que le réseau neuronal trouve une telle disposition des paquets en des piles de stockage qui satisfasse l’objectif de gestion optimale d’espace de stockage. Chacun des 10 000 paquets aura donc finalement un vecteur de coordonnées qui va décrire son attribution à une pile de stockage donnée. Seulement voilà, les piles de stockage elles-mêmes ne sont pas encore définies et positionnées. Apparemment, on fait face à un problème en boucle : chaque paquet doit trouver sa place dans une pile de stockage donnée mais les piles de stockage doivent être définies en termes des paquets précis qu’ils vont contenir. En plus, ‘y a ces questions stupides qui viennent à l’esprit. Toutes les piles de stockage doivent-elles être de la même taille et même masse ou bien vaudrait-il mieux les différencier à cet égard ?

Nous pouvons généraliser le problème de stockage. Tenons une population de 500 000 personnes dans une ville de taille moyenne et simulons la transition de leur base énergétique vers un réseau dispersé des nœuds locaux composés de petites turbines éoliennes et hydrauliques accompagnées par des stations des panneaux photovoltaïques. Je sais qu’à la longue, les nœuds locaux d’approvisionnement en énergie vont s’adapter aux populations locales et vice versa. Je veux prévoir les « vice versa » possibles et je veux trouver le plus efficient de parmi eux. Je sais que cela veut dire simuler des sentiers différents d’adaptation mutuelle. La distribution des installations énergétiques à travers la structure spatiale de la ville est un problème similaire à la disposition spatiale d’un nombre fini des paquets dans l’espace fini d’un entrepôt. Côté maths, le problème peut être exprimé comme une relation entre deux ensembles des valeurs numériques : un ensemble des vecteurs décrivant les sources locales d’énergies renouvelables et un autre ensemble des vecteurs qui décrivent les groupements locaux d’habitants de la ville.

Je retourne à la dualité signalée chez Garnelo et Shanahan (2019). Je peux approcher le problème de groupement spatial de deux façons différentes. La plus simpliste est la comparaison en paires. Pour chaque paquet je compare son entreposage dans des endroits alternatifs à l’intérieur de l’entrepôt, ce qui me conduit à comparer l’efficience des groupements alternatifs des paquets en des piles de stockage etc. Ça fait un tas des comparaisons et le problème c’est que si je trouve quelque chose qui marche définitivement mal, il faut que je recule dans de plusieurs pas dans la chaîne des comparaisons et que je recommence. Le mélange Gaussien permet de raccourcir le chemin et de le simplifier.

Avant de discuter la méthode de mélange Gaussien plus en détail, je vais rappeler brièvement l’approche Gaussienne en général. Nous vivons dans une réalité où les trucs qui semblent intuitivement vraisemblables surviennent plus fréquemment que du quasi-fantastique. Si je joue au LOTTO, toucher deux nombres corrects dans trois tirages en trois mois est plus vraisemblable et plus probable que toucher la grosse cagnotte de 6 nombres dans chaque tirage sur la même période. C’est une réalité binomiale et elle se comporte de façon conforme au   théorème de de Moivre – Laplace donc comme une vigne : les phénomènes de cette réalité convergent pour forment des grappes distinctes. Au centre de chaque grappe nous retrouvons les phénomènes relativement les plus fréquents et vraisemblables pendant que les occurrences plus extrêmes sont à trouver dans les couches externes et superficielles de chaque grappe. La neurophysiologie, en particulier la théorie de résonance adaptative nous suggère que notre cerveau expérimente avec plusieurs partitions possibles, en des grappes distinctes, de la réalité observée (Grossberg 2017, par exemple). À la suite de cette expérimentation, notre cerveau choisit la partition dont la structure prouve d’être la plus fonctionnelle eu égard aux objectifs fixés. Mathématiquement, cela veut dire que le réseau neuronal dôté de mélange Gaussien génère une série des valeurs qui sont considérées provisoirement comme les valeurs moyennes espérées d’autant des distributions normales locales, donc d’autant de grappes des phénomènes, donc autant des géographies possibles des turbines éoliennes dans une ville, donc d’autant des piles de stockage dans cet entrepôt d’il y a quelques paragraphes. Est-ce la disposition spatiale ainsi obtenue à l’intérieur de l’entrepôt celle qui donne la meilleure utilisation de l’espace ? Allons voir : répétons l’expérience avec plusieurs séries possibles des moyennes locales, donc avec plusieurs partitions possibles de la réalité en des distributions normales locales.

La catégorisation des phénomènes de réalité est un pas sur le sentier d’adaptation intelligente, un peu comme je l’avais décrit, il y a deux ans, dans « Deux lions de montagne, un bison mort et moi ». Les algorithmes d’intelligence artificielle rendent possible l’observation non seulement de la façon dont une structure intelligente groupe les phénomènes observées en catégories, mais aussi de la manière d’expérimenter avec plusieurs sentiers alternatifs de décision. La forêt aléatoire est le type d’algorithme qui utilise le même principe – générer plusieurs ensembles des valeurs aléatoires et les utiliser comme autant des visions alternatives de réalité afin de choisir la plus efficiente des toutes – pour simuler des différents sentiers décisionnels. Comme exemple pratique d’algorithme j’ai pris celui accessible à https://github.com/rushter/MLAlgorithms/blob/master/examples/random_forest.py. Je suis un officier de sécurité dans un grand aéroport. Je vois défiler devant moi des milliers des passagers. Je viens de recevoir un tuyau qu’une personne parmi ces milliers est un terroriste. J’ai besoin de penser vite comment la pêcher dans toute cette foule et très probablement, j’aurai la possibilité de tester mes intuitions juste une fois. Si j’échoue, le gars va soit attaquer soit s’évanouir dans le paysage.

Ici, la différence entre l’intelligence humaine et les réseaux neuronaux est très visible. Ces derniers peuvent simuler une décision à haute incertitude – comme celle comment trouver un terroriste – comme compétition entre plusieurs sentiers décisionnels possibles. Mathématiquement, une décision complexe est un arbre décisionnel : si A, alors B et ensuite F s’impose plutôt que G etc. Lorsque j’ai un ensemble des phénomènes décrits comme données numériques digestes pour un réseau neuronal, je peux créer un nombre indéfini d’arbres décisionnels pour connecter ces phénomènes dans des implications logiques. Je peux tester chaque arbre point de vue exactitude, vitesse de décision etc. C’est comme ça que marche l’algorithme de forêt aléatoire. Question : comment savoir quel arbre décisionnel marche le mieux ? Je sais par expérience que même un réseau neuronal relativement simple peut achever une exactitude poussée dans l’estimation de la variable de résultat tout en se balançant dans des valeurs tout à fait faramineuses en ce qui concerne les variables d’entrée. Une fois de plus, on semble être dans une boucle, puisque l’évaluation de la valeur pratique d’un arbre décisionnel est un arbre décisionnel en soi. La forêt aléatoire résout ce problème en incluant un ensemble de données de contrôle, où l’optimisation avait déjà été faite et nous savons ce qu’un arbre décisionnel vraiment efficace peut faire avec. Les arbres décisionnels aléatoires sont priés de traiter ces données de contrôle et nous observons lequel de parmi ces arbres tombe le plus près du résultat déjà pré-calculé.

Je me demande quelle peut bien être l’utilité de ces algorithmes que je viens d’esquisser, donc le mélange Gaussien et la forêt aléatoire, dans l’étude de l’intelligence collective des sociétés humaines. Intuitivement, je perçois ces algorithmes comme très objectifs et rationnels en comparaison aux décisions collectives humaines. Dans la vie réelle, nous venons très vite au point quand nous voulons tellement passer aux actes – sous l’impulsion d’une urgence subjectivement perçue – que nous limitions l’éventail d’options possibles dans nos décisions. Lorsque les décisions collectives deviennent des décisions politiques et alors il devient très délicat de suggérer qu’un arbre décisionnel donné n’est pas vraiment le sommet de la logique. Les décisions collectives réelles semblent nettement plus biaisées que celles prises avec l’utilisation du mélange Gaussien ou de la forêt aléatoire. Ces algorithmes peuvent donc servir à évaluer le biais décisionnel.

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ? Vous pouvez me contacter à travers la boîte électronique de ce blog : goodscience@discoversocialsciences.com .


[1] Bignetti, E. (2014). The functional role of free-will illusion in cognition:“The Bignetti Model”. Cognitive Systems Research, 31, 45-60.

[2] Bignetti, E., Martuzzi, F., & Tartabini, A. (2017). A Psychophysical Approach to Test:“The Bignetti Model”. Psychol Cogn Sci Open J, 3(1), 24-35.

[3] Bignetti, E. (2018). New Insights into “The Bignetti Model” from Classic and Quantum Mechanics Perspectives. Perspective, 4(1), 24.

[4] Darwin, C., & Prodger, P. (1998). The expression of the emotions in man and animals. Oxford University Press, USA.

[5] Hassabis, D., Kumaran, D., Summerfield, C., & Botvinick, M. (2017). Neuroscience-inspired artificial intelligence. Neuron, 95(2), 245-258.

[6] Mishkin, M., Ungerleider, L. G., & Macko, K. A. (1983). Object vision and spatial vision: two cortical pathways. Trends in neurosciences, 6, 414-417.

[7] Grossberg, S. (2017). Towards solving the hard problem of consciousness: The varieties of brain resonances and the conscious experiences that they support. Neural Networks, 87, 38-95.

[8] Garnelo, M., & Shanahan, M. (2019). Reconciling deep learning with symbolic artificial intelligence: representing objects and relations. Current Opinion in Behavioral Sciences, 29, 17-23.

Mémoires du cycliste reconverti

Mon éditorial sur You Tube

Je réfléchis sur les tendances que j’observe dans le secteur d’énergie. Je reformule ce que je viens de signaler dans « Lean, climbing trends » : le côté consommation d’énergie change selon un schéma très différent du côté production d’énergie. Côté consommation, nous pouvons observer des tendances relativement stables et croissantes, centrées autour deux indicateurs : de la consommation d’énergie par tête d’habitant et du pourcentage de la population avec accès à l’électricité. Côté production, c’est structurellement différent. Les carburants fossiles, le nucléaire, l’hydraulique, l’éolien, le solaire : notre activité agrégée avec toutes ces sources d’énergie semble être un assemblage un peu aléatoire d’expérimentations plus ou moins indépendantes l’une de l’autre.

Lorsque je me pose des questions sur l’intelligence collective, je retourne vers l’intelligence individuelle et celle qui est la plus proche est la mienne. Je viens de me rendre compte que pendant les deux dernières années, j’ai radicalement changé mon mode de vie, pour un mode nettement plus éco qu’auparavant, seulement le truc marrant c’est que je n’avais pas du tout l’intention de devenir plus éco. Ça avait tout commencé avec le vélo. J’avais commencé à circuler à travers la ville à vélo. Très vite, j’ai découvert ce sens spécial de liberté que le vélo donne dans l’environnement urbain. Mon cerveau a commencé à associer la voiture avec une claustration forcée plutôt qu’avec la liberté de déplacement. Bientôt, j’avais commencé à me rendre à vélo à mon lieu de travail – l’université – quelques 10 km de mon domicile. Ma bagnole, elle passait de plus en plus de temps garée à côté de la maison.

L’hiver dernier était ce que les hivers sont devenus, donc une sorte d’automne un peu froid. Voilà que j’ai découvert que rouler à vélo par un temps comme ça, lorsque la température est à peine au-dessus de zéro, donne une injection folle d’endorphines. C’était carrément enivrant et je peux vous dire qu’à la cinquantaine, faire 20 km aller-retour à vélo et se sentir bien après, c’est une découverte en soi. Comme je prenais de plus en plus l’habitude du vélo, je m’étais rendu compte que mon style de vie change. Lorsque je faisais mes courses, sur le chemin de retour de la fac, j’achetais ce que je pouvais transporter dans les sacoches de derrière de mon vélo plus ce que je pouvais fourrer dans mon sac à dos, où je transporte ma tenue de travail : veste, chemise, pantalons de ville. Le vélo m’avait obligé à économiser sur le volume de mes course quotidiennes et le truc intéressant est que ce volume réduit était tout à fait suffisant. Je me suis rendu compte qu’une partie substantielle de ce que j’achète en me déplaçant en voiture, eh bien, je l’achète juste parce que je peux (j’ai de l’espace cargo disponible) et non parce que j’en ai vraiment besoin.

J’ai fait mes calculs. J’ai utilisé la page https://www.carbonfootprint.com pour calculer les émissions de CO2 de ma voiture et voilà : une journée de déplacement à vélo, avec mon Honda Civic m’attendant gentiment à la maison, se traduit en des économies de 4,5 kilogrammes de dioxyde de carbone. Selon les données de la Banque Mondiale[1], en 2014, chez moi, en Pologne, les émissions de CO2 par tête d’habitant étaient de 7,5 tonnes par an, contre une moyenne mondiale de 4,97 tonnes par an. Le transport correspond à environ 20%[2] de ces émissions, donc à 1,5 tonnes par an, soit 4,1 kilogrammes par jour en moyenne. Ces 4,5 kilo de CO2 par jour, ça a donc l’air cohérent avec le style de vie d’un Polonais moyen.

Mes économies sur les courses journalières, lorsque je pédale, ça fait à peu de choses près €30 par semaine. En utilisant encore une fois la page https://www.carbonfootprint.com je l’ai recalculé en 4,5 kilogrammes de CO2 économisés par jour. Ça alors ! De tout en tout, une journée à vélo, dans mon contexte social précis, semble correspondre à quelques 9 kilogrammes de CO2 de moins, par rapport à la même journée en bagnole. Les moins ont des plus, remarquez. Lorsque je pédale, j’amortis physiquement ma bicyclette. Chaque kilomètre me rapproche du moment de la révision annuelle aussi bien que du moment où il sera nécessaire de changer de vélo ou bien de rénover radicalement celui que j’ai maintenant (Gazelle Chamonix C-7). J’ai utilisé les calculs présentés à la page https://momentummag.com/how-green-is-your-bicycle-manufacturing/ plus la calculatrice de conversion des kilojoules d’énergie en du CO2 émis et ça a donné 150 grammes de CO2 par jour en équivalent d’amortissement physique de ma bicyclette.

De tout en tout, une journée ouvrable passée en mode vélo correspond, dans mon style de vie individuel, à une réduction nette d’émissions d’environ 9 – 0,15 = 8,85 kg de CO2. J’ai récréé mon agenda de l’année 2018 et ça a donné quelques 130 jours ouvrables lorsque je remplaçais la voiture avec le vélo. Remarquez, lorsque le temps devient suffisamment hivernal pour qu’il y ait une couche de vieille neige ou du verglas sur les sentiers cyclistes, je me rends. Je me suis déjà cassé la gueule quelques fois dans des conditions comme ça et j’ai appris que le vélo a ses limites. Quoi qu’il en soit, les 130 jours en 2018 correspondent à une réduction individuelle d’émissions de CO2 équivalente à environ 1,15 tonnes, soit de 15,3% par rapport aux émissions annuelles moyennes par tête d’habitant en Pologne.

Voilà donc que j’ai changé de mode de transport et ceci m’a poussé à modifier mon style de consommation. De plus en plus éco à chaque pas. Seulement, ce n’était pas mon but. Ça avait tout commencé parce que je voulais me déplacer d’une façon plus confortable et j’en avais marre de passer du temps dans les embouteillages. Très honnêtement, je ne pensais pas beaucoup à l’environnement. J’étais très loin du type Capitaine Planète. Bien sûr, je savais qu’en laissant ma voiture roupiller paisiblement chez moi, j’économise du carburant, mais c’étaient des pensées vagues. Ça s’était passé tout seul. Chaque petit changement en entraînait un autre, comme je recevais des récompenses momentanées. Aucune privation consciente. C’était une revisite du côté de chez Adam Smith : en suivant des fins égoïstes j’avais accompli un changement favorable à l’environnement.

Mon environnement m’a offert des stimuli pour changer mon style de vie. Imaginons des milliers de personnes comme moi. Des petites découvertes quotidiennes, des petits changements personnels suivis par des récompenses immédiates : l’environnement urbain donné offre un ensemble fini de telles récompenses. Eh bien, oui, c’est fini en volume, ces récompenses. Si dès maintenant 50 000 personnes dans ma ville (Krakow, Pologne) font le même changement que moi j’avais fait, les sentiers cyclistes seront complètement bouchés et les récompenses, ça va devenir beaucoup plus problématique. Au moment donné, la ville relâche un nuage diffus et néanmoins fini en volume des récompenses comportementales qu’un certain nombre de cyclistes peut absorber et ça provoque un changement de style de vie.

J’essaie d’être plus précis. La population officielle de la ville de Krakow c’est environ 800 000 personnes. Avec les immigrés non-registrés comme résidents permanents ainsi qu’avec les migrants journaliers qui viennent des localités satellites, comme moi je le fais, j’estime la population totale réelle de ma ville bien aimée à quelques 1 200 000 personnes. Cette population coexiste avec environ 230 km des sentiers cyclistes ainsi qu’avec une flotte automobile (toutes catégories prises ensemble) de 570 000 à peu près. Chaque addition à la flotte automobile crée un renforcement négatif en ce qui concerne l’utilisation individuelle de la voiture et en même temps un renforcement positif indirect pour penser à quelque chose d’autre. Chaque addition à la longueur totale des sentiers cyclistes produit du renforcement positif en faveur de circulation à vélo. En termes de production de ces stimuli, la ville de Krakow avait produit, durant la période de 2011 à 2018, 122 kilomètres additionnels des sentiers cyclistes et une flotte additionnelle d’environ 115 000 automobiles. Cette combinaison des renforcements négatifs vis-à-vis de la voiture et positifs vis-à-vis de la bicyclette. Résultat : en 2016, selon les données du Conseil Municipal, environ 90 000 personnes utilisaient le vélo comme moyen de transport plus ou moins régulier et l’année dernière, en 2018, le chiffre pouvait même atteindre 200 000 personnes.

Plusieurs fois dans ma vie, j’ai eu cette impression étrange que les grandes villes sont comme des organismes vivants. Ce sentiment devient particulièrement vivace lorsque j’ai l’occasion d’observer une grande ville la nuit, ou même mieux, à l’aube, à partir d’un point d’observation élevé. En 2013, j’ai eu l’occasion de contempler de cette façon le panorama de Madrid, lorsque la ville se réveillait. L’impression que je vois une énorme bête qui s’étire et dont le sang (le flux de trafic routier) commence à couler plus vite dans les veines était si poignante que j’avais presque envie de tendre la main et de caresser la crinière du géant, faite d’un alignement des hauts immeubles. Une ville relâche donc un flux des stimulants : plus d’automobiles dans les rues et donc plus de densité de trafic accompagnés de plus des sentiers cyclistes et donc plus de confort de déplacement à vélo. Remarquez : une géographie concrète de trafic routier et des sentiers cyclistes, en vue d’oiseau et aussi en une vue mathématique probabiliste, c’est comme un nuage d’infrastructure qui se superpose à un nuage des personnes en mouvement.

Les habitants répondent sélectivement à ce flux des stimulants en accomplissant un changement progressif dans leurs styles de vie. Voilà donc qu’une fois de plus je réfléchis sur le concept d’intelligence collective et je suis de plus en plus enclin à la définir selon les grandes lignes de la théorie d’essaim. Consultez « Ensuite, mon perceptron réfléchit » ou bien « Joseph et le perceptron » pour en savoir plus sur cette théorie. Je définis donc l’intelligence collective comme l’action collective coordonnée par la production et dissémination d’un agent systémique similaire à une hormone, qui transmet l’information d’une façon semi-visée, où le destinataire de l’information est défini par la compatibilité de ses facultés perceptives avec les propriétés de l’agent systémique-même. Tout membre de la société qui possède les caractéristiques requises peut « lire » l’information transmise par l’agent systémique. Les marchés financiers me viennent à l’esprit comme l’exemple les plus illustratif d’un tel mécanisme, mais nous pouvons chercher cette composante « hormonale » dans tout comportement social. Tenez, le mariage. Dans notre comportement conjugal il peut y avoir des composantes – des petites séquences comportementales récurrentes – dont la fonction est de communiquer quelque chose à notre environnement social au sens large et ainsi provoquer certains comportements chez des personnes dont nous ne savons rien.

Je reviens vers de sujets un peu moins compliqués que le mariage, donc vers le marché de l’énergie. Je me dis que si je veux étudier ce marché comme un cas d’intelligence collective, il faut que j’identifie un ou plusieurs agents systémiques. L’argent et les instruments financiers sont, une fois de plus, des candidats évidents. Il peut y en avoir d’autres. Voilà que je peux esquisser l’utilité pratique de ma recherche sur l’application de l’intelligence artificielle pour simuler l’intelligence collective. Le truc le plus évident qui me vient à l’esprit c’est la simulation des politiques climatiques. Tenez, par exemple l’idée de ces chercheurs des États-Unis, surtout du côté de Stanford University, en ce qui concerne une capture profitable du carbone (Sanchez et al. 2018[3] ; Jackson et al. 2019[4]). Jackson et al prennent un angle original. Ils assument que l’humanité produit du dioxyde de carbone et du méthane, qui sont tous les deux des gaz à effet de serre, seulement le méthane, ça serre 84 fois plus que le dioxyde de carbone. Si on convertit le méthane en dioxyde de carbone, on change un agent nocif plus puissant en un agent beaucoup plus faible. Toujours ça de gagné et en plus, Jackson et al déclarent d’avoir mis au point une méthode profitable de capter le méthane produit dans l’élevage des bovins et le transformer en dioxyde de carbone, à travers l’utilisation de la zéolithe. La zéolithe est une structure cristalline rigide d’aluminosilicate, avec des cations et des molécules d’eau dans les espaces libres. Le méthane généré dans l’élevage est pompé, à travers un système des ventilateurs et des grandes plaques poreuses de zéolithe. La zéolithe agit comme un filtre, qui « casse » les molécules de méthane des molécules de dioxyde de carbone.

Jackson et al suggèrent que leur méthode peut être exploitée à profit. Il y a un petit « mais » : à profit veut dire « à condition » est la condition c’est un marché des compensations carbone où le prix d’une tonne serait d’au moins $500. Je jette un coup d’œil sur le marché des compensations carbone tel qu’il est maintenant, selon le rapport publié par la Banque Mondiale : « State and Trends of Carbon Pricing 2018 ». Le marché se développe assez vite. En 2005, toutes les initiatives des compensations carbone dans le monde correspondaient à environ 4% de l’émission totale des gaz de serre. En 2018, ça faisait déjà quelques 14%, avec près de 20% à espérer en 2020. Seulement côté prix, le max des max, soit l’impôt Suédois sur les émissions, ça faisait $139 par tonne. La médiane des prix semble être entre $20 et $25. Très loin des $500 par tonne dont la méthode de Jackson et al a besoin pour être profitable.

Sanchez et al (2018) prennent une approche différente. Ils se concentrent sur des technologies – ou plutôt des ensembles complexes des technologies dans des industries mutuellement intégrées – qui rendent possible la vente du CO2 produit dans l’une de ces industries à l’autre. Le marché industriel du dioxyde de carbone – par exemple dans la production de la bière – est estimé à quelques 80 tonnes par an de CO2 liquide. Pas vraiment énorme – une centaine des cyclistes reconvertis comme moi font l’affaire – mais c’est toujours quelque chose de gagné.           

Ces idées que je viens de mentionner peuvent un jour se composer en des politiques publiques et alors il sera question de leur efficacité tout comme à présent nous nous posons des questions sur l’efficacité des soi-disant « politiques climatiques ». Vue mathématiquement, toute politique est un ensemble des variables, structurées en des résultats espérés d’une part et les outils ainsi que des déterminantes externes d’autre part. Cette perspective rend possible l’expression des politiques comme algorithmes d’intelligence artificielle. Les résultats c’est ce que nous voulons avoir. Disons que ce que nous voulons est une efficience énergétique « EE » – donc le coefficient du PIB divisé par la quantité d’énergie consommée – plus grande de 20% du niveau présent. Nous savons qu’EE dépend d’un ensemble de « » facteurs, dont nous contrôlons certains pendant qu’il est raisonnable d’en considérer d’autres comme exogènes.

J’ai donc une équation dans le style : EE = f(x1, x2, …, xn). Dans ce que nous pouvons appeler calcul stochastique classique il est question de chercher une expression linéaire la plus précise possible de la fonction f(x1, x2, …, xn), soit quelque chose comme EE = a1*x1 + a2*x2 + … + an*xn. Cette approche sert à déterminer quelle serait la valeur la plus probable d’EE avec un vecteur donné des conditions (x1, x2, …, xn). Cette tendance centrale est basée sur la loi de Vue sous un autre angle, la même politique peut s’exprimer comme un ensemble de plusieurs états hypothétiques et équiprobables de nature, donc plusieurs configurations probables de (x1, x2, …, xn) qui pourraient accompagner cette efficience énergétique désirée d’EE(t1) = 1,2*EE(t0). C’est alors que l’intelligence artificielle peut servir (consultez, par exemple « Existence intelligente et pas tout à fait rationnelle »)

Je me demande comment interpréter ces phénomènes et mon esprit s’aventure dans une région adjacente : la bouffe. Pardon, je voulais dire : l’agriculture. Il y a une différence nette entre l’Europe Septentrionale et l’Europe Méridionale, en ce qui concerne l’agriculture. Par l’Europe Méridionale je comprends surtout les grandes péninsules méditerranéennes : l’Ibérique, l’Apennine et le Péloponnèse. L’Europe du Nord, c’est tout ce qui se trouve plus loin de la Méditerranée. Dans le Sud, il y a beaucoup moins de production animale et la production végétale est centrée sur les fruits, avec relativement peu de plantes céréalières et peu des légumes-racines (pommes de terre, betteraves etc.). Dans le Nord de l’Europe, c’est presque exactement l’inverse : l’agriculture est dominée par les céréales, les légumes-racine et la production animale.

Les céréales et les légumes-racines, ça pousse vite. Je peux décider pratiquement d’année en année de l’utilisation exacte d’un champ donné. Les betteraves ou le blé, je peux les déplacer d’un champ à l’autre, d’année en année, presque sans encombre. Qui plus est, dans l’agriculture européenne traditionnelle du Nord, c’est ce qu’on était supposé de faire : de la rotation des cultures, appelée aussi « système d’assolement ». En revanche, les arbres fruitiers, ça pousse lentement. Il faut attendre des années avant qu’une plantation nouvelle soit mûre pour la production. Il est hors de question de déplacer des plantations fruitières d’une saison agriculturale à l’autre. Le modèle du Nord donne donc plus de flexibilité en termes d’aménagement du sol arable. Cette flexibilité va plus loin. La récolte des céréales, ça peut se diviser d’une façon élastique entre plusieurs applications : tant pour la consommation courante humaine, tant pour consommation humaine future, tant pour le fourrage et tant pour le semis l’année prochaine. Pour les légumes-racines, c’est un peu plus compliqué. Pour les patates, la meilleure solution c’est de replanter une pomme de terre déjà récoltée : elle sera plus prévisible.

Pour les carottes, il faut récolter les graines séparément et les replanter après. En tout, les cultures végétales du Nord, ça se conserve bien et ça se rend à des utilisations multiples.

En revanche, dans le Sud et ses cultures fruitières dominantes, c’est différent. Les fruits, avec l’exception des très succulents – comme les citrouilles ou les courges – ça se conserve mal hors d’une chambre froide et c’est l’une des raisons pourquoi il est problématique de nourrir des animaux de ferme avec. Voilà le point suivant : le Nord de l’Europe, ça abonde en élevage animal et donc en protéines et graisses animales. Tous les deux sont très nutritifs et en plus, la graisse animale, ça conserve bien les protéines animales. Eh oui, c’est la raison d’être du saucisson : les acides gras saturés, puisqu’ils sont saturés et donc dépourvus des liens chimiques libres, fonctionnent comme un ralentisseur des réactions chimiques. Un saucisson c’est de la viande (protéines) enveloppée dans de la graisse animale, qui empêche lesdites protéines de s’engager dans des liaisons douteuses avec l’oxygène.

En plus des protéines et de la graisse, les animaux de ferme, ils chient partout et donc ils engraissent. Les bactéries intestinales de la vache, ainsi que ses enzymes digestifs, travaillent pour le bien commun de la vache, de l’agriculteur et des cultures végétales. Une betterave moyenne, ça a tout intérêt à vivre à proximité d’une vache plutôt que de choisir une carrière solo. Voilà donc une chaîne intéressante : l’agriculture végétale dominée par les céréales et les légumes-racines favorise l’agriculture animale poussée qui, à son tour, favorise des cultures végétales à croissance rapide et à hautes exigences nutritives en termes de sol, donc des céréales et des légumes-racines etc. L’agriculture végétale du Sud, dominée par les arbres fruitiers, reste largement indépendante de l’agriculture animale. Cette dernière, dans le Sud, se concentre sur les chèvres et les moutons, qui ont besoin surtout des pâturages naturels.

En termes de productivité nutritive, le modèle du Nord bat celui du Sud par plusieurs longueurs. Ces deux modèles différents sont liés à deux géographies différentes. Le Nord de l’Europe est plus plat, plus froid, plus humide et doté des sols plus riches que le Sud. Plus de bouffe veut dire plus de monde par kilomètre carré, plus d’industrie, plus de trafic routier et tout ça, pris ensemble avec l’élevage intensif, veut dire plus de pollution par nitrogène. Cette dernière a une propriété intéressante : elle agit comme de l’engraissage permanent. Comme la pollution par nitrogène n’est pas vraiment contrôlée, cet engraissage involontaire va surtout aux espèces végétales qui ont le plus de potentiel de captage : les arbres. Récemment, j’ai eu une discussion avec un chercheur de l’Université Agriculturale de Krakow, Pologne, qui m’a carrément assommé avec le fait suivant : dû à la pollution par nitrogène, en Pologne, on a chaque année un surplus d’environ 30 millions de mètres cubes d’arbres vivants et on ne sait pas vraiment quoi en faire. Comme nous avons des sécheresses épisodiques de plus en plus fréquentes, ce surplus d’arbres a un effet pervers : les arbres sont aussi les plus efficaces à capter l’eau et durant une sécheresse ils battent toutes les autres plantes à cette discipline.  

Le système agricultural du Nord, à travers une chaîne causale étrange, contribue à reconstruire ce que le Nord a toujours eu tendance à surexploiter : les forêts. Une hypothèse folle germe dans mon esprit. Durant le XVIIIème et la première moitié du XIXème siècle, nos ancêtres Européens avaient gravement épuisé la substance forestière du continent. À partir de la seconde moitié du XIXème siècle, ils avaient commencé à exploiter de plus en plus les carburants fossiles et donc à produire de plus en plus de pollution locale en dioxyde de nitrogène. Par conséquent, ils avaient entamé un processus qui, des décennies plus tard, contribue à reconstruire la masse forestière du continent. Est-il concevable que notre aventure avec les carburants fossiles est une action collectivement intelligente visant à reconstruire les forêts ? Fou, n’est-ce pas ? Oui, bien sûr, par la même occasion, nous avons pompé des tonnes de carbone dans l’atmosphère de la planète, mais que puis-je vous dire : être intelligent ne veut pas nécessairement dire être vraiment prévoyant.

Quelles analogies entre ces modèles d’agriculture et les systèmes énergétiques, tels que je les ai passés en revue dans « Lean, climbing trends » ? Dans les deux cas, il y a une composante de croissance plus ou moins stable – plus de kilocalories par jour par personne, ainsi que plus de personnes qui mangent à leur faim dans le cas de l’agriculture, plus de kilogrammes d’équivalent pétrole par année par personne et plus de personnes avec accès à l’électricité dans le cas de l’énergie – accompagnée par des ensembles hétérogènes d’essais et erreurs côté production. Ces essais et erreurs semblent partager une caractéristique commune : ils forment des bases productives complexes. Un système énergétique concentré exclusivement sur une seule source d’énergie, par exemple que du photovoltaïque, semble tout aussi déséquilibré qu’un système agricultural qui ne cultive qu’une seule espèce végétale ou animale, comme que du mouton ou que du maïs. 

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ? Vous pouvez me contacter à travers la boîte électronique de ce blog : goodscience@discoversocialsciences.com .


[1] https://data.worldbank.org/indicator/en.atm.co2e.pc dernier accès 26 Mars 2019

[2] https://ourworldindata.org/co2-and-other-greenhouse-gas-emissions dernier accès 26 Mars 2019

[3] Sanchez, D. L., Johnson, N., McCoy, S. T., Turner, P. A., & Mach, K. J. (2018). Near-term deployment of carbon capture and sequestration from biorefineries in the United States. Proceedings of the National Academy of Sciences, 115(19), 4875-4880.

[4] R. B. Jackson et al. Methane removal and atmospheric restoration, Nature Sustainability (2019). DOI: 10.1038/s41893-019-0299-x

Existence intelligente et pas tout à fait rationnelle

Mon éditorial sur You Tube

Je continue avec le sujet de l’intelligence artificielle. Je développe sur le contenu de ma dernière mise à jour en anglais : « Thinking Poisson, or ‘WTF are the other folks doing?’ ». Je veux bâtir un raisonnement cohérent en ce qui concerne le bien-fondé et la méthode d’utiliser un réseau neuronal comme outil de prédiction dans les sciences sociales. Je sens que pour le faire j’ai besoin de prendre du recul et d’articuler clairement les sources de ma fascination avec les réseaux neuronaux. Je me souviens la première fois que j’avais utilisé, d’une façon encore très maladroite, un algorithme très simple de réseau neuronal (regardez « Ce petit train-train des petits signaux locaux d’inquiétude »). Ce qui m’avait fasciné, à l’époque, c’était la possibilité de regarder, de l’extérieur, une chose – une chose logique – apprendre. C’était comme si j’observais quelqu’un qui trouve son chemin à tâtons avec les yeux bandés, seulement ce quelqu’un était une séquence de 6 équations.

Il y a deux ans, j’ai présenté, dans une conférence, quelques preuves empiriques que la civilisation humaine a pour trait essentiel de maximiser l’absorption d’énergie de l’environnement. En fait, les changements technologiques de notre civilisation depuis 1960 ont pour effet d’accroître ladite absorption d’énergie. C’est l’un des sentiers intellectuels qui me passionnent. Lorsque je réfléchis sur les différentes manifestations de vie biologique, toute espèce maximise son absorption d’énergie. Nous, les humains, ne faisons pas exception à cette règle. Dans un autre article, j’ai présenté une application créative de la bonne vieille fonction de production – telle que vous pouvez la trouver dans l’article de Charles Cobb et Paul Douglas – au phénomène d’adaptation des sociétés humaines à leur environnements locaux, vu la quantité d’énergie et d’alimentation disponible. La conclusion générale que je tire de la recherche présentée dans ces deux articles est que l’existence des sociétés humaines est une histoire d’apprentissage intelligent, quoi qu’imparfaitement rationnel, à plusieurs niveaux. Pas vraiment original, vous direz. Oui, pas très original, mais ça donne de l’inspiration et ça excite ma curiosité.

Les histoires, ça se déroule. Je suis curieux où est-ce que cette existence intelligente et pas tout à fait rationnelle peut bien nous mener. C’est logique. Je suis chercheur dans les sciences de société et j’essaie de prédire, encore et encore, comme je reçois de l’information nouvelle, quelle forme va prendre la société dans l’avenir. Comment allons-nous adapter aux changements climatiques ? Comment pouvons-nous arrêter ou inverser ces changements ? Comment nous comporterons-nous, en Europe, si une pénurie alimentaire à l’échelle continentale survient ? Quelle va être la loi de demain ? Va-t-elle punir toute offense verbale à la sensibilité de quiconque ? La loi va-t-elle règlementer l’accès à l’eau potable ? Comment voterons-nous dans les élections parlementaires, dans 100 ans ? Y-aura-t-il des élections parlementaires ?

Autant des questions qui provoquent deux types d’attitude. « Qui sait ? Il y a tellement de variables en jeu qu’il est impossible de dire quoi que ce soit de ne serait-ce que moyennement raisonnable » est la première. « Qui sait ? Essayons de formuler des hypothèses, pour commencer. Les hypothèses, ça donne un point de départ. Ensuite, nous pouvons évaluer l’information nouvelle, que nous gagnerons dans l’avenir, en vue de ces hypothèses et comprendre un peu plus de ce qui se passe ». Ça, c’est la deuxième approche possible et moi, j’y souscris. Je suis chercheur, la science est ma passion, je suis curieux et je préfère savoir plutôt qu’ignorer.

Ça fait pratiquement un an que je m’efforce de mettre au point un concept d’entreprise financière que j’ai baptisé EneFin. En général, il s’agit de stimuler le développement des nouvelles sources d’énergie – surtout des petites installations locales basés sur les renouvelables – à travers un mécanisme financier qui combine une structure coopérative avec des solutions typiquement capitalistes, un peu comme dans le financement participatif type « crowdfunding ». Il y a quelque chose d’étrange dans cette idée, ou plutôt dans mes tentatives de la développer. À première vue, ça semble attrayant dans sa simplicité. Lorsque je m’y prends à décrire et développer cette idée, soit comme un business plan soit comme un article scientifique, je bute contre… Voilà, je ne sais pas exactement contre quoi. Il y a comme un blocage dans mon cerveau. Comme j’essaie de comprendre la nature de ce blocage, ça semble être quelque chose comme de la complexité résiduelle. C’est comme si une partie de mon intellect me disait, encore et encore : « Ce truc est plus complexe que tu crois. Tu n’as pas découvert toutes les cartes de ce jeu. Il est trop tôt pour présenter ça comme idée toute faite. Il faut que tu continues à chercher et découvrir, avant de présenter ».

EneFin est un concept essentiellement financier. La finance, ça tend à marcher en boucle de rétroaction : les phénomènes qui, juste un instant avant, étaient la cause et la force motrice de quelque chose, deviennent l’effet du même quelque chose. C’est l’une des raisons pourquoi les méthodes stochastiques classiques, comme la régression linéaire, donnent des résultats très insatisfaisants en ce qui concerne la prédiction des marchés financiers. La méthode stochastique a pour but de trouver une fonction mathématique qui donne une représentation mathématiquement cohérente des données empiriques – une fonction – avec aussi petite erreur type que possible. La prédiction strictement dite consiste à projeter cette fonction dans un futur possible et incertain. La qualité de prédiction se juge, en fait, après coup, donc lorsque le futur de jadis est devenu le passé, ne serait-ce qu’immédiat, du présent. Il y a une assomption profondément cachée dans cette méthode : c’est l’assomption que nous savons tout ce qu’il y a à savoir.

La méthode stochastique requiert de dire ouvertement que l’échantillon des données empiriques que j’utilise pour tracer une fonction est un échantillon représentatif. Suivant la logique de de Moivre – Laplace, mon échantillon a de la valeur stochastique seulement lorsque sa moyenne arithmétique est identique à celle de la moyenne à observer dans la réalité en général ou bien elle est suffisamment proche de cette moyenne réelle pour que la différence soit insignifiante. Dire que mon observation de la réalité est représentative de cette réalité, ça crée une perspective cognitive spéciale, ou je prétends de savoir tout ce qu’il est nécessaire de savoir sur le monde qui m’entoure.

Si vous travaillez sur un projet et quelqu’un vous dit « Va dans la direction A, je sais parfaitement que j’ai raison », vous répondrez, probablement, « Avec tout mon respect, non, tu ne peux pas savoir à coup sûr si tu as raison. La réalité, ça change et ça surprend ». Voilà le talon d’Achille de la méthode stochastique. Bien qu’officiellement différente du bon vieux déterminisme, elle en garde certaines caractéristiques. Avec tous ses avantages indéniables, elle est très exposée à l’erreur d’observation incomplète.

Il y a cette blague à propos des sciences économiques, qu’elles sont l’art de formuler des pronostics qui ne tiennent pas. Cruelle et exagérée, la blague, néanmoins fréquemment vraie. C’est probablement pour ça qu’un créneau légèrement différent s’est développé dans les sciences sociales, celui qui puise des sciences physiques et qui utilise des modèles théoriques comme le mouvement Brownien ou bien le mouvement d’Itô . Dans cette approche, la fonction des données empiriques inclue explicitement une composante de changement aléatoire.

Un réseau neuronal va dans une direction encore un peu différente. Au lieu d’assembler toutes les observations empiriques et en tirer une fonction commune, un réseau neuronal expérimente avec des petits sous-ensembles de l’échantillon complet. Après chaque expérience, le réseau teste sa capacité d’obtenir le résultat égal à une valeur de référence. Le résultat de ce test est ensuite utilisé comme information additionnelle dans des expériences ultérieures. L’intelligence artificielle connaît le succès qu’elle connaît parce que savons que certaines séquences des fonctions mathématiques ont la capacité d’optimiser des fonctions réelles, par exemple le fonctionnement d’un robot de nettoyage des planchers.

Si une séquence d’actions possède la capacité de s’optimiser elle-même, elle se comporte comme l’intelligence d’un organisme vivant : elle apprend. Voilà la méthode dont j’ai besoin pour travailler à fond mon idée de solution financière pour les énergies renouvelables. Le financier, ça contient des multiples boucles de rétroaction entre les variables en jeu, qui sont un gros problème pour les modèles stochastiques. Pour un réseau neuronal, les boucles de rétroaction, c’est précisément ce que l’intelligence artificielle du réseau est faite pour.

Par ailleurs, voilà que j’ai trouvé un article intéressant sur la méthodologie d’utilisation des réseaux neuronaux comme outils de prédiction alternatifs ou complémentaires vis-à-vis les modèles stochastiques. Olawoyin et Chen (2018[1]) discutent la valeur prédictive des plusieurs architectures possibles d’un perceptron à couches multiples. La valeur prédictive est évaluée en appliquant les perceptrons, d’une part, et un modèle ARIMA d’autre part à la prédiction des mêmes variables dans le même échantillon des données empiriques. Le perceptron à couches multiples se débrouille mieux que le modèle stochastique, quelles que soient les conditions exactes de l’expérience. Olawoyin et Chen trouvent deux trucs intéressants à propos de l’architecture du réseau neuronal. Premièrement, le perceptron basé sur la tangente hyperbolique comme fonction d’activation neuronale est généralement plus précis dans sa prédiction que celui basé sur la fonction sigmoïde. Deuxièmement, la multiplication des couches de neurones dans le perceptron ne se traduit pas directement en sa valeur prédictive. Chez Olawoyin et Chen, le réseau à 3 couches semble se débrouiller généralement mieux que celui à 4 couches.

Il est peut-être bon que j’explique cette histoire des couches. Dans un réseau neuronal artificiel, un neurone est une fonction mathématique avec une tâche précise à effectuer. Attribuer des coefficients aléatoires de pondération aux variables d’entrée est une fonction distincte du calcul de la variable de résultat à travers une fonction d’activation neuronale. J’ai donc deux neurones distincts : un qui attribue les coefficients aléatoires et un autre qui calcule la fonction d’activation. Logiquement, ce dernier a besoin des valeurs crées par le premier, donc l’attribution des coefficients aléatoires est la couche neuronale précédente par rapport au calcul de la fonction d’activation, qui est donc situé dans la couche suivante. De manière générale, si l’équation A requiert le résultat de l’équation B, l’équation B sera dans la couche précédente et l’équation A trouvera son expression dans la couche suivante. C’est comme dans un cerveau : pour contempler la beauté d’un tableau de Cézanne j’ai besoin de le voir, donc les neurones engagés directement dans la vision sont dans une couche supérieure et les neurones responsables des gloussements d’admiration font la couche suivante.

Pourquoi parler des couches plutôt que des neurones singuliers ? C’est une découverte que même moi, un néophyte à peine initié aux fondements des réseaux neuronaux, je comprends déjà : lorsque je place des neurones multiples dans la même couche fonctionnelle du réseau, je peux les mettre en compétition, c’est-à-dire les neurones de la couche suivante peuvent choisir entre les résultats différents apportés par les neurones distincts de la couche précédente. J’ai commencé à tester ce truc dans « Surpopulation sauvage ou compétition aux États-Unis ». Par ailleurs, j’avais alors découvert à peu près la même chose qu’Olawoyin et Chen (2018) présentent dans leur article : plus de complexité dans l’architecture d’un réseau neuronal crée plutôt plus de possibilités que plus de précision prédictive. Quand il s’agit de prédiction strictement dite, plus simple le réseau plus de précision il donne. En revanche, lorsqu’il est question de formuler des hypothèses alternatives précises, plus de complexité élargit le répertoire des comportements possibles du perceptron et donne plus d’envergure dans la description des états alternatifs de la même situation.  

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ? Vous pouvez me contacter à travers la boîte électronique de ce blog : goodscience@discoversocialsciences.com .


[1] Olawoyin, A., & Chen, Y. (2018). Predicting the Future with Artificial Neural Network. Procedia Computer Science, 140, 383-392.

Deux intelligences alternatives

Mon éditorial sur You Tube

Me voilà à nouveau avec de l’énergie. Mon énergie à moi, bien sûr, mais aussi le sujet de l’énergie. Je donne satisfaction à mes trois obsessions scientifiques. Une, les solutions financières pour encourager la transition vers les énergies renouvelables. Deux, le lien entre les marchés financiers et le changement technologique. Trois, application de l’intelligence artificielle à l’étude de l’intelligence collective.

Dans ma dernière mise à jour en anglais – « We, the average national economy. Research and case study in finance » – j’ai commencé à esquisser la direction de ma recherche. J’ai plus ou moins repris le chemin analytique déjà signalé dans « Surpopulation sauvage ou compétition aux États-Unis » et je l’ai élargi à un échantillon plus grand de 56 pays. Apparemment, la croissance de l’efficience énergétique dans l’économie mondiale, de $8,08 par kilogramme d’équivalent pétrole en 1990 jusqu’à $10,76 en 2014, était accompagnée d’une accumulation presque équivalente en magnitude de capital, aussi bien d’actifs fixes que des soldes monétaires. Le truc intéressant c’est que ces deux composantes d’actifs du bilan de l’économie mondiale semblent garder une proportion plus ou moins constante l’une vis-à-vis de l’autre. En d’autres mots, un système complexe qui, dans ma base de données utilisée pour cette recherche, se compose de 56 pays, garde une liquidité plus ou moins constante tout en accumulant du capital et en accroissant son efficience énergétique.

Ça a tout l’air d’une intelligence collective : un système qui n’a aucune chance d’avoir un cerveau central et qui néanmoins se comporte comme un organisme. Il y a d’autre recherche qui en quelque sorte corrobore cette approche. Il y a ce modèle appelé MUSIASEM (Andreoni 2017[1] ; Velasco-Fernández et al 2018[2]) qui fournit une preuve empirique convaincante qu’en ce qui concerne l’énergie et l’efficience de son utilisation, l’économie mondiale se comporte comme un métabolisme adaptatif, dont l’adaptation se manifeste, entre autres, par un réarrangement géographique des moyens de production.

Je retourne donc, avec la persévérance d’un ivrogne qui essaie d’ouvrir la mauvaise porte d’entrée avec la bonne clé, au sujet de l’intelligence artificielle.  Je viens d’expérimenter un peu avec le réseau neuronal que j’utilise dans ce créneau spécifique de recherche et voilà qu’une fois de plus, cette chose m’a surpris. Je vous donne ici un compte rendu sélectif de ces surprises. Pour une description détaillée de la façon dont marche ce réseau neuronal précis, vous pouvez vous référer à « Surpopulation sauvage ou compétition aux États-Unis ». En passant du cas des États-Unis à l’échantillon général de plusieurs pays, j’ai juste ajouté une variable de plus, que j’avais déjà utilisé dans le passé (consultez, par exemple « Deux lions de montagne, un bison mort et moi ») : le déficit alimentaire par personne. C’est une variable des plus structurelles : elle est très idiosyncratique pays par pays, tout en restant très stable dans le temps. Immatriculation idéale d’un pays. D’autre part, moi, je suis ce chemin de découverte où j’assume que la nourriture, le pétrole et l’électricité se joignent, à un certain niveau, comme des manifestations différentes de la capacité de notre espèce de transformer l’énergie accessible dans notre environnement.

Alors, les surprises. Jusqu’alors, lorsque je travaillais avec ce réseau neuronal, il marchait à chaque fois. Je veux dire qu’il produisait un résultat dans chaque cas de figure, quoi que je lui impose comme conditions d’apprentissage. D’accord, ces résultats étaient parfois absurdes, mais il y en avait, des résultats. Dans ce cas précis, le réseau neuronal marche juste sous certaines conditions. Il coince souvent, c’est-à-dire il rend une erreur générale du type « NOMBRE ! », lorsque la magnitude des variables atteint des valeurs comme 40 ou – 40, donc lorsque les fonctions d’activation neurale s’affolent, puisqu’elles sont essentiellement faites à procéder avec des valeurs standardisées entre 0 et 1 (entre -1 et 1 pour la hyper-tangentielle). C’est du nouveau et moi, j’aime bien du nouveau. J’aime bien comprendre.

Alors, j’essaie de comprendre. Qu’est-ce qui a changé dans les conditions de départ, par rapport aux applications précédentes de ce même réseau neuronal ? Ce qui a changé très certainement c’est la quantité et la complexité des données empiriques originelles, donc de ce qui constitue le matériel primaire d’apprentissage. Dans ce cas précis, je donne à mon réseau neuronal N = 1228 cas « pays réel – année donnée ». Auparavant, je lui donnais entre 20 et 25 de telles incidences. J’ai envie de rire. De moi-même, je veux dire. C’est tellement évident ! Lorsque j’apprends quelque chose, la façon de le faire dépend de la complexité des informations d’entrée. Plus ces informations sont riches et complexes, plus de finesse je dois démontrer dans mon apprentissage. Apprendre à changer un tuyau sous mon levier de cuisine est simple. Apprendre la plomberie en général, y compris la méthode de changer une valve à gaz, est une tâche plus difficile, qui requiert une approche différente.

J’utilise un réseau neuronal pour simuler le comportement de l’intelligence collective d’une société. J’assume que les valeurs des variables empiriques représentent autant d’états différents et temporaires des processus distincts de changement social. La simulation d’intelligence collective, telle que la fait mon réseau neuronal, commence avec une assomption importante : toutes les variables pris en compte sont divisées en deux catégories, où une variable est considérée comme celle de résultat et toutes les autres comme celles d’entrée. J’assume que l’entité intelligente est orientée sur l’optimisation de la variable de résultat et les variables d’entrée sont instrumentales à cet effet. J’implique une fonction vitale dans mon entité intelligente. Je sais que les réseaux neuronaux beaucoup plus avancés que le mien sont capables de définir cette fonction par eux-mêmes et j’ai même quelques idées comment inclure cette composante dans mon propre réseau. Quoi qu’il en soit, une fonction vitale est quelque chose à avoir dans un réseau neuronal. Sans elle, à quoi bon ? Je veux dire, s’il n’y a rien à achever, la vie perd son sens et l’intelligence se réduit à la capacité de commander un autre verre et à consulter Twitter pour la millionième fois.

Lorsque je considère l’intelligence collective d’une société réelle et je définis sa fonction vitale de la façon décrite ci-dessus, c’est une simplification grossière. Comme j’approche cette fonction vitale sous un angle purement mathématique, ça a plus de sens. La variable de résultat est celle à laquelle mon réseau neuronal touche relativement le moins : il la modifie beaucoup moins que les variables d’entrée. La distinction entre la variable de résultat et les variables d’entrée signifie qu’une variable dans le lot – celle de résultat – ancre la simulation d’intelligence collective dans un contexte similaire à celui, connu à tous les économistes, de caeteris paribus, ou « autres facteurs constants ». Je peux donc orienter ma simulation de façon à montrer les états possibles de réalité sociales sous des différentes ancres de résultat. Qu’est-ce qui se passe si j’ancre mon système social à un certain niveau d’efficience énergétique ? Comment l’état hypothétique de cette société, produit par le réseau neuronal, va changer avec une autre ancre de résultat ? Quelles différences de comportement produis-je sous des fonctions vitales différentes ?

Maintenant, question de langage. Le réseau neuronal parle nombres. Il comprend les données numériques et il communique des résultats numériques. En principe, le langage numérique des fonctions d’activation de base, celui du sigmoïde et la hyper-tangentielle, se limite aux valeurs numériques standardisées entre 0 et 1. En fait, la hyper-tangentielle est un peu plus polyglotte et comprend aussi du patois entre -1 et 0. Dans ma communication avec le réseau neuronal j’encontre donc deux défis linguistiques : celui de parler à cette chose en des nombres standardisés qui correspondent aussi étroitement que possible à la réalité, et celui de comprendre correctement les résultats numériques rendus par le réseau.

J’ai donc cette base de données, N = 1228 occurrences « pays < > année », et je traduis les valeurs empiriques dedans en des valeurs standardisées. La procédure de base, la plus simple, consiste à calculer le maximum observé pour chaque variable séparément et ensuite diviser chaque valeur empirique de cette variable par ledit maximum. Si je ne me trompe, ça s’appelle « dénomination ». Dans une approche plus élaborée, je peux standardiser sous la courbe de distribution normale. C’est ce que vous avez comme standardisation dans des logiciels statistiques. Il y a un petit problème avec les valeurs empiriques qui, après standardisation, sont égales rigoureusement à 0 ou 1. En théorie, il faudrait les transformer en des machins comme 0,001 ou 0,999. En fait, s’il n’y en a pas beaucoup, de ces « 0 » et ces « 1 » dans l’échantillon offert à mon réseau neuronal comme matériel d’apprentissage, je peux les ignorer.

La question de langage sur laquelle je me concentre maintenant est celle de compréhension de ce que le réseau neuronal rend comme résultat. Mathématiquement, ce résultat est égal à xf = xi + ∑e , où xf est la valeur finale crachée par le réseau, xi est la valeur initiale, et ∑e est la somme d’erreurs locales ajoutée à la valeur initiale après n rondes d’expérimentation. Supposons que je fais n = 3000 rondes d’expérimentation. Qu’est-ce qu’exactement ma valeur finale xf ? Est-ce la valeur obtenue dans la ronde no. 3000 ? C’est ce que j’assume souvent, mais il y a des « mais » contre cette approche. Premièrement, si les erreurs locales « e » accumulées par le réseau sont généralement positives, les valeurs xf obtenues dans cette dernière ronde sont d’habitude plus élevées que les initiales. Quelles contorsions que je fasse avec la standardisation, xf = max(xi ; xf) et inévitablement xf > xi.

Encore, ce n’est pas le plus dur des cas. Il y a des situations où les erreurs locales sont plutôt négatives que positives et après leur accumulation j’ai ∑e < 0 et xf = xi + ∑e < 0 également. Vachement embarrassant. Puis-je avoir une offre négative d’argent ou une efficience énergétique négative ?

Je peux faire une esquive élégante à travers le théorème de de Moivre – Laplace et assumer que dans un grand nombre des valeurs expérimentales rendues par le réseau neuronal la valeur espérée est leur moyenne arithmétique, soit xf = [∑(xi + ei)] / n. Élégant, certes, mais est-ce une interprétation valide du langage dont le réseau neuronal me parle ? L’intelligence artificielle est une forme d’intelligence. Ça peut créer de la signification et pas seulement adopter la signification que je lui impose. Est-ce que ça parle de Moivre – Laplace ? Allez savoir…

Bon, ça c’est de la philosophie. Temps de passer à l’expérimentation en tant que telle. Je reprends plus ou moins le perceptron décrit dans « Surpopulation sauvage ou compétition aux États-Unis » : une couche neuronale d’entrée et observation, une couche de combine (attribution des coefficients de pondération, ainsi que de fonctions d’adaptation locale aux données observées), une couche d’activation (deux fonctions parallèles : sigmoïde et hyper-tangentielle) et finalement une couche de sélection. Dans cette dernière, j’introduis deux mécanismes complexes et alternatifs de décision. Tous les deux assument qu’une intelligence collective humaine démontre deux tendances contradictoires. D’une part, nous sommes collectivement capables de nous ouvrir à du nouveau, donc de relâcher la cohérence mutuelle entre les variables qui nous représentent. D’autre part, nous avons une tolérance limitée à la dissonance cognitive. Au-delà de ce seuil de tolérance nous percevons le surplus du nouveau comme du mauvais et nous nous protégeons contre. Le premier mécanisme de sélection prend la moindre erreur des deux. Les deux neurones dans la couche d’activation produisent des activations concurrentes et le neurone de sélection, dans ce schéma-ci, choisit l’activation qui produit la moindre valeur absolue d’erreur. Pourquoi valeur absolue et non pas l’erreur en tant que telle ? Eh bien, l’erreur d’activation peut très bien être négative. Ça arrive tout le temps. Si j’ai une erreur négative et une positive, la moindre valeur des deux sera, arithmétiquement, l’erreur négative, même si son écart de la valeur d’activation est plus grand que celui de l’erreur positive. Moi, je veux minimiser l’écart et je le minimise dans l’instant. Je prends l’expérience qui me donne moins de dissonance cognitive dans l’instant.

 

Le deuxième mécanisme de sélection consiste à tirer la moyenne arithmétique des deux erreurs et de la diviser ensuite par un coefficient proportionnel au nombre ordinal de la ronde d’expérimentation. Cette division se fait uniquement dans les rondes d’expérimentation strictement dite, pas dans la phase d’apprentissage sur les données réelles. J’explique cette distinction dans un instant. Ce mécanisme de sélection correspond à une situation où nous, l’intelligence collective, sommes rationnels dans l’apprentissage à partir de l’expérience directe de réalité empirique – donc nous pondérons toute la réalité de façon uniforme – mais dès que ça vient à expérimentation pure, nous réduisons la dissonance cognitive dans le temps. Nous percevons l’expérience antérieure comme plus importante que l’expérience subséquente.

Le réseau neuronal travaille en deux étapes. D’abord, il observe les données empiriques, donc les N = 1228 occurrences « pays < > année » dans la base de données de départ. Il les observe activement : à partir de l’observation empirique n = 2 il ajoute l’erreur sélectionnée dans la ronde précédente aux valeurs standardisées des variables d’entrée et il touche pas à la variable de résultat. Après les 1228 rondes d’apprentissage le réseau passe à 3700 rondes d’expérimentation. Je ne sais pas pourquoi, mais j’aime arrondir le boulot total de mon perceptron à 5000 rondes au total. En tout cas, dans les 3700 rondes d’expérimentation, le réseau ajoute l’erreur de la ronde précédente aux variables d’entrée calculées dans la même ronde précédente.

En ce qui concerne le travail avec les variables d’entrée, le perceptron accumule l’expérience en forme d’une moyenne mouvante. Dans la première ronde d’expérimentation, le neurone d’observation dans la première couche du réseau tire la moyenne arithmétique des 1228 valeurs de la phase d’apprentissage et il y ajoute l’erreur sélectionnée pour propagation dans la dernière, 1228ième ronde d’apprentissage. Dans la deuxième ronde d’expérimentation, le perceptron tire la moyenne arithmétique des 1227 rondes d’apprentissage et de la première ronde d’expérimentation et il y ajoute l’erreur sélectionnée dans la première ronde d’expérimentation et ainsi de suite. La couche d’entrée du réseau est donc un peu conservative et perçoit les résultats d’expériences nouvelles à travers la valeur espérée, qui, à son tour, est construite sur la base du passé. Ça a l’air familier, n’est-ce pas ? En revanche, en ce qui concerne la variable de résultat, le perceptron est plus conservatif. Il tire la moyenne arithmétique des 1228 valeurs empiriques, comme valeur espérée, et il s’y tient. Encore une fois, je veux simuler une tendance à réduire la dissonance cognitive.

Côté langage, je teste deux manières d’écouter à ce que me dit mon perceptron. La première consiste à prendre, classiquement si j’ose dire, les valeurs standardisées produites par la dernière, 3700ième ronde expérimentale et les de-standardiser en les multipliant par les maximums enregistrés empiriquement dans la base de données de départ. Dans la deuxième méthode, je tire la moyenne arithmétique de toute la distribution de la variable donnée, donc valeurs empiriques et valeurs expérimentales prises ensemble. Je raisonne en termes du théorème de de Moivre – Laplace et j’assume que la signification d’un grand ensemble des nombres est la valeur espérée, soit la moyenne arithmétique.

En ce qui concerne mes variables, leur catalogue général est donné dans le tableau ci-dessous. Après le tableau, je continue avec la description.

Tableau 1

Code de la variable Description de la variable
Q/E PIB par kg d’équivalent pétrole d’énergie consommé (prix constants, 2011 PPP $) – VARIABLE DE RÉSULTAT
CK/PA Capital immobilisé moyen par une demande nationale de brevet (millions de 2011 PPP $, prix constants)
A/Q Amortissement agrégé d’actifs fixes comme % du PIB
PA/N Demandes nationales de brevet par 1 million d’habitants
M/Q Offre agrégée d’argent comme % du PIB
E/N Consommation finale d’énergie en kilogrammes d’équivalent pétrole par tête d’habitant
RE/E Consommation d’énergie renouvelable comme % de la consommation totale d’énergie
U/N Population urbaine comme % de la population totale
Q Produit Intérieur Brut (millions de 2011 PPP $, prix constants)
Q/N PIB par tête d’habitant (2011 PPP $, prix constants)
N Population
DA/N Déficit alimentaire par tête d’habitant (kcal par jour)

Je fais travailler mon réseau neuronal avec ces variables avec 4 fonctions vitales différentes, donc en mettant 4 variables différentes dans la catégorie de résultat à optimiser : le déficit alimentaire par personne, population urbaine comme % de la population totale, efficience énergétique de l’économie, et finalement les actifs fixes par une demande de brevet. En ce qui concerne l’importance que j’attache à cette dernière variable, vous pouvez consulter « My most fundamental piece of theory ». J’ai choisi les variables que je considère intuitivement comme structurelles. Intuitivement, j’ai dit.

Au départ, les moyennes arithmétiques de mes variables – donc leur valeurs statistiquement espérées – sont les suivantes :

Q/E = $8,72 par kg d’équivalent pétrole ;

CK/PA = $3 534,8 par demande de brevet ;

A/Q = 14,2% du PIB ;

PA/N = 158,9 demandes de brevet par 1 million d’habitants ;

M/Q = 74,6% du PIB en masse monétaire ;

E/N = 3007,3 kg d’équivalent pétrole par personne par an ;

DA/N = 26,4 kcal par personne par jour ;

RE/E = 16,05% de la consommation totale d’énergie ;

U/N = 69,7% de la population ;

Q = $1 120 874,23 mln ;

Q/N = $22 285,63 par tête d’habitant  ;

N = 89 965 651 personnes ;

Ça, c’est le point empirique de départ. C’est une société relativement opulente, quoi qu’avec des petits problèmes alimentaires, plutôt grande, moyennement avide d’énergie, et généralement moyenne, comme c’était à espérer. Deux variables font exception à cette tendance : le pourcentage de population urbaine et l’offre d’argent. L’urbanisation moyenne mondiale est à présent aux environs de 55%, pendant que notre échantillon se balance vers 70%. L’offre d’argent dans l’économie mondiale est couramment de presque 125% du PIB et notre échantillon fait gentiment 74,6%. Maintenant, allons voir ce que le réseau neuronal peut apprendre si sa fonction vitale est orientée sur un déficit alimentaire stable par personne par jour, donc DA/N est la variable de résultat. Tableaux no. 2 et 3, ci-dessous, présentent les résultats d’apprentissage, pendant que les Graphes 1 – 4, plus loin, donnent un aperçu de la manière dont le réseau apprend sous des conditions différentes.

Je commence par discuter la méta-variable de base : l’erreur locale du réseau. Graphes 1 et 2 donnent une idée de différence entre les deux stratégies d’apprentissage sous considération. L’apprentissage par la moindre erreur est paradoxal. Durant les 1228 rondes empiriques, il conduit effectivement à la réduction de l’erreur, comme tout gentil perceptron devrait le faire. Néanmoins, dès que le réseau passe à expérimenter avec lui-même, l’erreur croît à chaque ronde consécutive. Le réseau se balance de plus en plus entre des états alternatifs. Intéressant : lorsque le réseau est programmé pour choisir la moindre erreur, il génère de plus en plus d’erreur. En revanche, l’apprentissage par erreur moyenne décroissante – donc la stratégie qui reflète une tendance croissante à réduire la dissonance cognitive – ça marche de façon modèle. L’erreur dans la phase empirique est réduite à un niveau très bas et ensuite, dans la phase d’expérimentation pure, elle tend vers zéro.

Lorsque je passe à la fonction d’adaptation, donc à la distance Euclidienne moyenne entre les variables du réseau (Graphes 3 et 4) la différence entre les deux stratégies d’apprentissage est un peu moins prononcée, quoi que visible. Dans les deux cas, la cohésion interne du réseau change en deux phases bien distinctes. Aussi longtemps que le perceptron travaille avec les 1228 observations empiriques, sa cohésion oscille très fortement. Dès que ça passe à expérimenter avec soi-même, les oscillations s’éteignent, mais de deux façons différentes. Le perceptron qui choisit la moindre erreur et apprend uniformément dans le temps (Graphe 3) fixe sa cohésion interne à un niveau relativement bas et ensuite il accroît à nouveau l’amplitude d’oscillation. En revanche, le perceptron qui tire la moyenne de ses erreurs locales et démontre une résistance croissante aux informations nouvelles (Graphe 4) se tient très fermement au niveau de cohésion atteint vers la fin de la phase d’apprentissage sur les données empiriques.

Je vois ici deux intelligences différentes, qui représentent deux façons de représenter un phénomène bien connu, celui de résistance à la dissonance cognitive. Le perceptron qui apprend par la moindre erreur réduit sa dissonance sur le champ et localement, sans le faire à long terme. Celui qui apprend par l’erreur moyenne et la divise par le nombre ordinal de la ronde consécutive d’expérimentation agit différemment : il tolère plus d’erreur localement mais se ferme progressivement sur le long terme.

Dans la mesure où je les considère comme représentations d’une intelligence collective, j’y vois des analogies intéressantes à notre ordre social. Le perceptron qui apprend par la moindre erreur semble plus intelligent que celui qui tire l’erreur moyenne et se raidit à mesure d’apprendre. C’est comme si des controverses locales à propos des changements climatiques étaient plus fertiles en apprentissage qu’un système de savoir très codifié et rigide.

En ce qui concerne les résultats, les deux intelligences alternatives se comportent aussi de manière très différente. En général, l’intelligence qui choisit la moindre erreur locale mais s’en fout du passage de temps (Tableau 2) produit des valeurs plus élevées que celle qui tire l’erreur moyenne et développe le sentiment d’avoir appris tout ce qu’il y avait à apprendre (Tableau 3). En fait, la première ajoute à toutes les variables du perceptron, pendant que la deuxième les réduit toutes.

Je veux me pencher sur l’interprétation de ces nombres, donc sur la façon de comprendre ce que le réseau neuronal veut me dire. Les nombres du tableau 2 semblent vouloir dire que si nous – la civilisation – voulons accroître notre efficience énergétique, il nous faut accroître significativement la cadence de l’innovation. Je le vois surtout dans le pourcentage du PIB pris par l’amortissement d’actifs fixes : la variable A/Q. Plus ce pourcentage est élevé, plus rapide est la cadence de rotation des technologies. Pour avoir une efficience énergétique moyenne, comme civilisation, à un niveau à peine 50% plus élevé que maintenant, il nous faudrait accélérer la rotation des technologies d’à peu près 25%.

Il y a une variable collatérale à l’innovation, dans ma base de données : CK/PA ou le coefficient d’actifs fixes par une demande de brevet. C’est en quelque sorte le montant de capital qu’une invention moyenne peut se nourrir avec. Dans cette simulation avec le réseau neuronal vous pouvez voir que les différences de magnitude de CK/PA sont tellement grandes qu’elles en deviennent intéressantes. Le perceptron qui apprend avec la résistance croissante à l’information nouvelle donne des valeurs négatives de CK/PA, ce qui semble absurde. Absurde, peut-être, mais pourquoi ? C’est l’une de ces situations lorsque je me pose des questions de fond sur ce qu’est intelligence collective.

Tableau 2

Apprentissage par la moindre erreur, uniforme dans le temps
Valeurs de la 3700ième ronde expérimentale  

Valeurs des moyennes espérées

 

Q/E = $15,80 par kg d’équivalent pétrole ;

 

CK/PA = $78 989,68 par demande de brevet ;

 

A/Q = 25% du PIB ;

 

PA/N = 1 426,24 demandes de brevet par 1 million d’habitants;

 

M/Q = 167,49% du PIB en masse monétaire ;

 

E/N = 7 209,06 kg d’équivalent pétrole par personne par an ;

 

RE/E = 37,45% de consommation totale d’énergie en renouvelables ;

 

U/N = 115,88% ( ! ) de la population en villes ;

 

Q = $7 368 088,87 mln ;

 

Q/N = $63 437,19 par tête d’habitant ;

 

N = 553 540 602 personnes ;

 

Variable de résultat >> DA/N = 26,40 kcal par personne par jour

Q/E = $12,16 par kg d’équivalent pétrole ;

 

CK/PA = $42 171,01 par demande de brevet ;

 

A/Q = 19% du PIB ;

 

PA/N = 770,85 demandes de brevet par 1 million d’habitants ;

 

M/Q = 120,56% du PIB en masse monétaire ;

 

E/N = 5 039,16 kg d’équivalent pétrole par personne par an ;

 

RE/E = 25,34% de consommation totale d’énergie en renouvelables ;

 

U/N = 77,21% de la population totale en villes;

 

Q = $3 855 530,27 mln ;

 

Q/N = $41 288,52 par tête d’habitant ;

 

N = 295 288 302 personnes ;

 

Variable de résultat >> DA/N = 26,40 kcal par personne par jour

Tableau 3

Apprentissage par erreur moyenne décroissante à mesure des rondes d’expérimentation
Valeurs de la 3700ième ronde expérimentale  

Valeurs des moyennes espérées

 

Q/E = $7,41 par kg d’équivalent pétrole ;

 

CK/PA = ($2 228,03) par demande de brevet ;

 

A/Q = 11% du PIB ;

 

PA/N = 101,89 demandes de brevet par 1 mln d’habitants ;

 

M/Q = 71,93% du PIB en masse monétaire ;

 

E/N = 3 237,24 kg d’équivalent pétrole par personne par an ;

RE/E = 10,21% de la consommation totale d’énergie en renouvelables ;

 

U/N  = 65% de la population totale en villes ;

 

Q = $730 310,21 mln ;

 

Q/N = $25 095,49 par tête d’habitant ;

 

N = 15 716 495 personnes ;

 

Variable de résultat >> DA/N = 26,40 kcal par personne par jour ;

Q/E = $8,25 par kg d’équivalent pétrole ;

 

CK/PA = ($3 903,81) par demande de brevet ;

 

A/Q = 14% du PIB ;

 

PA/N = 101,78 demandes de brevet par 1 mln d’habitants ;

 

M/Q = 71,52% du PIB en masse monétaire ;

 

E/N = 3 397,75 kg d’équivalent pétrole par personne par an ;

 

RE/E = 12,64%  de la consommation totale d’énergie en renouvelables ;

 

U/N = 75,46% de la population totale en villes ;

 

Q = $615 711,51 mln  ;

 

Q/N = $24 965,23 par tête d’habitant ;

 

N = 2 784 733,90 personnes ;

 

Variable de résultat >> DA/N = 26,40 kcal par personne par jour ;

Graphe 1

Graphe 2

Graphe 3

Graphe 4

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

[1] Andreoni, V. (2017). Energy Metabolism of 28 World Countries: A Multi-scale Integrated Analysis. Ecological Economics, 142, 56-69

[2] Velasco-Fernández, R., Giampietro, M., & Bukkens, S. G. (2018). Analyzing the energy performance of manufacturing across levels using the end-use matrix. Energy, 161, 559-572

Surpopulation sauvage ou compétition aux États-Unis

 

Mon éditorial sur You Tube

 

Me revoilà à vous casser les pieds avec les réseaux neuronaux et leur application dans les sciences sociales. Je reste essentiellement dans l’univers de l’efficience énergétique. J’enchaîne donc sur « Tenez-vous bien, chers Autrichiens ». Cette fois, je m’y prends à la plus grande économie du monde, celle des États-Unis, et leur efficience énergétique. Les Américains aiment la compétition et c’est bien que j’inclue dans le réseau neuronal : la compétition entre neurones.

Comme d’habitude, c’est un peu de chaos, dans mon cheminement intellectuel. Hier, j’ai eu cette idée : suivant la structure logique de mon perceptron, j’obtiens des schémas de comportement différents de sa part. Et si je mettais ces comportements en compétition de quelque sorte ? Et si je construisais un perceptron qui organise cette compétition ?

Je veux donc mettre mes neurones en compétition entre eux. Je veux dire, pas mes neurones à moi, strictement parlé, juste les neurones de mon perceptron. J’avais commencé à mapper cette idée dans un fichier Excel, un peu à tâtons. Tout d’abord, les acteurs. Qui est en compétition contre qui ? Jusqu’alors, j’ai identifié deux grandes distinctions fonctionnelles parmi les comportements possibles de mon perceptron. Premièrement, c’est la distinction entre deux fonctions d’activation de base : la fonction sigmoïde d’une part et la tangente hyperbolique d’autre part. Deuxièmement, j’ai observé une différence prononcée lorsque j’introduis dans mon perceptron l’auto observation (rétropropagation) de la cohésion, comprise comme la distance Euclidienne entre les variables. Je construis donc quatre neurones d’activation, comme des combinaisons de ces possibilités :

 

Le neurone de sortie no.1 : le sigmoïde de base

Le neurone de sortie no.2 : la tangente hyperbolique de base

Le neurone de sortie no.3 : sigmoïde avec observation de la cohésion

Le neurone de sortie no.4 : la tangente hyperbolique avec observation de la cohésion

 

Les neurones de sortie 1 et 2 sont connectés au sentier synaptique suivant : absorption des variables d’entrée dans la première couche (neurone d’observation), suivie par l’attribution des coefficients aléatoires de pondération à chaque variable et la sommation des variables d’entrée ainsi pondérées (neurone de pondération) dans la couche cachée. Le neurone de pondération crache la moyenne pondérée des variables d’entrée, et on la met comme argument dans la fonction d’activation neurale (neurone de traitement) et celle-ci crache un résultat. Le neurone d’observation compare ce résultat à la valeur espérée de la variable de résultat, une mesure d’erreur locale est prise et le perceptron ajoute cette erreur aux valeurs des variables d’entrée dans la ronde suivante d’expérimentation.

 

Les neurones de sortie 3 et 4 impliquent un sentier synaptique un peu plus complexe. Tout d’abord, dans la couche d’entrée du perceptron, j’ajoute un neurone parallèle à celui qui génère les coefficients aléatoires. Ce deuxième neurone s’active après la première ronde d’expérimentation. Lorsque celle-ci à pris lieu, ce neurone calcule les distances Euclidiennes entre les variables, il rend une distance moyenne pour chaque variable séparément, ainsi que la distance moyenne entre toutes les variables. En fait, c’est un job pour tout une séquence synaptique à part, mais pour simplifier je décris ça comme un neurone. Je vois sa place dans la couche d’entrée puisque sa fonction essentielle est celle d’observation. Observation complexe, certes, observation quand même. J’appelle ce neurone « neurone de cohésion perçue » et j’assume qu’il a besoin d’un partenaire dans la couche cachée, donc d’un neurone qui combine la perception de cohésion avec le signal nerveux qui vient de la perception des variables d’entrée en tant que telles. Je baptise ce deuxième neurone caché « neurone de pondération par cohésion ».

 

Bon, j’en étais à la compétition. Compétition veut dire sélection. Lorsque j’entre en compétition contre entité A, cela implique l’existence d’au moins une entité B qui va choisir entre moi et A.

Le choix peut être digital ou analogue. Le choix digital c’est 0 ou 1, avec rien au milieu. B va choisir moi ou bien A et le vainqueur prend toute la cagnotte. Le choix analogue laisse B faire un panier des participations respectives de moi et de A. B peut prendre comme 60% de moi et 40% de A, par exemple. Comme je veux introduire dans mon perceptron la composante de compétition, j’ajoute une couche neuronale supplémentaire, avec un seul neurone pour commencer, le neurone de sélection. Ce neurone reçoit les signaux de la part des 4 neurones de sortie et fait son choix.

 

Important : c’est un jeu lourd en conséquences. La sélection faite dans une ronde d’expérimentation détermine la valeur d’erreur qui est propagée dans la ronde suivante dans tous les quatre neurones de sortie. Le résultat de compétition à un moment donné détermine les conditions de compétition aux moments ultérieurs.

 

Le signal nerveux envoyé par les neurones de sortie c’est l’erreur locale d’estimation. Le neurone de sélection fait son choix entre quatre erreurs. Plus loin, je discute les résultats des différentes stratégies de ce choix. Pour le moment, je veux montrer le contexte empirique de ces stratégies.  Ci-dessous, j’introduis deux graphes qui montrent l’erreur générée par les quatre neurones de sortie au tout début du processus d’apprentissage, respectivement dans les 20 premières rondes d’expérimentation et dans les 100 premières rondes. Vous pouvez voir que la ligne noire sur les deux graphes, qui représente l’erreur crachée par le neurone de sortie no. 4, donc par la tangente hyperbolique avec observation de la cohésion, est de loin la plus grande et la plus variable. Celle générée par le sigmoïde avec observation de la cohésion est substantiellement moindre, mais elle reste bien au-dessus des erreurs qui viennent des neurones de sortie no. 1 et 2, donc ceux qui s’en foutent de la cohésion interne du perceptron.

Je me demande qu’est-ce que l’apprentissage, au juste ? Les deux graphes montrent trois façons d’apprendre radicalement différentes l’une de l’autre. Laquelle est la meilleure ? Quelle est la fonction éducative de ces erreurs ? Lorsque je fais des essais où je me goure juste un tout petit peu, donc lorsque j’opère comme les neurones de sortie 1 et 2, je suis exact et précis, mais je m’aventure très près de mon point d’origine. J’accumule peu d’expérience nouvelle, en fait. En revanche, si mes erreurs se balancent dans les valeurs comme celles montrées par la ligne noire, donc par la tangente hyperbolique avec observation de la cohésion, j’ai peu de précision mais j’accumule beaucoup plus de mémoire expérimentale.

 

Quatre stratégies de sélection se dessinent, équivalentes à trois types de compétition entre les neurones de sortie. Sélection façon 1 : le neurone de sélection choisit le neurone de sortie qui génère la moindre erreur des quatre. D’habitude, c’est le neurone qui produit la tangente hyperbolique sans observation de la cohésion. C’est une compétition où le plus précis et le plus prévisible gagne à chaque fois. Sélection façon 2 : c’est le neurone qui génère l’erreur la plus grande qui a l’honneur de propager son erreur dans les générations suivantes du perceptron. Normalement c’est le neurone de sortie no.4 : la tangente hyperbolique avec observation de la cohésion. Sélection no. 3 : Le neurone de sélection tire la moyenne arithmétique des quatre erreurs fournies par les quatre neurones de sortie. Logiquement, le neurone de sortie qui génère l’erreur la plus grande va dominer. Cette sélection est donc une représentation mathématique de hiérarchie entre les neurones de sortie.

 

Finalement, la compétition conditionnelle à une condition prédéfinie. Je prends le mode de sélection no. 2, donc je choisis l’erreur la plus grande des quatre et je la compare à un critère. Disons me j’espère que le perceptron génère une erreur plus grande que la croissance moyenne annuelle standardisée de l’efficience énergétique du pays en question. Dans le cas des États-Unis cette valeur-jauge est de 0,014113509. Si un neurone quelconque de sortie (soyons honnêtes, ce sera la tangente hyperbolique qui observe sa propre cohésion) génère une erreur supérieure à 0,014113509, cette erreur est propagée dans la prochaine ronde d’expérimentation. Sinon, l’erreur à propager est 0. C’est donc une condition où je dis à mon perceptron : soit tu apprends vite et bien, soit tu n’apprends pas du tout.

 

Bon, passons aux actes. Voilà, ci-dessous, la liste de mes variables.

 

Code de la variable Description de la variable
Q/E PIB par kg d’équivalent pétrole d’énergie consommé (prix constants, 2011 PPP $) – VARIABLE DE RÉSULTAT

 

CK/PA Capital immobilisé moyen par une demande nationale de brevet (millions de 2011 PPP $, prix constants)

 

A/Q Amortissement agrégé d’actifs fixes comme % du PIB

 

PA/N Demandes nationales de brevet par 1 million d’habitants

 

M/Q Offre agrégée d’argent comme % du PIB

 

E/N Consommation finale d’énergie en kilogrammes d’équivalent pétrole par tête d’habitant

 

RE/E Consommation d’énergie renouvelable comme % de la consommation totale d’énergie

 

U/N Population urbaine comme % de la population totale

 

Q Produit Intérieur Brut (millions de 2011 PPP $, prix constants)

 

Q/N PIB par tête d’habitant (2011 PPP $, prix constants)

 

N Population

 

 

Je prends ces variables et je les mets dans mon perceptron enrichi avec ce neurone de sélection. Je simule quatre cas alternatifs de sélection, comme discutés plus haut. Voilà, dans le prochain tableau ci-dessous, les résultats de travail de mon perceptron après 5000 rondes d’apprentissage. Remarquez, pour la stratégie de sélection avec condition prédéfinie, les 5000 rondes tournent en à peine 72 rondes, puisque toutes les autres rendent erreur 0.

 

Valeur 1990 Valeur 2014 Sélection de la moindre erreur Sélection de l’erreur la plus grande Moyenne des erreurs – hiérarchie Compétition conditionnelle au seuil prédéfini
Q/E $                   4,83 $                         7,46 $                         9,39 $                       38,18 $                       34,51 $                       34,16
CK/PA 291,84 185,38 263,29 1 428,92 1 280,59 1 266,39
A/Q 14,5% 15,0% 19,0% 79,1% 71,4% 70,7%
PA/N 358,49 892,46 1 126,42 4 626,32 4 180,92 4 138,29
M/Q 71,0% 90,1% 113,6% 464,7% 420,0% 415,8%
E/N 7 671,77 6 917,43 8 994,27 40 063,47 36 109,61 35 731,13
RE/E 4,2% 8,9% 11,2% 45,6% 41,3% 40,8%
U/N 75,3% 81,4% 102,4% 416,5% 376,6% 372,7%
Q 9 203 227,00 16 704 698,00 21 010 718,45 85 428 045,72 77 230 318,76 76 445 587,64
Q/N $ 36 398,29 $ 52 292,28 $  65 771,82 $ 267 423,42 $ 241 761,31 $ 239 304,79
N 252 847 810 319 448 634 401 793 873 1 633 664 524 1 476 897 088 1 461 890 454

 

Oui, juste la sélection no. 1 semble être raisonnable. Les autres stratégies de compétition rendent des valeurs absurdement élevées. Quoi que là, il faut se souvenir du truc essentiel à propos d’un réseau neuronal artificiel : c’est une structure logique, pas organique. Structure logique veut dire un ensemble de proportions. Je transforme donc ces valeurs absolues rendues par mon perceptron en des proportions par rapport à la valeur de la variable de résultat. La variable de résultat Q/E est donc égale à 1 et les valeurs des variables d’entrée {CK/PA ; A/Q ; PA/N ; M/Q ; E/N ; RE/E ; U/N ; Q ; Q/N ; N} sont exprimées comme des multiples de 1. Je montre les résultats d’une telle dénomination dans le tableau suivant, ci-dessous. Comment les lire ? Eh bien, si vous lisez A/Q = 0,02024, cela veut dire que l’amortissement agrégé d’actifs fixes pris comme pourcentage du PIB est égal à la fraction 0,02024 du coefficient Q/E etc. Chaque colonne de ce tableau de valeurs indexées représente une structure définie par des proportions par rapport à Q/E. Vous pouvez remarquer que pris sous cet angle, ces résultats de simulation du réseau neuronal ne sont plus aussi absurdes. Comme ensembles de proportions, ce sont des structures tout à fait répétitives. La différence c’est la valeur-ancre, donc efficience énergétique. Intuitivement, j’y vois des scénarios différents d’efficience énergétique des États-Unis en cas ou la société américaine doit s’adapter à des niveaux différents de surpopulation et cette surpopulation est soit gentille (sélection de la moindre erreur) soit sauvage (toutes les autres sélections).

 

 

  Valeurs indexées sur la variable de résulat
Valeur 1990 Valeur 2014 Sélection de la moindre erreur Sélection de l’erreur la plus grande Moyenne des erreurs – hiérarchie Compétition conditionnelle au seuil prédéfini
Q/E 1,00000 1,00000 1,00000 1,00000 1,00000 1,00000
CK/PA 60,41009 24,83314 28,13989 37,41720 37,12584 37,08887
A/Q 0,03005 0,02007 0,02024 0,02071 0,02070 0,02070
PA/N 74,20624 119,55525 119,98332 121,18428 121,14657 121,14178
M/Q 0,14703 0,12070 0,12097 0,12173 0,12171 0,12171
E/N 1 588,03883 926,66575 958,89830 1 049,32878 1 046,48878 1 046,12839
RE/E 0,00864 0,01194 0,01194 0,01196 0,01196 0,01196
U/N 0,15587 0,10911 0,10911 0,10911 0,10911 0,10911
Q 1 905 046,16228 2 237 779,02450 2 237 779,02450 2 237 779,02450 2 237 779,02450 2 237 779,02450
Q/N 7 534,35896 7 005,12942 7 005,12942 7 005,12942 7 005,12942 7 005,12942
N 52 338 897,00657 42 793 677,11833 42 793 677,11833 42 793 677,11833 42 793 677,11833 42 793 677,11833

 

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

Tenez-vous bien, chers Autrichiens

 

Mon éditorial sur You Tube

 

Je réfléchis sur ce qu’est intelligence et j’y réfléchis comme je gagne de l’expérience avec une forme très simple d’intelligence artificielle, un perceptron à couches multiples. Vous direz : « Encore ? Tu ne t’es pas ennuyé à mort avec ce truc ? » Eh bien, non. Pas du tout. Je sens intuitivement que je ne fais que commencer ce voyage intellectuel.

Alors, qu’est-ce que je fais ? Je commence par prendre un ensemble de données empiriques.  Chaque variable empirique est un phénomène stimulant distinct. Je leur assigne des coefficients aléatoires de pondération et je sur la base de ces valeurs pondérées je calcule, à travers une fonction d’activation neurale, la valeur d’une variable de résultat. Je compare, par soustraction, cette valeur avec une valeur espérée de référence. Je multiplie la différence par la dérivée locale de la fonction neurale d’activation et je considère le résultat comme une erreur locale. Je produis donc une variation momentanée d’une certaine structure logique et je compare cette variation à un état de référence. La spécificité de chaque variation locale réside dans le mélange unique des coefficients de pondération des phénomènes stimulants.

A ce stade-là, j’expérimente avec la perception proprement dite. C’est ça, la perception. Je suis confronté à un certain nombre des phénomènes de réalité. Le trait important d’un perceptron est que c’est moi, son utilisateur, donc une Intelligence Externe, qui détermine la nature de ces phénomènes. C’est moi qui donne la distinction entre la variable A et la variable B etc.  Dans la perception réelle, la définition des phénomènes se fait par expérimentation. Je marche à travers ce gros truc hétérogène et j’essaie voir quelle est la meilleure façon de ne pas buter constamment contre ces trucs plus petits. En fin de compte, il semble approprié de distinguer le gros truc comme « forêt » et les petits trucs comme « arbres », mettre en place des règles précises de distinguer un arbre d’un autre ainsi que pour distinguer les espaces libres entre eux.

Le perceptron que j’utilise est donc une structure phénoménologique prédéterminée. Je viens de dire que c’est moi, son utilisateur, qui la prédétermine, mais ce n’est pas tout à fait vrai. Mes variables d’entrée correspondent aux données quantitatives que je peux assembler. Dans la structure logique de mon perceptron, je reproduis celle des bases des données publiquement accessibles, comme celle de la Banque Mondiale.

Ce que j’expérimente avec, à travers le perceptron, est donc une structure phénoménologique prédéterminée par ces bases des données. Si la structure phénoménologique est donnée comme exogène, que reste-t-il à expérimenter avec ? Allons pas à pas. Ces coefficients aléatoires de pondération que mon perceptron attribue aux variables d’entrée reflètent l’importance relative et temporaires des phénomènes que ces variables représentent. Le tout – le perceptron – est censé faire quelque chose, produire un changement. L’importance des phénomènes reflète donc ce qu’ils font dans ce tout. Le phénomène donné joue-t-il un rôle important ou pas tout à fait ? Allons donc voir. Attribuons à ce phénomène des rôles d’importance variable et observons le résultat final, donc la variable de résultat.

Ici, il est bon de rappeler un truc à la frontière des maths et de la vie réelle. Les valeurs de variables d’entrée représentent l’état temporaire des processus qui produisent ces variables. Ma taille en centimètres reflète le processus de la croissance de mon corps, précédé par le processus de mélange de mon matériel génétique, dans les générations de mes ancêtres. La consommation d’énergie par tête d’habitant reflète le résultat temporaire de tout ce qui s’est passé jusqu’alors et qui avait une influence quelconque sur ladite consommation d’énergie. Lorsque le perceptron expérimente avec l’importance des rôles respectifs des variables d’entrée, il expérimente avec l’influence possible des différentes séquences d’évènements.

L’apprentissage d’un perceptron devrait conduire à un état de minimisation d’erreur locale, lorsque la combinaison d’influences respectives de la part des variables d’entrée rend possible une approche asymptotique de la fonction d’activation neuronale vers la valeur espérée de la variable de résultat. Ce résultat d’apprentissage est une sorte de perception optimale par rapport à ce que je veux. Monsieur désire une efficience énergétique de l’économie nationale proche de $10 constants 2011 par 1 kilogramme d’équivalent pétrole consommé ? Rien de plus facile, répond le perceptron. Monsieur prend une population plus grande de 3 millions d’habitants, donc plus de 8%, avec un zest de plus en termes de consommation d’énergie par tête d’habitant, quoi que ladite tête d’habitant va consommer un peu moins de Produit Intérieur Brut par an et voilà ! Monsieur a bien les (presque) 10 dollars par kilogramme d’équivalent pétrole. Monsieur désire autre chose ?

Le perceptron simule donc la perception mais en fait il fait autre chose : il optimise la connexion fonctionnelle entre les variables. Ce type de réseau neuronal devrait plutôt s’appeler « expéritron » ou quelque chose de pareil, car l’essence de son fonctionnement c’est l’expérimentation qui tend vers une erreur minimale. Comment l’optimise-t-il ? C’est le mécanisme de rétropropagation. Le perceptron calcule l’erreur locale d’estimation et ensuite – c’est-à-dire dans la prochaine ronde d’expérimentation – il ajoute cette erreur à la valeur des variables d’entrée. Dans la prochaine ronde d’expérimentation, la valeur de chaque variable d’entrée sujette à la pondération aléatoire va être la valeur initiale plus l’erreur enregistrée dans la ronde précédente.

Une seule et même erreur est ajoutée à l’estimation quantitative de chaque phénomène distinct de réalité. Le fait d’ajouter l’erreur est vaguement équivalent à la mémoire d’une entité intelligente. L’erreur est une pièce d’information et je veux l’emmagasiner pour qu’elle serve mon apprentissage. Dans la version de base de mon perceptron, chaque phénomène de réalité – chaque variable d’entrée – absorbe cette information d’exactement de la même façon. C’est une mémoire concentrée sur les échecs et voilà la grosse différence par rapport à l’intelligence humaine. Cette dernière aime apprendre sur des succès. Une tentative réussie immédiatement donne une gratification à notre système nerveux et ça marche nettement mieux que l’apprentissage à travers des échecs.

Question : comment construire un réseau neuronal qui apprend sur des succès plutôt que sur des échecs ? Un échec est relativement facile à représenter mathématiquement : c’est une erreur d’estimation. Un succès veut dire que j’ai essayé d’avancer dans une direction et ça a marché. Disons que j’ai une variable chère à mon cœur, comme l’efficience énergétique d’économie nationale, donc ces dollars de Produit Intérieur Brut obtenus avec 1 kilogramme d’équivalent pétrole. J’espère d’avancer par X dollars, mais grâce à mon génie indéniable tout comme avec l’aide de la Providence divine, j’ai avancé par Y dollars et Y > X. Alors la différence Y – X est la mesure de mon succès. Jusqu’à ce point, ça à l’air identique à ce que fait le perceptron classique : ça soustrait.

Question : comment utiliser la différence d’une soustraction comme quelque chose à amplifier comme succès au lieu de la minimiser en tant que la mesure d’un échec ? Réponse : il faut utiliser une fonction d’activation neurale qui amplifie un certain type de déviation, la positive. La première idée qui me vient à l’esprit est de mettre dans le perceptron une formule logique du type « si Y – X > 0, alors fais A, mais en revanche si Y – X ≤ 0, alors fais B ». Ça a l’air enfantin à première vue. Seulement si ça doit se répéter 5000 fois, comme je le fais d’habitude avec ce perceptron, çççaa raaalentiîîit terriblement. Je pense à quelque chose de plus simple : et si je calculais immédiatement la valeur exponentielle de l’erreur locale ? Si Y – X > 0, alors la valeur exponentielle va être nettement supérieure à celle de Y – X ≤ 0. Je teste avec l’Autriche et les données sur son efficience énergétique. Non, ça marche pas : j’obtiens une variable de résultat rigoureusement égale à la valeur espérée déjà après 30 rondes d’expérimentation – ce qui est pratiquement la vitesse de la lumière dans l’apprentissage d’un perceptron  – mais les variables d’entrée prennent des valeurs ridiculement élevées. Tenez : il leur faudrait être 42 millions au lieu de 8 millions, à ces Autrichiens. Impensable.

Bon. Bon gré mal gré, faudra que j’aille dans cette formule « si A, alors B, sinon va te faire … ». Tenez-vous bien, chers Autrichiens. J’observe et je raisonne. Ce que vous avez accompli vraiment, entre 1990 et 2014, c’est passer de 9,67 dollars de PIB par kilogramme d’équivalent pétrole à 11,78 dollars, donc une différence de 1,22 dollars. Si mon perceptron rend une erreur positive supérieure à cet accomplissement, je le laisse la rétropropager sans encombre. En revanche, tout ce qui n’est pas un succès est un échec, donc toute erreur en-dessous de ce seuil de référence, y compris une erreur négative, je la divise par deux avant de la rétropropager. J’amplifie des succès et je réduis l’impact mémorisé des échecs. Résultat ? Tout devient plus petit. L’efficience énergétique après les 5000 rondes expérimentales est à peine plus grande qu’en 1990 – 9,93 dollars – la population se rétrécit à moins de 3 millions, la consommation d’énergie et le PIB par tête d’habitant sont coupés par 4.

Ça alors ! Lorsque je parlais d’apprentissage à travers les succès, je m’attendais à quelque chose de différent. Bon. Je mets une muselière sur mon perceptron : tout en laissant l’apprendre sur les succès, comme dans le cas cité, j’ajoute la composante d’apprentissage sur la cohésion mutuelle entre les variables. Consultez « Ensuite, mon perceptron réfléchit » ou bien « Joseph et le perceptron » pour en savoir plus sur ce trait particulier. Ça se réfère à l’intelligence collective des fourmis. Peu ambitieux mais ça peut marcher. Résultat ? Très similaire à celui obtenu avec cette fonction particulière (apprentissage sur cohésion) et avec la rétroprogation de base, donc vers l’échec minimal. Faut que j’y réfléchisse.

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

Ensuite, mon perceptron réfléchit

 

Mon éditorial sur You Tube

 

Je vais au fond des choses, dans ma recherche courante. Comme vous le savez peut-être, je suis en train de combler une grosse lacune dans mon éducation scientifique : j’apprends les rudiments d’intelligence artificielle (consultez « Joseph et le perceptron » par exemple). Je pense que j’ai déjà compris quelques trucs, surtout le principe général du réseau neuronal appelé « perceptron ». Au fin fond de la science moderne, il y a cette observation générale : les choses, elles surviennent comme des instances momentanées et locales des structures sous-jacentes. Disons que je suis assis, là, devant mon ordinateur, j’écris, et tout à coup il me vient à l’esprit que je pourrais démolir l’univers entier et le reconstruire à nouveau. Je dois le faire instantanément, en une fraction de seconde. Après tout, l’absence totale de l’univers peut poser des problèmes. Alors, je démolis et je reconstruis mon univers entier. Je le fais plusieurs fois de suite, comme mille fois. Question : après chaque reconstruction de l’univers, suis-je le même Krzysztof Wasniewski que j’étais dans l’univers précèdent ? Eh bien, tout ce que je sais de la science me dit : presque. Dans chaque instance consécutive de l’univers je suis presque le même moi. Des petits détails diffèrent. C’est précisément ce que fait le réseau neuronal du type perceptron. Il crée plusieurs instances possibles de la même structure logique et chaque instance particulière est originale par des petits détails.

Question : qu’est-ce que ferait un perceptron qui serait à ma place, donc qui découvrirait qu’il est une instance parmi plusieurs autres, temporairement présente dans un univers momentané ? Ça dépend quelle est sa fonction d’activation. Si mon perceptron travaille avec la fonction sigmoïde, il accumule l’expérience et produit une série de plus en plus récurrente d’instances de lui-même, tout en relâchant un peu les gonds de sa structure. Il devient à la fois plus souple et plus répétitif. En revanche, si la fonction d’activation c’est la tangente hyperbolique, le perceptron devient très susceptible et en même temps rigide. Il produits des instances de lui-même par des à-coups soudains, il se balance loin de son état initial mais après, il retourne très près ce cet état initial et à la longue, il n’apprend pas vraiment beaucoup.

Comme j’expérimente avec le perceptron, j’ai découvert deux types d’apprentissage : le sigmoïde rationnel et systématique d’une part, et la tangente hyperbolique violente et émotionnelle d’autre part. Ces deux sentiers de traitement de l’expérience ont leur expression mathématique et moi, en ce moment, j’essaie de comprendre le lien entre ces structures mathématiques et l’économie. Plus je fais de la recherche et de l’enseignement en sciences sociales, plus je suis convaincu que l’approche behavioriste est l’avenir des sciences économiques. Les modèles économiques reflètent et généralisent notre compréhension du comportement humain. Mes observations à propos du perceptron se traduisent en un débat long-présent dans les sciences économiques : l’état doit-il intervenir pour atténuer les chocs quantitatifs sur les marchés ou bien doit-il s’abstenir d’intervention et laisser les marchés apprendre à travers les chocs ?

L’application des deux fonctions neuronales – le sigmoïde et la tangente hyperbolique – me permet de reconstruire ces deux alternatives. Le sigmoïde est parfait pour simuler un marché protégé des chocs. La structure logique de la fonction sigmoïde la rend pareille à un pare-chocs. Le sigmoïde absorbe tout excès de stimulation et rend un résultat lissé et domestiqué. En revanche, la tangente hyperbolique est hyper-réactive dans sa structure logique et semble être une bonne représentation d’un marché dépourvu des ceintures de sécurité.

Je prends donc le modèle financier que je suis en train de développer pour le marché de l’énergie – donc la solution qui permet aux petits fournisseurs locaux d’énergies renouvelables de bâtir une base financière tout en créant des liens durables avec leurs clients (consultez « More vigilant than sigmoid », par exemple) – et j’utilise le perceptron pour expérimenter. Ici, il y a une question méthodologique que jusqu’alors j’hésitais à poser directement et que je dois répondre, d’une façon ou d’une autre : qu’est-ce que le perceptron représente, au juste ? Quel type d’environnement expérimental peut être associé avec la façon dont le perceptron apprend ? Mon idée est de faire le parallèle avec l’intelligence collective, donc de défendre l’assomption que le perceptron représente l’apprentissage qui réellement prend lieu dans une structure sociale. Question : comment donner de l’assise intellectuelle à cette assomption ? Le sentier le plus évident passe par la théorie d’essaims que j’avais déjà discuté dans « Joseph et le perceptron » ainsi que dans « Si je permets plus d’extravagance ». Si le perceptron est capable de varier sa fonction interne d’adaptation , donc de passer entre des degrés différents d’association entre ses variables, alors ce perceptron peut être une représentation acceptable de l’intelligence collective.

Ça, c’est fait. J’ai déjà vérifié. Mon perceptron produit de la variation dans sa fonction d’adaptation et qui plus est, il la produit de façons différentes suivant la fonction d’activation utilisée, soit le sigmoïde ou bien la tangente hyperbolique. Point de vue théorie d’essaims, il est collectivement intelligent, mon perceptron.

Ceci fait et dit, j’ai déjà découvert que le sigmoïde – donc le marché assisté par des institutions anticycliques – apprend plus (il accumule plus de mémoire expérimentale) et il produit un modèle financier plus étoffé en termes de finance et d’investissement. Il produit des prix d’énergie plus élevés, aussi. En revanche, la tangente hyperbolique – soit le marché sans protection – apprend moins (accumule moins de mémoire expérimentale) et il produit un marché final avec moins de capital financier offert et moins d’investissement, tout en gardant les prix d’énergie à un niveau relativement plus bas. En plus, la tangente hyperbolique produit plus de risque, dans la mesure où elle rend plus de disparité entre des différentes instances expérimentales que le sigmoïde.

Bon, un instant de réflexion : à quoi bon ? Je veux dire : qui peut faire un usage pratique de ce que je suis en train de découvrir ? Réfléchissons : je fais tout ce bazar de recherche avec l’aide d’un réseau neuronal pour explorer le comportement d’une structure sociale vis-à-vis d’un schéma financier nouveau dans le marché d’énergies renouvelables. Logiquement, cette science devrait servir à introduire et développer un tel schéma. Dans la finance, la science ça sert à prédire les prix et les quantités d’instruments financiers en circulation, ainsi qu’à prédire la valeur agrégée du marché prix dans sa totalité. J’ai déjà expérimenté avec les valeurs que peut prendre la capitalisation « K » du financement participatif pour les énergies renouvelables et j’ai découvert que cette capitalisation peut varier en présence d’une fourchette des prix « PQ – PB » constante. Pour savoir ce que veulent dire ces symboles, le mieux est de consulter « De la misère, quoi ». Je peux donc faire une simulation des états possibles du marché, donc de la proportion entre la capitalisation K et les prix d’énergie, avec ces deux scénarios alternatifs en tête : marché protégé contre variation cyclique ou bien un marché pleinement exposé à des telles variations. Ensuite, l’expérimentation que j’ai conduite jusqu’alors m’a permis de cerner les variations possibles de consommation d’énergie, ainsi que de l’investissement brut en la capacité de génération d’énergie, encore une fois avec variations cycliques ou pas.

J’ai donc trois variables – capitalisation du financement participatif, investissement brut et quantité d’énergie consommée – dont la variation je peux simuler avec mon perceptron. C’est donc quelque chose de similaire aux équations de la physique quantique, donc un outil analytique qui permet de formuler des hypothèses très précises à propos de l’état futur du marché.

Deux idées me viennent à l’esprit. Premièrement, je peux prendre les données que j’avais déjà utilisées dans le passé pour développer mon concept EneFin (consultez, par exemple : « Je recalcule ça en épisodes de chargement des smartphones »), donc les profils des pays Européens particuliers et de voir où exactement mon perceptron peut aller à partir de ces positions. Y-aura-t-il de la convergence ? Y-aura-t-il un schéma récurrent de changement ?

Deuxièmement, je peux (et je veux) retourner à la recherche que j’avais déjà faite en automne 2018 à propos de l’efficience énergétique d’économies nationales. A l’époque, j’avais découvert que lorsque je transforme les données empiriques brutes de façon à simuler l’occurrence d’un choc soudain dans les années 1980 et ensuite l’absorption de ce choc, ce modèle particulier a nettement plus de pouvoir explicatif qu’une approche basée sur l’extraction des tendances a long-terme. Consultez « Coefficients explosifs court-terme » pour en savoir plus à ce sujet. Il se peut que l’échantillon empirique que j’avais utilisé raconte une histoire complexe – composée d’un changement agité façon tangente hyperbolique combiné avec quelque chose de plus pondéré façon sigmoïde – et que l’histoire hyper-tangentielle soit la plus forte des deux. Alors, le scénario possible à construire avec la fonction sigmoïde pourrait représenter quelque chose comme un apprentissage collectif beaucoup plus calme et plus négocié, avec des mécanismes anticycliques.

Ce deuxième truc, l’efficience énergétique, ça m’a inspiré. Aussitôt dit, aussitôt fait. Chaque économie nationale montre une efficience énergétique différente, donc j’assume que chaque pays est un essaim intelligent distinct. J’en prends deux : Pologne, mon pays natal, et Autriche, qui est presque à côté et j’adore leur capitale, Vienne. J’ajoute un troisième pays – les Philippines – pour faire un contraste marqué. Je prends les données que j’avais déjà utilisées dans ce brouillon d’article et je les utilise dans un perceptron. Je considère l’efficience énergétique en tant que telle, soit le coefficient « Q/E » de PIB par 1 kg d’équivalent pétrole de consommation finale d’énergie, comme ma variable de résultat. Le tenseur des variables d’entrée se compose de : i) le coefficient « K/PA » de capital fixe par une demande locale de brevet ii) le coefficient « A/Q » d’amortissement agrégé divisé par le PIB iii) le coefficient « PA/N » de nombre de demandes de brevet locales par 1000 habitants iv) le coefficient « E/N » de consommation d’énergie par tête d’habitant v) le coefficient « U/N » de la population urbaine comme fraction de la population entière du pays vi) le coefficient « Q/N » de PIB par tête d’habitant vii) la part « R/E » d’énergies renouvelables dans la consommation totale d’énergie et enfin viii) deux variables d’échelle, soit « Q » pour le PIB agrégé et « N » pour la population.

Chaque variable contient 25 observations annuelles, de 1990 à 2014, parmi lesquelles j’identifie la valeur maximale et je l’utilise ensuite comme base de standardisation. Le perceptron, il se sent vraiment à l’aise seulement dans un univers standardisé. Le « Q/E » standardisé pour année « ti » est donc égal à Q/E(ti)/max(Q/E) sur Q/E(1990) ≤ x ≤ Q/E(2014) et ainsi de suite pour chaque variable. Je prends les 25 valeurs standardisées pour chaque variable et je les donne à mon perceptron comme matériel d’apprentissage. Le perceptron, il commence par assigner à chaque valeur standardisée un coefficient aléatoire W(x) de pondération et pour chaque il fait ∑W(x)*x, donc la somme des produits « coefficient de pondération multiplié par la valeur locale standardisée ».

Le ∑W(x)*x est ensuite utilisé dans la fonction d’activation neurale : le sigmoïde y = 1 / (1 + e-∑W(x)*x) ou bien la tangente hyperbolique y = (e2*∑W(x)*x – 1) / (e2*∑W(x)*x + 1). Pour chaque période d’observation je calcule aussi la fonction d’adaptation locale, ce qui commence par le calcul des distances Euclidiennes entre cette variable et les autres. La distance Euclidienne ? Eh bien, je prends la valeur x1 et celle de x, par exemple Q/E(1995) – U/N(1995). Bien sûr, on ne parle que valeurs standardisées.  Je fais donc Q/E(1995) – U/N(1995) et pour s’assurer qu’il n’ait pas de négativité compromettante, je tire la racine carrée du carré de la différence arithmétique, soit {[Q/E(1995) – U/N(1995)]2}0,5. Avec M variables au total, et 1 ≤ j ≤ M – 1, pour chacune d’elles je fais V(xi) = {xi + ∑[(xi – xj)2]0,5}/M et ce V(xi) c’est précisément la fonction d’adaptation.

J’utilise V(xi) dans une troisième version du perceptron, le sigmoïde modifié

y = 1 / (1 + e-∑V(x)*W(x)*x)

donc une forme d’intelligence qui assume que plus une variable d’entrée est distante d’autres variables d’entrée, plus elle est importante dans la perception de mon perceptron. C’est la vieille histoire de distinction entre un arbre et un ours grizzli, dans une forêt. Un ours, ça déteint nettement sur un fond forestier et il vaut mieux y attacher une attention particulière. Le perceptron basé sur le sigmoïde modifié contient un tantinet d’apprentissage profond : ça apprend sa propre cohésion interne (distance Euclidienne entre variables).

Quel que soit la version du perceptron, il produit un résultat partiellement aléatoire et ensuite il le compare à la valeur espérée de la variable de résultat. La comparaison est complexe. Tout d’abord, le perceptron fait Er(Q/N ; t) = y(t) – Q/E(t) et il constate, bien sûr, qu’il s’est gouré, donc que Er(Q/N ; t) = y(t) – Q/E(t) ≠ 0. C’est normal avec tous ces coefficients aléatoires de pondération. Ensuite, mon perceptron réfléchit sur l’importance de cette erreur locale et comme la réflexion n’est pas vraiment un point fort de mon perceptron, il préfère prendre refuge dans les maths et calculer la dérivée locale y’(t). De tout en tout, le perceptron prend l’erreur locale et la multiplie par la dérivée locale de la fonction d’activation neurale et cette valeur complexe  y’(t-1)*[y(t-1) – Q/E(t-1)] est ensuite ajoutée à la valeur de chacune variable d’entrée dans la ronde suivante d’expérimentation.

Les 25 premières rondes d’expérimentation sont basées sur les données réelles pour les années 1990 – 2014 et c’est donc du matériel d’apprentissage. Les rondes suivantes, en revanche, sont de l’apprentissage pur : le perceptron génère les variables d’entrée comme valeurs de la ronde précédente plus y’(t-1)*[y(t-1) – Q/E(t-1)].

Bon, appliquons. J’itère mon perceptron sur 5000 rondes d’expérimentation. Première chose : ce truc est-il intelligent ? Sur la base de la théorie d’essaims j’assume que si la cohésion générale des données, mesurée comme 1/V(x) donc comme l’inverse de la fonction d’adaptation, change significativement sur les 5000 essais, ‘y-a de l’espoir pour intelligence. Ci-dessous, je présente les graphes de cohésion pour la Pologne et les Philippines. Ça promet. Le sigmoïde, ça se désassocie de façon systématique : la ligne bleue sur les graphes descend résolument. Le sigmoïde modifié, ça commence par plonger vers un niveau de cohésion beaucoup plus bas que la valeur initiale et ensuite ça danse et oscille. La tangente hyperbolique prend bien garde de ne pas sembler trop intelligente, néanmoins ça produit un peu de chaos additionnel. Toutes les trois versions du perceptron semblent (formellement) intelligentes.

Le truc intéressant c’est que le changement de cohésion diffère fortement suivant le pays étudié. Je ne sais pas encore quoi penser de ça. Maintenant, les résultats des 5000 rondes expérimentales. Il y a des régularités communes pour tous les trois pays étudiés. Le sigmoïde et la tangente hyperbolique produisent un état avec efficience énergétique égale (ou presque) à celle de 2014 – donc de la dernière année des données empiriques – et toutes les autres variables fortement en hausse : plus de population, plus de PIB, plus d’innovation, plus d’énergies renouvelables etc. Le sigmoïde modifié ajoute aussi à ces variables mais en revanche, il produit une efficience énergétique nettement inférieure à celle de 2014, à peu près égale à celle de 2008 – 2009.

J’essaie de comprendre. Est-ce que ces résultats veulent dire qu’il y a un sentier possible d’évolution sociale où on devient plus ou moins créatifs et chaotiques – donc où la cohésion entre nos décisions économiques décroit – et en même temps nous sommes comme plus grands et plus intenses en termes de consommation d’énergie et des biens ?

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

Joseph et le perceptron

 

Mon éditorial sur You Tube

 

Voilà que mon idée d’appliquer l’intelligence artificielle pour simuler des décisions collectives – et plus particulièrement l’implémentation possible d’un schéma financier participatif à l’échelle locale – prend des couleurs. Je viens de travailler un peu sur l’idée de cohésion mutuelle entre les décisions collectives, bien dans l’esprit de ces articles que j’avais cité dans « Si je permets plus d’extravagance ». J’ai inclus la composante de cohésion dans le perceptron que je décris sur ce blog et applique dans ma recherche depuis à peu près 2 mois. Ça commence à donner des résultats intéressants : un perceptron qui prend en compte la cohésion relative de ses propres variables acquiert une certaine noblesse d’apprentissage profond. Vous avez pu lire les premiers résultats de cette approche dans « How can I possibly learn on that thing I have just become aware I do? ».

Depuis cette dernière mise à jour je me suis avancé un peu dans l’application de cette idée de cohésion et de la théorie d’essaims dans ma propre recherche. J’ai remarqué une différence nette entre la cohésion générée par le perceptron suivant la façon d’observer cette cohésion. Je peux adopter deux stratégies de simulation en ce qui concerne le rôle de la cohésion mutuelle entre variables. Stratégie no. 1 : je calcule la cohésion mutuelle entre les décisions représentées par les variables et je m’en arrête à l’observation. Le perceptron n’utilise donc pas la fonction d’adaptation comme paramètre dans le processus d’apprentissage : le réseau neuronal ne sait pas quel degré de cohésion il rend. J’ajoute donc une dimension additionnelle à l’observation de ce que fait le réseau neuronal mais je ne change pas la structure logique de réseau. Stratégie no. 2 : j’inclus les valeurs locales de la fonction d’adaptation – donc de la mesure de cohésion entre variables – comme paramètre utilisé par le perceptron. La cohésion mesurée dans la ronde d’expérimentation « k – 1 » est utilisée comme donnée dans la ronde « k ». La cohésion entre variables modifie la structure logique du réseau de façon récurrente. Je crée donc une composante d’apprentissage profond : le perceptron, initialement orienté sur l’expérimentation pure, commence à prendre en compte la cohésion interne entre ses propres décisions.

Cette prise en compte est indirecte. La cohésion des variables observée dans la ronde « k – 1 » s’ajoute, comme information additionnelle, aux valeurs de ces variables prise en compte dans la ronde « k ». Par conséquent, cette mesure de cohésion modifie l’erreur locale générée par le réseau et ainsi influence le processus d’apprentissage. Le mécanisme d’apprentissage sur la base de cohésion entre variables est donc identique au mécanisme de base de ce perceptron : la fonction d’adaptation, dont la valeur est inversement proportionnelle à la cohésion entre variables est une source d’erreur de plus. Le perceptron tend à minimiser l’erreur locale, donc il devrait, logiquement, minimiser la fonction d’adaptation aussi et ainsi maximiser la cohésion. Ça semble logique à première vue.

Eh bien, voilà que mon perceptron me surprend et il me surprend de façons différentes suivant la fonction d’activation qu’il utilise pour apprendre. Lorsque l’apprentissage se fait à travers la fonction sigmoïde, le perceptron rend toujours moins de cohésion à la fin des 5000 rondes d’expérimentation qu’il en rendait au début. Le sigmoïde à l’air de gonfler systématiquement la distance Euclidienne entre ses variables, quelle stratégie d’apprentissage que ce soit, la no. 1 ou bien la no. 2. Lorsque c’est la no. 2 (donc la cohésion est explicitement prise en compte) le perceptron génère une significativement moindre erreur cumulative et une plus grande cohésion à la fin. Moins d’erreur cumulative veut dire moins d’apprentissage : un perceptron apprend à travers l’analyse de ses propres erreurs. En même temps le sigmoïde qui doit activement observer sa propre cohésion devient un peu moins stable. La courbe d’erreur cumulative – donc la courbe essentielle d’apprentissage – devient un peu plus accidentée, avec des convulsions momentanées.

En revanche, lorsque mon perceptron s’efforce d’être intelligent à travers la tangente hyperbolique , il ne change pas vraiment la cohésion fondamentale entre variables. Il se comporte de façon typique à la tangente hyperbolique – donc il s’affole localement sans que ça change beaucoup à la longue – mais à la fin de la journée la cohésion générale entre variables diffère peu ou pas du tout par rapport à la position de départ. Pendant que le sigmoïde à l’air d’apprendre quelque chose à propos de sa cohésion – et ce quelque chose semble se résumer à dire qu’il faut vraiment la réduire, la cohésion – la tangente hyperbolique semble être quasi-inapte à apprendre quoi que ce soit de significatif. En plus, lorsque la tangente hyperbolique prend explicitement en compte sa propre cohésion, son erreur cumulative devient un peu moindre mais surtout son comportement devient beaucoup plus aléatoire, dans plusieurs dimensions. La courbe d’erreur locale acquiert beaucoup plus d’amplitude et en même temps l’erreur cumulative après 5000 rondes d’expérimentation varie plus d’une instance de 5000 à l’autre. La courbe de cohésion est tout aussi affolée mais à la fin de la journée y’a pas beaucoup de changement niveau cohésion.

J’ai déjà eu plusieurs fois cette intuition de base à propos de ces deux fonctions d’activation neurale : elles représentent des sentiers d’apprentissage fondamentalement différents. Le sigmoïde est comme un ingénieur enfermé à l’intérieur d’une capsule blindée. Il absorbe et amortit les chocs locaux tout en les menant gentiment dans une direction bien définie. La tangente hyperbolique quant à elle se comporte comme un chimpanzé névrotique : ça gueule à haute voix à la moindre dissonance, mais ça ne tire pas beaucoup de conclusions.  Je suis tenté de dire que le sigmoïde est comme intellect et la tangente hyperbolique représente les émotions. Réaction pesée et rationnelle d’une part, réaction vive et paniquarde d’autre part.

Je m’efforce de trouver une représentation graphique pour tout ce bazar, quelque chose qui soit à la fois synthétique et pertinent par rapport à ce que j’ai déjà présenté dans mes mises à jour précédentes. Je veux vous montrer la façon dont le perceptron apprend sous des conditions différentes. Je commence avec l’image. Ci-dessous, vous trouverez 3 graphes qui décrivent la façon dont mon perceptron apprend sous des conditions différentes. Plus loin, après les graphes, je développe une discussion.

 

Bon, je discute. Tout d’abord, les variables. J’en ai quatre dans ces graphes. La première, marquée comme ligne bleue avec des marques rouges discrètes, c’est l’erreur accumulée générée avec sigmoïde. Une remarque : cette fois, lorsque je dis « erreur accumulée », elle est vraiment accumulée. C’est la somme des toutes les erreurs locales, accumulées à mesure des rondes consécutives d’expérimentation. C’est donc comme ∑e(k) où « e(k) » est l’erreur locale – donc déviation par rapport aux valeurs initiales – observée sur les variables de résultat dans la k-tième ronde d’expérimentation. La ligne orange donne le même, donc l’erreur accumulée, seulement avec la fonction de tangente hyperbolique.

L’erreur accumulée, pour moi, elle est la mesure la plus directe de l’apprentissage compris de façon purement quantitative. Plus d’erreur accumulée, plus d’expérience mon perceptron a gagné. Quel que soit le scénario représenté sur les graphes, le perceptron accumule de l’apprentissage de manière différente, suivant la fonction neurale. Le sigmoïde accumule de l’expérience sans équivoque et d’une façon systématique. Avec la tangente hyperbolique, c’est différent. Lorsque j’observe cette courbe accidentée, j’ai l’impression intuitive d’un apprentissage par à-coups. Je vois aussi quelque chose d’autre, que j’ai même de la peine à nommer de manière précise. Si la courbe d’erreur accumulée – donc d’expérience rencontrée – descend abruptement, qu’est-ce que ça signifie ? Ce qui vient à mon esprit, c’est l’idée d’expériences contraires qui produisent de l’apprentissage contradictoire. Un jour, je suis très content par la collaboration avec ces gens de l’autre côté de la rue (l’autre côté de l’océan, de l’idéologie etc.) et je suis plein de conclusions comme « L’accord c’est mieux que la discorde » etc. Le jour suivant, lorsque j’essaie de reproduire cette expérience positive, ‘y-a du sable dans l’engrenage, tout à coup. Je ne peux pas trouver de langage commun avec ces mecs, ils sont nuls, ça ne semble aller nulle part de travailler ensemble. Chaque jour, je fais face à la possibilité équiprobable de me balancer dans l’un ou l’autre des extrêmes.

Je ne sais pas comme vous, mais moi je reconnais ce genre d’apprentissage. C’est du pain quotidien, en fait. Á moins d’avoir une méthode progressive d’apprendre quelque chose – donc le sigmoïde – nous apprenons fréquemment comme ça, c’est-à-dire en développant des schémas comportementaux contradictoires.

Ensuite, j’introduis une mesure de cohésion entre les variables du perceptron, comme l’inverse de la fonction d’adaptation, donc comme « 1/V(x) ». J’ai décidé d’utiliser cet inverse, au lieu de la fonction d’adaptation strictement dite, pour une explication plus claire. La fonction d’adaptation strictement dite est la distance Euclidienne entre les valeurs locales des variables de mon perceptron. Interprétée comme telle, la fonction d’adaptation est donc le contraire de la cohésion. Je me réfère à la théorie d’essaims, telle que je l’avais discutée dans « Si je permets plus d’extravagance ». Lorsque la courbe de « 1/V(x) » descend, cela veut dire moins de cohésion : l’essaim relâche ces associations internes. Lorsque « 1/V(x) » monte, une rigidité nouvelle s’introduit dans les associations de ce même essaim.

Question : puis-je légitimement considérer mes deux tenseurs – donc une collection structurée des variables numériques – comme un essaim social ? Je pense que je peux les regarder comme le résultat complexe d’activité d’un tel essaim : des décisions multiples, associées entre elles de manière changeante, peuvent être vues comme la manifestation d’apprentissage collectif.

Avec cette assomption, je vois, encore une fois – deux façons d’apprendre à travers les deux fonctions neurales différentes. Le sigmoïde produit toujours de la cohésion décroissante progressivement. L’essaim social qui marche selon ce modèle comportemental apprend progressivement (il accumule progressivement de l’expérience cohérente) et à mesure d’apprendre il relâche sa cohésion interne de façon contrôlée. L’essaim qui se comporte plutôt tangente hyperbolique fait quelque chose de différent : il oscille entre des niveaux différents de cohésion, comme s’il testait ce qui se passe lorsqu’on se permet plus de liberté d’expérimenter.

Bon, ça, ce sont mes impressions après avoir fait bosser mon perceptron sous des conditions différentes. Maintenant, puis-je trouver des connexions logiques entre ce que fait mon perceptron et la théorie économique ? Je dois me rappeler, encore et encore, que le perceptron, ainsi que tout le bazar d’intelligence collective, ça me sert à prédire l’absorption possible de mon concept financier dans le marché d’énergies renouvelables.

L’observation du perceptron suggère que le marché, il est susceptible de réagir à cette idée nouvelle de deux façons différentes : agitation d’une part et changement progressif d’autre part. En fait, en termes de théorie économique, je vois une association avec la théorie des cycles économiques de Joseph Schumpeter. Joseph, il assumait que changement technologique s’associe avec du changement social à travers deux sentiers distincts et parallèles : la destruction créative, qui fait souvent mal au moment donné, oblige la structure du système économique à changer de façon progressive.

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

Si je permets plus d’extravagance

 

Mon éditorial sur You Tube

 

Je continue ma petite aventure intellectuelle avec l’application des réseaux neuronaux – donc de l’intelligence artificielle – à la simulation de l’intelligence collective des sociétés humaines. J’ai découvert un créneau de recherche – documenté dans la littérature – qui s’occupe presque exclusivement du sujet de l’intelligence collective en général. Voici donc un article par Stradner et al. (2013[1]) qui étudie les algorithmes afférents à la théorie d’essaims ou intelligence distribuée. Nous, les humains, nous hésitons toujours en ce qui concerne notre propre intelligence collective mais nous avons des idées bien arrêtées en ce qui concerne celle d’abeilles ou des fourmis. La théorie d’essaims est une approche behavioriste à l’intelligence collective : elle assume que l’action en général, intelligente ou pas tout à fait, peut être considérée comme collective si elle est coordonnée. L’intelligence collective d’un ensemble d’entités plus ou moins autonomes peut être observée comme coordination et plus exactement comme association. Nous pouvons percevoir toute action comme mouvement et alors nous pouvons juger de la coordination dans cette action par le degré d’association entre mouvements individuels.

 

Il y a trois classes d’association : dynamique aléatoire, dynamique corrélée et statique. La distinction se fait en fonction d’interactions observées entre les entités qui font l’ensemble donné. Si les interactions sont des contacts aléatoires, dépourvus des schémas habituels – sans ritualisation, si vous voulez – nous parlons d’association aléatoire. On s’associe, de temps à l’autre, mais on ne fait pas d’amis dans le processus. S’il y a échange d’information dans l’association aléatoire, nous perdons une part significative du contenu communiqué puisque nous n’avons pas de rituels sociaux pour le codage et décodage, ainsi que pour la reconnaissance de source. Si je suis un petit investisseur boursier, parmi une foule d’autres petits investisseurs que je ne croise que de façon accidentelle, c’est largement un cas d’association dynamique aléatoire.

 

L’intelligence dans association dynamique aléatoire, où est-elle ? Y-a-t-il une intelligence quelconque dans ce type d’interaction ? Une annonce publicitaire dans la télé c’est un message jeté en l’air dans l’espoir que quelqu’un l’attrape. Lorsqu’une nouvelle version de Renault Mégane est lancée, c’est un concept technologique introduit dans une population hétérogène, dans l’espoir de trouver un intérêt suffisamment prononcé de la part de certaines personnes dans cette population. Ce sont des cas d’interaction basée sur des associations dynamiques aléatoires. C’est un cas d’intelligence collective basée sur la méthode d’essai et erreur. On produit quelque changement et on sait que dans la plupart d’interactions sociales ce changement va être sans conséquence majeure, néanmoins on compte que d’une perspective probabiliste certaines interactions vont traduire de changement local en quelque chose de plus durable.

 

Dans l’expression « dynamique aléatoire » le mot « dynamique » veut dire que chaque entité dans l’essaim entre dans un nombre changeant d’interactions avec d’autres entités. Si je suis dans un essaim dynamique, je peux interagir avec 5 autres entités ou bien avec 50 autres, ça dépend. Lorsque « ça dépend » prend une forme récurrente, avec un schéma visible, ma position dans l’essaim devient dynamique corrélée. Le fait d’interagir avec entité A entraîne, avec une probabilité possible à définir, l’interaction avec l’entité B etc. Ce schéma répétitif permet de ritualiser la communication et de la faire plus efficiente, avec moins de pertes niveau contenu. Je retourne à l’exemple de la nouvelle version de Renault Mégane. Les agissements d’un concessionnaire Renault bien établi dans une communauté locale, lorsque ledit contacte ses clients fidèles locaux, c’est-à-dire ceux dont il sait que vu leur histoire de service prêté aux bagnoles Renault qu’ils ont maintenant les prédispose à acheter cette nouvelle bête bien attractive : ça c’est du dynamique corrélé.

 

Lorsque le schéma récurrent d’interaction devient rigide, donc lorsque chaque entité dans l’essaim interagit dans un réseau fixe d’autres entités – comme dans une structure cristalline – alors nous parlons d’association statique. Les interactions rigides sont hautement formalisées, y compris le mode de communication. Ce qui se passe dans un Parlement – enfin ce qui s’y passe officiellement – est ce type d’interaction.

 

Ces distinctions fondamentales peuvent être appliquées aux réseaux neuronaux et à l’intelligence artificielle qui s’ensuit. Les réseaux probabilistes, qui créent des agglomérations des phénomènes sur la base des traits distinctifs définis par observation, sans assomptions à priori, sont des formes d’association dynamique aléatoire. On se groupe autour de quelque chose qui émerge, dans cette situation précise, comme le truc le plus évident pour se grouper autour. L’algorithme appelé BEECLUST est un exemple de ce type d’intelligence collective. A l’autre extrémité nous avons des algorithmes pour simuler des relations plus ou moins statiques. L’un d’eux est le Réseau d’Hormones Artificielles. Imaginez un essaim d’abeilles – donc un BEECLUST – qui au lieu de s’agglomérer de façon tout à fait spontanée et spécifique à la situation donnée s’agrège autour d’un agent chimique, comme des phéromones. Si j’ai un petit univers fait des phénomènes décrits avec des variables quantitatives, je peux inclure un agent artificiel d’agglomération, comme une hormone artificielle. Dans un marché, je peux introduire une fonction qui distribue les actifs financiers parmi les agents économiques et imposer une règle d’agglomération autour de ces actifs financiers. L’idée générale est que si dans une structure associée aléatoirement j’introduis un agent d’agglomération contrôlé, je peux transformer des associations aléatoires en des associations corrélées ou même des associations statiques.

 

Le truc intéressant est de définir quel type d’association est le plus approprié pour le cas donné. Il y a une classe d’algorithmes qui suivent le modèle d’Embryogénèse Virtuelle (Thenius et al. 2009[2]). Dans cette approche, chaque entité dans l’essaim définit et redéfinit ses associations avec d’autres entités à mesure que l’essaim change de taille et/ou en fonction des conditions externes à l’essaim. C’est tout comme les cellules d’un embryon, qui redéfinissent leurs associations avec d’autres cellules au fur et à mesure de la croissance de l’organisme entier.

 

J’ai trouvé un autre article, par Kolonin et al. (2016[3]), qui va dans une direction tout à fait différente dans l’étude de l’intelligence collective. Kolonin et al assument qu’une structure intelligente – le cerveau humain par exemple – est d’habitude une structure complexe, composée des sous-structures distinctes. L’intelligence est l’interaction aussi bien entre ces sous-unités qu’à l’intérieur de chaque entité séparément. Une collectivité est habituellement formée de sous-groupes culturels qui se distinguent l’un de l’autre par leurs systèmes respectifs des croyances. La formation de ces sous-groupes suit un schéma quasi-colloïdal : un système des croyances a une frontière sémantique – comme une membrane cellulaire – qui définit la compatibilité relative de ce système avec d’autres systèmes.

Kolonin et al ont conduit une expérience avec la participation de 2784 utilisateurs des réseaux sociaux. L’expérience visait à étudier la manière dont cette population choisie de façon aléatoire se structurerait en des sous – groupes avec des systèmes distincts des croyances. La méthode expérimentale consistait à créer des conditions pour que ces 2784 individus se communiquent entre eux de façon typique à un réseau social, avec l’introduction des contraintes possibles.

La première découverte intéressante est qu’à mesure que de l’information nouvelle était mise en circulation dans le réseau expérimental, elle était utilisée par les participants pour former des systèmes des croyances de plus en plus distincts et divergents. La vitesse de divergence tend à croître avec le temps : l’utilité marginale de chaque nouvelle unité d’information est croissante. En plus, la divergence survenait de façon la plus dynamique lorsque la population expérimentale ne rencontrait aucune contrainte significative. Lorsque des contraintes contrôlées étaient imposées sur le groupe – manque relatif de ressources, par exemple – les sous – groupes commençaient à chercher des manières de combler les différences des croyances et de créer des liens intergroupes.

Alors là, si cette expérience par Kolonin et al était robuste en termes de rigueur scientifique, c’est toute une théorie nouvelle qui en émerge. On se pose des questions au sujet de cette violence verbale bizarroïde qui survient dans aussi bien que par l’intermédiaire des réseaux sociaux. L’expérience citée montre que c’est absolument normal. On prend une collectivité, on lui assure des conditions de vie décentes et on lui donne un medium de communication qui facilite le partage d’information. Cette collectivité semble être condamnée à se scinder en des sous-groupes qui vont développer des dissonances de plus en plus prononcées dans leurs systèmes des croyances. Seulement une pression environnementale sentie comme significative peut inciter à chercher l’accord.

J’essaie d’associer les deux lignes différentes de raisonnement dans les deux articles que je viens de citer. Y-a-t-il un lien entre la théorie d’essaims et les types possibles d’association dans un essaim, d’une part, et le phénomène découvert dans l’expérience de Kolonin et al ? Je me dis qu’une disparité de plus en plus poussée d’une collectivité, en des sous-groupes distincts avec des systèmes distincts des croyances, veut dire de moins en moins d’aléatoire dans les associations d’individus et de plus en plus de corrélation prévisible. Si je tends à faire copain avec un groupe des gens qui démontrent des croyances similaires aux miennes, et en même temps je crée une distance vis-à-vis de ces-mecs-qui-se-gourent-complétement-dans-leur-vision-du-monde, mes associations se ritualisent et deviennent plus rigides. Dans un cas extrême, une divergence très poussée des systèmes des croyances peut créer un essaim rigide, où chaque entité suit un protocole très strict dans ses relations avec les autres et chacun a peur d’aller au-delà de ce protocole.

Voilà encore un autre article, par de Vicenzo et al (2018[4]) avec lequel je reviens vers les algorithmes d’intelligence artificielle. L’algorithme général – ou plutôt le modèle d’algorithme – que Vicenzo et al présentent est un exemple d’apprentissage profond, spécifiquement orienté comme représentation des décisions humaines collectives. Il y a donc une partie perceptron, similaire à ce que j’utilise couramment dans ma recherche sur le marché de l’énergie, et une partie qui utilise la théorie d’essaims pour évaluer la qualité des solutions préalablement définies de façon expérimentale par le perceptron. Je sens que je vais y passer quelque temps, avec cet article. Pour le moment, cette lecture particulière me pousse à poser une question à la frontière de maths et de la philosophie : comment les nombres aléatoires existent-ils dans une structure intelligente ?

J’explique. Voilà un perceptron simple, comme celui que j’ai discuté dans « De la misère, quoi » où les variables d’entrée, groupées dans un tenseur, reçoivent des coefficients de pondération aléatoires. Tout logiciel, les langages de programmation compris, génèrent les nombres aléatoires comme, en fait, des nombres quasi-aléatoires. Le logiciel se réfère à une bibliothèque des nombres compris entre 0 et 1 et y conduit quelque chose comme tirage au sort. Les nombres que le logiciel rend après la commande du type « random » sont donc des nombres prédéfinis dans la bibliothèque. La pondération des variables d’entrée avec des coefficients aléatoires consiste donc, mathématiquement, à créer une combinaison locale entre le tenseur des variables en question avec un tenseur, beaucoup plus complexe, des nombres quasi-aléatoires. Comment est-ce que ça reflète l’intelligence humaine ? Lorsque quelqu’un me demande de dire un nombre au hasard, comme ça, par surprise, est-ce que mon cerveau crée ce nombre ou bien puise-je dans une bibliothèque des nombres dont l’existence même est au-delà de ma conscience momentanée ?

Vicenzo et al présentent une façon intéressante d’utiliser un perceptron pour simuler les décisions collectives : les variables d’entrée du perceptron peuvent être présentées comme autant des décisions distinctes. Lorsque dans ma recherche j’ai ce tenseur d’entrée fait des prix d’énergie, ainsi que de son coût lissé LCOE et du capital investi, ces variables composantes peuvent être vues comme autant des décisions. Si nous prenons plusieurs décisions distinctes, il est important de comprendre leurs liens mutuels. Pour le faire, Vincenzo et al utilisent une procédure communément appelée « NK » ou bien « paysage adaptatif ». Si j’ai N décisions variables dans mon tenseur d’entrée, chacune d’elles peut entrer en K = N – 1 interactions avec les K = N – 1 autres.

Pour chaque décision « di » de parmi l’ensemble de N = {d1, d2, …, dN} décisions je peux définir une fonction d’adaptation V(di). La fonction d’adaptation, à son tour, repose sur l’assomption que des décisions distinctes peuvent former un tout fonctionnel si elles sont mutuellement cohérentes. Je peux exprimer la cohérence mutuelle de quoi que ce soit avec deux opérations mathématiques de base : la distance Euclidienne ou la division. La distance Euclidienne c’est tout simplement de la soustraction qui a peur des minus, donc au lieu de calculer d1 – d2, je fais [(d1 – d2)2]0,5 , juste en cas où d2 > d1.

Ma fonction d’adaptation peut donc se présenter comme V(di) = {[(di – d1)2]0,5 + [(di – d2)2]0,5 + … + [(di – dK)2]0,5} ou bien comme V(di) = (di/d1 + di/d2 + … + di/dK). Laquelle de ces deux formes choisir pour un problème donné ? En théorie, la distance Euclidienne reflète la différence pendant que la division représente une proportion. Allez voir ce qui est plus approprié pour votre problème. Si nous appréhendons la différence d’opinion, par exemple, comme chez Kolonin et al, cité plus haut, la distance Euclidienne semble être plus appropriée. En revanche, lorsque je prends en compte la magnitude des résultats des décisions distinctes – comme des taux de rendement sur un portefeuille d’investissements distincts – je peux essayer la proportion, donc la division. En pratique, essayez voir ce qui marche niveau computation. Mon expérience personnelle avec les réseaux neuronaux est celle d’un néophyte, mais j’ai déjà appris un truc : un réseau neuronal c’est comme un mécanisme d’horlogerie. Y’a des combinaisons d’équations qui marchent et celles qui ne marchent pas, point à la ligne. Vous remplacez la tangente hyperbolique avec le sinus hyperbolique, avec le même ensemble des valeurs initiales, et le perceptron se cale.

Un autre truc que j’ai appris : les perceptrons, ça marche bien avec des valeurs numériques relativement petites et lissées. Je prends donc V(di) = {[(di – d1)2]0,5 + [(di – d2)2]0,5 + … + [(di – dK)2]0,5} et je lui fais faire deux pas de danse. Pas no. 1 : inclure di dans ce tenseur. La fonction d’adaptation d’une décision c’est la décision-même plus la somme de ses différences par rapport aux autres K décisions du lot. Ça donne V(di) = {di + [(di – d1)2]0,5 + [(di – d2)2]0,5 + … + [(di – dK)2]0,5}. Ensuite, je réduis la valeur de V(di) en la divisant par N, le nombre total des décisions dans le jeu. J’ai alors donne V(di) = {di + [(di – d1)2]0,5 + [(di – d2)2]0,5 + … + [(di – dK)2]0,5} / N et c’est à peu de choses près la version de travail en ce qui concerne la fonction d’adaptation. C’est suffisamment complexe pour refléter la structure du problème et c’est suffisamment simplifié pour être utilisé dans un algorithme.

Le temps est venu de mettre cette mise à jour en ligne, sur mon blog. C’est donc le temps de conclure. Comme je passe en revue la littérature sur le phénomène d’intelligence collective, je vois un dénominateur commun à toutes ces lignes de recherche extrêmement diverses : une intelligence collective est une culture et en tant que telle elle se caractérise par une certaine cohésion interne. Haute cohésion veut dire efficacité aux dépens de la découverte. Lorsque je relâche la cohésion et je permets plus d’extravagance, je peux découvrir plus mais la culture devient difficile à diriger et peut générer des conflits.

Je continue à vous fournir de la bonne science, presque neuve, juste un peu cabossée dans le processus de conception. Je vous rappelle que vous pouvez télécharger le business plan du projet BeFund (aussi accessible en version anglaise). Vous pouvez aussi télécharger mon livre intitulé “Capitalism and Political Power”. Je veux utiliser le financement participatif pour me donner une assise financière dans cet effort. Vous pouvez soutenir financièrement ma recherche, selon votre meilleur jugement, à travers mon compte PayPal. Vous pouvez aussi vous enregistrer comme mon patron sur mon compte Patreon . Si vous en faites ainsi, je vous serai reconnaissant pour m’indiquer deux trucs importants : quel genre de récompense attendez-vous en échange du patronage et quelles étapes souhaitiez-vous voir dans mon travail ?

[1] Stradner, J., Thenius, R., Zahadat, P., Hamann, H., Crailsheim, K., & Schmickl, T. (2013). Algorithmic requirements for swarm intelligence in differently coupled collective systems. Chaos, Solitons & Fractals, 50, 100-114.

[2] Thenius R, Bodi M, Schmickl T, Crailsheim K. (2009) Evolving virtual embryogenesis to structure complex controllers. PerAdaMagazine; 2009.

[3] Kolonin, A., Vityaev, E., & Orlov, Y. (2016). Cognitive architecture of collective intelligence based on social evidence. Procedia Computer Science, 88, 475-481.

[4] De Vincenzo, I., Massari, G. F., Giannoccaro, I., Carbone, G., & Grigolini, P. (2018). Mimicking the collective intelligence of human groups as an optimization tool for complex problems. Chaos, Solitons & Fractals, 110, 259-266.