More vigilant than sigmoid

My editorial on You Tube


I keep working on the application of neural networks as simulators of collective intelligence. The particular field of research I am diving into is the sector of energy, its shift towards renewable energies, and the financial scheme I invented some time ago, which I called EneFin. As for that last one, you can consult « The essential business concept seems to hold », in order to grasp the outline.

I continue developing the line of research I described in my last update in French: « De la misère, quoi ». There are observable differences in the prices of energy according to the size of the buyer. In many countries – practically in all the countries of Europe – there are two, distinct price brackets. One, which I further designated as PB, is reserved to contracts with big consumers of energy (factories, office buildings etc.) and it is clearly lower. Another one, further called PA, is applied to small buyers, mainly households and really small businesses.

As an economist, I have that intuitive thought in the presence of price forks: that differential in prices is some kind of value. If it is value, why not giving it some financial spin? I came up with the idea of the EneFin contract. People buy energy from a local supplier, in the amount Q, who sources it from renewables (water, wind etc.), and they pay the price PA, thus generating a financial flow equal to Q*PA. That flow buys two things: energy priced at PB, and participatory titles in the capital of their supplier, for the differential Q*(PA – PB). I imagine some kind of crowdfunding platform, which could channel the amount of capital K = Q*(PA – PB).

That K remains in some sort of fluid relationship to I, or capital invested in the productive capacity of energy suppliers. Fluid relationship means that each of those capital balances can date other capital balances, no hard feelings held. As we talk (OK, I talk) about prices of energy and capital invested in capacity, it is worth referring to LCOE, or Levelized Cost Of Electricity. The LCOE is essentially the marginal cost of energy, and a no-go-below limit for energy prices.

I want to simulate the possible process of introducing that general financial concept, namely K = Q*(PA – PB), into the market of energy, in order to promote the development of diversified networks, made of local suppliers in renewable energy.

Here comes my slightly obsessive methodological idea: use artificial intelligence in order to simulate the process. In classical economic method, I make a model, I take empirical data, I regress some of it on another some of it, and I come up with coefficients of regression, and they tell me how the thing should work if we were living in a perfect world. Artificial intelligence opens a different perspective. I can assume that my model is a logical structure, which keeps experimenting with itself and we don’t the hell know where exactly that experimentation leads. I want to use neural networks in order to represent the exact way that social structures can possibly experiment with that K = Q*(PA – PB) thing. Instead of optimizing, I want to see that way that possible optimization can occur.

I have that simple neural network, which I already referred to in « The point of doing manually what the loop is supposed to do » and which is basically quite dumb, as it does not do any abstraction. Still, it nicely experiments with logical structures. I am sketching its logical structure in the picture below. I distinguish four layers of neurons: input, hidden 1, hidden 2, and output. When I say ‘layers’, it is a bit of grand language. For the moment, I am working with one single neuron in each layer. It is more of a synaptic chain.

Anyway, the input neuron feeds data into the chain. In the first round of experimentation, it feeds the source data in. In consecutive rounds of learning through experimentation, that first neuron assesses and feeds back local errors, measured as discrepancies between the output of the output neuron, and the expected values of output variables. The input neuron is like the first step in a chain of perception, in a nervous system: it receives and notices the raw external information.

The hidden layers – or the hidden neurons in the chain – modify the input data. The first hidden neuron generates quasi-random weights, which the second hidden neuron attributes to the input variables. Just as in a nervous system, the input stimuli are assessed as for their relative importance. In the original algorithm of perceptron, which I used to design this network, those two functions, i.e. generating the random weights and attributing them to input variables, were fused in one equation. Still, my fundamental intent is to use neural networks to simulate collective intelligence, and intuitively guess those two functions are somehow distinct. Pondering the importance of things is one action and using that ponderation for practical purposes is another. It is like scientist debating about the way to run a policy, and the government having the actual thing done. These are two separate paths of action.

Whatever. What the second hidden neuron produces is a compound piece of information: the summation of input variables multiplied by random weights. The output neuron transforms this compound data through a neural function. I prepared two versions of this network, with two distinct neural functions: the sigmoid, and the hyperbolic tangent. As I found out, the way they work is very different, just as the results they produce. Once the output neuron generates the transformed data – the neural output – the input neuron measures the discrepancy between the original, expected values of output variables, and the values generated by the output neuron. The exact way of computing that discrepancy is made of two operations: calculating the local derivative of the neural function, and multiplying that derivative by the residual difference ‘original expected output value minus output value generated by the output neuron’. The so calculated discrepancy is considered as a local error, and is being fed back into the input neuron as an addition to the value of each input variable.

Before I go into describing the application I made of that perceptron, as regards my idea for financial scheme, I want to delve into the mechanism of learning triggered through repeated looping of that logical structure. The input neuron measures the arithmetical difference between the output of the network in the preceding round of experimentation, and that difference is being multiplied by the local derivative of said output. Derivative functions, in their deepest, Newtonian sense, are magnitudes of change in something else, i.e. in their base function. In the Newtonian perspective, everything that happens can be seen either as change (derivative) in something else, or as an integral (an aggregate that changes its shape) of still something else. When I multiply the local deviation from expected values by the local derivative of the estimated value, I assume this deviation is as important as the local magnitude of change in its estimation. The faster things happen, the more important they are, so do say. My perceptron learns by assessing the magnitude of local changes it induces in its own estimations of reality.

I took that general logical structure of the perceptron, and I applied it to my core problem, i.e. the possible adoption of the new financial scheme to the market of energy. Here comes sort of an originality in my approach. The basic way of using neural networks is to give them a substantial set of real data as learning material, make them learn on that data, and then make them optimize a hypothetical set of data. Here you have those 20 old cars, take them into pieces and try to put them back together, observe all the anomalies you have thus created, and then make me a new car on the grounds of that learning. I adopted a different approach. My focus is to study the process of learning in itself. I took just one set of actual input values, exogenous to my perceptron, something like an initial situation. I ran 5000 rounds of learning in the perceptron, on the basis of that initial set of values, and I observed how is learning taking place.

My initial set of data is made of two tensors: input TI and output TO.

The thing I am the most focused on is the relative abundance of energy supplied from renewable sources. I express the ‘abundance’ part mathematically as the coefficient of energy consumed per capita, or Q/N. The relative bend towards renewables, or towards the non-renewables is apprehended as the distinction between renewable energy QR/N consumed per capita, and the non-renewable one, the QNR/N, possibly consumed by some other capita. Hence, my output tensor is TO = {QR/N; QNR/N}.

I hypothesise that TO is being generated by input made of prices, costs, and capital outlays. I split my price fork PA – PB (price for the big ones minus price for the small ones) into renewables and non-renewables, namely into: PA;R, PA;NR, PB;R, and PB;NR. I mirror the distinction in prices with that in the cost of energy, and so I call LCOER and LCOENR. I want to create a financial scheme that generates a crowdfunded stream of capital K, to finance new productive capacities, and I want it to finance renewable energies, and I call KR. Still, some other people, like my compatriots in Poland, might be so attached to fossils they might be willing to crowdfund new installations based on non-renewables. Thus, I need to take into account a KNR in the game. When I say capital, and I say LCOE, I sort of feel compelled to say aggregate investment in productive capacity, in renewables, and in non-renewables, and I call it, respectively, IR and INR. All in all, my input tensor spells TI = {LCOER, LCOENR, KR, KNR, IR, INR, PA;R, PA;NR, PB;R, PB;NR}.

The next step is scale and measurement. The neural functions I use in my perceptron like having their input standardized. Their tastes in standardization differ a little. The sigmoid likes it nicely spread between 0 and 1, whilst the hyperbolic tangent, the more reckless of the two, tolerates (-1) ≥ x ≥ 1. I chose to standardize the input data between 0 and 1, so as to make it fit into both. My initial thought was to aim for an energy market with great abundance of renewable energy, and a relatively declining supply of non-renewables. I generally trust my intuition, only I like to leverage it with a bit of chaos, every now and then, and so I ran some pseudo-random strings of values and I chose an output tensor made of TO = {QR/N = 0,95; QNR/N = 0,48}.

That state of output is supposed to be somehow logically connected to the state of input. I imagined a market, where the relative abundance in the consumption of, respectively, renewable energies and non-renewable ones is mostly driven by growing demand for the former, and a declining demand for the latter. Thus, I imagined relatively high a small-user price for renewable energy and a large fork between that PA;R and the PB;R. As for non-renewables, the fork in prices is more restrained (than in the market of renewables), and its top value is relatively lower. The non-renewable power installations are almost fed up with investment INR, whilst the renewables could still do with more capital IR in productive assets. The LCOENR of non-renewables is relatively high, although not very: yes, you need to pay for the fuel itself, but you have economies of scale. As for the LCOER for renewables, it is pretty low, which actually reflects the present situation in the market.

The last part of my input tensor regards the crowdfunded capital K. I assumed two different, initial situations. Firstly, it is virtually no crowdfunding, thus a very low K. Secondly, some crowdfunding is already alive and kicking, and it is sort of slightly above the half of what people expect in the industry.

Once again, I applied those qualitative assumptions to a set of pseudo-random values between 0 and 1. Here comes the result, in the table below.


Table 1 – The initial values for learning in the perceptron

Tensor Variable The Market with virtually no crowdfunding   The Market with significant crowdfunding
Input TI LCOER         0,26           0,26
LCOENR         0,48           0,48
KR         0,01   <= !! =>         0,56    
KNR         0,01            0,52    
IR         0,46           0,46
INR         0,99           0,99
PA;R         0,71           0,71
PA;NR         0,46           0,46
PB;R         0,20           0,20
PB;NR         0,37           0,37
Output TO QR/N         0,95           0,95
QNR/N         0,48           0,48


The way the perceptron works means that it generates and feeds back local errors in each round of experimentation. Logically, over the 5000 rounds of experimentation, each input variable gathers those local errors, like a snowball rolling downhill. I take the values of input variables from the last, i.e. the 5000th round: they have the initial values, from the table above, and, on the top of them, there is cumulative error from the 5000 experiments. How to standardize them, so as to make them comparable with the initial ones? I observe: all those final output values have the same cumulative error in them, across all the TI input tensor. I choose a simple method for standardization. As the initial values were standardized over the interval between 0 and 1, I standardize the outcoming values over the interval 0 ≥ x ≥ (1 + cumulative error).

I observe the unfolding of cumulative error along the path of learning, made of 5000 steps. There is a peculiarity in each of the neural functions used: the sigmoid, and the hyperbolic tangent. The sigmoid learns in a slightly Hitchcockian way. Initially, local errors just rocket up. It is as if that sigmoid was initially yelling: ‘F******k! What a ride!’. Then, the value of errors drops very sharply, down to something akin to a vanishing tremor, and starts hovering lazily over some implicit asymptote. Hyperbolic tangent learns differently. It seems to do all it can to minimize local errors whenever it is possible. Obviously, it is not always possible. Every now and then, that hyperbolic tangent produces an explosively high value of local error, like a sudden earthquake, just to go back into forced calm right after. You can observe those two radically different ways of learning in the two graphs below.

Two ways of learning – the sigmoidal one and the hyper-tangential one – bring interestingly different results, just as differentiated are the results of learning depending on the initial assumptions as for crowdfunded capital K. Tables 2 – 5, further below, list the results I got. A bit of additional explanation will not hurt. For every version of learning, i.e. sigmoid vs hyperbolic tangent, and K = 0,01 vs K ≈ 0,5, I ran 5 instances of 5000 rounds of learning in my perceptron. This is the meaning of the word ‘Instance’ in those tables. One instance is like a tensor of learning: one happening of 5000 consecutive experiments. The values of output variables remain constant all the time: TO = {QR/N = 0,95; QNR/N = 0,48}. The perceptron sweats in order to come up with some interesting combination of input variables, given this precise tensor of output.


Table 2 – Outcomes of learning with the sigmoid, no initial crowdfunding


The learnt values of input variables after 5000 rounds of learning
Learning with the sigmoid, no initial crowdfunding
Instance 1 Instance 2 Instance 3 Instance 4 Instance 5
cumulative error 2,11 2,11 2,09 2,12 2,16
LCOER 0,7617 0,7614 0,7678 0,7599 0,7515
LCOENR 0,8340 0,8337 0,8406 0,8321 0,8228
KR 0,6820 0,6817 0,6875 0,6804 0,6729
KNR 0,6820 0,6817 0,6875 0,6804 0,6729
IR 0,8266 0,8262 0,8332 0,8246 0,8155
INR 0,9966 0,9962 1,0045 0,9943 0,9832
PA;R 0,9062 0,9058 0,9134 0,9041 0,8940
PA;NR 0,8266 0,8263 0,8332 0,8247 0,8155
PB;R 0,7443 0,7440 0,7502 0,7425 0,7343
PB;NR 0,7981 0,7977 0,8044 0,7962 0,7873



Table 3 – Outcomes of learning with the sigmoid, with substantial initial crowdfunding


The learnt values of input variables after 5000 rounds of learning
Learning with the sigmoid, substantial initial crowdfunding
Instance 1 Instance 2 Instance 3 Instance 4 Instance 5
cumulative error 1,98 2,01 2,07 2,03 1,96
LCOER 0,7511 0,7536 0,7579 0,7554 0,7494
LCOENR 0,8267 0,8284 0,8314 0,8296 0,8255
KR 0,8514 0,8529 0,8555 0,8540 0,8504
KNR 0,8380 0,8396 0,8424 0,8407 0,8369
IR 0,8189 0,8207 0,8238 0,8220 0,8177
INR 0,9965 0,9965 0,9966 0,9965 0,9965
PA;R 0,9020 0,9030 0,9047 0,9037 0,9014
PA;NR 0,8189 0,8208 0,8239 0,8220 0,8177
PB;R 0,7329 0,7356 0,7402 0,7375 0,7311
PB;NR 0,7891 0,7913 0,7949 0,7927 0,7877






Table 4 – Outcomes of learning with the hyperbolic tangent, no initial crowdfunding


The learnt values of input variables after 5000 rounds of learning
Learning with the hyperbolic tangent, no initial crowdfunding
Instance 1 Instance 2 Instance 3 Instance 4 Instance 5
cumulative error 1,1 1,27 0,69 0,77 0,88
LCOER 0,6470 0,6735 0,5599 0,5805 0,6062
LCOENR 0,7541 0,7726 0,6934 0,7078 0,7257
KR 0,5290 0,5644 0,4127 0,4403 0,4746
KNR 0,5290 0,5644 0,4127 0,4403 0,4746
IR 0,7431 0,7624 0,6797 0,6947 0,7134
INR 0,9950 0,9954 0,9938 0,9941 0,9944
PA;R 0,8611 0,8715 0,8267 0,8349 0,8450
PA;NR 0,7432 0,7625 0,6798 0,6948 0,7135
PB;R 0,6212 0,6497 0,5277 0,5499 0,5774
PB;NR 0,7009 0,7234 0,6271 0,6446 0,6663



Table 5 – Outcomes of learning with the hyperbolic tangent, substantial initial crowdfunding


The learnt values of input variables after 5000 rounds of learning
Learning with the hyperbolic tangent, substantial initial crowdfunding
Instance 1 Instance 2 Instance 3 Instance 4 Instance 5
cumulative error -0,33 0,2 -0,06 0,98 -0,25
LCOER (0,1089) 0,3800 0,2100 0,6245 0,0110
LCOENR 0,2276 0,5681 0,4497 0,7384 0,3111
KR 0,3381 0,6299 0,5284 0,7758 0,4096
KNR 0,2780 0,5963 0,4856 0,7555 0,3560
IR 0,1930 0,5488 0,4251 0,7267 0,2802
INR 0,9843 0,9912 0,9888 0,9947 0,9860
PA;R 0,5635 0,7559 0,6890 0,8522 0,6107
PA;NR 0,1933 0,5489 0,4252 0,7268 0,2804
PB;R (0,1899) 0,3347 0,1522 0,5971 (0,0613)
PB;NR 0,0604 0,4747 0,3306 0,6818 0,1620


The cumulative error, the first numerical line in each table, is something like memory. It is a numerical expression of how much experience has the perceptron accumulated in the given instance of learning. Generally, the sigmoid neural function accumulates more memory, as compared to the hyper-tangential one. Interesting. The way of processing information affects the amount of experiential data stored in the process. If you use the links I gave earlier, you will see different logical structures in those two functions. The sigmoid generally smoothes out anything it receives as input. It puts the incoming, compound data in the negative exponent of the Euler’s constant e = 2,72, and then it puts the resulting value as part of the denominator of 1. The sigmoid is like a bumper: it absorbs shocks. The hyperbolic tangent is different. It sort of exposes small discrepancies in input. In human terms, the hyper-tangential function is more vigilant than the sigmoid. As it can be observed in this precise case, absorbing shocks leads to more accumulated experience than vigilantly reacting to observable change.

The difference in cumulative error, observable in the sigmoid-based perceptron vs that based on hyperbolic tangent is particularly sharp in the case of a market with substantial initial crowdfunding K. In 3 instances on 5, in that scenario, the hyper-tangential perceptron yields a negative cumulative error. It can be interpreted as the removal of some memory, implicitly contained in the initial values of input variables. When the initial K is assumed to be 0,01, the difference in accumulated memory, observable between the two neural functions, significantly shrinks. It looks as if K ≥ 0,5 was some kind of disturbance that the vigilant hyperbolic tangent attempts to eliminate. That impression of disturbance created by K ≥ 0,5 is even reinforced as I synthetically compare all the four sets of outcomes, i.e. tables 2 – 5. The case of learning with the hyperbolic tangent, and with substantial initial crowdfunding looks radically different from everything else. The discrepancy between alternative instances seems to be the greatest in this case, and the incidentally negative values in the input tensor suggest some kind of deep shakeoff. Negative prices and/or negative costs mean that someone external is paying for the ride, probably the taxpayers, in the form of some fiscal stimulation.

I am consistently delivering good, almost new science to my readers, and love doing it, and I am working on crowdfunding this activity of mine. As we talk business plans, I remind you that you can download, from the library of my blog, the business plan I prepared for my semi-scientific project Befund  (and you can access the French version as well). You can also get a free e-copy of my book ‘Capitalism and Political Power’ You can support my research by donating directly, any amount you consider appropriate, to my PayPal account. You can also consider going to my Patreon page and become my patron. If you decide so, I will be grateful for suggesting me two things that Patreon suggests me to suggest you. Firstly, what kind of reward would you expect in exchange of supporting me? Secondly, what kind of phases would you like to see in the development of my research, and of the corresponding educational tools?

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



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 ?

Carl Lagerfeld and some guest blogging from Emilien Chalancon, my student

My editorial on You Tube


This time, instead of publishing my own train of thought, I am publishing the work of my student, CHALANCON Emilien, from Université Jean Monnet, Saint-Etienne, France (Department : Business and Administration, IUT Saint-Etienne). This is an essay prepared for a course in International Economic Relations, and devoted to the phenomenon of the so-called Yellow Jacket Movement.

I publish my students’ work, with their consent, of course, when I find a particular piece of writing particularly mature and bearing a sharp scientific edge. Here comes a piece of writing that shows intellectual maturity and the capacity to think beyond political correctness.

When I read any news about the Yellow Jacket Movement, I recall that social advertising, in 2008, precisely for yellow jackets and road safety, featuring Carl Lagerfeld saying: ‘C’est jaune, c’est moche, mais ça peut vous sauver la vie’, which, in English, spells: ‘It’s yellow, it’s ugly, but it can save your life’. Go figure why I make this association, still I tend to perceive French people in yellow vests as sort of dashing and trendy. Following some trends, anyway.


Here comes the exact wording of the essay by Emilien Chalancon.


FRANCE and Yellow Jacket movement


 To begin…

Liberté. Egalité. Fraternité. Over time, there is one nation has been differentiated from others by its freedom, social system and diversity: FRANCE. In fact, this state was the creator of the notion “soft power” and social security system. As you know, a big part of our medical treatment, school education, unemployment revenue is taken care by the state, it’s free. We call that “sécurité sociale”.

Citizens have the deep conviction that workers must pay contributions to people in need. That’s France: mutual help and respect. This is due to a national distribution of richness: 20 % percent of revenue goes to the tax system. The People is the Nation.

But, unfortunately, what made the greatness of my country before, is today a national and international element of discord. A part of the population is fade of the government and direct debits in our incomes. For some French people, the contribution for the unemployed, and other health insurances is too high.

Furthermore, citizens have to pay for wages of civil servants ( 5 million live in France). This collective tax payment, which is increases every year, force people to develop a hate around the government.

The social system is constantly calling into question also according to the crisis and many national protest movements. The last one is the most symbolic and violent of this century for my state. Since November, the “yellow jackets” riot with strong aggressiveness and this affected all the country.

The most alarming is that it spreads to economic and financial level’s inside and outside France (rate of jobs, Gross Domestic Product, National Stock Exchange). This last idea brings us to the following problematic: What are the economic and financial consequences of the Yellow Jacket movement at the domestic and international level for France?

First, we will explain the movement of yellow jackets. Secondly, we will see the economic and financial consequences at the domestic level. And then, we will finish with the consequences at the international scale.


I-Origin of Yellow Jacket

II-Economic and financial consequences at the domestic level II-Economic and financial consequences at the international scale

     I-Origin of Yellow Jacket

 Since few years, the French government has to face with endogenous and exogenous elements. The financial crisis of 2OO8 encouraged the State to raise taxes, cost of living and grew dramatically the public debt. This was necessary because of our social system : as I said before, it’s based on equal distribution of income. But salaries of the people did not follow that trend. A certain number of inhabitants still are not able to pay taxes and to live.

The price of food, clothes, gas, rent, petrol are always increasing. In November 2018, the government raised the amount of 8 centimes for petrol and 10 centimes for gasoline (= 0,35 PLN). This was the straw that broke the camel’s back! People are exhausted about the government.

From November 17th, 2018, the movement is organized around road obstructions on highway and national roads. After many violence with police and none dialogue with the President, yellow jackets demonstrators started to destroy symbolic national monuments. Actually, they want to overthrow the establish governments and believe that Mr. Macron didn’t listen the “national anger”.

But why people reacted just for that ?

For my point of view, I didn’t understand the reaction. In our history, my people always made crazy revolutions from very soft reasons. Since 2 years, our economy is on top 7 on the international ladder, we also won the last football world cup in Russia (it creates very powerful social link for a country to win a football cup).

The election of Mr. Macron (pro-entrepreneurial) encouraged many citizens to create their own business and promoted commerce. I mean, the environment was very enjoyable. But, a little rise of the price of petrol, and everything goes wrong…

To finish with, I think the life is too much comfortable in France. We are used to live with excessively wellbeing according to our social care system. A little inconvenience makes people mad. This is another argument that justify the creation of Yellow Jacket movement.

The issue is very dramatic for the economy and the finance of France: the minister of economy, Mr. Lemaire, speaks about a “disaster”.

II-Economic and financial consequences at the domestic level Economical aspect:

First, France has the world’s 6th largest economy by 2018 nominal figures and the 10th largest economy by PPP figures. It has the 3rd largest economy in the European Union. It is an agricultural, industrial and tourist power both on a European and on a global scale. France has a diversified economy: industrial, tourism, luxury, aerospace engineering.

The industrial sector (chemical, metallurgical, automobile) is one of the most develop and profitable for the State (12.4% of GDP). There is big group likes: Boiron, SNF, ArcelorMittal, Omerin and so on…

The Yellow Jacket movement has strongly compromised the activity of its companies. In fact, among the 280 000 participants of manifestations, a large number are workers and other employees of these industrial enterprises. Due to a significant number of demonstrators over the country, businesses have difficulty to hiring massively qualified workers.

Furthermore, the tourism is another big sector of revenues (84 million international tourist arrivals every years). The principal destination is of course Paris. Unfortunately, deteriorations by demonstrators of l’Arc de Triomphe, or also Les Palais des Tuileries, les Champs-Elysées decreased dramatically the number of tourists. From November 23 to 27, according to the MKG Consulting Observatory – OlaKala Destination, there have already been between 20,000 and 25,000 overnight stays canceled for the whole of December.

All these elements have huge impacts on the economy. On December 10, the Minister of the Economy linked the movement of Yellow Vests and the decline of growth, citing a decrease of 0.1-point growth of our national wealth.

On December 10, the national bank “Banque de France” announced that, it divided by two the French Gross Domestic Product growth rate it forecasts according to Yellow Jacket movement.

We could see an increase in business failures early next year, not only small traders but also larger distributors.

This type of event tends to accelerate the structural change of consumers towards the Internet sites. 41,000 employees were placed in partial activity or unemployed because of the closure of businesses.

And finally, the movement has several impacts in other economic sectors: the decline in turnover is estimates of 15% to 25% in supermarkets, 20% to 40% in the retail trade, and from 20% to 50% in food service.

Financial aspect: CAC 40 affected

The CAC 40 is a benchmark French stock market index. The index represents a capitalization-weighted measure of the 40 most significant values among the 100 highest market caps on the Euronext Paris. These values correspond to the most rentable financial French companies like: Airbus, BNP Paribas, Carrefour, LVMH. The stock market place, called “Bourse de Paris” is in the street quarter of “La Défense” in Paris.

The Yellow Vests rioted with strong hostility in “La Défense” street towards Chief Executive Officers of CAC 40 enterprises. This violent manifestation has forced some executives to move temporally to another European stock market place.

The CAC40 reduced its earnings penalized by Vinci (-3.1%), Carrefour (-3.3%) or AccorHotels (-1.5%) : three values victims of fears related to the national protest movement of Yellow Vests.

At the “Bourse de Paris”, the shares of the incumbent operators (EDF and Engie), which supply electricity and gas to regulated tariffs, fell by 7% and 2.9% respectively between 4 and 10 December following the raise of the petrol price’.

For the supermarket sector : Carrefour shares lost 13% in one month and Casino 4%.

French government bondholders now require 45 basis points more compensation than a 10-year Bund (first time in the history of my state).

III-Economic and financial consequences at the international scale Economic aspect:

Before Yellow Jackets

France had always been a model of diplomacy & welfare state. The election of Mr. Macron in may 2017 attracted many foreign companies to settle its businesses in France, closed to borderlands and reinforced international relations with our partners (Germany, Spain, USA). Our top 10 partners, which account for two thirds of our trade (67%), remain mostly European countries and continue to be so. Germany retains both its first position, its weight in our trade, which has decreased very little since 2012 (from 17.2% to 16.9% in 2016) and its gap with our other partners.

Moreover, China even accepted to buy an incredible number of French public debts thanks to a secure political climate at the end of 2017. This operation is also a strong wish to implant Chinese enterprises in France and to control economic decisions of the French government (if you control public debts of a country then you control the domestic government).

But, following to the Yellow Vests riot, all these plans have been completely modified.

Yellow Vets impact

For the rest of the world, Yellow Jacket movement constitutes the 2nd French revolution. This national attraction made many discussions in other countries about the social and economic stability for my nation. In Europe as in the United States, the media once again put the “yellow vests” on the front page. The image of Macron, so far very favorable, is degraded. And we all know that Chief Executive Officers of giant groups take very close attention to medias and social stability of a country to implement their companies there.

The manifestations in Bordeaux have strongly scared the giant Japanese Toray Carbon Fibers based in the city. Actually, the group wants to move from other European country.

Furthermore, at the end of 2018, the Spanish enterprise MECALUX group (nb 2 in European logistics) had for project to create a big subsidiary in France. But this move was canceled according to an insecure atmosphere in my state.

And this kind of example are numerous…

Financial impact:

The street quarter of “La Défense » in Paris is the second financial place in Europe. The first rank is detained by “The City”, famous place of London. With the Brexit treaty, many big financial companies and credit rating agencies based on The City want to move from another attractive place.

La Défense was the first choice of many of them. Macron created attractive fiscal conditions, the street was redesigned to receive these new companies. By the way, all the conditions were perfect for this new implantation of financial enterprises in Paris.

But, like always, the Yellow Jacket movement had scared financial enterprises based in London to move from Paris.

At the moment, Italy is probably the new desire of the financial companies.

Finally, some foreign investments of USA & China in favor of France were cancelled. Walmart & Chinese Petroleum wanted to finance new operations (Walmart subsidiaries in Paris, petrol extraction in the middle region of France). All of them are remove to new project because of Yellow Vest movement.


“Gilets jaunes” put the mess in my country. Now, I am still in an inexplicable situation. WHY MY COUNTRY MAKES STUPID THINGS WHEN EVERYTHING GOES WELL… Why?

Maybe because with have too much things, too much safety.

 Maybe because we are spoiled child. But Yellow Jackets are not the only




Carl Lagerfeld and some guest blogging from Emilien Chalancon, my student



This time, instead of publishing my own train of thought, I am publishing the work of my student, CHALANCON Emilien, from Université Jean Monnet, Saint-Etienne, France (Department : Business and Administration, IUT Saint-Etienne). This is an essay prepared for a course in International Economic Relations, and devoted to the phenomenon of the so-called Yellow Jacket Movement. Read more at



Yellow vests movement, student,    


Rummaging inside Tesla: my latest exam in Microeconomics


My editorial on You Tube


One more educational update on my blog. This time, it is the interpretation of exam in microeconomics, which took place on February 1st, 2019, in two distinct majors of studies, i.e. International Relations, and Management. First, right below, I am presenting the contents of the exam sheet, such as it was distributed to students. Then, further below, I develop an interpretation of possible answers to the questions asked. One preliminary remark is due: the entire exam refers to Tesla Inc. as business case. In my classes of Microeconomics, as well as in those of Management, I usually base the whole semester of teaching on 4 – 6 comprehensive business cases. This time, during the winter semester 2018/2019, one of those cases was Tesla, and the main source material was Tesla’s Annual Report for 2017. The students who attended this precise exam were notified one week earlier that Tesla was the case to revise.

This said, let’s rock. Here comes the exam sheet:


Exam in Microeconomics February 1st, 2019


Below, you will find a table with selected financial data of Tesla Inc. Use that data, and your knowledge as regards the business model of this firm, to answer the two open questions below the table. Your answer to each of the questions will be graded on a scale from 0 to 3 points. No answer at all, or major mistakes, give you 0 points. Short descriptive answer, not supported logically with calculations, gives 1 point. Elaborate explanation, logically supported with calculations, gives 2 or 3 points, depending on the exhaustiveness of your answer. Points translate into your overall grade as follows: 6 points – 5,0 (very good); 5 points – 4,5 (+good); 4 points – 4,0 (good); 3 points – 3,5 (+pass); 2 points – 3,0 (pass); 0 ÷ 1 points – 2,0 (fail). 



Values in thousands of USD
Revenues 2017 2016 2015
Automotive sales    8 534 752       5 589 007       3 431 587    
Automotive leasing    1 106 548         761 759         309 386    
Energy generation and storage    1 116 266         181 394          14 477    
Services and other    1 001 185         467 972         290 575    
Total revenues   11 758 751       7 000 132       4 046 025    
Cost of revenues      
Automotive sales    6 724 480       4 268 087       2 639 926    
Automotive leasing      708 224         481 994         183 376    
Energy generation and storage      874 538         178 332          12 287    
Services and other    1 229 022         472 462         286 933    
Total cost of revenues    9 536 264       5 400 875       3 122 522    
Overall total gross profit    2 222 487       1 599 257         923 503    
Gross profit by segments      
Automotive sales 1 810 272 1 320 920 791 661
Automotive leasing 398 324 279 765 126 010
Energy generation and storage 241 728 3 062 2 190
Services and other (227 837) (4 490) 3 642
Operating expenses      
Research and development    1 378 073         834 408         717 900    
Selling, general and administrative    2 476 500       1 432 189         922 232    
Total operating expenses    3 854 573       2 266 597       1 640 132    
Loss from operations   (1 632 086)       (667 340)       (716 629)   


Question 1 (open): Which operating segment of Tesla generates the greatest value added in absolute terms? Which segment has the greatest margin of value added? How does it change over time? Are differences across operating segments greater or smaller than changes over time in each operating segment separately? How can you possibly explain those phenomena? Suggestion: refer to the theory of Marshallian equilibrium vs the theory of monopoly.


Question 2 (open): Calculate the marginal cost of revenue from 2015 to 2017 (i.e. ∆ cost of revenue / ∆ revenue), for the whole business of Tesla, and for each operating segment separately. Use those calculations explicitly to provide a balanced judgment on the following claim: “The ‘Energy and storage’ operating segment at Tesla presents the greatest opportunities for future profit”.  




Question 1 (open): Which operating segment of Tesla generates the greatest value added in absolute terms? Which segment has the greatest margin of value added? How does it change over time? Are differences across operating segments greater or smaller than changes over time in each operating segment separately? How can you possibly explain those phenomena? Suggestion: refer to the theory of Marshallian equilibrium vs the theory of monopoly.


The answer to that question starts with the correct understanding of categories in the source table. Value added can be approximated as gross profit. The latter is the difference between revenues and variable cost, thus between the selling price, and the price of key intermediate goods. This was one of the first theoretical explanations the students were supposed do start their answer with. As I keep repeating in my classes, good science starts with communicable, empirical observation, and thus you need to say specifically how the facts at hand correspond to the theoretical distinctions we hold.


As I could see from some of the exam papers that some of my students handed me back, this was the first checkpoint for the understanding of the business model of Tesla. The expression ‘operating segment’ refers to the following four categories from the initial table: automotive sales, automotive leasing, energy generation and storage, and services and other. To my sincere surprise, some of my students thought that component categories of operational costs, namely ‘Research and development’, and ‘Selling, general and administrative’ were those operational segments to study. If, in an exam paper, I saw someone calculating laboriously some kind of margin for those two, I had no other solution but marking the answer with a remark ‘Demonstrable lack of understanding regarding the business model of Tesla’, and that was one of those major mistakes, which disqualified the answer to Question 1, and gave 0 points.


In a next step, i.e. after matching the concept of value added with the category of gross profit, and explaining why they do so, students had to calculate the margin of value added. Of course, we are talking the margin of gross profit, or: ‘Gross Profit / Revenues’. Here below, I am presenting a table with the margin of gross profit at Tesla Inc.



Margin of gross profit 2017 2016 2015
Overall 18,9% 22,8% 22,8%
Automotive sales 21,2% 23,6% 23,1%
Automotive leasing 36,0% 36,7% 40,7%
Energy generation and storage 21,7% 1,7% 15,1%
Services and other -22,8% -1,0% 1,3%


There was a little analytical challenge in the phrasing of the question. When I ask whether  ‘differences across operating segments greater or smaller than changes over time in each operating segment separately‘, it is essentially a test for analytical flexibility. The best expected approach that a student could have developed was to use coefficients, like gross margin for automotive sales in 2017 divided by that in 2015, and, alternatively, divided by the gross margin on energy generation and storage etc. Thus, what I expected the most in this part of the answer, was demonstrable understanding that changes over time could be compared to cross-sectional differences with the use of a universal, analytical tool, namely that of proportions expressed as coefficients, like ‘A / B’.

As this particular angle of approach involved a lot of calculations (students could use calculators or smartphones in that exam), one was welcome to take some shortcuts based on empirical observation. Students could write, for example, that ‘The greatest gross profit in absolute terms is generated on automotive sales, thus is seems logical to compare the margin of value added in this segment with other segments…’. Something in those lines. This type of answer gave a clear indication of demonstrable understanding as regards the source data.

As for the theoretical interpretation of those numbers, I openly suggested my students to refer to the theory of Marshallian equilibrium vs the theory of monopoly. Here is how it goes. The margin of value added has two interpretations as regards the market structure. Value added can be what the supplier charges his customers, just because they are willing to accept it, and this is the monopolistic view. As the Austrian school of economics used to state, any market is a monopoly before being a competitive structure. It means that any relations a business can develop with its customers is, first of all, a one on one relation. In most businesses there is at least a small window of price, within which the supplier can charge their customers whatever he wants, and still stay in balance with demand. In clearly monopolistic markets that window can be quite wide.

On the other hand, value added is what the exogenous market equilibriums allow a firm to gain as a margin between the market of their final goods, and that of intermediate goods. This is value added understood as price constraint. Below, I present those two ideas graphically, and I expected my students to force their pens into drawing something similar.


Question 2 (open): Calculate the marginal cost of revenue from 2015 to 2017 (i.e. ∆ cost of revenue / ∆ revenue), for the whole business of Tesla, and for each operating segment separately. Use those calculations explicitly to provide a balanced judgment on the following claim: “The ‘Energy and storage’ operating segment at Tesla presents the greatest opportunities for future profit”.  


As I reviewed those exam papers, I could see that the concept of marginal change is enormously hard to grasp. It is a pity, as: a) the whole teaching of calculus, at high school, is essentially about marginal change b) the concept of marginal change is one of the theoretical pillars of modern science in general, and it comes straight from grandpa Isaac Newton.

Anyway, what we need, in the first place, is the marginal cost of revenue, from 2015 to 2017, calculated as ‘∆ cost of revenue / ∆ revenue’. The ∆ is, in this case, the difference between values reported in 2017, and those from 2015. The marginal cost of revenue is simply the cost of having one more thousand of dollars in revenue. The corresponding values of marginal cost are given in the table below.


Operating segment at Tesla Inc. Marginal cost of revenue from 2015 through 2017
Overall                             0,83
Automotive sales                             0,80
Automotive leasing                             0,66
Energy generation and storage                             0,78
Services and other                             1,33


Most of the students who took this exam, on the 1st of February, failed to address the claim phrased in the question, and it was mostly because they apparently did not understand what is the meaning of what they have calculated. Many had those numbers right, although some were overly zealous and calculated the marginal cost for two windows in time separately: 2015 – 2016, and then 2016 – 2017. I asked specifically to jump from 2015 straight into 2017. Still, the real struggle was the unit of measurement. I saw many papers, whose authors transformed those numbers – correctly calculated – into percentages. Now, look people. In the source table, you have data in thousands of dollars, right? A delta of $000 is given in $000, right? A coefficient made of two such deltas is still in $000. Those numbers mean that if you want to have one more thousand of them US dollars in revenues, at Tesla Inc., you need to spend $830 in cost of revenue, and correspondingly for particular operating segments.

Thus, when anyone wrote those marginal values as percentages, I was very sorry to give that answer a mention ‘Demonstrable lack of understanding regarding the concept of marginal cost’.

When considering the marginal cost of revenue as an estimation of future profits, the lower it is, the greater profit we can generate. With a given price, the lower the cost, the greater the profit margin. The operating segment labelled ‘Energy generation and storage’ doesn’t look bad at all, in that respect, certainly better than them ‘Services and other’, still it is the segment of ‘Automotive leasing’ that yields the lowest marginal cost of revenues. Thus, the claim “The ‘Energy and storage’ operating segment at Tesla presents the greatest opportunities for future profit” is false, as seen from this perspective.

I am consistently delivering good, almost new science to my readers, and love doing it, and I am working on crowdfunding this activity of mine. As we talk business plans, I remind you that you can download, from the library of my blog, the business plan I prepared for my semi-scientific project Befund  (and you can access the French version as well). You can also get a free e-copy of my book ‘Capitalism and Political Power’ You can support my research by donating directly, any amount you consider appropriate, to my PayPal account. You can also consider going to my Patreon page and become my patron. If you decide so, I will be grateful for suggesting me two things that Patreon suggests me to suggest you. Firstly, what kind of reward would you expect in exchange of supporting me? Secondly, what kind of phases would you like to see in the development of my research, and of the corresponding educational tools?


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 ?

Dydaktyka: zadanie z mikroekonomii na temat biletów lotniczych

Mój wstępniak na You Tube

Przedstawiam interpretację typowego zadania (tematu) kolokwium z mikroekonomii, odnoszącego się do mechanizmu określania ceny rynkowej w równowadze Marshalla, zwanej bardziej potocznie równowagą popytowo-podażową. Temat, jaki zadaję na kolokwium, brzmi mniej więcej tak: bierzemy konkretny rynek i staramy się wyjaśnić mechanizm kształtowania ceny właśnie przy pomocy modelu równowagi Marshalla.

Na początek przypomnienie podstaw. Równowaga Marshalla to rynek, na którym cena jest ceną równowagi pomiędzy popytem a podażą. Funkcja popytu zakłada, że nabywcy są wrażliwi na wzrost ceny, a sprzedający są wrażliwi na jej spadek. W efekcie mamy popyt malejący w funkcji ceny oraz podaż rosnącą w funkcji ceny. Graficznie to wygląda mniej więcej tak:

Z nieco bardziej praktycznego punktu widzenia, równowaga Marshalla to rynek, który narzuca nam określoną cenę: cenę równowagi. Jeżeli kiedyś robiliście badanie rynku na potrzeby biznes planu, mogliście zauważyć dwa typy rynków. Jeden typ to rynek, gdzie większość transakcji dokonuje się w stosunkowo wąskim przedziale cen. Transakcji o cenach o wiele wyższych czy też o wiele niższych od tego centralnego przedziału jest stosunkowo niewiele. Na takim rynku lepiej wpisać do swojego biznes planu właśnie taką cenę – cenę równowagi rynkowej – jako naszą cenę sprzedaży. Szanse, że zdołamy sprzedać po innej cenie są znikome. Drugi typ to rynek o cenach wyraźnie zróżnicowanych, gdzie każdy dostawca ma swoją odrębność i także odrębną cenę. Taki rynek daje nam więcej swobody, jeżeli chodzi o naszą politykę cenową.

Na kolokwiach z mikroekonomii zadaję często następujący temat: „Kupując bilety lotnicze w Internecie, można zauważyć, że cena na to samo połączenie zmienia się z dnia na dzień. Proszę wyjaśnić to zjawisko przy pomocy teorii równowagi Marshalla”.

Jest kilka możliwych kątów podejścia to tego tematu. Ja zachęcam moich studentów do myślenia naukowego, a więc przede wszystkim do analizy faktów i to jest pierwsza część interpretacji tego tematu: „Analiza kontekstu empirycznego”. W ramach tej analizy zaczynamy od faktu dużego zróżnicowania wyboru, jaki mają kupujący. Na niektórych liniach, np. Warszawa – Paryż, można wybierać między wieloma lotami nawet tego samego dnia. Jeżeli mamy większą tolerancję czasową, czyli możemy lecieć w jednym z kilku sąsiadujących dni, nasz wybór się poszerza. Na innych liniach, np. Warszawa – Tokio, wybór jest mniejszy, jednak znowu możemy go poszerzyć, jeżeli jesteśmy skłonni do większej ilości przesiadek. Cena równowagi w modelu Marshalla to cena kształtowana w warunkach doskonałej konkurencji, więc w tym wypadku możemy od razu zauważyć, że presja konkurencyjna na kształtowanie ceny równowagi, w tej konkretnej sytuacji, zależy od konkretnej linii oraz od behawioralnej elastyczności kupujących.

Teraz zawężamy obserwację do jednego konkretnego lotu. To jest jeden samolot i ma on skończoną liczbę miejsc, nawet jeżeli jest to samolot linii Ryanair. Każdy kolejny kupiony bilet zmniejsza ilość miejsc pozostałą do sprzedaży. W schemacie graficznym równowagi Marshalla – jak wyżej – to trochę tak, jakby po każdej transakcji krzywa podaży przesuwała się w dół o jednostkę. Przy pozostałych czynnikach niezmiennych – czyli przy stałym popycie – oznacza to sekwencyjny wzrost ceny równowagi: P*(t1) > P*(t0), a potem P*(t2) > P*(t1) itd. Każdy kolejny krok w tej sekwencji wiąże się z rosnącą zmianą krańcową podaży. Ubytek jednego wolnego miejsca spośród 200 to zmiana o 1/200, ale ubytek jednego miejsca spośród ostatnich 15 to już 1/15, czyli 200/15 = 13,33 razy więcej. Mechanizm wzrostu ceny w miarę sprzedaży kolejnych miejsc działa z rosnącą siłą.

Ten proces zmiany ceny na skutek zmiany podaży możemy teraz spróbować umieścić w różnych hipotetycznych kontekstach zachowania nabywców. Podkreślam: chodzi o zachowania hipotetyczne. Nie wiemy, jak dokładnie zachowują się nabywcy. Kiedy polujemy na tanie bilety lotnicze, nie wiemy, jak zachowują się inni polujący. Możemy co najwyżej zgadywać. Im bliżej daty lotu, popyt może się zwiększać i wzmocnić tym samym wyżej omówione zjawisko wzrostu ceny na skutek zmian podaży. Może być jednak tak, że im bliżej daty lotu, tym bardziej nabywcy będą przekonani, że nie ma sensu już kupować biletu i wtedy zmiana popytu działa przeciwstawnie do zmiany podaży.

To są podstawowe elementy analizy empirycznej w tym zadaniu. Można do niego również podejść od strony teoretycznej i formalnie sprawdzić, czy cena biletów lotniczych kupowanych online jest ceną równowagi. Cena równowagi ma dwie „grube” cechy teoretyczne: po pierwsze, jest ceną w warunkach doskonałej konkurencji, a po drugie jest ceną równoważącą popyt i podaż. Doskonała konkurencja występuje, kiedy mamy spełnione następujące warunki: a) wielość dostawców b) homogeniczność podaży (identyczne dobra, identyczna technologia dostarczenia dóbr) c) homogeniczność popytu (identyczne zachowania zakupowe nabywców, przede wszystkim identyczny budżet na określony typ zakupów) d) doskonała informacja oraz e) brak kapitałowych barier wejścia.

Bariery wejścia są tu oczywiste. Na uruchomienie linii lotniczych trzeba trochę więcej kapitału niż na założenie warzywniaka. Kwestię wielości dostawców już przeanalizowaliśmy wcześniej: zależy ona od konkretnej linii oraz od zachowań nabywców. Te ostatnie są zróżnicowane, zarówno behawioralnie jak i ekonomicznie. Ludzie kupują bilety lotnicze w różnych celach, przy różnych budżetach na podróż oraz przy różnej elastyczności odnośnie dat i przesiadek. Z tą homogenicznością popytu to tak nie za bardzo. Homogeniczność podaży jest za to dość wyraźna. Samoloty są podobne, procedury podobne, różna może być polityka cenowa linii lotniczych, jeżeli chodzi o bagaż podręczny itp. Dostęp do informacji zależy od rodzaju informacji. Kiedy kupuję bilety lotnicze, mogę łatwo sprawdzić różne dostępne możliwości, prawie doskonale. Jednakowoż, nie mam informacji na temat zachowania innych nabywców oraz nie jestem w stanie przewidzieć zmian ceny, nawet w najbliższych dniach. Linie lotnicze mogą analizować zachowania zakupowe nabywców przy pomocy silnika behawioralnego, jednak pozostaje sporo niewiadomych.

Kryteria konkurencji doskonałej są więc tutaj spełnione jedynie częściowo. Cena biletu lotniczego jest w części ceną konkurencyjną, a w pozostałej części ceną monopolistyczną, a wzajemne proporcje tych dwóch części są zmienne. Teraz przechodzimy do drugiej cechy teoretycznej ceny równowagi, czyli do równoważenia popytu i podaży. To jest stara interpretacja ceny równowagi, z końca XIX wieku, kiedy to Alfred Marshall po raz pierwszy zademonstrował ten model graficzny z dwiema przecinającymi się krzywymi (Marshall 1898[1]). Cena równowagi to miała być cena, trafienie w którą gwarantowało czyszczenie magazynów i sprzedaż na bieżąco z linii produkcyjnej. Czy cena biletu lotniczego kupowanego online „czyści magazyn”? Czasami tak, jeżeli wszystkie albo prawie wszystkie miejsca w samolocie zostają wyprzedane po mniej więcej tej samej cenie w krótkim czasie. Wtedy jednak nie mamy do czynienia ze zjawiskiem, na którym opiera się ten konkretny temat kolokwium: nie mamy do czynienia z wyraźnie obserwowalną zmianą cen biletów na to samo połączenie w miarę upływu czasu.

Z teoretycznego punktu widzenia równowaga Marshalla pozwala więc wyjaśnić co najwyżej część omawianego zjawiska. W ocenie prac studentów zakładam, że rozwinięcie każdej z wyżej wymienionych ścieżek analizy – empirycznej lub teoretycznej – jest dla mnie zadowalające i pozwala mi dać studentowi maksymalną ilość punktów, a więc 5,0 z kolokwium. Być może powinienem wymagać obydwu rozwinięć na raz, żeby dać piątkę, jednak patrzę na to z punktu widzenia wykonalności. Standardowy czas kolokwium, czyli mniej więcej półtorej godziny, po odliczeniu czasu potrzebnego na zrobienie notatek na brudno, pozwala na zadowalający opis raczej jednej z tych ścieżek niż obydwu. Rozwinięcie częściowe, w różnych wariantach, jest dla mnie warte od 3,0 do 4,5, w zależności od stopnia złożoności oraz możliwych błędów w rozumowaniu.

[1] Marshall, A. (1898). Principles of economics. Vol. 1. Macmillan And Co., Limited; London.

The mathematics of whatever you want: some educational content regarding political systems

My editorial on You Tube

This time, I go educational, and I go educational about political systems, and more specifically about electoral regimes. I generally avoid talking politics with my friends, as I want them to keep being my friends. Really, politics have become so divisive a topic, those last years. I remember, like 20 years ago, talking politics was like talking about the way to organize a business, or to design a machine. Now, it has become more like an ideological choice. Personally, I find it deplorable. There are always people who have more power than other people. Democracy allows us to have some control over those people in power, and if we want to exercise effective control, we need to get your own s**t together, emotionally too. If we become so emotional about politics that we stop thinking rationally, there is something wrong with us.

OK, enough ranting and moaning. Let’s get into facts and method. So, I start as I frequently do: I make a structure, and I drop numbers casually into it, just like that. Later on, I will work through the meaning of those numbers. My structure is a simple political system made of a juxtaposition of threes. There are 3 constituencies, equal in terms of incumbent voters: each constituency has 200 000 of them incumbent voters. Three political parties – Party A, Party B, and Party C – rival for votes in those 3 constituencies. Each political party presents three candidates in the electoral race. Party A presents its candidate A.1. in Constituency 1, candidate A.2. runs in Constituency 2, and Candidate A.3 in Constituency 3. Party B goes sort of the opposite way, and makes its candidates run like: B.1. in Constituency 3, B.2. in Constituency 2, and B.3. in Constituency 1. Party C wants to be original and makes like a triangle: its candidate C.1. runs in Constituency 2, C.2. tries their luck in Constituency 3, and C.3. is in the race in Constituency 1.

Just to recapitulate that distribution of candidates as a choice presented to voters, those in Constituency 1 choose between candidates A.1., B.3., and C.3., voters in Constituency 2 split their votes among A.2., B.2., and C.1.; finally, voters in Constituency 3 have a choice between A.3., B.1., and C.2. It all looks a bit complicated, I know, and, in a moment, you will read a table with the electoral scores, as number of votes obtained. I am just signalling the assumption I made when I was making those scores up: as we have 3 candidates in each constituency, voters do not give, under any circumstance, more than 50% of their votes (or more than 100 000 in absolute numbers) to one candidate. Implicitly, I assume that candidates already represent, somehow, their local populations. It can be achieved through some kind of de facto primary elections, e.g. when you need a certain number of officially collected voters’ signatures in order to register a candidate as running in a given constituency. Anyway, you have those imaginary electoral scores in Table 1, below. Save for the assumption about ‘≤ 50%’, those numbers are random.


  Table 1 – Example of electoral score in the case studied (numbers are fictional)

Number of votes obtained
Party Candidate Constituency 1 Constituency 2 Constituency 3
Party A Candidate A.1 23 000
total score [votes]

              174 101    

Candidate A.2 99 274
Candidate A.3 51 827
Party B Candidate B.1 6 389
total score [votes]

              111 118    

Candidate B.2 40 762
Candidate B.3 63 967
Party C Candidate C.1 13 580
total score [votes]

              134 691    

Candidate C.2 33 287
Candidate C.3 87 824
Total 174 791 153 616 91 503


On the whole, those random numbers had given quite a nice electoral attendance. In a total population of 600 000 voters, 419 910 had gone to the ballot, which makes 70%. In that general landscape, the three constituencies present different shades. People in the 1 and the 2 are nicely dutiful, they turned up to that ballot at the respective rates of 87,4%, and 76,8%. On the other hand, people in Constituency 3 seem to be somehow disenchanted: their electoral attendance was 45,8%. Bad citizens. Or maybe just bloody pissed.

Now, I apply various electoral regimes to that same distribution of votes. Scenario 1 is a simple one. It is a strictly proportional electoral regime, where votes from all three constituencies are pooled together, to allocate 5 seats among parties. The number of seats going to each party are calculated as: “Total score of the party/ Total number of votes cast”. Inside each party, seats go specific candidates according to their individual scores. The result is a bit messy. Party A gets 2 seats, for its candidates A.2. and A.3., party B passes its B.3. man, and Party C gets C.3. into the Parliament. The first, tiny, little problem is that we had 5 seats to assign, and just 4 got assigned. Why? Simple: the parties acquired fractions of seats. In the strictly proportional count, Party A got 2,073075183 seats, Party B had 1,323116858, and Party’s C score was 1,603807959. I agree that we could conceivably give 0,32 of one seat to a party. People can share, after all. Still, I can barely conceive assigning like 0,000000058 of one seat. Could be tricky for sharing. That is a typical problem with strictly proportional regimes: they look nice and fair at the first sight, but in real life they have the practical utility of an inflatable dartboard.

Scenario 2 is once again a strictly proportional regime, with 6 seats to distribute, only this time,  in each constituency, 2 seats are to be distributed among the candidates with the best scores. The result is a bit of an opposite of Scenario 1: it looks suspiciously neat. Each party gets an equal number of seats, i.e. 2. Candidates A.2., A.3., B2., B.3., C.2., and C.3. are unfolding their political wings. I mean, I have nothing against wings, but it was supposed to be proportional, wasn’t it? Each party got a different electoral score, and each gets the same number of seats. Looks a bit too neat, doesn’t it? Once again, that’s the thing with proportional: growing your proportions does not always translate into actual outcomes.

Good. I go for the 3rd scenario: a strictly plural regime, 3 seats to allocate, in each constituency just one candidate, the one with the best score, gets the seat. This is what the British people call ‘one past the post’, in their political jargon. Down this avenue, Party A pushes it’s A.2. and A.3. people through the gate, and Party C does so with C.3. That looks sort of fair, still there is something… In Constituency 1, 87 000 of votes, with a small change, got the voters one representative in the legislative body. In constituencies 2 and 3, the same representation – 1 person in the probably right place – has been acquired with, respectively, 99 274, and 33 287 votes. Those guys from constituencies 1 and 2 could feel a bit disappointed. If they were voting in constituency 3, they would need much less mobilisation to get their man past the post.

Scenario 4 unfolds as a mixed, plural-proportional regime, with 5 seats to allocate; 3 seats go to the single best candidate in each constituency, as in Scenario 3, and 2 seats go to the party with the greatest overall score across all the 3 constituencies. Inside that party, the 2 seats in question go to candidates with the highest electoral scores. The results leave me a bit perplex: they are identical to those in Scenario 3. The same people got elected, namely A.2., A.3., and C.3., only this time we are left with 2 vacancies. Only 3 seats have been allocated, out of the 5 available. How could it have happened? Well, we had a bit of a loop, here. The party with the highest overall score is Party A, and they should get the 2 seats in the proportional part of the regime. Yet, their two best horses, A.2. and A.3. are already past the post, and the only remaining is A.1. with the worst score inside their party. Can a parliamentary seat, reserved for the best runner in the winning party, be attributed to actually the worst one? Problematic. Makes bad publicity.

Scenarios 5 and 6 are both variations on the d’Hondt system. This is a special approach to mixing plural with proportional, and more specifically, to avoiding those fractional seats as in Scenario 1. Generally, the total number of votes cast for each party is divided by consecutive denominators in the range from 1 up to the number of seats to allocate. We get a grid, out of which we pick up as many greatest values as there are seats to allocate. In Scenario 5, I apply the d’Hondt logic to votes from all the 3 constituencies pooled together, and I allocate 6 seats. Scenario 6 goes with the d’Hondt logic down to the level of each constituency separately, 2 seats to allocate in each constituency. The total number of votes casted for each party is divided by consecutive denominators in the range from 1 up to the number of seats to allocate (2 in this case). The two greatest values in such a grid get the seats. Inside each party, the attribution of seats to candidates is proportional to their individual scores.

Scenario 5 seems to work almost perfectly. Party A gets 3 seats, thus they get all their three candidates past the post, Party C acquires 2 seats for C.2. and C.3., whilst Party B has one seat for candidate B.3. In a sense, this particular mix of plural and proportional seems even more fairly proportional that Scenario 1. The detailed results, which explain the attribution of seats, are given in Table 2, below.


Table 2 – Example of application of the d’Hondt system, Scenario 5

Number of votes obtained divided by consecutive denominators
Denominator of seats Party A Party B Party C
1        174 101            111 118            134 691    
2          87 051              55 559          67 346     
3          58 034              37 039          44 897
4          43 525          27 780          33 673
5          34 820          22 224          26 938
6          29 017          18 520          22 449


On the other hand, Scenario 6 seems to be losing the proportional component. Table 3, below, shows how exactly it is dysfunctional. As there are 2 seats to assign in each constituency, electoral scores of each party are being divided by, respectively, 1 and 2. In Constituency 1, the two best denominated scores befall to parties C and B, thus to their candidates C.3. and B.3. In Constituency 2, both of the two best denominated scores are attributed to Party A. The trouble is that Party A has just one candidate in this constituency, the A.2. guy, and he (she?) gets the seat. The second seat in this constituency must logically befall to the next best party with any people in the game, and it happens to be Party B and its candidate B.2. Constituency 3, in this particular scenario, gives two best denominated scores to parties A and C, thus to candidates A.3. and C.2. All in all, each party gets 2 seats out of the 6. Uneven scores, even distribution of rewards.


Table 3 – Application of the d’Hondt logic at the level of separate constituencies: Scenario 6.

Party A Party B Party C
Denominator of seats Constituency 1
1        23 000        63 967            87 824    
2        11 500        31 984        43 912
Constituency 2
1        99 274            40 762  (?)        13 580
2        49 637            20 381          6 790
Constituency 3
1        51 827              6 389        33 287    
2        25 914          3 195        16 644


Any mechanism can be observed under two angles: how it works, and how it doesn’t. It applies to electoral regimes, too. An electoral regime doesn’t work in two respects. First of all, it does not work if it does not lead to electing anyone. Second of all, it does not work if it fails to represent the votes cast in the people actually elected. There is a term, in the science of electoral systems: the wasted votes. They are votes, which do not elect anyone. They have been cast on candidates who lost the elections. Maybe some of you know that unpleasant feeling, when you learn that the person you voted for has not been elected. This is something like frustration, and yet, in my own experience, there is a shade of relief, as well. The person I voted for lost their electoral race, hence they will not do anything stupid, once in charge. If they were in charge, and did something stupid, I could be kind of held accountable. ‘Look, you voted for those idiots. You are indirectly responsible for the bad things they did’, someone could say. If they don’t get elected, I cannot be possibly held accountable for anything they do, ‘cause they are not in a position to do anything.

Wasted votes happen in all elections. Still, an efficient electoral regime should minimize their amount. Let’s compare those six alternative electoral regimes regarding their leakiness, i.e. their tendency to waste people’s voting power. You can see the corresponding analysis in Table 4 below. The method is simple. Numbers in the table correspond to votes from Table 1, cast on candidates who did not get elected in the given constituency, under the given electoral regime. You can see that the range of waste is quite broad, from 4,8% of votes cast, all the way up to 43% with a small change. It is exactly how real electoral regimes work, and this is, in the long run, the soft spot of any representative democracy. In whatever possible way you turn those numbers, you bump on a dilemma: either the race is fair for the candidates, or the ballot is fair for voters. A fair race means that essentially the best wins. There is no point in making an electoral regime, where inefficient contenders have big chances to get elected. On the other hand, those who lose the race represent people who voted for them. If we want all the voters to be accurately represented in the government, no candidate should be eliminated from the electoral contest, only then it would not be a contest.


Table 4

Number of votes, which do not elect any candidate
Constituency 1 Constituency 2 Constituency 3 Total elections
Scenario 1 23 000 40 762 33 287 97 049
Scenario 2 0 13 580 6 389 19 969
Scenario 3 23 000 54 342 33 287 110 629
Scenario 4 63 967 54 342 39 676 157 985
Scenario 5 (d’Hondt method, pooled) 0 54 342 6 389 60 731
Scenario 6 (d’Hondt method, separately by constituency) 23 000 54 342 39 676 117 018
Percentage of votes cast, which do not elect any candidate
Constituency 1 Constituency 2 Constituency 3 Total elections
Scenario 1 13,2% 26,5% 36,4% 23,1%
Scenario 2 0,0% 8,8% 7,0% 4,8%
Scenario 3 13,2% 35,4% 36,4% 26,3%
Scenario 4 36,6% 35,4% 43,4% 37,6%
Scenario 5 (d’Hondt method, pooled) 0,0% 35,4% 7,0% 14,5%
Scenario 6 (d’Hondt method, separately by constituency) 13,2% 35,4% 43,4% 27,9%
Average 12,7% 29,5% 28,9% 22,4%


I am consistently delivering good, almost new science to my readers, and love doing it, and I am working on crowdfunding this activity of mine. As we talk business plans, I remind you that you can download, from the library of my blog, the business plan I prepared for my semi-scientific project Befund  (and you can access the French version as well). You can also get a free e-copy of my book ‘Capitalism and Political Power’ You can support my research by donating directly, any amount you consider appropriate, to my PayPal account. You can also consider going to my Patreon page and become my patron. If you decide so, I will be grateful for suggesting me two things that Patreon suggests me to suggest you. Firstly, what kind of reward would you expect in exchange of supporting me? Secondly, what kind of phases would you like to see in the development of my research, and of the corresponding educational tools?

The point of doing manually what the loop is supposed to do

My editorial on You Tube

OK, here is the big picture. The highest demographic growth, in absolute numbers, takes place in Asia and Africa. The biggest migratory flows start from there, as well, and aim at and into regions with much less of human mass in accrual: North America and Europe. Less human accrual, indeed, and yet much better conditions for each new homo sapiens. In some places on the planet, a huge amount of humans is born every year. That huge amount means a huge number of genetic variations around the same genetic tune, namely that of the homo sapiens. Those genetic variations leave their homeland, for a new and better homeland, where they bring their genes into a new social environment, which assures them much more safety, and higher odds of prolonging their genetic line.

What is the point of there being more specimens of any species? I mean, is there a logic to increasing the headcount of any population? When I say ‘any’, is ranges from bacteria to us, humans. After having meddled with the most basic algorithm of a neural network (see « Pardon my French, but the thing is really intelligent » and « Ce petit train-train des petits signaux locaux d’inquiétude »), I have some thoughts about what intelligence is. I think that intelligence is a class, i.e. it is a framework structure able to produce many local, alternative instances of itself.

Being intelligent consists, to start with, in creating alternative versions of itself, and creating them purposefully imperfect so as to generate small local errors, whilst using those errors to create still different versions of itself. The process is tricky. There is some sort of fundamental coherence required between the way of creating those alternative instances of oneself, and the way that resulting errors are being processed. Fault of such coherence, the allegedly intelligent structure can fall into purposeful ignorance, or into panic.

Purposeful ignorance manifests as the incapacity to signal and process the local imperfections in alternative instances of the intelligent structure, although those imperfections actually stand out and wave at you. This is the ‘everything is just fine and there is no way it could be another way’ behavioural pattern. It happens, for example, when the function of processing local errors is too gross – or not sharp enough, if you want – to actually extract meaning from tiny, still observable local errors. The panic mode of an intelligent structure, on the other hand, is that situation when the error-processing function is too sharp for the actually observable errors. Them errors just knock it out of balance, like completely, and the function signals general ‘Error’, or ‘I can’t stand this cognitive dissonance’.

So, what is the point of there being more specimens of any species? The point might be to generate as many specific instances of an intelligent structure – the specific DNA – as possible, so as to generate purposeful (and still largely unpredictable) errors, just to feed those errors into the future instantiations of that structure. In the process of breeding, some path of evolutionary coherence leads to errors that can be handled, and that path unfolds between a state of evolutionary ‘everything is OK, no need to change anything’ (case mosquito, unchanged for millions of years), and a state of evolutionary ‘what the f**k!?’ (case common fruit fly, which produces insane amount of mutations in response to the slightest environmental stressor).

Essentially, all life could be a framework structure, which, back in the day, made a piece of software in artificial intelligence – the genetic code – and ever since that piece of software has been working on minimizing the MSE (mean square error) in predicting the next best version of life, and it has been working by breeding, in a tree-like method of generating variations,  indefinitely many instances of the framework structure of life. Question: what happens when, one day, a perfect form of life emerges? Something like TRex – Megalodon – Angelina Jolie – Albert Einstein – Jeff Bezos – [put whatever or whoever you like in the rest of that string]? On the grounds of what I have already learnt about artificial intelligence, such a state of perfection would mean the end of experimentation, thus the end of multiplying instances of the intelligent structure, thus the end of births and deaths, thus the end of life.

Question: if the above is even remotely true, does that overarching structure of life understand how the software it made – the genetic code – works? Not necessarily. That very basic algorithm of neural network, which I have experimented with a bit, produces local instances of the sigmoid function Ω = 1/(1 + e-x) such that Ω < 1, and that 1 + e-x > 1, which is always true. Still, the thing does it just sometimes. Why? How? Go figure. That thing accomplishes an apparently absurd task, and it does so just by being sufficiently flexible with its random coefficients. If Life In General is God, that God might not have a clue about how the actual life works. God just needs to know how to write an algorithm for making actual life work. I would even say more: if God is any good at being one, he would write an algorithm smarter than himself, just to make things advance.

The hypothesis of life being one, big, intelligent structure gives an interesting insight into what the cost of experimentation is. Each instance of life, i.e. each specimen of each species needs energy to sustain it. That energy takes many forms: light, warmth, food, Lexus (a form of matter), parties, Armani (another peculiar form of matter) etc. The more instances of life are there, the more energy they need to be there. Even if we take the Armani particle out of the equation, life is still bloody energy-consuming. The available amount of energy puts a limit to the number of experimental instances of the framework, structural life that the platform (Earth) can handle.

Here comes another one about climate change. Climate change means warmer, let’s be honest. Warmer means more energy on the planet. Yes, temperature is our human measurement scale for the aggregate kinetic energy of vibrating particles. More energy is what we need to have more instances of framework life, in the same time. Logically, incremental change in total energy on the planet translates into incremental change in the capacity of framework life to experiment with itself. Still, as framework life could be just the God who made that software for artificial intelligence (yes, I am still in the same metaphor), said framework life could not be quite aware of how bumpy could the road be, towards the desired minimum in the Mean Square Error. If God is an IT engineer, it could very well be the case.

I had that conversation with my son, who is graduating his IT engineering studies. I told him ‘See, I took that algorithm of neural network, and I just wrote its iterations out into separate tables of values in Excel, just to see what it does, like iteration after iteration. Interesting, isn’t it? I bet you have done such thing many times, eh?’. I still remember that heavy look in my son’s eyes: ‘Why the hell should I ever do that?’ he went. ‘There is a logical loop in that algorithm, you see? This loop is supposed to do the job, I mean to iterate until it comes up with something really useful. What is the point of doing manually what the loop is supposed to do for you? It is like hiring a gardener and then doing everything in the garden by yourself, just to see how it goes. It doesn’t make sense!’. ‘But it’s interesting to observe, isn’t it?’ I went, and then I realized I am talking to an alien form of intelligence, there.

Anyway, if God is a framework life who created some software to learn in itself, it could not be quite aware of the tiny little difficulties in the unfolding of the Big Plan. I mean acidification of oceans, hurricanes and stuff. The framework life could say: ‘Who cares? I want more learning in my algorithm, and it needs more energy to loop on itself, and so it makes those instances of me, pumping more carbon into the atmosphere, so as to have more energy to sustain more instances of me. Stands to reason, man. It is all working smoothly. I don’t understand what you are moaning about’.

Whatever that godly framework life says, I am still interested in studying particular instances of what happens. One of them is my business concept of EneFin. See « Which salesman am I? » as what I think is the last case of me being like fully verbal about it. Long story short, the idea consists in crowdfunding capital for small, local operators of power systems based on renewable energies, by selling shares in equity, or units of corporate debt, in bundles with tradable claims on either the present output of energy, or the future one. In simple terms, you buy from that supplier of energy tradable claims on, for example, 2 000 kWh, and you pay the regular market price, still, in that price, you buy energy properly spoken with a juicy discount. The rest of the actual amount of money you have paid buys you shares in your supplier’s equity.

The idea in that simplest form is largely based on two simple observations about energy bills we pay. In most countries (at least in Europe), our energy bills are made of two components: the (slightly) variable value of the energy actually supplied, and a fixed part labelled sometimes as ‘maintenance of the grid’ or similar. Besides, small users (e.g. households) usually pay a much higher unitary price per kWh than large, institutional scale buyers (factories, office buildings etc.). In my EneFin concept, a local supplier of renewable energy makes a deal with its local customers to sell them electricity at a fair, market price, with participations in equity on the top of electricity.

That would be a classical crowdfunding scheme, such as you can find with, StartEngine, for example. I want to give it some additional, financial spin. Classical crowdfunding has a weakness: low liquidity. The participatory shares you buy via crowdfunding are usually non-tradable, and they create a quasi-cooperative bond between investors and investees. Where I come from, i.e. in Central Europe, we are quite familiar with cooperatives. At the first sight, they look like a form of institutional heaven, compared to those big, ugly, capitalistic corporations. Still, after you have waved out that first mist, cooperatives turn out to be very exposed to embezzlement, and to abuse of managerial power. Besides, they are quite weak when competing for capital against corporate structures. I want to create highly liquid a transactional platform, with those investments being as tradable as possible, and use financial liquidity as a both a shield against managerial excesses, and a competitive edge for those small ventures.

My idea is to assure liquidity via a FinTech solution similar to that used by Katipult Technology Corp., i.e. to create some kind of virtual currency (note: virtual currency is not absolutely the same as cryptocurrency; cousins, but not twins, so to say). Units of currency would correspond to those complex contracts « energy plus equity ». First, you create an account with EneFin, i.e. you buy a certain amount of the virtual currency used inside the EneFin platform. I call them ‘tokens’ to simplify. Next, you pick your complex contracts, in the basket of those offered by local providers of energy. You buy those contracts with the tokens you have already acquired. Now, you change your mind. You want to withdraw your capital from the supplier A, and move it to supplier H, you haven’t considered so far. You move your tokens from A to H, even with a mobile app. It means that the transactional platform – the EneFin one – buys from you the corresponding amount of equity of A and tries to find for you some available equity in H. You can also move your tokens completely out of investment in those suppliers of energy. You can free your money, so to say. Just as simple: you just move them out, even with a movement of your thumb on the screen. The EneFin platform buys from you the shares you have moved out of.

You have an even different idea. Instead of investing your tokens into the equity of a provider of energy, you want to lend them. You move your tokens to the field ‘lending’, you study the interest rates offered on the transactional platform, and you close the deal. Now, the corresponding number of tokens represents securitized (thus tradable) corporate debt.

Question: why the hell bothering about a virtual currency, possibly a cryptocurrency, instead of just using good old fiat money? At this point, I am reaching to the very roots of the Bitcoin, the grandpa of all cryptocurrencies (or so they say). Question: what amount of money you need to finance 20 transactions of equal unitary value P? Answer: it depends on how frequently you monetize them. Imagine that the EneFin app offers you an option like ‘Monetize vs. Don’t Monetize’. As long as – with each transaction you do on the platform – you stick to the ‘Don’t Monetize’ option, your transactions remain recorded inside the transactional platform, and so there is recorded movement in tokens, but there is no monetary outcome, i.e. your strictly spoken monetary balance, for example that in €, does not change. It is only when you hit the ‘Monetize’ button in the app that the current bottom line of your transactions inside the platform is being converted into « official » money.

The virtual currency in the EneFin scheme would serve to allow a high level of liquidity (more transactions in a unit of time), without provoking the exactly corresponding demand for money. What connection with artificial intelligence? I want to study the possible absorption of such a scheme in the market of energy, and in the related financial markets, as a manifestation of collective intelligence. I imagine two intelligent framework structures: one incumbent (the existing markets) and one emerging (the EneFin platform). Both are intelligent structures to the extent that they technically can produce many alternative instances of themselves, and thus intelligently adapt to their environment by testing those instances and utilising the recorded local errors.

In terms of an algorithm of neural network, that intelligent adaptation can be manifest, for example, as an optimization in two coefficients: the share of energy traded via EneFin in the total energy supplied in the given market, and the capitalization of EneFin as a share in the total capitalization of the corresponding financial markets. Those two coefficients can be equated to weights in a classical MLP (Multilayer Perceptron) network, and the perceptron network could work around them. Of course, the issue can be approached from a classical methodological angle, as a general equilibrium to assess via « normal » econometric modelling. Still, what I want is precisely what I hinted in « Pardon my French, but the thing is really intelligent » and « Ce petit train-train des petits signaux locaux d’inquiétude »: I want to study the very process of adaptation and modification in those intelligent framework structures. I want to know, for example, how much experimentation those structures need to form something really workable, i.e. an EneFin platform with serious business going on, and, in the same time, that business contributing to the development of renewable energies in the given region of the world. Do those framework structures have enough local resources – mostly capital – for sustaining the number of alternative instances needed for effective learning? What kind of factors can block learning, i.e. drive the framework structure either into deliberate an ignorance of local errors or into panic?

Here is an example of more exact a theoretical issue. In a typical economic model, things are connected. When I pull on the string ‘capital invested in fixed assets’, I can see a valve open, with ‘Lifecycle in incumbent technologies’, and some steam rushes out. When I push the ‘investment in new production capacity’ button, I can see something happening in the ‘Jobs and employment’ department. In other words, variables present in economic systems mutually constrain each other. Just some combinations work, others just don’t. Now, the thing I have already discovered about them Multilayer Perceptrons is that as soon as I add some constraint on the weights assigned to input data, for example when I swap ‘random’ for ‘erandom’, the scope of possible structural functions leading to effective learning dramatically shrinks, and the likelihood of my neural network falling into deliberate ignorance or into panic just swells like hell. What degree of constraint on those economic variables is tolerable in the economic system conceived as a neural network, thus as a framework intelligent structure?

There are some general guidelines I can see for building a neural network that simulates those things. Creating local power systems, based on microgrids connected to one or more local sources of renewable energies, can be greatly enhanced with efficient financing schemes. The publicly disclosed financial results of companies operating in those segments – such as Tesla[1], Vivint Solar[2], FirstSolar[3], or 8Point3 Energy Partners[4] – suggest that business models in that domain are only emerging, and are far from being battle-tested. There is still a way to pave towards well-rounded business practices as regards such local power systems, both profitable economically and sustainable socially.

The basic assumptions of a neural network in that field are essentially behavioural. Firstly, consumption of energy is greatly predictable at the level of individual users. The size of a market in energy changes, as the number of users change. The output of energy needed to satisfy those users’ needs, and the corresponding capacity to install, are largely predictable on the long run. Consumers of energy use a basket of energy-consuming technologies. The structure of this basket determines their overall consumption, and is determined, in turn, by long-run social behaviour. Changes over time in that behaviour can be represented as a social game, where consecutive moves consist in purchasing, or disposing of a given technology. Thus, a game-like process of relatively slow social change generates a relatively predictable output of energy, and a demand thereof. Secondly, the behaviour of investors in any financial market, crowdfunding or other, is comparatively more volatile. Investment decisions are being taken, and modified at a much faster pace than decisions about the basket of technologies used in everyday life.

The financing of relatively small, local power systems, based on renewable energies and connected by local microgrids, implies an interplay of the two above-mentioned patterns, namely the relatively slower transformation in the technological base, and the quicker, more volatile modification of investors’ behaviour in financial markets.

I am consistently delivering good, almost new science to my readers, and love doing it, and I am working on crowdfunding this activity of mine. As we talk business plans, I remind you that you can download, from the library of my blog, the business plan I prepared for my semi-scientific project Befund  (and you can access the French version as well). You can also get a free e-copy of my book ‘Capitalism and Political Power’ You can support my research by donating directly, any amount you consider appropriate, to my PayPal account. You can also consider going to my Patreon page and become my patron. If you decide so, I will be grateful for suggesting me two things that Patreon suggests me to suggest you. Firstly, what kind of reward would you expect in exchange of supporting me? Secondly, what kind of phases would you like to see in the development of my research, and of the corresponding educational tools?

[1] last access December, 18th, 2018

[2] last access December, 18th, 2018

[3] last access December, 18th, 2018

[4] last access December, 18th, 2018

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 ?

Trzy koty w moim ogródku i sieć neuronalna

Mój wstępniak na You Tube

W moim ostatnim wpisie (patrz Pardon my French, but the thing is really intelligent ) opisałem moją pierwszą przygodę z programowaniem sieci neuronalnej. Wyszukałem w Internecie jeden z najprostszych możliwych algorytmów w języku Python (znalazłem go w artykule How to build your own Neural Network from scratch in Python ) i zastosowałem do niewielkiej próbki danych na temat efektywności energetycznej w skali makroekonomicznej. Sieciami neuronalnymi zajmuję się z dwóch powodów. Po pierwsze, w mojej branży, czyli w naukach społecznych, estymacja modeli ekonometrycznych przy pomocy regresji liniowej testowanej metodą najmniejszych kwadratów zaczyna już trącić myszką. Modele oparte na sztucznej inteligencji albo przynajmniej testowane przy pomocy sieci neuronalnych zaczynają wypierać to, co można już dzisiaj określić jako tradycyjną statystykę probabilistyczną. Redaktor naczelny czasopisma „Energy Economics” właśnie zwrócił mi manuskrypt artykułu, z grzeczną lecz stanowczą sugestią, że w dziedzinie badań empirycznych nad efektywnością energetyczną warto wreszcie wyjść z jaskini i zacząć stosować nowsze metody badawcze. Święta prawda, Herr Redaktor, staram się nadgonić.

Po drugie, mam taką małą, prywatną i jednocześnie uogólnioną obsesję badawczą: staram się badać działanie naszych ludzkich struktur społecznych jako przejawu zbiorowej inteligencji. No dobra, może nie zawsze jesteśmy szczególnie bystrzy jako zbiorowość, ale jednak jakoś dajemy radę. No weźmy na przykład wynalezienie koła. Gdyby dzisiaj ktoś się pojawił, z tryumfalną miną, dzierżąc świeżo wynalezione koło, zaraz spotkałby się z krytyką: „Jedno koło ? A co Ty chcesz zrobić z jednym kołem ? Maszynę losującą ? Przecież trzeba co najmniej dwóch kół, no i jakiejś ośki. Z jednym kołem to nawet hulajnogi nie wynajdziemy”. W sumie racja, ale patrzcie: kiedyś ktoś wynalazł jedno koło i potem wszyscy pozostali mieli wystarczająco dużo cierpliwości, żeby wynaleźć drugie, potem oś łączącą oba, jeszcze później wynaleźli woły do ciągnięcia tego czegoś na tych dwóch kołach. To wszystko wymagało dalekowzrocznej i cierpliwej pracy, czyli przejawu zbiorowej inteligencji.

Wracam do opisu mojego pierwszego doświadczenia z algorytmem sieci neuronalnej. Wiem, że dla czytającego ten wpis informatyka moje zachwyty neofity mogą być żałosne, jednak cóż: to jest mój dziennik naukowy. Opisuję w nim uczciwie moją intelektualną podróż, a w każdej podróży po prostu trzeba przejść przez kolejne punkty i już. Moje podejście do tego konkretnego algorytmu było nieco odmienne od tego, jakie pokazał autor cytowanego przeze mnie artykułu. On sprawdził, ile iteracji potrzeba tej sieci neuronalnej dla zminimalizowania błędu w estymacji wartości wyjściowych z prostego zbioru wartości wejściowych. Interesowała go skuteczność. Ja z mojej strony obserwuję przede wszystkim sposób działania sieci neuronowej i jej strukturę tak, żebym mógł te obserwacje uogólnić na działanie czegokolwiek inteligentnego. Ja wziąłem więc ten prościutki algorytm sieci neuronalnej, przełożyłem go na powtarzalną sekwencję obliczeń i ręcznie wykonywałem kolejne rundy tychże obliczeń w Excelu, na niewielkiej próbce moich danych empirycznych na temat efektywności energetycznej w skali makro. Głupie ? Po co wykonywać obliczenia ręcznie, kiedy w algorytmie wpisana jest pętla i jej zadaniem jest automatyczne powtarzanie obliczeń ? No właśnie po to, żeby zrozumieć dokładnie jak to działa, krok po kroku.

Działa to w sposób, od którego szczęka mi opadła. Układ czterech (no, sześciu) równań, wykonywanych w zapętlonej sekwencji, najpierw generuje błędy w predykcji wartości zmiennej wyjściowej, potem zmniejsza skalę tych błędów, a następnie znowu ją zwiększa po to, aby potem znowu ją zmniejszyć. To coś – w sensie ten układ równań – generował błędy, na podstawie których następnie zmniejszał błędy, ale potem znowu generował kolejne błędy, jakby eksperymentował z dostępnym zbiorem danych. Układ równań, który mógłby być na rozszerzonej maturze z matematyki zachowywał się jak inteligentny organizm !

Kiedy patrzyłem na skumulowany błąd predykcji, jaki tworzył ten układ równań, przyszedł mi do głowy obraz kotów moich sąsiadów, kiedy łażą po moim ogródku (koty, nie sąsiedzi). W ciepłe i słoneczne dni (czyli raczej nie teraz), dach mojej szopy na narzędzia to taka plaża dla VIP-ów. Okoliczne koty uwielbiają się tam wygrzewać, ale uwaga: mimo że dach jest spory (jak dla kota), w sensie moralnym jest tam miejsce tylko dla jednego. Każdy kot, który wtedy wejdzie do mojego ogrodu, rozgląda się i buduje rodzaj optymalnej trasy tak, żeby rozpatrzeć sytuację („Czy ten czarny kulawy skurwiel z kretyńskim medalikiem na szyi przypadkiem nie podchodzi od strony krzaku forsycji ?”). Kot idzie trochę w lewo, trochę w prawo, eksperymentuje, potem w kolejnym dniu ustala trochę prostszą trasę, jednak – jakby niezadowolony ze zbytniego uproszczenia sytuacji – w kolejnych dniach znowu eksperymentuje, tylko nieco inaczej. Ten układ równań zachowywał się bardzo podobnie.

Staram się zrozumieć ten mechanizm, żeby go uogólnić. Najpierw potrzebne jest coś, co generuje błędy, na których można się uczyć czyli błędy, które określam dalej jako „znaczące” (w sensie, że mają znaczenie jako informacja). W tym układzie równań generowanie znaczących błędów polegało na połączeniu trzech elementów: składnika losowego, odchyleń generowanych przez składnik losowy oraz lokalnej pochodnej predykcji. Dobra, po kolei. Układ równań generował jakieś przewidywane wartości zmiennej wyjściowej – mojego igreka, czyli efektywności energetycznej gospodarki – na podstawie wartości pięciu zmiennych wejściowych: udziału zagregowanej amortyzacji (x1) oraz podaży pieniądza (x2) w PKB, średniej konsumpcji energii per capita (x3), udziału ludności miejskiej w populacji ogólnej (x4) oraz PKB per capita (x5). Dla wygody wklejam poniżej tabelę z danymi – dla Australii – na których eksperymentowałem.

Tabela 1 – Wybrane dane na temat efektywności energetycznej w Australii

Rok PKB na jednostkę spożycia energii (USD PPP 2011 na kilogram równoważnika ropy naftowej) Udział zagregowanej amortyzacji w PKB [%] Udział podaży pieniądza w PKB [%] Finalne spożycie energii per capita (tony równoważnika ropy naftowej) Urban population as % of total population GDP per capita, ‘000 USD
  y X1 X2 X3 X4 X5
1990 5,662020744 14,46 54,146 5,062 85,4 26,768
1991 5,719765048 14,806 53,369 4,928 85,4 26,496
1992 5,639817305 14,865 56,208 4,959 85,566 27,234
1993 5,597913126 15,277 56,61 5,148 85,748 28,082
1994 5,824685357 15,62 59,227 5,09 85,928 29,295
1995 5,929177604 15,895 60,519 5,129 86,106 30,489
1996 5,780817973 15,431 62,734 5,394 86,283 31,566
1997 5,860645225 15,259 63,981 5,47 86,504 32,709
1998 5,973528571 15,352 65,591 5,554 86,727 33,789
1999 6,139349354 15,086 69,539 5,61 86,947 35,139
2000 6,268129418 14,5 67,72 5,644 87,165 35,35
2001 6,531818805 14,041 70,382 5,447 87,378 36,297
2002 6,563073754 13,609 70,518 5,57 87,541 37,047
2003 6,677186947 13,398 74,818 5,569 87,695 38,302
2004 6,82834791 13,582 77,495 5,598 87,849 39,134
2005 6,99630318 13,737 78,556 5,564 88 39,914
2006 6,908872246 14,116 83,538 5,709 88,15 41,032
2007 6,932137612 14,025 90,679 5,868 88,298 42,022
2008 6,929395465 13,449 97,866 5,965 88,445 42,222
2009 7,039061961 13,698 94,542 5,863 88,59 41,616
2010 7,157467568 12,647 101,042 5,649 88,733 43,155
2011 7,291989544 12,489 100,349 5,638 88,875 43,716
2012 7,671605162 13,071 101,852 5,559 89,015 43,151
2013 7,891026044 13,455 106,347 5,586 89,153 43,238
2014 8,172929207 13,793 109,502 5,485 89,289 43,071

Obróbka danych z tabeli przez sieć neuronalną (układ równań) zaczynała się od czegoś, czego sens zrozumiałem dopiero zaobserwowawszy działanie sieci w praktyce i czego początkowo nie rozumiałem do końca: dla każdego iksa algorytm generował dwa kolejne iloczyny „x*współczynnik losowy”. Pierwszy raz to było w warstwie ukrytej sieci neuronalnej – tam było właśnie „x*współczynnik losowy” – drugi zaś raz w warstwie wyjściowej i tam było już „x*współczynnik losowy*zupełnie inny współczynnik losowy”. W oryginalnym algorytmie współczynniki losowe są generowane funkcją „random.rand” języka Python. Kiedy testowałem kolejne kroki algorytmu w Excelu, używałem zamiast tego funkcji „los()”.

Na początku tego nie rozumiałem. Potem mnie olśniło. Jestem kotem sąsiadów w moim ogródku, w słoneczny dzień i chcę się uwalić na dachu szopy, nie wdając się przy tym w (przesadną) awanturę. Próbuję przewidzieć ruchy innych kotów. Kiedy jestem zwykłym kotem, to eksperymentuję wyłącznie metodą rzeczywistych prób oraz ich równie rzeczywistych skutków. Kiedy jednak jestem kotem wyposażonym z inteligencję, wyobrażam sobie różne alternatywne sytuacje. Generowanie wartości hipotetycznych iksa, czyli „x*współczynnik losowy*zupełnie inny współczynnik losowy” to właśnie wyobraźnia. Mój układ równań wyobrażał sobie, jakie mogłyby być te iksy, gdyby im trochę wina dolać. W każdej rundzie iteracji na temat każdego rzeczywistego iksa powstawały dwie hipotezy na temat tego, czym (kim?) ten iks mógłby być przy odrobinie probabilistycznej fantazji.

Predykcja wartości oczekiwanych zmiennej y – dla wygody będę je dalej określał jako „y^” – odbywała się w oparciu o te hipotetyczne, wstrząśnięte wartości iksów, przy pomocy funkcji logistycznej, zwanej w informatyce funkcją sigmoidalną unipolarną. Wtedy, obserwując krok po kroku działanie algorytmu, zaobserwowałem coś, co dotychczas znałem tylko z teorii: przy tych konkretnych wartościach iksów, mój przewidywany igrek y^ był z reguły równy 1, a jego lokalna pochodna była w związku z tym równa zero. Innymi słowy mój neuron zwracał z reguły informację że coś się dzieje (sygnał wyjściowy „1”), ale w sumie to dzieje się rutynowo (zawsze „1”), więc w sumie nie ma co się podniecać i przesadnie aktywować (pochodna „0”).

Innymi słowy, moje y^ były prawie zawsze równe 1, czyli oczywiście różne od rzeczywistych igreków z tabeli, a lokalne pochodne y^’ były prawie zawsze równe „0”. Lokalny błąd estymacji był prawie zawsze równy „y minus 1”. Prawie nie oznacza jednak naprawdę zawsze. W warstwie ukrytej sieci, czyli tam gdzie iksy miały tylko trochę wyobraźni, nie działo się nic. Jednak w warstwie wyjściowej, gdzie iksy już były dwukrotnie pomnożone przez czynnik losowy, pojawiały się drobne, lokalne odchylenia sigmoidu od „1” i ty samym, w niektórych latach z mojego okienka obserwacji 1990 – 2014, pojawiały się lokalne pochodne tego sigmoidu trochę większe od zera. W niektórych latach lokalny błąd estymacji wynosił więc „y minus trochę mniej niż 1” i niezerowa pochodna oznaczała, że coś się dzieje.

To jest stara, jeszcze Newtonowska interpretacja pochodnej funkcji. Wszystko co się dzieje, jest funkcją pochodną od jakiejś innej funkcji, czyli wszystko co się dzieje jest zmianą wartości jakiejś całki. Kiedy idę, zmienia się moja odległość od jakiegoś punktu. Odległość to całka mojego marszu, a tempo w jakim maszeruję to pochodna od niej.

W tym konkretnym algorytmie założono, że dla każdej lokalnej predykcji y^ obliczamy współczynnik znaczenia tego błędu jako iloczyn odchylenia od wartości rzeczywistej igreka, czyli (y – y^), pomnożonej przez pochodną wartości przewidywanej. W sumie to jest (y – y^)*y^’. Chwilę mi zajęło, zanim zrozumiałem logikę tej metody. Błąd ma znaczenie tylko wtedy, kiedy – matematycznie rzecz biorąc – coś się dzieje, czyli kiedy pochodna wartości przewidywanej jest różna od zera. Pochodna (nieznacznie) różna od zera pojawia się wtedy, kiedy wartość oczekiwana y^ jest nieznacznie mniejsza od 1. Innymi słowy, neuron uznaje że coś się dzieje kiedy nie ma podstaw do wygenerowania pełnego sygnału wyjściowego równego 1, tylko sygnał nieznacznie słabszy. W sumie, ten neuron oparty na funkcji sigmoidalnej reaguje, w sensie że czegoś się na serio uczy wtedy, kiedy jest jakby odcięty od pełnego sygnału.

Jest więc tak, w tym algorytmie, że dwukrotnie wstrząsnąwszy moje oryginalne iksy przy pomocy dwóch kolejnych mnożeń przez czynnik losowy, w niektórych latach otrzymuję sytuację na tyle niepokojącą dla mojej sieci neuronalnej, że generuje lokalne niezerowe pochodne, a więc lokalne znaczące błędy. Po pierwszej rundzie obliczeń – czyli pierwszej iteracji mojej funkcji – zaczynam wykorzystywać te błędy. W żargonie informatycznym mówimy wtedy o wstecznej propagacji błędu. Matematycznie to wygląda tak (w tym konkretnym przypadku), że do moich już wstrząśniętych iksów w rundy pierwszej dodaję lokalne błędy wygenerowane w rundzie pierwszej. Wyliczam więc „x*współczynnik losowy*[zupełnie inny współczynnik losowy + (y – y^)*y^’ z poprzedniej rundy]”. Moje wyobrażone, alternatywne stany rzeczywistości koryguję o wnioski z poprzedniej rundy eksperymentu.

W większości lokalnych zdarzeń z mojej wyjściowej tabeli na temat Australii te wnioski są zerowe, tylko w niektórych przypadkach wyrażenie (y – y^)*y^’ daje coś tam nieznacznie różnego od zera. Algorytm jest skonstruowany tak, żeby te pojedyncze, znaczące błędy wykorzystywać jako materiał do nauki.

W podstawowym arkuszu Excela, gdzie rozpisałem sześć rund powtarzania tego algorytmu sieci neuronowej (neuronalnej ? a cholera wie), losowe wartości wag są ciągle losowe. Przy każdym otwarciu pliku losują się na nowo. Zrobiłem trzy „zamrożone” wersje tych wag, czyli zaraz po ich rozlosowaniu zmieniłem funkcje w komórkach na sztywne wartości. Zrobiłem trzy koty sąsiadów, które na raz wchodzą do mojego ogródka. Dla każdego z nich Australia z tabeli powyżej to jak ścieżka na dach szopy na narzędzia. Każdy kot to kot, czyli ma powtarzalną strukturę (no, może z wyjątkiem tego z wisiorkiem na szyi). Każdy kot wchodzi jednak do mojego ogródka ze swoimi przekonaniami i uprzedzeniami. Dla jednego z nich koty szare są zawsze wyżej postawione od tych czarnych. Oczywiście, on jest szary. Dla drugiego dokładnie odwrotnie. Jeden z nich wyznaje religię słońca na niebie, inny religię michy z karmą Purina, a jeszcze inny jest ateistą, czyli torba z jedzeniem to torba z jedzeniem, a nie żadna tam łaska z wysoka.

No więc te trzy koty wchodzą do mojego ogródka. Każdy z nich startuje z innego punktu (inny rozkład losowych współczynników tworzących wyobraźnię kota), jednak każdy z nich uczy się według tego samego schematu, w sześciu rundach. Tabela 2, poniżej, rozpisuje tą metaforę w sposób analityczny. Dla każdej z sześciu rund rozpisałem lata, w których algorytm generuje znaczące lokalne błędy, do propagacji wstecznej. W każdej rundzie wpisałem skumulowaną wartość lokalnych błędów. Widać, że pierwsze 5 rund każdy z kotów przechodzi inaczej. W szóstej stają się prawie identyczne.

Tabela 2

Losowe rozkłady początkowych wag dla wartości “x”
Kolejne rundy (iteracje) algorytmu Rozkład 1 Rozkład 2 Rozkład 3
Runda 1
Lata wykazujące znaczące błędy, do propagacji wstecznej 1999; 2002; 2003; 2006 1990; 1994; 1998 – 99; 2009; 2012 – 13; 1990 – 91; 1996 – 97; 1999; 2001; 2007; 2009 – 11;
Skumulowana wartość błędów 5,53241E-09 7,0537E-05 0,000916694
Runda 2
Lata wykazujące znaczące błędy, do propagacji wstecznej 1992; 1993; 1999; 2002; 2006 1996; 1999; 2006; 2012 – 13; 1991 – 92; 1996; 2004; 2007; 2011;
Skumulowana wartość błędów 6,45047E-12 2,93896E-07 0,035447255
Runda 3
Lata wykazujące znaczące błędy, do propagacji wstecznej 1990; 1996; 1999; 2002; 2006 1991; 1997; 1999; 2010; 2012 – 14 1991; 1996; 1999; 2002 – 2004; 2007; 2009 – 2012;
Skumulowana wartość błędów 2,34651E-13 4,39246E-06 0,00056026
Runda 4
Lata wykazujące znaczące błędy, do propagacji wstecznej 1990 – 92; 1994 – 95; 1997; 2001 – 2002; 2006 – 2007; 2012 1990; 1992; 1996; 1999; 2012 – 13; 1990 – 91; 1994 – 96; 1999; 2007; 2009 – 11;
Skumulowana wartość błędów 0,000171883 0,000741233 6,27817E-05
Runda 5
Lata wykazujące znaczące błędy, do propagacji wstecznej 1993; 1999; 2002; 2003; 2006 1997; 1999; 2007; 2012 – 13; 1990 – 91; 1996; 2003; 2007 – 2009; 2011;
Skumulowana wartość błędów 3,46206E-05 0,000548987 0,001532496
Runda 6
Lata wykazujące znaczące błędy, do propagacji wstecznej 1991 – 94; 1996 – 97; 2000; 2005; 2007; 2013 1991 – 94; 1995 – 96; 2000; 2005; 2007; 2013; 1991 – 94; 1996 – 97; 2000; 2005; 2007; 2013
Skumulowana wartość błędów 3,07871E-08 3,07871E-08 3,07871E-08

A więc tak działa jedna z wielu możliwych form inteligencji: niezależnie od wyjściowych poglądów na BARDZO WAŻNE SPRAWY (no bo kto by się tam wysilał na inteligencję w sprawach błahych ), w skończonej liczbie kroków ta forma inteligencji tworzy spójny system uczenia się.

Tyle tej prawie nowej metody naukowej na dzisiaj. Serio, prawie nowa, mało jeżdżona.