LogSumExp
La fonction LogSumExp (LSE) (également appelée RealSoftMax [1] ou softplus multivarié) est un maximum régularisé – une approximation lisse de la fonction maximum, principalement utilisée par les algorithmes d'apprentissage automatique[2]. Elle est définie comme le logarithme de la somme des exponentielles des arguments :
Propriétés
[modifier | modifier le code]Le domaine de la fonction LogSumExp est , l' espace des coordonnées réelles, et son codomaine est , la droite réelle. Il s'agit d'une approximation du maximum avec les limites suivantes La première inégalité est stricte sauf pour . La seconde inégalité est stricte sauf si tous les arguments sont égaux. Pour preuve, on considère . Alors Il suffit alors d'appliquer le logarithme à l'inégalité pour obtenir le résultat.
De plus, on peut normaliser la fonction pour obtenir des bornes plus resserrées. On prend l'exemple de la fonction . Alors En effet, on remplace chaque avec pour dans les inégalités ci-dessus, ce qui donne et, puisque enfin, diviser par donne le résultat voulu.
De même, si on multiplie par un nombre négatif, on obtient un encadrement similaire avec la fonction :
On peut également utiliser la propriété suivante, qui présente la fonction LogSumExp comme une approximation continue de la fonction maximum[3]:
La fonction LogSumExp est convexe et strictement croissante sur tout son domaine[4]. Elle n'est pas strictement convexe, car elle est affine (linéaire plus une constante) sur les droites diagonales et parallèles[5]:
Hormis cette direction, elle est strictement convexe (la matrice hessienne est de rang ), donc par exemple, la restriction à un hyperplan transverse à la diagonale donne une fonction strictement convexe. Voir , ci-dessous.
En écrivant les dérivées partielles sont : ce qui signifie que le gradient de LogSumExp est la fonction softmax.
Le conjugué convexe de LogSumExp est la néguentropie.
Astuce du log-sum-exp pour les calculs dans le domaine logarithmique
[modifier | modifier le code]La fonction LSE est souvent rencontrée lorsque les calculs arithmétiques habituels sont effectués sur une échelle logarithmique, comme dans la log-probabilité [6].
De même que les opérations de multiplication en échelle linéaire deviennent de simples additions en échelle logarithmique, une opération d'addition en échelle linéaire devient l'estimateur des moindres carrés en échelle logarithmique :
Un objectif courant dans le calcul sur le domaine logarithmique est un accroissement de la précision et d'éviter les dépassements de nombres, quand des grands nombres ou des petits nombres sont utilisés directement (i.e. dans un domaine linéaire) par des nombres flottants à précision limitée[7].
Malheureusement, l'utilisation directe de la méthode des moindres carrés dans ce cas peut à nouveau entraîner des problèmes de dépassement de nombres. Par conséquent, il convient d'utiliser la méthode équivalente suivante (en particulier lorsque la précision de l'approximation « max » ci-dessus est insuffisante).
avec
De nombreuses bibliothèques mathématiques telles que IT++ fournissent une routine par défaut pour l'estimateur LSE et utilisent cette formule en interne.
Une fonction de type log-somme-exp strictement convexe
[modifier | modifier le code]La fonction LSE est convexe mais pas strictement convexe. On peut définir une fonction de type log-somme-exp strictement convexe [8] en ajoutant un argument supplémentaire initialisé à zéro :
avec la fonction softplus. Cette fonction est un générateur de Bregman (une fonction strictement convexe et dérivable deux fois). Il est rencontré en machine learning, par exemple, comme le cumulant d'une famille multinomiale/binomiale.
En analyse tropicale, il s'agit de la somme dans le log semi-anneau.
Généralisations
[modifier | modifier le code]Une généralisation de la fonction LogSumExp sur un ensemble continu revient à prendre le logarithme de la fonction de partition[9]:
Applications
[modifier | modifier le code]La fonction LogSumExp appartient à une classe de fonctions non linéaires importantes utilisée dans l'optimisation géométrique, les réseaux neuronaux, etc[10],[11].
Voir aussi
[modifier | modifier le code]Références
[modifier | modifier le code]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « LogSumExp » (voir la liste des auteurs).
- ↑ (en) Aston Zhang, Zack Lipton, Mu Li et Alex Smola, « Dive into Deep Learning, Chapter 3 Exercises », www.d2l.ai (consulté le )
- ↑ (en) Frank Nielsen et Ke Sun, « Guaranteed bounds on the Kullback-Leibler divergence of univariate mixtures using piecewise log-sum-exp inequalities », Entropy, vol. 18, no 12, , p. 442 (DOI 10.3390/e18120442, Bibcode 2016Entrp..18..442N, arXiv 1606.05850, S2CID 17259055)
- ↑ (en) Pierre Blanchard, Desmond J. Higham et Nicholas J. Higham, « Accurate Computation of the Log-Sum-Exp and Softmax Functions », .
- ↑ (en) Laurent El Ghaoui, Optimization Models and Applications, (lire en ligne)
- ↑ (en) « Convex analysis - About the strictly convexity of log-sum-exp function - Mathematics Stack Exchange », stackexchange.com
- ↑ (en) Richard McElreath, Statistical Rethinking (OCLC 1107423386)
- ↑ (en) « Practical issues: Numeric stability. », CS231n Convolutional Neural Networks for Visual Recognition
- ↑ (en) Frank Nielsen et Gaetan Hadjeres, « Monte Carlo Information Geometry: The dually flat case », .
- ↑ (en) Egor Gladin, Alexey Kroshnin, Jia-Jie Zhu et Pavel Dvurechensky, « Improved Stochastic Optimization of LogSumExp », .
- ↑ (en) X. Xi, J. Xu et Y. Lou, 2020 IEEE 16th International Conference on Control & Automation (ICCA), vol. 2020, IEEE, 600-605 p. (ISBN 9781728190945, DOI 10.1109/ICCA51439.2020.9264376), « Log-sum-exp Optimization based on Continuous Piecewise Linearization Techniques »
- ↑ (en) C.M. Bishop et N.M. Nasrabadi, Pattern recognition and machine learning, Springer, .