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.

De la misère, quoi

 

Mon éditorial sur You Tube

 

Je reviens vers ma recherche sur le marché d’énergie et – pour la n-ième fois – j’essaie de formaliser de façon scientifiquement rigoureuse mon concept EneFin, donc celui de solution financière pour promouvoir le développement d’énergies renouvelables. L’année dernière, j’avais déjà beaucoup tourné autour du sujet et il y a un je ne sais quoi d’obscur, là. Quelque chose qui me bloque intellectuellement. Vous pouvez consulter, par exemple, « Alois in the middle » pour en savoir plus sur mes contorsions conceptuelles à ce sujet.

Alors, une approche de plus. J’ouvre de façon canonique, par les prémisses, donc par les raisons pour quiconque de ne pas s’en foutre éperdument de tout ce bazar. Dans un rapport sur le secteur d’énergie, publié par IRENA (International Renewable Energy Agency), deux observations me donnent un peu de démangeaison (économique). D’une part, le coût de génération d’énergies renouvelables, le soi-disant LCOE (Levellized Cost of Electricity), a chuté abruptement ces dernières années. D’autre part, l’investissement en des nouvelles capacités de génération en renouvelables a chuté aussi. Les énergies renouvelables ont la particularité de ne coûter rien en tant que telles ; ce qui coûte du pognon c’est la mise en place et la maintenance des technologies. Voyez « Ce que le prof en moi veut dire sur LCOE » pour en savoir plus. De tout en tout, les technologies d’énergies renouvelables ont l’air d’entrer dans la phase de banalisation. La technologie coûte de moins en moins, elle perd de valeur de plus en plus vite, et son produit final est de plus en plus bon marché aussi. D’autre part, les marchés bien structurés d’énergie ont une tendance à développer deux zones de prix : ceux relativement bas pour les gros consommateurs institutionnels et ceux plus élevés pour les petits consommateurs individuels (ainsi que petits institutionnels). Vous pouvez consulter « Deux cerveaux, légèrement différents l’un de l’autre »  pour en savoir plus.

Il y a un autre truc, qui commence à se dessiner dans ma recherche récente. Le développement quantitatif du secteur d’énergie en général semble prendre lieu plutôt en des chocs abrupts de court terme qu’en des tendances longues. A ce sujet précis, j’ai pondu récemment un article et j’essaie de convaincre quelqu’un que ça a du sens. Ce brouillon est intitulé « Apprehending Energy Efficiency ».

Je continue canonique, toujours. L’objectif de ma recherche est de mettre au point un mécanisme de financement des petites installations locales d’énergies renouvelables, qui utiliserait précisément ces deux phénomènes : la disparité des prix, qui se manifeste à mesure que le marché se développe et se structure, et la prédisposition de l’industrie à réagir aux chocs plutôt qu’à des stimuli gentils et patients. Mon hypothèse de travail est que la disparité observable dans les prix d’énergie peut être utilisée pour créer des chocs financiers contrôlés et locaux, qui à leur tour peuvent stimuler le développement desdites petites installations locales.

La méthode générale pour l’exploration et la vérification de cette hypothèse consiste à tester, sous plusieurs angles différents, un schéma financier qui exploite, précisément, la disparité des prix. Un fournisseur local d’énergie vend une certaine quantité Q d’énergie à des consommateurs tout aussi locaux à un prix relativement élevé, le PA, typique pour le marché des petits consommateurs, mais il la vend en paquets complexes, qui contiennent de l’énergie strictement dite, au prix PB, relativement bon marché, normalement réservé aux gros consommateurs industriels, plus des titres participatifs dans le capital du fournisseur. Ces titres participatifs représentent un ensemble des droits aux actifs du fournisseur et la valeur comptable de ces droits est K. La valeur-marché de l’énergie vendue est de Q*PB = E. La marge agrégée Q*(PA – PB), crée par la vente de la quantité Q d’énergie, est donc équivalente à du capital K investi dans le bilan du fournisseur d’énergie. Logiquement, la valeur-marché que l’énergie Q aurait aux prix petit consommateur PA est égale à la somme du capital K et de la valeur-marché E. Dans les équations ci-dessous je donne l’idée générale.

 

Q*(PA – PB) = K

Q*PB = E

Q*PA = K + E

PA > PB

PB  ≥  LCOE

Mon idée suivante est d’explorer les conditions de faisabilité de ce schéma financier, ainsi que de l’optimiser. La structure générale du coût de production d’énergie, donc du LCOE, dit que la quantité d’énergie produite est une fonction du capital investi dans les capacités de production. Le capital K dans mes équations demeure dans une certaine proportion au capital I investi dans les actifs productifs. Par conséquent, K a une influence fonctionnelle sur Q et c’est ainsi que la fonction f1, telle que f1(K) = Q, entre dans le jeu. La même structure logique du LCOE suggère que les prix d’énergie sont des manifestations de la façon dont le capital K est utilisé, puisqu’ils dépendent du coefficient K/Q et en même temps ils dépendent de la structure compétitive du marché ainsi que de sa structure institutionnelle. Seulement ça, ce serait trop simple. La logique Keynésienne suggère que ça marche aussi dans le sens inverse : le capital I investi dans la capacité de production, ainsi que sa fraction K collectée à travers le schéma financier que je viens d’esquisser dépendent toutes les deux des prix et des quantités produites d’énergie.

J’ai donc là un joli petit nœud logique : des variables qui dépendent mutuellement l’une de l’autre. Voilà aussi une belle occasion de faire un pas de plus hors de ma caverne d’économiste classique Smithonien et se tourner vers l’intelligence artificielle et les réseaux neuronaux. J’assume donc que le secteur d’énergie est une structure intelligente qui est capable de s’adapter aux impératifs de la civilisation humaine – survivre et avoir accès à Netflix – et cette adaptation peut se faire à travers deux chemins qu’emprunte toute intelligence digne de ce nom : expérimentation et abstraction.

J’imagine donc une structure intelligente plus ou moins conforme à ces équations là-dessus. Ce que je veux c’est une fourniture abondante d’énergie renouvelable. « Abondante » est un aspect de la chose, « renouvelable » en et une autre. En ce qui concerne l’abondance d’énergie, la consommation finale annuelle par tête d’habitant, fréquemment mesurée en kilogrammes (ou bien en tonnes) d’équivalent pétrole, semble être une mesure à forte assise empirique. Je structure cette abondance relative en deux types : renouvelable et non-renouvelable. Ici, je répète une remarque à propos de cette classification, une remarque que j’avais déjà faite dans « Les 2326 kWh de civilisation » : formellement, lorsqu’on brûle des bio-fuels, comme de la paille ou de la sciure de bois, c’est du renouvelable dans le sens que ce n’est ni du fossile ni de la fission nucléaire. Encore, faut venir là où j’habite, moi, pour comprendre que ce type précis de renouvelable n’est pas précisément soutenable à la longue. Vous voulez littéralement voir ce que vous respirez, sans être capable de voir grand-chose d’autre ? Eh bien, venez à Krakow, Pologne, en saison de chauffage. Vous verrez par vous-mêmes ce que veut dire l’usage abondant des bio-fuels.

En tout cas, ma structure intelligente distingue deux sous-catégories de Q (je sais, le jeu de mots, avançons SVP) : QR/N pour la consommation d’énergie renouvelable par tête d’habitant et QNR/N pour les non-renouvelables par la même tête d’habitant. Enfin, pas tout à fait la même, puisque la tête d’habitant qui roule sa vie sur les renouvelables démontre, très probablement, des schémas de comportement différents de celle qui s’en tient encore aux fossiles lorsqu’il s’agit d’alimenter le frigo. Je veux QR/N et mettre le QNR/N gentiment en veilleuse, juste en cas où une autre glaciation serait à venir et il y aurait besoin de chauffer la planète, juste un tantinet.

En tout cas, j’ai deux variables de résultat : [QR/N] et [QNR/N]. Ma structure intelligente peut suivre quatre sentiers alternatifs de changement. Le plus désirable des quatre est celui où [QR/N] croît et [QNR/N] décroit, en corrélation négative. Par ordre de désirabilité, le second sentier est celui de Les trois autres sont les suivants : i) [QR/N] décroit et [QNR/N] croît en corrélation négative ii) [QR/N] et [QNR/N] décroissent tous les deux et enfin le cas iii) où [QR/N] et [QNR/N] croissent en concours.

Mes variables d’entrée sont tout d’abord les prix d’énergie PA et PB, possiblement sous-catégorisés en des prix d’énergie renouvelable et non-renouvelable. L’un des trucs que je voudrais voir joliment simulé par un réseau neuronal est précisément ce « possiblement sous-catégorisés ». Quel sentier d’essai et erreur conduit à la convergence entre les prix de renouvelables et celui des fossiles ? Quel autre sentier peut conduire vers la divergence ? Quelles fourchettes de convergence ou divergence peuvent apparaître le long de ces sentiers ? Quelle relation avec le LCOE ? Voilà des choses intéressantes à explorer.

Deux autres variables d’entrée sont celles pertinentes au capital : le capital I investi dans la capacité productrice et son sous-ensemble K, collecté à travers le schéma financier que j’ai présenté quelques paragraphes plus tôt.

Somme toute, voilà que j’atterris avec deux tenseurs : celui de résultat TS et celui d’entrée TE. Le tenseur d’entrée se décompose comme TE = [(LCOER), [(LCOENR), (KR), (KNR), (IR), (INR), (PA;R), (PA;NR), (PB;R), (PB;NR)] et celui de résultat c’est TS = [(QR/N), (QNR/N)]. L’action niveau TE produit un résultat niveau TS. Un réseau neuronal peut connecter les deux tenseurs à travers deux sortes de fonction : expérimentation et abstraction.

L’expérimentation, ça peut prendre lieu à travers un perceptron à couches multiples. Je reprends le même, simple algorithme que j’avais déjà mentionné dans « Ce petit train-train des petits signaux locaux d’inquiétude ». Je prends donc mes deux tenseurs je crée un premier ensemble de valeurs empiriques, une valeur par variable. Je les standardise dans l’intervalle entre 0 et 1. Cela veut dire que le prix (PB;R), par exemple, est exprimé comme le pourcentage du prix maximal observé dans le marché. Si j’écris PB;R = 0,16, c’est un prix local qui est égal à 16% du prix maximal jamais observé dans ce marché précis. D’autres variables sont standardisées de la même façon.

Maintenant, je fais une chose peu usuelle – pour autant que je sache – dans l’application des réseaux neuronaux. La pratique normale est de donner à notre algorithme un ensemble de données aussi large que possible dans la phase d’apprentissage – pour découvrir des intervalles les plus plausibles pour chaque variable – et ensuite optimiser le modèle sur la base de cet apprentissage. Moi, je veux observer la façon dont le perceptron va apprendre. Je ne veux pas encore optimiser dans le sens strict du terme.

Je prends donc ce premier ensemble des valeurs empiriques standardisées pour mes deux tenseurs. Les voilà, dans Tableau 1, ci-dessous :

 

Tableau 1

Tenseur Variable Valeur initiale standardisée
TE  LCOER         0,26
 LCOENR         0,48
 KR         0,56
 KNR         0,52
 IR         0,46
 INR         0,99
 PA;R         0,71
 PA;NR         0,46
 PB;R         0,20
 PB;NR         0,37
TS  QR/N         0,95
 QNR/N         0,48

 

La situation initiale que je simule est donc celle, où la consommation d’énergie renouvelable par tête d’habitant QR/N est près du maximum empiriquement observable dans le secteur, pendant que la consommation des non-renouvelables QNR/N est à peu près à la moitié (48%) de son max respectif. Les prix avantageux d’énergie, réservés aux grands consommateurs, sont respectivement à PB;R = 20% et PB;NR = 37% de leurs maximums observables. Les prix plus élevés, normalement payés par les petits utilisateurs, y compris les ménages, sont à PA;R = 71% du max pour les renouvelables et PA;NR = 46% pour les non-renouvelables. Les marges initiales PA – PB sont donc respectivement à PA;R – PB;R = 71% – 20% = 51% pour les renouvelables et  PA;NR – PB;NR = 46% – 37% = 9% en ce qui concerne les non-renouvelables.

Voilà donc un marché initial où une demande relativement élevée pour les énergies renouvelables crée une fourchette des prix particulièrement défavorable pour ceux parmi les petits clients qui veulent ne consommer que ce type d’énergie. En même temps, les non-renouvelables sont un peu moins en demande et par conséquent la même fourchette des prix PA – PB est beaucoup plus étroite dans leur cas.

Les quantités de capital collectées à travers des plateformes de financement participatifs, donc mes K, sont à KR = 56% du max pour les fournisseurs d’énergies renouvelables et KNR = 52% dans le marché des non-renouvelables. Maintenant, je reviens à mon modèle, plus particulièrement à l’équation Q*(PA – PB) = K. Avec les quantités et les prix simulés ici et avec l’assomption de population N = constante, KR devrait être à QR*(PA;R – PB;R) = 0,95*(0,71 – 0,2) = 0,4845, pendant que la valeur initiale arbitraire est de 0,56. Les renouvelables sont donc légèrement sur-financées à travers le mécanisme participatif. Pour les non-renouvelables, le même calcul se présente comme KNR = QNR*(PA;NR – PB;NR) = 0,48*(0,46 – 0,37) = 0,0432 donc bieeeen en-dessous du KNR = 52% fixés arbitrairement comme valeur initiale. Si les renouvelables sont légèrement sur-financées, les non-renouvelables nagent carrément dans du pognon déséquilibré.

En ce qui concerne l’investissement I en capacités productives, il est initialement fixé à IR = 0,46 pour les renouvelables et INR = 0,99 pour les non-renouvelables. Les renouvelables sont donc clairement sous-investis, pendant que les fossiles et les fissions nucléaires sont gâtés en termes d’actifs productifs.

Les coûts de production d’énergie, donc les LCOE, sont peut-être les plus durs à exprimer en valeurs standardisées. En effet, lorsqu’on observe la signification économique du LCOE, la façon dont ça bouge semble avoir plus d’importance que la façon do ça se tient en place. Les valeurs initiales que j’ai fixées, donc LCOER = 0,16 et LCOENR = 0,48 sont une tentative de recréer la situation présente dans le secteur de l’énergie, où le LCOE des renouvelables plonge carrément, la tête en avant, pendant que le LCOE des non-renouvelables suit une trajectoire descendante quoique beaucoup plus respectable dans sa descente.

Alors, mon petit perceptron. Il est fait de juste deux neurones, l’un après l’autre. Le premier o l’affaire directement au stimuli du tenseur d’entrée TE = [(LCOER), [(LCOENR), (KR), (KNR), (IR), (INR), (PA;R), (PA;NR), (PB;R), (PB;NR)] et il attribue à chaque variable de ce tenseur un coefficient de pondération. C’est comme ces neurones superficiels connectés à notre appareil sensoriel, qui décident s’il est plus important de s’occuper de cette grosse tâche brune qui grandit très vite (l’ours grizzly qui charge sur moi) ou bien de ce disque lumineux qui tourne progressivement de l’orange vers le jaune (soleil dans le ciel).

Je ne sais pas comme vous, mais moi, je m’occuperais plutôt de l’ours. Il a l’air comme un peu plus pressant, comme stimulation sensorielle. Encore que ce neurone de première couche, il a de la liberté d’expérimenter avec l’importance relative des choses. Il attribue des coefficients aléatoires de pondération à chaque variable du tenseur TE. Il produit un cocktail d’information de la forme : TE(transformé) = [(LCOER)*p1 + (LCOENR)*p2 + (KR)*p3 + (KNR)*p4 + (IR)*p5 +  (INR)*p6 + (PA;R)*p7 + (PA;NR)*p8 + (PB;R)*p9 + (PB;NR)*p10. Les « pi » sont précisément les coefficients de pondération que le premier neurone attribue aux variables d’entrée.

Le second neurone, qui consulte le premier neurone en matière de ce qui se passe, c’est l’intello du lot. Il dispose d’une fonction de transformation neuronale. Elle est basée, en règle générale, sur la fonction exponentielle. Le tenseur TE(transformé) produit par le premier neurone est tout d’abord mis en négatif, donc « – TE(transformé) » et ce négatif est ensuite mis en exposant de la constante e = 2,72 etc. On tourne donc autour de e – TE(transformé) . Ceci fait, l’intello a deux façons usuelles d’en faire un usage cognitif : en sigmoïde ou bien en tangente hyperbolique. Je viens de découvrir que cette distinction a de l’importance, dans ce cas précis. J’y reviendrai plus tard. En tout cas, cette fonction de transformation – sigmoïde ou tangente hyperbolique – sert à produire une valeur hypothétique des variables de résultat, donc du tenseur TS = [(QR/N), (QNR/N)]. Ceci fait, le neurone intello calcule la dérivée locale de ce résultat hypothétique ainsi que la déviation dudit résultat par rapport aux valeurs originales TS = [(QR/N) = 0,95 ; (QNR/N) = 0,48]. La dérivée multipliée par la déviation donne une erreur locale. La somme de ces erreurs locales en ensuite transmise au premier neurone, ce concierge à l’entrée du système, avec la commande « Ajoute ça, s’il te plaît, aux valeurs initiales du TE, puis transforme le une nouvelle fois et donne-moi la nouvelle valeur TE(transformé) ».

Ça se répète, encore et encore. J’ai opté pour 5000 tours de cet encore et j’ai observé le processus d’apprentissage de mes deux neurones. Plus précisément, j’ai observé la valeur de l’erreur cumulative (donc sur les deux variables de résultat) en fonction du temps d’apprentissage. Voilà que la première différence saute aux yeux en ce qui concerne la fonction neuronale appliquée. Je la présente sous forme de deux graphes, ci-dessous. Si le neurone intello de la famille utilise la fonction sigmoïde, le processus d’apprentissage tend à réduire l’erreur expérimentale plutôt vite, pour osciller ensuite dans un intervalle beaucoup plus petit. C’est un schéma du type « un choc suivi par une adaptation progressive ». En revanche, la tangente hyperbolique apprend à travers la création délibérée des chocs impressionnants, entrecoupés par des longues périodes d’accalmie.

 

Voilà donc deux sentiers d’apprentissage très différents et ils produisent des résultats très différents. Tableau 2, ci-dessous, présente les valeurs apprises par les deux versions de mon réseau. Le sigmoïde conseille de pomper la valeur relative de toutes les variables d’entrée, pendant que la tangente hyperbolique est d’avis que la seule variable du TE digne de maximisation est l’investissement en capacité productrice des non-renouvelables pendant que le reste, faut les discipliner. Le plus intriguant c’est les valeurs négatives de LCOER et de PB;R. Pour LCOER = – 0,11 cela veut probablement dire soit une stimulation fiscale forte, soit une situation où les fournisseurs d’énergies renouvelables vendent leurs actifs productifs en masse. Le PB;R = – 0,19 c’est sans doute un appel à la stimulation fiscale des prix d’énergie renouvelable.

Voilà donc que le sigmoïde devient libéral et la tangente hyperbolique tourne en étatiste – interventionniste. Encore un petit test avec l’équation Q*(PA – PB) = K. Les valeurs conseillées par le sigmoïde libéral donnent  QR*(PA;R – PB;R) = 0,95*(0,90 – 0,73) = 0,1615 et QNR*(PA;NR – PB;NR) = 0,48*(0,82 – 0,79) = 0,0144 , contre les K appris indépendamment comme KR = 0,85 et KNR = 0,84. Le sigmoïde libéral veut donc monétiser significativement le secteur d’énergie. Plus de capital liquide veut dire plus de flexibilité et un cycle de vie beaucoup plus court en ce qui concerne les technologies en place.

La tangente hyperbolique interventionniste préconise QR*(PA;R – PB;R) = 0,95*[0,56 – (-0,19)] = 0,7125 et QNR*(PA;NR – PB;NR) = 0,48*(0,19 – 0,06) = 0,0624 contre KR = 0,34 et KNR = 0,28. Définitivement moins de pognon collecté à travers du crowdfunding. De la misère, quoi.

 

Tableau 2

Tenseur Variable Valeur initiale standardisée Valeur apprise par le réseau basé sur la fonction sigmoïde Valeur apprise par le réseau basé la tangente hyperbolique
TE  LCOER         0,26         0,75       (0,11)
 LCOENR         0,48         0,83         0,23
 KR         0,56         0,85         0,34
 KNR         0,52         0,84         0,28
 IR         0,46         0,82         0,19
 INR         0,99         1,00         0,98
 PA;R         0,71         0,90         0,56
 PA;NR         0,46         0,82         0,19
 PB;R         0,20         0,73       (0,19)
 PB;NR         0,37         0,79         0,06
TS  QR/N         0,95    
 QNR/N         0,48    

 

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 ?

De la jugeotte artificielle

Mon éditorial sur You Tube

 

J’essaie de trouver des points communs entre ma recherche sur le marché de l’énergie et sur le concept d’entreprise que j’ai baptisé EneFin , d’une part, et le contenu éducatif d’autre part. La session d’examens, celle d’hiver, approche et je veux donner à mes étudiants un peu de contenu utile, tout en restant dans le flot de ma recherche.

Ledit flot de recherche a l’air comme un tout petit peu plus pressant, donc je cède. Je suis en train de faire un petit voyage dans le royaume de l’intelligence artificielle, afin de cueillir la fleur de sagesse qui me permettra de comprendre le phénomène d’intelligence collective chez nous, les êtres humains, ainsi que la déclinaison spécifique de cette intelligence collective dans le domaine de l’énergie. Je prends un petit détour sur ce chemin pour réfléchir, une fois de plus, sur le sujet des villes intelligentes. L’un des phénomènes les plus marqués dans la transition vers les énergies renouvelables est le rôle des villes. Les communautés urbaines deviennent des joueurs actifs dans cette transition énergétique et c’est une activité qui, je pense, est sans précèdent depuis le début du Moyen Age. Les villes font des transitions technologiques plus audacieuses que les grandes sociétés multinationales.

Je veux comprendre ce phénomène. J’approche la gestion, y compris la gestion d’une communauté urbaine, comme une manifestation d’intelligence collective. Pour comprendre le phénomène d’intelligence collective, j’apprends les rudiments d’intelligence artificielle (voir « Ce petit train-train des petits signaux locaux d’inquiétude » par exemple). C’est le sentier de recherche qui se définit comme intelligence artificielle générale. Tu veux comprendre comment marche une bagnole, je veux dire comprendre à fond ? Eh bien, bâtis-en une. Même chose pour la jugeotte : si je veux comprendre comment ça marche, être intelligent, je peux gagner en compréhension en essayant de faire une jugeotte artificielle.

Mon premier pas de compréhension réfère aux soi-disant perceptrons, donc aux réseaux neuronaux qui imitent aussi étroitement que possible le fonctionnement des neurones réels. Un perceptron est une structure logique qui produit un grand nombre d’instances locales d’elle-même et en faisant de la sorte, elle produit des petites erreurs (adaptations imparfaites) locales qui fournissent des informations pour apprentissage futur. Après un grand nombre d’itérations, un perceptron produit un modèle de réalité qui, à son tour, permet de prendre des décisions rationnelles.

Je viens d’utiliser le concept de perceptron pour inventer un mécanisme financier pour stimuler le développement intelligent d’une communauté urbaine. Bon, je sais, il faut que j’explique d’abord le concept de développement intelligent tel que je le comprends. Eh bien, c’est un développement façon perceptron : au lieu de créer et mettre en place une stratégie parfaitement cohérente, le genre qui a l’air bien dans une présentation Power Point, je développe une structure qui permet de mettre en place plusieurs solutions locales dont chacune est une expérimentation en soi. Il y a des trucs, dans le développement urbain, où quoi qu’on fasse, on avance à tâtons. C’est particulièrement vrai pour l’interaction entre une technologie et une population. Il y a ce phénomène désigné comme « déterminisme technologique ». Une technologie nouvelle et une structure sociale sont comme deux nuages : elles s’enveloppent en s’interpénètrent mutuellement. Lorsque nous introduisons une technologie nouvelle comme une infrastructure urbaine, la façon exacte dont ça marche est très dure à prédire et la même façon exacte a une importance capitale pour la viabilité économique de cette infrastructure. Au lieu d’essayer de le prédire nous pouvons expérimenter avec. Un mécanisme de développement intelligent est une structure capable de produire plusieurs petites expérimentations locales, par exemple sous forme d’un grand nombre d’entreprises startups relativement petites qui vont inévitablement commettre des erreurs et apprendre sur la base de ces erreurs.

Au lieu donc de créer une grande société infrastructurelle urbaine, on peut créer un mécanisme financier qui facilite la création des petites entreprises façon startup.  Ça marche pour des technologies aisément subdivisées en des projets locaux, par exemple des réseaux électriques intelligents de basse ou moyenne tension. En revanche, l’idée est hautement discutable pour des technologies qui requièrent beaucoup de coordination sur un territoire étendu, comme des réseaux de transport urbain. Nous pouvons aisément expérimenter avec des systèmes locaux de fourniture d’énergie à partir des turbines à vent ou à l’eau, pendant qu’il serait risqué de créer plusieurs petites startups locales pour un nouveau réseau ferroviaire. Toutefois, risqué ne veut pas dire impossible. C’est précisément là que réside tout le panache de développement intelligent : une expérimentation bien sécurisée côté risque peut apporter des solutions dont nous n’avions même pas soupçonné l’existence.

Alors, la finance. Les conseils municipaux ont fréquemment dans leurs budgets une catégorie de dépenses appelée « développement » ou bien « promotion et communication du développement » etc. Vous comprenez : c’est du pognon qu’on peut dépenser sur des trucs des plus fous, comme des stylos fluorescents avec le logotype de la ville imprimé dessus et encore, ça, c’est du timide et du pondéré en termes de la communication autour du développement.

Mon idée est de prendre comme 50% de ce fonds de développement et les investir dans le capital social d’un fonds strictement dit, que j’appelle provisoirement « le fonds de développement intelligent ». Si je fais un acronyme direct de cette appellation, ça fait FDI, donc le même qui désigne investissements étrangers directs en anglais (Foreign Direct Investment), je vais donc vers un acronyme syllabique : FODIN. Le FODIN est un fonds d’assurance : il garantit le capital social des startups locales en échange des primes d’assurance payées par celles-ci.

Assumons – conformément à ce qu’annonce le rapport intitulé « The 2017 Global Startup Ecosystem Report » – que le capital social initial d’une startup est égal, en moyenne, à €80 000 et que le coefficient de mortalité des startups est d’à peu près 30% sur les deux premières années d’exercice. Dans un ensemble de 100 startups il est donc pratiquement certain que 30 de parmi elles déposeront leurs bilans durant les deux premières années d’activité, ce qui veut dire 30 * €80 000 = €2 400 000 de capital social potentiellement perdu. Si je disperse cette perte agrégée sur l’ensemble entier de 100 startups, ceci fait €24 000 de prime d’assurance faillite qu’une startup paie au FODIN, en échange d’une garantie sur 100% du capital social engagé dans l’affaire.

Voilà donc un FODIN local qui dispose de €5 000 000 et qui engage à peu près 50% de cette somme dans les garanties pour les startups, les autres 50% demeurant libre de toute créance, conditionnelle ou pas. Tout ce capital social est investi en des actifs financiers à bas risque, genre obligations souveraines. Chaque année, ce FODIN paie entre €1 200 000 et €2 400 000 en dommages et intérêts aux actionnaires des startups en faillite (le taux de mortalité de 30% c’est sur deux ans), et reçoit €2 400 000 en primes d’assurance faillite. De tout en tout, notre petit FODIN local peut accumuler du capital à un taux d’à peu près 9% par an. En nombres absolus, 9% * €5 000 000 = €450 000 de plus, chaque année, ce qui veut dire, à son tour, €450 000 / €80 000 = 5 ÷ 6 startups locales de plus, à assurer contre la faillite.

Si nous transformons une dépense budgétaire locale en un fonds financier censé de réduire le risque d’expérimentation avec des business locaux, on peut produire un mécanisme de développement intelligent et ce mécanisme est capable de gérer son propre développement intelligent. ‘ttendez, c’est pas tout. L’autre partie de ce tout est une plateforme de financement participatif type « crowdfunding », où les startups locales, aussi bien que le FODIN, peuvent chercher du capital. Comme je passe en revue des différentes plateformes de crowdfunding, elles ont une faiblesse majeure : les titres participatifs qui y circulent ont peu de liquidité. Dans un réflexe tout à fait naturel, les participants du crowdfunding essaient de contourner les régulations légales en ce qui concerne la traite des valeurs financières, mais il y a un prix à payer pour cette absence d’entrave légale et ce prix est une entrave financière. L’histoire des marchés financiers est très claire sur ce point : si nous voulons un marché financier de prendre vraiment son envol, il faut que les droits et créances financières vendues sur ce marché soient aussi négociables que possible. Lorsqu’une participation type crowdfunding ne se traduit pas en un actif négociable, donc lorsque je ne peux pas la vendre quand je veux, ça bloque énormément.

Moi, je propose donc de liquéfier quelque peu cette plateforme de crowdfunding avec une cryptomonnaie interne. L’entité gérante de la plateforme émet une cryptomonnaie, suivant un algorithme plus ou moins déterministe du type « preuve d’enjeu » (« proof of stake » en anglais), donc sans compétition computationnelle au niveau de l’extraction. Lorsque j’investis via cette plateforme, j’ai le choix entre l’achat direct des titres participatifs d’entreprises où bien l’achat d’unités de cette cryptomonnaie d’abord, et l’échange de ces valeurs virtuelles contres des titres de participation ensuite. La cryptomonnaie en tant que telle est librement négociable à l’intérieur de la plateforme de crowdfunding, y compris des rachats occasionnels par l’entité émettrice elle-même.

On peut pomper cette liquidité même plus si on introduit des soi-disant « fixings » du taux d’échange de la cryptomonnaie interne en des valeurs financières « officielles » : euros, dollars etc. Les fixings apportent de la confiance, et la possibilité de négocier à l’intérieur du système, sans échanger la cryptomonnaie en quoi que ce soit d’autre, offrent la possibilité d’accomplir plusieurs transactions avec relativement peu d’argent « réel ».

Voilà donc comment l’étude des réseaux neuronaux du type perceptron conduit à formuler une nouvelle approche de stratégie de développement socio-économique. Au lieu de formuler un plan d’action traditionnel, nous créons des conditions pour l’expérimentation orientée sur les objectifs stratégiques généraux ainsi que des mécanismes de réduction de risque lié à chaque expérience particulière. Je suis en train de réfléchir sur l’utilisation de cette approche façon « intelligence artificielle » à la gestion du risque en général. Si je produis des petites erreurs locales de façon délibérée et contrôlée, je peux apprendre plus vite et donc m’adapter plus vite aux conditions changeantes de mon environnement, ce qui me permet d’éviter de façon plus adroite des grosses erreurs incontrôlées.

Un ami m’a demandé récemment si je suis partant pour co-écrire un livre sur la gestion des soins médicaux. Mon chapitre à moi serait dévoué à la gestion du risque opérationnel dans le secteur de la santé. Le risque opérationnel en général est le type de risque liée à l’occurrence d’erreurs humaines, actes de malveillance ou bien des défaillances systémiques. Je suis tenté de développer une approche façon perceptron de ce sujet particulier. « Je suis tenté » veut dire que j’hésite. Le risque opérationnel dans les soins médicaux c’est dans une large mesure du risque clinique, donc des situations où la vie et le bien-être des patients sont en jeu. Expérimentation délibérée et contrôlée à ce niveau-là ? Hmouais… Peut-être. C’est du terrain glissant, ça. Intéressant, aussi. Il faut que je rumine ça un peu plus longtemps.

L’apprentissage à travers l’erreur délibérée est l’une des fonctions neuronales essentielles, possibles à simuler avec les réseaux neuronaux artificiels. Il y en a une autre, celle de signification, qui, à son tour, repose sur la généralisation et la distinction. Je vois un truc brun, rugueux, qui comme saillit du sol et ça a comme une coiffure branchée et feuillie sur l’extrémité supérieure. J’en vois d’autres, un peu similaires. Ah, oui, c’est ce qu’on appelle « un arbre ». Lorsqu’il y en a beaucoup dans un endroit, il peut s’avérer utile de les grouper sous la catégorie de « bois » ou « forêt » et en même temps ça peut profiter de les distinguer en saules, peupliers, pins etc. Si vous venez de conclure que le langage est une manifestation de généralisation et distinction, vous avez deviné juste. Chaque mot que nous utilisons en est un exemple.

Voilà qu’un créneau de recherche émerge, à ce sujet précis, un créneau qui renverse beaucoup de théories acquises et qui rend une certaine catégorie de réseaux neuronaux, ceux appelés « apprentissage profond » (« deep learning » en anglais) particulièrement intéressants. Les théories acquises sont celles qui considèrent la signification sémantique comme une fonction strictement supérieure de notre système nerveux. C’est tout dans le lobe frontal, l’aristocrate sophistiqué de notre cervelle, c’est tout culturel, comme imprimé sur la peau de la bête naturelle qui s’est accroupie par-dessous.

Bien sûr, une bonne question s’impose : qu’est-ce que je présente comme de la science la plus récente ? Rien que dans le service Science Direct, sous le mot clé « Economics », l’année 2017 avait apportée 27 551 articles nouveaux, soit plus de 75 articles par jour. En 2018, ça a même accéléré et jusqu’à présent (15 Octobre 2018) 28 820 articles sont parus, donc presque 107 par jour. J’approche le même dépositoire sous un angle différent, avec le mot clé behavioriste à la mode : « social brain ». Ça donne 16 077 articles durant les 9 mois de l’année 2018, plus de 89 par jour. Voilà donc un seul dépositoire scientifique – Science Direct, donc essentiellement que des journaux de la maison d’édition Elsevier – et juste deux mots clés. Bien généraux, ces deux-là, mais juste deux quand même.

Pas question que je lise tout ça en temps réel, il faut que je trie. Je me concentre sur mes petites obsessions : le behaviorisme économique, l’intelligence collective, les systèmes monétaires et l’innovation. J’essaie de cerner les découvertes les plus intéressantes et mon choix subjectif tombe sur deux articles à propos des hiérarchies sociales et de la façon dont nous les percevons : « Know Your Place: Neural Processing of Social Hierarchy in Humans » par Caroline F. Zink et al. et « The Emergence and Representation of Knowledge about Social and Nonsocial Hierarchies » par Dharshan Kumaran et al. .

Je me suis intéressé à ces articles précis puisqu’ils mettent en question, bien qu’indirectement, les assomptions fondamentales de l’économie classique, ainsi qu’une bonne part de la théorie des jeux et il ne faut pas oublier la sociologie. Alors ces assomptions fondamentales disent que les êtres humains forment, tout d’abord, des réseaux de coopération et d’échange, et ce n’est qu’ensuite – et l’ensuite, il est tout à fait substantiel – que des hiérarchies sociales prennent forme. Le père fondateur de ma discipline, Adam Smith , présente une vision de changement social où un marché relativement grand, doté en plus des voies navigables abondamment accessibles, permet la spécialisation (division de travail) et il en résulte développement d’échange économique. Une fois l’échange établi, les villes peuvent se former, qui deviennent un moteur de même plus d’échange et tout ça, ça crée une assiette fiscale qui à son tour permet un souverain d’être un souverain, de se trouver des chevaliers de table – ronde, de préférence – et après, ça va droit vers l’état moderne.

En d’autres mots, l’approche classique des sciences sociales assume que les hiérarchies sociales sont une superstructure bâtie sur la base des réseaux préexistants de coopération et d’échange. Les hiérarchies, dans cette approche, sont donc des créations culturelles, basées sur tout un tas d’idées établies et l’établissement desdites idées se fait largement par le travail de main d’œuvre qualifiée à utiliser des armes.

Ces deux articles que je viens de citer convergent tous vers un point de vue opposé : la perception de la hiérarchie, dans les êtres humains, est quelque chose de primaire et naturel. Bien sûr, les hiérarchies sociales complexes sont de fabrication culturelle, mais leur construction a une base neurologique apparemment plus primaire que les relations d’échange et de coopération.

Je me permettrai de développer un peu sur cette recherche neurologique. Je commence par l’article « Know Your Place: Neural Processing of Social Hierarchy in Humans » par Caroline F. Zink et al. Dans une expérience de laboratoire, les participants jouaient un jeu interactif, où ils devaient exécuter des tâches spécifiques pour une récompense monétaire et ils voyaient leur résultat comparé avec celui d’un autre joueur. Les commentaires des animateurs de l’expérience ainsi que la façon de rapporter les résultats du jeu créaient un environnement fortement compétitif et renforçaient l’impression que lesdits résultats créaient une hiérarchie. Plus élevé est ton score, plus haut tu te trouves dans la hiérarchie : ce genre-là. Cet « autre joueur » était fictif mais au moment même du jeu les participants ne le savaient pas : ils étaient persuadés qu’ils rivalisent avec une personne réelle. La perception qu’ils avaient de leur position hiérarchique basée sur la performance au jeu était donc délibérément programmée par les animateurs.

Deux scénarios du jeu étaient mis en place. Dans le premier, la hiérarchie crée dans les tours successifs du jeu était stable : le feedback que chaque participant recevait à propos de sa performance était cohérent entre les tours successifs. Dans le deuxième, ça changeait. Après l’expérience, les participants répondaient à un questionnaire où ils devaient exprimer, entre autres, leur opinion sur les joueurs qu’ils percevaient respectivement comme supérieurs, égaux ou bien inférieurs à eux-mêmes. L’activité de leur cerveau était observée par le moyen de la résonnance magnétique fonctionnelle.

En général, l’activation neurale du cerveau était la plus importante dans la perception d’un joueur supérieur dans une hiérarchie instable, suivie par une excitation légèrement moindre lorsque les participants se référaient à un joueur perçu comme supérieur dans une hiérarchie stable, et ensuit dans la situation de référence à un joueur inférieur dans la hiérarchie stable. Se référer à un joueur perçu comme inférieur dans une hiérarchie stable ne provoquait apparemment pas d’excitation cérébrale particulière. Le résultat le plus surprenant est cependant la géographie exacte de cette excitation. Bien sûr, le cortex frontal et le préfrontal : c’est là que toute notre culture réside. Le cortex occipital, ça s’excitait aussi, mais là non plus il n’y a pas de surprise : c’est la perception visuelle. Seulement, profondément en-dessous du Monsieur Cortex, il y a un humble laboureur neural appelé « ventrum striatum », responsable, entre autres de la perception olfactive, de la cicatrisation des plaies, des fonctions motrices etc. Chaque fois qu’il faut du jus neural, donc du neurotransmetteur, Monsieur Cortex passe la commande à ventrum striatum. C’est comme une usine à hormones.

Pourquoi c’est tellement important ? Eh bien, imaginez que dans un meeting d’affaires, tous vos muscles se mettent en alerte chaque fois que vous percevez quelqu’un comme gagnant de supériorité hiérarchique sur vous. Ça n’arrive pas ? Eh ben si, justement, ça arrive au niveau neural sans que nous nous en rendions compte. Avant que nous ayons le temps de cogiter consciemment toutes les subtilités culturelles des relations hiérarchiques, une perception très primaire du type « ce mec-là, il est supérieur à moi » survient. Dans cet article par Caroline F. Zink et al. il y a une série des graphes intéressants (page 275). Ils montrent la magnitude d’excitation neurale dans chaque partie du cerveau engagée dans la réaction générale. L’excitation la plus forte survient dans le cortex occipital (perception visuelle) et dans le ventru, striatum (usine à hormones, perception olfactive). L’excitation du cortex frontal et préfrontal est un peu moins prononcée. C’est aussi dans le cortex occipital et dans le ventrum striatum que la différence à observer dans la magnitude d’excitation, entre la perception de supériorité hiérarchique et celle d’infériorité était la plus visible.

Quelle connexion entre tout ce bazar neurophysiologique et les réseaux artificiels d’apprentissage profond ? Ces réseaux-là prennent le mécanisme général du perceptron, que j’avais déjà survolé un peu plus tôt, et y ajoutent la fonction de généralisation et distinction. La formalisation la plus simple de cette fonction est celle de distance Euclidienne. Chaque point de données est représenté avec deux coordonnées, et chaque paire des points se caractérise par une distance calculée façon Pythagore : A -> B = [(xB – xA)2 + (yB – yA)2]0,5. Les points de données sont groupés sur la base de leur distance Euclidienne respective, en des grappes distinctes, et ces grappes sont la base empirique de généralisation et distinction.

La distance Euclidienne peut être remplacée par la fonction Gaussienne mais la vraie sophistication est à trouver dans l’application du noyau mathématique.  En général, chaque collection des données numériques peut être soit représentée directement comme une matrice soit transformée en telle et cette matrice peut être, à son tour, représentée avec un nombre unique, un noyau. Les déterminants des matrices, que certains de parmi nous ont étudié à l’école, sont un exemple des noyaux algébriques.

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 ?

Ce petit train-train des petits signaux locaux d’inquiétude

Mon éditorial sur You Tube

Dans ma dernière mise à jour en anglais, celle intitulée « Pardon my French, but the thing is really intelligent », j’ai commencé à travailler avec un algorithme tout simple de réseau neuronal. Tout simple veut dire six équations en tout. Mon but était d’observer chaque fonction logique de cet algorithme dans son application à des données réelles. Les données réelles en question c’est l’Australie et son efficience énergétique. Les détails de l’algorithme et les données empiriques testées sont spécifiées dans cette mise à jour en anglais. En gros, j’avais posé l’hypothèse implicite que ma variable de résultat est l’efficience énergétique de l’économie Australienne, mesurée avec le coefficient de Produit Intérieur Brut par kilogramme d’équivalent pétrole de consommation finale d’énergie. Cette variable est en quelque sorte la réaction produite par ce système nerveux hypothétique que les équations du réseau neuronal représentent de façon analytique. L’hypothèse sujette à l’examen est que cette réaction est produite par l’action de cinq variables d’entrée : la consommation d’énergie par tête d’habitant, le PIB par (probablement la même) tête d’habitant, le pourcentage de la population urbaine dans la population totale, et enfin la proportion entre, respectivement, l’amortissement agrégé d’actifs fixes et l’offre d’argent, comme numérateurs, et le Produit Intérieur Brut comme dénominateur.

Maintenant je me concentre sur la façon dont cet algorithme apprend. L’apprentissage se fait en trois pas essentiels. Tout d’abord, les données d’entrée sont transformées, à travers une double multiplication par des coefficients aléatoires de pondération. C’est l’équivalent de l’imagination. L’algorithme crée une distribution alternative des données d’entrée, comme une version imaginaire légèrement décalée de la réelle. Ensuite, sur la base de cette distribution alternative, une valeur espérée de la variable de résultat est calculée. Cette valeur espérée est calculée avec l’aide de la fonction sigmoïde Ω =1/(1+e-x), où le « x » est en fait une sommation des variables d’entrée dans cette version alternative, donc x1*w1 + x2*w2 + x3*w3 + x4*w4 + x5*w5, où les « w » sont ces coefficients de pondération. J’utilise le

Le truc intéressant à propos de la fonction sigmoïde est que dans la grande majorité des cas ça donne une sortie Ω = 1, avec une dérivée locale Ω’= 0. Mon « » réel est toujours plus grand que 1, donc cette prédiction est évidemment fausse. Elle génère une erreur locale E = y – Ω. Seulement, ce réseau neuronal fait de six équations assume que lorsque la prédiction Ω égale exactement 1, donc quand sa dérivée Ω’ égale exactement 0, c’est comme si rien ne se passait côté connaissance. Juste dans certains cas, avec une combinaison aléatoire des coefficients de pondération parmi plusieurs autres, Ω est très légèrement en-dessous de 1 et sa dérivée Ω’ est très légèrement plus grande que 0.

Le cas de Ω < 1 c’est comme si le neurone ne pouvait pas produire une réponse routinière. Si vous voulez, c’est comme le système nerveux ne pouvait pas recevoir la combinaison des stimuli qui l’autorise à signaler comme d’habitude. La dérivée locale Ω’, qui est normalement Ω’ = 0, prend alors la forme de Ω’ > 0. A ce point-ci, la dérivée Ω’ est interprétée de la façon qui est probablement la plus profonde et la plus philosophique, qu’Isaac Newton considérait comme le rôle cognitif le plus fondamental de la dérivée d’une fonction. La dérivée donne la mesure de vitesse de changement dans les phénomènes qui composent la réalité. Tout ce qui se passe se passe comme une fonction dérivée de la fonction sous-jacente de l’état des choses.

Alors, lorsque mon neurone produit Ω = 1 et Ω’ = 0, cette réponse neuronale, tout en étant évidemment fausse par rapport à mes données réelles y – dont ce Ω est supposé d’estimer la valeur espérée – est une réponse routinière et il n’y a pas de quoi faire un fromage. L’erreur locale E = y – Ω est donc considérée comme insignifiante, même si sa valeur arithmétique est substantielle. En revanche, lorsque le neurone produit une réponse très légèrement Ω < 1, c’est pas normal. Le neurone rend une dérivée Ω’ > 0, donc un signal d’inquiétude. Celui-ci est une raison pour considérer cette erreur locale particulière E = y – Ω comme significative. Le produit (y – Ω)*Ω’ est alors transmis dans la ronde consécutive d’itération comme un coefficient de plus, non-aléatoire cette fois-ci, qui modifié les données réelles d’entrée. Ces dernières, dans l’itération suivante de ces équations, prennent donc la forme x1*[w1+(y – Ω)*Ω’] + x2*[w2+(y – Ω)*Ω’] + x3*[w3+(y – Ω)*Ω’] + x4*[w4+(y – Ω)*Ω’] + x5*[w5+(y – Ω)*Ω’].

Je récapitule. Ce réseau neural tout simple produit donc deux phénomènes : une vision alternative de la réalité ainsi qu’une réaction d’inquiétude lorsque cette réalité alternative force le neurone à une réaction pas tout à fait comme espérée. L’apprentissage consiste à utiliser les signaux d’inquiétude comme matériel cognitif. Cette utilisation a une forme spécifique. C’est comme si moi, en face de quelque chose d’inhabituel et légèrement inquiétant, je prenais ce facteur de stress et produisais une vision de la réalité encore plus inquiétante.

Ça m’intrigue. Tout ce que j’ai appris jusqu’alors, en termes de psychologie, me dit que les êtres humains ont une tendance presque innée à réduire la dissonance cognitive. Ces équations-là font le contraire : elles amplifient les dissonances cognitives locales et les transmettent dans le processus d’apprentissage. Ceci me rend conscient de la distinction fondamentale entre deux attitudes vis-à-vis de l’inhabituel : la peur et l’apprentissage. La peur dit d’éviter à tout prix une autre exposition au facteur d’inquiétude. Si ce réseau neuronal avait peur de l’inhabituel, il éliminerait les cas de Ω’ > 0 de toute utilisation ultérieure. Alors mathématiquement, il n’apprendrait rien. Il convergerait vers une situation où toutes les réponses neuronales sont rigoureusement Ω = 1 et donc toutes les erreurs de jugement (y – Ω) sont ignorées, car avec Ω’ = 0, (y – Ω)*Ω’ = 0 aussi. Seulement, ce réseau fait le contraire : il prend ces cas de Ω’ > 0 et simule des situations où ces Ω’ > 0 modifient la réalité pour du bon.

Question : qu’est-ce que ça donne en pratique, avec le cas de l’Australie ? Est-ce que le fait de produire une vision alternative d’Australie génère de l’inquiétude et cette inquiétude, contribue-t-elle à produire des visions même plus alternatives ? Eh bien voilà, c’est justement la question que je m’avais posée et qui m’a poussé à faire quelque chose que les informaticiens considèrent comme une horreur d’insanité : au lieu de faire cet algorithme travailler en boucle jusqu’il produise une erreur minimale, j’avais simulé, dans un fichier Excel, des rondes consécutives d’itération « imagination >> réalité alternative >> erreur de jugement >> inquiétudes locales >> réalité encore plus alternative etc. ». Autrement dit, j’avais fait par moi-même ce qu’un algorithme aurait dû faire pour moi. J’avais produit trois distributions alternatives de ces coefficients initiaux de pondération, pour modifier les données réelles d’entrée. Ensuite, pour chacune de ces distributions alternatives, il m’eût suffi de patience pour faire six rondes d’itération surveillée d’équations qui composent ce réseau neuronal tout simple.

Pour chaque ronde d’itération surveillée, dans chacune de ces réalités alternatives, j’observais l’erreur cumulée – donc la somme des (y – Ω)*Ω’ générées pour par des incidents de Ω’ > 0 – ainsi que les années particulières, dans ma fenêtre générale d’observation 1990 – 2014, où ces incidents locaux Ω’ > 0 se produisent. Tableau 1, ci-dessous, rend compte ce cette expérience. Je développe ce raisonnement plus loin en-dessous :

Tableau 1 – Application d’algorithme de réseau neuronal aux données sur l’efficience énergétique de l’Australie

Distributions aléatoires des coefficients de pondération
Rondes consécutives Distribution  1 Distribution  2 Distribution  3
Ronde 1
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1999; 2002; 2003; 2006 1990; 1994; 1998 – 99; 2009; 2012 – 13; 1990 – 91; 1996 – 97; 1999; 2001; 2007; 2009 – 11;
Erreur cumulative 5,53241E-09 7,0537E-05 0,000916694
Ronde 2
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1992; 1993; 1999; 2002; 2006 1996; 1999; 2006; 2012 – 13; 1991 – 92; 1996; 2004; 2007; 2011;
Erreur cumulative 6,45047E-12 2,93896E-07 0,035447255
Ronde 3
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1990; 1996; 1999; 2002; 2006 1991; 1997; 1999; 2010; 2012 – 14 1991; 1996; 1999; 2002 – 2004; 2007; 2009 – 2012;
Erreur cumulative 2,34651E-13 4,39246E-06 0,00056026
Ronde 4
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1990 – 92; 1994 – 95; 1997; 2001 – 2002; 2006 – 2007; 2012 1990; 1992; 1996; 1999; 2012 – 13; 1990 – 91; 1994 – 96; 1999; 2007; 2009 – 11;
Erreur cumulative 0,000171883 0,000741233 6,27817E-05
Ronde 5
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1993; 1999; 2002; 2003; 2006 1997; 1999; 2007; 2012 – 13; 1990 – 91; 1996; 2003; 2007 – 2009; 2011;
Erreur cumulative 3,46206E-05 0,000548987 0,001532496
Ronde 6
Années avec erreur significative, pour apprentissage dans des rondes prochaines 1991 – 94; 1996 – 97; 2000; 2005; 2007; 2013 1991 – 94; 1995 – 96; 2000; 2005; 2007; 2013; 1991 – 94; 1996 – 97; 2000; 2005; 2007; 2013
Erreur cumulative 3,07871E-08 3,07871E-08 3,07871E-08

Ce que j’observe dans ce tableau est tout d’abord une convergence progressive du cadre d’apprentissage. Dans les rondes 1 – 5, chaque distribution alternative générait des erreurs significatives, donc suffisamment inquiétantes pour être utilisées, pour des années visiblement différentes. La ronde 6 apporte un changement : les trois réalités alternatives convergent presque parfaitement l’une vers l’autre. Chaque réalité alternative produit des signaux d’inquiétude pour virtuellement les mêmes années et rend la même erreur cumulée. Avec ça, il faut se rendre compte que 6 itérations, dans un réseau neuronal artificiel, c’est comme deux fois rien. Ce réseau précis minimise son erreur cumulée après environ 1500 itérations.

J’ai donc une structure cognitive de base – les équations du réseau neuronal – qui commence son apprentissage par imaginer trois versions alternatives de la réalité et ensuite converge très vite vers un chemin commun pour toutes les trois. J’avais continué d’expérimenter avec ce réseau en remplaçant dans l’algorithme d’origine la fonction sigmoïde Ω =1/(1+e-x) par une autre, fréquemment utilisée dans les réseau neuronaux, c’est-à-dire la tangente hyperbolique tan h = (e2x – 1)/(e2x + 1) ainsi que sa dérivée tan h’. Le « x » c’est comme avant, donc une moyenne pondérée des données réelles d’entrée, modifiées avec des coefficients aléatoires de pondération.    Normalement, lorsque je lis de la littérature à propos des réseaux neuronaux, la tangente hyperbolique est présentée comme une structure d’apprentissage plus rapide et plus légère que le sigmoïde. Seulement voilà, ici, la tangente hyperbolique, elle n’apprend pas, au moins pas dans les 6 rondes surveillées. Elle ne génère que des tan h = 1 avec des tan h’ rigoureusement nulles. Officiellement, l’erreur cumulative de jugement est toujours rigoureusement E = 0.

En d’autres mots, pendant que la structure logique basée sur le sigmoïde générait des petites inquiétudes à reprendre pour l’apprentissage ultérieur, sa mutation basée sur la tangente hyperbolique ne fait qu’éteindre et étouffer toute inquiétude possible. Elle agit comme un réducteur systématique de dissonance cognitive. Les valeurs espérées de la variable de résultat sont toutes égales à 1, donc évidemment tout aussi fausses que celles générées par le sigmoïde, seulement avec la tangente hyperbolique c’est vraiment toujours tan h = 1 et tan h = 0, donc quelle que soit l’erreur de jugement y – tan h(x), le réseau l’ignore et prétend que tout va bien. Ce même réseau, avec la tangente hyperbolique au lieu du sigmoïde, est donc comme une personne qui (apparemment) se fout de commettre erreur après erreur et fait tout pour étouffer toute dissonance cognitive. Par conséquent, cette personne n’apprend rien.

Je traduis ces observations pour les besoins de mes études sur l’intelligence collective. Ces deux structures logiques – celle basée sur le sigmoïde et celle basée sur la tangente hyperbolique – diffèrent par leur capacité de produire, ça et là, des dérivées locales non-nulles. Nous avons une fonction du quotidien, une façon de vivre de jour au jour. Une dérivée non-nulle de cette fonction, générée comme réponse à une vision imaginaire de la réalité (données d’entrée modifiées avec des coefficients aléatoires) veut dire que nous sommes capables de produire du changement dans notre fonction du quotidien en réponse à une idée de ce que notre réalité pourrait être, avec un peu d’imagination. En revanche, une dérivée toujours rigoureusement nulle veut dire qu’un tel changement est bloqué.

Je continue d’expérimenter avec l’algorithme. Je modifie la façon originelle de générer la version alternative de réalité. Je modifie donc l’imagination de mon réseau neuronal. Originellement, les coefficients aléatoires étaient produits avec la fonction « random.rand » du langae Python, dans l’intervalle entre 0 et 1. Maintenant, je la remplace par une contrainte « erandom.rand », donc mes coefficients aléatoires sont produits comme des puissances aléatoires de la constante d’Euler e ≈ 2,7188. Avec cette imagination exponentielle, les neurones basés sur la fonction sigmoïde arrêtent d’apprendre. Ils se comportent de façon « rien ne se passe qui nous intéresse », donc ils rendent toujours Ω = 1 et Ω’ = 0 et pas question qu’il en soit autrement.

En revanche, les neurones basés sur la tangente exponentielle se comportent en mode panique. Dans la couche neuronale cachée du réseau (elle n’est pas vraiment cachée, c’est juste du jargon informatique ; elle est tout simplement intermédiaire entre la couche d’entrée et celle de résultat, voilà tout), certaines années produisent des dérivées locales nulles pendant que certaines autres rendent « opération impossible » lorsqu’ils doivent calculer ces tangentes locales.

Je modifie encore une fois l’imagination du réseau. Dans la couche neuronale cachée la réalité d’entrée est modifiée de façon similaire à celle que j’ai déjà utilisé dans mon travail de recherche sur l’efficience énergétique. Pour chaque « xi » je produis un coefficient wi = ln(xi)/(t – 1989), donc une mesure de la distance entre l’année donnée et 1989. Dans la couche de résultat, je garde la méthode initiale, donc celle de pondération avec un coefficient aléatoire rendu par la fonction « random.rand ». Le réseau basé sur le neurone sigmoïde commence par générer une erreur cumulative énorme dans la première ronde – E > 20 – mais dans les rondes consécutives ça descend vers les niveaux observés dans Tableau 1. Les neurones qui utilisent la tangente hyperbolique se comportent d’une façon similaire.

Voilà donc une autre observation utile. Pour qu’un réseau neuronal soit capable d’apprentissage, il doit y avoir cohérence entre son imagination – donc la méthode de produire des visions alternatives de la réalité – et le mode de traitement des stimuli alternatifs ainsi produits. L’apprentissage survient lorsque l’imagination rend possible un tel traitement des stimuli qui génère, à son tour, des petits signaux locaux d’inquiétude et ceux-ci sont repris comme matériel cognitif de valeur. L’apprentissage se présente comme un sentier étroit entre l’ignorance délibérée d’une part (étouffement de dissonance cognitive) et la panique d’autre part. Un réseau neuronal capable d’avancer le long de ce sentier peut utiliser même une imagination des plus sauvages, qui initialement produit une erreur de jugement de taille galactique, car il peut la traduire très vite en ce petit train-train des petits signaux locaux d’inquiétude.

Une question me saisit : que se passerait-il si un être humain aurait la capacité de voir la réalité exactement comme elle est, sans aucune distorsion ? Selon mon expérience avec cet algorithme de réseau neuronal, cela voudrait dire la fin de tout apprentissage. Cette forme particulière d’intelligence, écrite dans les équations de cet algorithme, exige une vision distordue de la réalité, pour que celle-là génère des erreurs de jugement possibles à utiliser dans l’avenir. Pas de distorsion veut dire absence d’erreur de jugement et sans celui-ci, pas d’apprentissage. Désolé, les mecs, mais apparemment, il faut être ne serait-ce qu’un tout petit peu bête pour apprendre quoi que ce soit.

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 ?

Auto-régression : je reprends depuis le début

Mon éditorial sur You Tube

Je retourne, une fois de plus, à l’étude scientifique de mon concept d’entreprise que j’avais baptisé « EneFin » : une plateforme transactionnelle qui combinerait du crowdfunding avec l’utilisation d’une cryptomonnaie pour financer le développement des installations locales d’énergies renouvelables. Je veux créer un business plan pour ce concept d’entreprise et il y a une petite voix perfectionniste dans ma tête qui demande une compréhension profonde de la façon dont une telle idée serait acceptée par le marché. Voilà donc pourquoi je ressens le besoin de développer une approche scientifique à tout ce projet. Oui, le fait que je sois prof d’université et que ma discipline de base c’est l’économie, ça peut jouer un rôle.

Comme je cercle cette idée, je me suis rendu compte que LA science que je veux développer à cette occasion c’est la question d’intelligence collective, plus spécialement appliquée aux systèmes économiques, y compris le marché d’énergie. Il y a quelque temps, j’avais regardé, sur You Tube, l’interview avec un chercheur de nom de Lex Fridman, spécialisé dans l’intelligence artificielle. Il a dit une chose simple : « Je travaille sur l’intelligence artificielle car je veux comprendre l’esprit humain. Lorsque je veux comprendre comment quelque chose marche, j’essaie de bâtir quelque chose de pareil, par moi-même ». J’y avais médité, sur ce sujet et je me suis rendu compte que c’est précisément le chemin que je suis en train de suivre par moi-même quoi que, soyons francs, beaucoup plus à tâtons que le fait Lex Fridman.

Ah oui, et en plus, l’application des réseaux neuronaux, c’est la dernière mode dans les méthodes quantitatives des sciences économiques. Eh bien, Wasniewski, faut se rendre à l’évidence et apprendre à utiliser les réseaux neuronaux. Je m’y engage donc, en utilisant ce que j’ai déjà appris en termes des langages de programmation, surtout Python et Pragma Solidity. Comme je commence à étudier la théorie des réseaux neuronaux, je vois déjà un paradoxe. D’une part, la théorie des réseaux neuronaux est vaste, diversifiée et en train de se développer d’une façon exponentielle. D’autre part, les réseaux qui marchent en pratique, tout en ne représentant qu’un petit fragment de cette théorie, démontrent des caractéristiques surprenantes et inattendues qui, à leur tour, donnent naissance à même plus de théorie.

Dans ma recherche à moi, je veux construire un réseau neuronal qui imiterait une intelligence collective possible d’êtres humains. En fait, c’est comme représenter la culture comme un réseau neuronal. Dans ce paysage, il y a une bête qui m’intéresse plus particulièrement : la mémoire collective. Être intelligent, ça s’apprend – je veux dire ça implique de l’apprentissage et l’apprentissage, ça exige une mémoire pour stocker l’information assemblée durant ledit apprentissage.

Un réseau neuronal a besoin de neurones. Dans la construction de tels réseaux, on commence modeste, avec la création mathématique de juste un neurone. Un neurone artificiel est une fonction mathématique qui transforme des données à l’entrée en un résultat qui, à son tour, devient un ensemble de données stimulantes pour le neurone suivant. Dans la nature, un neurone, ça ne pense pas tout seul. En fait, un seul neurone, c’est bête comme tout. Un neurone gagne ses titres de noblesse en créant des connexions synaptiques avec d’autres neurones. Alors voilà que ma petite obsession d’apprentissage et de mémoire entre en scène. La mémoire et l’apprentissage sont des phénomènes basées sur la création des connexions synaptiques. Ces connexions-là facilitent l’exécution des schémas complexes de comportement, préalablement appris.

Voilà donc un créneau de recherche passionnant. Dans un réseau neuronal artificiel, chaque neurone est une fonction mathématique. Une connexion synaptique veut dire que parmi tous les liens possibles avec d’autres fonctions, la fonction du neurone donné passe les données en préférence à une autre fonction de neurone, plutôt qu’à toutes les autres et vice versa, c’est-à-dire une fonction de neurone artificiel reçoit des données en préférence d’une fonction particulière de neurone artificiel plutôt de la part de toutes les autres.

Je veux donc construire un réseau neuronal artificiel qui simule la création des connexions synaptiques, donc qui bâtit sa propre structure. En bas, j’essaie de donner une expression graphique à cette idée.

 

L’idée mathématique que j’ai en tête est de commencer avec un ensemble non-structuré des fonctions neuronales, donc des neurones mathématiques, où la première connexion se fait sur la base de proximité. La puissance du signal initialement envoyé décroit avec le carré de la distance, où la distance est, bien sûr, mathématique et donc Euclidienne. Voilà l’idée de base et voilà que la vie me donne occasion de développer cette idée dans une direction que je pressentais un peu, mais où j’avais comme une petite peur de m’engager. Il s’agit de révision de ce manuscrit, intitulé « Apprehending energy efficiency : what is the cognitive value of hypothetical shocks ? », que j’avais soumis à l’évaluation chez « Energy Economics ».  Le rédacteur en chef m’a renvoyé le manuscrit avec une remarque générale qu’il faut que je travaille aussi bien sur la clarté de mes hypothèses que sur le niveau d’innovation mathématique dans mon traitement des données.

Honnêtement, ce rédacteur en chef, il a eu raison. Après avoir soumis ce manuscrit, quand je le revoyais pour moi-même, j’avais cette impression de manque. Un article scientifique de bonne qualité, ça requiert ce tremblement de terre Hitchcockien, dès le début. Mon article à moi, il manquait de ce cataclysme initial, précisément. Vous savez, quelque chose qui vraiment attire l’attention du lecteur.  Faut que j’en ajoute un, de cataclysme. En plus, il faut se rendre à l’évidence : dans les sciences économiques, la méthode des moindres carrés ordinaire c’est déjà un peu vieillot. Faut que je sois plus inventif côté maths.

Voilà donc une occasion de me rendre la vie un peu plus difficile qu’elle était jusqu’à maintenant. Je révise le manuscrit sur l’efficience énergétique d’économies nationales, j’essaie de le faire en utilisant la théorie des réseaux neuronaux, et en même temps j’espère d’acquérir une compréhension plus approfondie du marché d’énergie, ce qui ma me servir à développer scientifiquement et pratiquement mon concept EneFin.

Alors, le neurone. Lorsque j’étudie l’efficience énergétique d’un ensemble des pays, qu’est qui peut bien être un neurone, donc une cellule qui a pour fonction essentielle de transmettre un signal, avec modification possible ? La direction la plus évidente à suivre, à ce respect, et de construire un réseau imitateur, où chaque pays soumis à l’étude est un neurone. Direction no. 2, un peu plus abstraite : un neurone est une créature hypothétique qui traite les données empiriques. Dans ce cas, le réseau neuronal est une intelligence externe à cet univers. Je distingue donc des neurones de façon arbitraire, en puisant dans le catalogue des fonctions neurales « officiellement » reconnues : perceptrons, sigmoïdes, tangentes hyperboliques etc.

Le réseau imitateur, il peut faire l’une des deux choses : il peut s’activer et faire quelque chose de nouveau chaque fois qu’il reçoit du signal intéressant – donc il peut apprendre – ou bien il peut atténuer les variations du signal pour maintenir l’homéostasie. Pourquoi l’homéostasie ? J’ai deux raisons pour adopter cette ligne de recherche. D’une part, j’avais déjà fait de la recherche où j’avais utilisé, avec succès, la bonne vieille fonction de production – donc un état d’équilibre général – pour simuler l’adaptation des populations à leur base énergétique et nutritionnelle. D’autre part, dans notre cerveau, il y a des fonctions neurales qui se concentrent sur l’homéostasie. La catégorisation des phénomènes nouveaux dans des catégories préexistantes est un exemple. La chose aussi (apparemment) banale que le maintien d’une température constante du corps en est un autre.

En ce qui concerne le réseau neuronal externe à mon univers, sa fonction la plus évidente serait de cerner un modèle économétrique de changement au niveau d’efficience énergétique d’économies nationales. Encore, moi, je me suis un peu excité – comme ça arrive souvent aux néophytes – avec tout ce bazar des réseaux neuronaux et je pense à une intelligence externe qui ferait, à propos de mon univers empirique, une chose tout à fait fondamentale à toute intelligence : elle créerait de catégories significatives à des niveaux d’abstraction différents.

Quelle serait la différence entre un réseau neuronal imitateur qui apprend et un réseau externe qui résout ? La différence que je vois intuitivement est celle d’envergure. Lorsque j’apprends à l’intérieur d’un univers, le cadre des données que je traite est limité par ma position dans cet univers. Dans une forêt, je ne vois que certains arbres. Un neurone dans le réseau imitateur aurait pour une de ses fonctions de sélectionner des données. En revanche, quand je suis à l’extérieur de quelque chose, je vois la chose dans sa totalité : toutes les données me sont accessibles de la même façon.

Voilà, ci-dessous, le résumé de mes grands plans :

 

Le réseau imitateur avec apprentissage

 

 

Le réseau imitateur qui tend vers l’homéostasie

 

 

Le réseau externe qui résout un modèle économétrique

 

Le réseau externe qui crée des catégories significatives et les combine en catégories abstraites

 

 

Maintenant, je veux comprendre comment d’autres chercheurs approchent l’application des réseaux neuronaux dans l’étude des marchés d’énergie. Je trouve un article par Katić et al. (2018[1]). Ils ont utilisé les réseaux neuronaux pour étudier les schémas de comportement d’utilisateurs des systèmes de chauffage. Ce que je veux comprendre avant tout c’est le lien entre les données empiriques et l’application du réseau neuronal. Katic et al. avaient donc conduit une série de sessions expérimentales durant lesquelles deux femmes, indépendamment l’une de l’autre, avaient pour tâche de régler la température d’un poste de travail avec siège chauffant. Le réglage de la température était sujet uniquement à la subjective sensation de confort optimal. Chacune des deux femmes avait participé à 14 sessions expérimentales. Pendant chaque session, les chercheurs collectaient les données sur la température de la chaise ainsi que celle de toute la chambre de travail, l’humidité, la vitesse de circulation de l’air. Les mensurations correspondantes étaient faites chaque seconde et chaque session durait 4 heures avec une période initiale d’acclimatation d’environ 10 minutes. Chaque session était accompagnée d’une interview standardisée.

Katic et al. avaient utilisé le réseau neuronal du type NARX (ANG : AutoRegressive network with exogenous inputs), donc un réseau auto régressif avec entrée exogène des données. L’idée générale d’un tel modèle est que la valeur présente d’une variable dépend aussi bien de ses valeurs passées que des valeurs observées dans des variables exogènes. Le modèle général d’auto-régression assume que la valeur présente d’une variable, soit Xt, est la somme des deux composantes : une constante (c) et la moyenne pondérée des valeurs passées de la variable X, observées avec l’interférence du bruit blanc fait des variations aléatoires à impact prévisible. Des variables exogènes peuvent s’immiscer dans ce modèle général. Soit on ajoute la moyenne pondérée des valeurs passées des variables exogènes U, tout en gardant la constante dans l’équation ou bien… on remplace le terme constant avec cette moyenne pondérée des valeurs passées des variables exogènes U. Ci-dessous je donne une expression graphique de cette démarche.

Alors, Katic et al. avaient structurés leurs données en deux sous-ensembles. Treize session sur quatorze avaient été utilisées comme matériel d’entrainement pour le réseau neuronal. Les données d’une session choisie au hasard on servi comme base de prédiction proprement dite, donc le réseau était supposé apprendre avec 13 sessions et appliquer cet apprentissage à la quatorzième session.

J’ai trouvé un autre exemple d’application de cette logique, donc du modèle NARX, dans le business d’énergie. Boussaada et al. (2018[1]) démontrent l’application de NARX à la prédiction de la radiation solaire dans des installation photovoltaïques. L’avantage de cet article est une démonstration pas-à-pas de la façon de traduire la logique générale de NARX en la construction d’un réseau des perceptrons sigmoïdes à couches multiples. Cette traduction peut se faire suivant deux approches différentes : parallèle ou bien parallèle en série.

L’architecture parallèle en série, connue aussi comme boucle ouverte, assume que les données d’entrée du réseau comprennent les valeur réelles passées de toutes les variables, soit la variable à prédire et ces facteurs exogènes. Dans l’architecture parallèle, ou boucle fermée, au lieu des valeurs réelles de la variable à prédire, on nourrit les neurones avec les valeurs passées prédites de cette variable, donc les valeurs préalablement estimées. La boucle ouverte semble être plus avantageuse dans la phase d’apprentissage du réseau des perceptrons, pendant qu’une fois l’apprentissage effectué, il est apparemment plus utile de modifier l’architecture en une boucle fermée pour que le réseau fasse sa prédiction finale de la variable qui nous intéresse.

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] Boussaada, Z., Curea, O., Remaci, A., Camblong, H., & Mrabet Bellaaj, N. (2018). A Nonlinear Autoregressive Exogenous (NARX) Neural Network Model for the Prediction of the Daily Direct Solar Radiation. Energies, 11(3), 620

[1] Katić, K., Li, R., Verhaart, J., & Zeiler, W. (2018). Neural network based predictive control of personalized heating systems. Energy and Buildings, 174, 199-213.