Existence intelligente et pas tout à fait rationnelle

Mon éditorial sur You Tube

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Deux intelligences alternatives

Mon éditorial sur You Tube

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

Tableau 1

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

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

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

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

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

A/Q = 14,2% du PIB ;

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

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

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

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

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

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

Q = $1 120 874,23 mln ;

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

N = 89 965 651 personnes ;

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

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

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

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

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

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

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

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

Tableau 2

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

Valeurs des moyennes espérées

 

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

 

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

 

A/Q = 25% du PIB ;

 

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

 

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

 

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

 

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

 

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

 

Q = $7 368 088,87 mln ;

 

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

 

N = 553 540 602 personnes ;

 

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

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

 

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

 

A/Q = 19% du PIB ;

 

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

 

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

 

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

 

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

 

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

 

Q = $3 855 530,27 mln ;

 

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

 

N = 295 288 302 personnes ;

 

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

Tableau 3

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

Valeurs des moyennes espérées

 

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

 

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

 

A/Q = 11% du PIB ;

 

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

 

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

 

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

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

 

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

 

Q = $730 310,21 mln ;

 

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

 

N = 15 716 495 personnes ;

 

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

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

 

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

 

A/Q = 14% du PIB ;

 

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

 

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

 

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

 

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

 

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

 

Q = $615 711,51 mln  ;

 

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

 

N = 2 784 733,90 personnes ;

 

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

Graphe 1

Graphe 2

Graphe 3

Graphe 4

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

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

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

Surpopulation sauvage ou compétition aux États-Unis

 

Mon éditorial sur You Tube

 

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

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

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

 

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

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

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

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

 

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

 

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

 

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

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

U/N Population urbaine comme % de la population totale

 

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

 

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

 

N Population

 

 

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

 

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

 

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

 

 

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

 

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

Tenez-vous bien, chers Autrichiens

 

Mon éditorial sur You Tube

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ensuite, mon perceptron réfléchit

 

Mon éditorial sur You Tube

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Joseph et le perceptron

 

Mon éditorial sur You Tube

 

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

Si je permets plus d’extravagance

 

Mon éditorial sur You Tube

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ?