Accélération de convergence

Bonjour,

Je suis curieux de connaître un peu de résultat sur l'accélération de convergence. Juste quelques résultats de base utiles en pratique (par exemple en machine learning), je cherche pas trop loin.

En regardant sur internet j'ai trouvé des pdf qui me parlent de :
- Transformation d’Euler et accélération de la convergence
- Méthode d’accélération de Richardson
- Méthode d’accélération d’Aitken

Qu'est-ce que vous en dites vous ? :-D

Réponses

  • Qu'est-ce que vous en dites vous n'est pas une question très précise, je vais donc peut-être répondre à côté.

    Si mes souvenirs sont bons les procédés de Richardson et Aitken sont très simples. On suppose que la suite qu'on étudie se comporte d'une certaine manière, par exemple qu'elle est arithmético-géométrique, ceci permet de trouver la limite à l'aide de 3 (ou est-ce 4 ?) termes consécutifs en appliquant une certaine transformation sur ces 3 termes. Notons $T$ cette transformation et soit $(u_n)_n$ une suite dont on veut déterminer la limite, si $(u_n)_n$ est presque arithmétique (dans un sens à préciser) alors $T(u_n)$ converge vers la même limite mais plus rapidement.

    Je ne sais pas si ces méthodes sont vraiment utiles en pratique, cela dépend pas mal de la suite considérée. En toute généralité (et même en supposant que $(u_n)_n$ soit presque arithmético-géométrique) on n'obtient pas mieux que $T(u_n)-l=o_\infty (u_n-l)$. Sachant qu'on avait déjà une convergence géométrique si on passe d'une erreur de la forme $\alpha^n$ à une erreur de la forme $\alpha^n/\ln(n)$ autant dire qu'on n'a rien gagné. Mais il arrive qu'on obtienne de vraies accélérations. Toujours si mes souvenirs sont bons, si $|u_n-l| = c \alpha^n + d \beta ^n + o_\infty(\beta^n)$, avec $1>\alpha>\beta$ alors le procédé de Richardson transforme $|u_n-l| \sim c\alpha^n$ en $|T(u_n)-l|\sim b \beta ^n$.

    Un autre inconvénient de ces méthodes est qu'elles ne marchent pas sur les suites à convergence lente... Dommage puisque c'est exactement pour ces suites qu'on aimerait améliorer la convergence. La méthode de Richardson et celle d'Aitken ne marchent pas pour estimer $\sum 1/n^2$ par exemple...

    La transformation d'Euler je ne connais pas du tout. En faisant des recherches sur l'accélération de convergence je me souviens aussi être tombé sur les approximants de Padé mais je n'avais pas creusé le sujet.
  • @mini_calli figure-toi qu'il y a quelques semaines j'avais testé la méthode d’accélération d’Aitken sur un réseau de neurones basique. Le résultat était incroyable... mais ma joie n'a été que de courte durée. Dès que j'ai pris un réseau plus gros, la méthode d'Aitken ralentissait la convergence.

    Sinon pour rester dans le deeplearning il y a les méthodes Momentum et Adam qui sont souvent utilisées pour accélérer la convergence justement.
  • L'accélération d'Euler est un procédé de sommation de séries qui consiste à remplacer le terme général d'une série par une moyenne de Césaro (mais avec des poids non égaux) des termes précédents, ce qui fait qu'elle ne peut espérer accélérer la convergence de la série que dans un cas non monotone des sommes partielles, typiquement pour des séries alternées. Appliquée à la série $\sum_{n\geq 1} \frac{(-1)^n}{n}=-\ln(2)$, il est remarquable qu'elle donne $\sum_{n\geq 1} \frac{1}{n 2^{n-1}}=\ln(1/2)$.

    On peut la voir via des transformations formelles sur des opérateurs, justifiées rigoureusement en introduisant un paramètre (cf III.D de l'épreuve 2 de l'interne de 2016), mais j'apprécie beaucoup également le point de vue moyenne de Césaro que j'avais trouvé dans un exercice du cours de Mathématiques de Jean Bass (peut-être le tome 1) ; ce point de vue transparaît d'ailleurs dans la question 24 du même sujet.
  • Bonjour math2
    Je viens de voir le sujet de l'agreg interne. Est-ce que l'exo dont tu parles dit que si la série de termes strictement positifs des $e_{n}$ diverge alors la série $\frac{ \sum_{i=0}^{n} e_{i} u_{i} }{\sum_{i=0}^{n} e_{i}}$ converge vers la limite de $u$. Qui est en quelque sorte une généralisation de Césaro.

    J'ai aussi remarqué qu'on peut utiliser la formule d'Euler-Maclaurin. Ça m'intéresse mais je n'ai pas d'exemple.

    PS. Je n'ai pas compris comment marche ton exemple et surtout comment une série de termes positifs peut avoir une somme négative ? :)o
  • @raoul.S : J'ai eu l'idée en premier :-D non je rigole bien sûr je n'ai même pas essayé. Ce domaine m'intéresse en tout cas, aurais-je du m'appeler mini_raoul.S ? roulnino_S ? :)o
  • @raoul.S : Merci pour votre lien sur l'accélération de convergence des descentes de gradient. Je suis curieux de ces choses dont je regardais un peu sur google pour mieux comprendre. Il y a un algo qui est très simple :
    $$
    x_{t+1} \leftarrow x_{t} + \alpha \nabla f(x_{t}) + \beta (x_{t} - x_{t-1}).

    $$ Je pense qu'il s'appelle Polyak Momentum et sur le même pdf on voit Nesterov Momentum qui est un peu plus compliqué :
    $$
    x_{t+1} \leftarrow y_{t} - \nabla f(y_{t}).

    $$ Puis
    $$
    y_{t+1} = x_{t+1} - \beta (x_{t+1}- x_{t}).

    $$ Je vais essayer de trouver des liens avec un peu de preuves mathématiques sur ces algo. Bien sûr si les preuves sont trop compliquées je ne vais pas forcer. Je n'ai pas besoin de les connaître par cœur, c'est juste de la curiosité :-D.

    Par contre pour Adam c'est un peu plus compliqué, je vais juste regarder RMSProp dans votre article.

    Le gradient se déplace normalement si je peux dire sauf que le pas dépend de $v_{t}$, plus $v_{t}$ est petit plus on fait un grand pas plus $v_{t}$ est grand plus on fait un petit pas.
    $$
    w_{t+1} = w_{t} - \frac{\eta}{\sqrt{v_{t} + \epsilon}} \nabla f(w_{t}).

    $$ Et $v_{t}$ lui est sur un segment mais je ne saurais pas interpréter plus que ça. Mais j'imagine que si $v_{t}$ se comporte comme l'inverse de la distance au minimum de la notre fonction alors je pense que c'est bien !
    $$
    v_{t} \leftarrow \rho v_{t-1} +(1-\rho) \nabla f(w_{t})$
    $$
  • @Corto : Merci pour les infos :-D
  • C'est Ernesto Cesàro (1859-1906) et non Cesaro, Cesarò, Césaro.
    https://fr.wikipedia.org/wiki/Ernesto_Cesàro
  • @mini calli : oui il s'agit de cette variante, avec les coefficients binomiaux. Sinon tu as raison je me suis planté lamentablement dans les signes...
  • @math2 : C'aurait pu m'arriver aussi :)o
Connectez-vous ou Inscrivez-vous pour répondre.