Aller au contenu
Kudos AI
Read in English
Information Theory

La borne qui est vraiment atteinte

L’entropie n’est pas un résumé de distribution mais un plancher que le meilleur code atteint à la dernière décimale, le supplément payé pour la mauvaise distribution est exactement la perte que tout classifieur minimise déjà, et l’information mutuelle pose un plafond dur sur tout ce qui suit un capteur. Trois résultats, chacun d’une netteté inhabituelle.

7 min de lectureKudos AI

Prérequis : Probability and Statistical Foundations

Quatre probabilités s’effondrant en un arbre binaire dont la longueur moyenne tombe exactement sur l’entropie, un dictionnaire construit pour la mauvaise distribution facturant un supplément visible, et deux entrées muettes séparément qui déterminent ensemble une cible.

La plupart des bornes de l’apprentissage automatique sont lâches. On démontre qu’une erreur vaut au plus quelque chose, ce quelque chose est énorme, et l’intérêt du résultat tient à sa forme plus qu’à son chiffre.

La théorie de l’information fait exception, et c’est ce qui lui vaut quelques heures d’attention. Trois de ses quantités centrales sont des bornes atteintes, et chacune se révèle être une chose que vous utilisez déjà sans lui donner ce nom.

Un : la longueur minimale d’un code

Prenez quatre symboles de probabilités 12\tfrac12, 14\tfrac14, 18\tfrac18, 18\tfrac18. L’entropie vaut

H=∑xp(x)log⁡21p(x)=1,75 bitsH = \sum_x p(x)\log_2\frac{1}{p(x)} = 1{,}75 \text{ bits}

Construisez maintenant le meilleur code préfixe en fusionnant à plusieurs reprises les deux symboles les moins probables. Les longueurs sortent à 1, 2, 3 et 3 bits, soit une moyenne de 1,7500 bit : l’entropie, à toutes les décimales. Un code de longueur fixe demanderait 2 bits, d’où une économie de 12,5 %.

L’égalité est exacte parce que chaque longueur idéale log⁡2(1/p)\log_2(1/p) se trouve être ici un entier. Passez à la source (0,6, 0,25, 0,1, 0,05)(0{,}6,\ 0{,}25,\ 0{,}1,\ 0{,}05) et elle cesse de l’être : entropie 1,4905, meilleur code 1,5500. La longueur idéale d’un symbole de probabilité 0,6 est 0,737 bit, et aucun mot de code ne dure 0,737 bit.

Interactif : construisez le code, puis essayez de battre la borne

Le code est construit pour ce que vous réglez, il n’est pas recopié.

Les mots de code, et la longueur méritée par chaque symbole

A0.50001 vs 1.00B0.250102 vs 2.00C0.1251103 vs 3.00D0.1251113 vs 3.00
Entropie
1.7500
Moyenne du code
1.7500
Écart
0.0000
Bits par symbole
1.7500

Le code atteint exactement l’entropie, sans reste. Cela arrive quand chaque probabilité est une puissance de deux : la longueur idéale log2(1/p) est alors un entier, et le code peut donner à chaque symbole précisément la longueur qu’il méritait. Écartez n’importe quel curseur d’une puissance de deux et un écart apparaît aussitôt.

La parade consiste à coder plusieurs symboles à la fois, pour partager l’erreur d’arrondi :

taille du blocbits par symbole
11,5500
21,5275
31,5026
41,4983
la borne1,4905

On s’en approche par le haut, sans jamais la franchir. Notez ce qui ne se produit pas : les symboles sont indépendants, il n’y a donc aucune redondance entre eux à exploiter et l’entropie par symbole ne change jamais. Seule la granularité s’améliore.

La lecture pratique est celle qu’il faut garder. Si un compresseur bat l’entropie que vous avez calculée, le théorème n’est pas en difficulté : votre distribution était fausse. L’entropie est un énoncé sur un modèle, ce qui en fait un outil de modélisation plutôt qu’une propriété d’un fichier.

Deux : ce que coûte la mauvaise distribution

Vous ne connaissez jamais pp. Codez donc cette même source avec le code optimal d’une autre distribution qq, disons l’uniforme, et mesurez la facture :

2,0000⏟H(p,q)=1,4905⏟H(p)+0,5095⏟KL(p∥q)\underbrace{2{,}0000}_{H(p,q)} = \underbrace{1{,}4905}_{H(p)} + \underbrace{0{,}5095}_{\mathrm{KL}(p\|q)}

Exactement deux bits par symbole, se scindant exactement en l’entropie de la source plus un supplément. Ce supplément est la divergence de Kullback-Leibler.

Regardez de quoi dépend chaque terme. H(p)H(p) est une propriété du monde : aucun modèle ne la change, et c’est le jumeau informationnel de l’erreur irréductible de la décomposition biais-variance. KL(p∥q)\mathrm{KL}(p\|q) est entièrement votre modèle.

Minimiser l’entropie croisée sur des modèles revient donc à minimiser exactement la divergence à la vérité. Deux choses en découlent aussitôt : la perte ne peut jamais atteindre zéro sur une source bruitée, donc une perte d’entraînement qui tend vers zéro signale une mémorisation plutôt qu’un apprentissage ; et minimiser l’entropie croisée, c’est faire du maximum de vraisemblance dans d’autres unités.

Interactif : les bits que coûte un mauvais modèle

La source est fixe. Déplacez le modèle : le plancher, lui, ne bouge pas.

0.000.300.60ABCD
source pmodèle q

Où passent les bits : p(x) log2(1/q(x))

0.000.601.20ABCD
incompressiblegaspillé
H(p)
1.4905 bits
H(p, q)
2.0000 bits
KL(p || q)
0.5095 bits
KL(q || p)
0.5952 bits

Vous payez 0.5095 bits par symbole de plus que ne l’exige la source, soit 6.4 % d’un octet jeté à chaque symbole, sans fin. L’essentiel vient de A : le modèle lui attribue un mot de code de 2.00 bits alors que la source continue de le produire, ce qui gaspille à lui seul 0.758 bits de la moyenne. Ce n’est pas le symbole que le modèle estime le plus mal : c’est celui qui est mal estimé et fréquent.

Ce n’est pas une distance

Prenez une source qui émet un symbole 98 % du temps.

directionbits
KL(source || uniforme)1,4235
KL(uniforme || source)2,8540

Les deux mêmes distributions, et une direction coûte un peu plus du double de l’autre.

KL(p∥q)\mathrm{KL}(p\|q) est dominée par les issues que pp produit et que qq juge improbables : la minimiser étale le modèle pour couvrir ce qui arrive. KL(q∥p)\mathrm{KL}(q\|p) punit l’inverse, donc la minimiser fait s’engager le modèle sur une région. Le choix est une décision de modélisation, et c’est pourquoi les approches variationnelles qui prennent la seconde direction cherchent les modes.

Et elle n’est pas bornée

La perte sur un exemple vaut log⁡2(1/q(veˊriteˊ))\log_2(1/q(\text{vérité})) :

probabilité donnée par le modèle à la véritéperte
0,51,00 bit
0,13,32 bits
0,016,64 bits
0,0019,97 bits

Un modèle juste 95 % du temps mais certain sur les 5 % qu’il rate est bien plus mal noté qu’un modèle aussi souvent juste qui nuance. La justesse ne voit pas cette différence ; l’entropie croisée en est faite. Cela explique aussi une courbe de perte qui fait un pic sans que la justesse bouge : quelques exemples confidemment faux dominent le gradient.

Trois : ce qu’une variable dit d’une autre

La même machinerie, appliquée à une paire, répond du même chiffre à une question d’ingénierie et à une question de modélisation.

Pour un canal qui inverse chaque bit avec probabilité ff, la capacité vaut 1−H(f)1 - H(f) :

probabilité d’inversionbits transportés par usage
0,001,0000
0,100,5310
0,250,1887
0,500,0000

À f=0,1f = 0{,}1 le canal a raison neuf fois sur dix et transporte à peine plus d’un demi-bit : justesse et information ne sont pas la même monnaie. À f=0,5f = 0{,}5 il ne transporte rien du tout, car la distribution de sortie est alors identique quoi que l’on envoie. À f=0,9f = 0{,}9 il revient à 0,5310 : un menteur constant vaut un témoin fiable.

La dépendance que la corrélation annonce nulle

Engendrez deux bits indépendants et prenez leur ou exclusif comme cible. Sur 200 000 tirages :

mesurevaleur
corrélation d’une entrée avec la cible+0,0016
information mutuelle d’une entrée avec la cible0,0000 bit
information mutuelle de la paire avec la cible1,0000 bit

Toutes les lectures sont justes. Aucune entrée seule ne dit quoi que ce soit, et l’information mutuelle, qui attraperait une dépendance de n’importe quelle forme et non seulement linéaire, le confirme. La paire détermine exactement la cible.

Donc tout filtrage de variables qui les classe une à une écarte les deux, sur un rapport parfaitement propre. Le cas n’a rien d’exotique : un médicament qui n’agit qu’en présence d’un gène, une panne qui ne survient que lorsque deux réglages divergent. La parade est de noter des sous-ensembles, ou de laisser un modèle qui représente les interactions les voir ensemble.

Une précaution : l’information mutuelle est plus difficile à estimer qu’une corrélation. Sur des variables continues elle dépend d’un découpage, et elle est biaisée vers le haut sur de petits échantillons, si bien qu’une valeur élevée sur peu de points peut n’être que l’estimateur qui parle.

Le plafond que rien ne relève

Mesurez le canal à 10 % et vous obtenez 0,5329 bit sur ce qui a été émis, ce qui rejoint la valeur théorique 0,5310. Effacez trois bits reçus sur dix en les mettant à 0 et mesurez de nouveau : 0,2763 bit.

C’est descendu, et aucun traitement ne peut le faire remonter. Pour toute chaîne X→Y→ZX \to Y \to Z,

I(X;Z)≤I(X;Y)I(X;Z) \le I(X;Y)

car ZZ est calculé à partir de YY et ne voit de XX que ce que YY a transmis. Les conséquences sont franches :

  • les codes fonctionnent en ajoutant de la redondance avant la transmission ; aucun décodeur ne récupère ce que le canal a détruit
  • aucun modèle, si profond soit-il, n’extrait sur l’étiquette plus que ses variables n’en portent : les couches sont des fonctions de couches et le plafond est fixé à l’entrée
  • toute étape de prétraitement, de la quantification à la suppression d’une colonne, ne peut que perdre de l’information, ce qui peut être le bon compromis mais devrait être une décision et non une habitude de ménage

Le texte ci-dessus efface des bits ; la figure emploie plutôt un second canal à 10 % placé en série. Avec les deux probabilités d’inversion à 0,10, sa case Après traitement affiche 0,3199 bit plutôt que le 0,2763 ci-dessus, et les deux restent sous ce que le canal transportait. L’inégalité tient pour chaque choix ; le nombre dépend de celui que vous faites.

Interactif : ce qu’un canal transporte, et ce qu’il ne récupère jamais

Exact, depuis la loi jointe. Aucun échantillonnage nulle part.

1 bit0.5
Bits par usage
0.5310
Après traitement
0.3199
Perdu au traitement
0.2111
Inversion composée
0.1800

Un canal qui inverse avec la probabilité 0.10 a raison 90 % du temps et ne transporte pourtant que 0.5310 bits par usage. L’exactitude et l’information ne sont pas la même monnaie. Faites passer la sortie dans un second canal à 0.10 : l’inversion composée vaut 0.1800 et il reste 0.3199 bits. Cela a baissé, et cela baissera toujours.

Pourquoi cela revient sans cesse

La compression, les communications et les fonctions de perte de l’apprentissage automatique sont les trois mêmes quantités habillées différemment. L’entropie est le plancher. L’entropie croisée est ce que vous payez quand votre distribution est fausse, et son excédent sur le plancher est ce que votre optimiseur réduisait depuis le début. L’information mutuelle est ce qu’une variable dit d’une autre, et elle borne tout ce qui suit.

Aucune des trois n’est une heuristique, ce qui est assez rare dans ce domaine pour valoir l’après-midi nécessaire à les apprendre correctement.

Références et lectures complémentaires

  • David J. C. MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2003source ↗
  • Thomas M. Cover, Joy A. Thomas, Elements of Information Theory, Wiley (2nd edition), 2006· Bibliothèque de référence Kudos AI

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Lecture associée

4 min de lectureFondements des probabilités

Quelle mauvaise loi voulez-vous ?

Une cible bimodale, une gaussienne, et deux directions de la même divergence. Minimiser KL(P||Q) étale la gaussienne sur les deux modes avec presque aucune masse là où la cible se trouve réellement ; minimiser KL(Q||P) la pose sur un mode, à 0,6931 nats, soit ln 2 à quatre décimales, et ce n’est pas une coïncidence. Chaque ajustement est jugé catastrophique par l’autre critère, 2,0976 contre 15,2799.

Apprentissage automatiqueMathématiques
3 min de lectureFondements des probabilités

Les deux variables qui ressemblent à du bruit

Une variable qui en détermine une autre avec une corrélation d’exactement 0,0000000000, et un couple de variables dont chaque information mutuelle par paire avec la cible vaut exactement zéro alors que les deux ensemble la déterminent entièrement. Le filtrage univarié écarte les deux, et le second cas est celui qui compte : les variables qu’il supprime le sont parce qu’elles comptent.

Apprentissage automatiqueMathématiques
10 min de lectureFondements des probabilités

L’entropie et l’information

Mesurer l’incertitude en bits : l’entropie de Shannon et pourquoi le logarithme est en base 2, le gain d’information déroulé sur une division, et comment l’entropie croisée et la divergence de Kullback-Leibler se rattachent à l’entropie et aux fonctions de perte qui entraînent les classifieurs.

Théorie de l'informationProbabilitéMathématiques
← Retour à tous les articles