• Aucun résultat trouvé

Bon et mauvais conditionnement

5 Aspects techniques

5.2 Aspects numériques de l’optimisation

5.2.1 Bon et mauvais conditionnement

5.2.1.1 Définition.

La faiblesse de l’algorithme de descente de gradient réside dans les problèmes de conditionnement. La plus grande pente indique une trajectoire possible pour atteindre un minimum, mais cette trajectoire n’est pas nécessairement la plus courte.

La figure 5.1 montre deux exemples:

˚ ˚ ˚

Fig 5.1- Exemples de bon et mauvais conditionnements.

• A gauche, les courbes de niveau de la fonction de coût

C

sont concentriques. La trajectoire de plus grande pente est une ligne droite dirigée vers le minimum, les gradients sont importants, la convergence sera rapide. On dit que le problème d’optimisation est bien conditionné.

• A droite, les courbes de niveau sont étirées. La trajectoire tombe rapidement au fond du ravin situé le long du grand axe. Or les gradients y sont faibles, et ne nous emmènent que lentement vers le minimum. On dit alors que le problème d’optimisation est mal conditionné.

Ce phénomène peut être modélisé à l’aide d’une approximation quadratique. Considérons un système de coordonnées centré sur le minimum

w

*, dans lequel le hessien

H

est diagonal. Un développement limité au voisinage du minimum donne

C(w) = C

opt

+ w

t

H w + o(|w|

2

) (5.3)

Autour d’un minimum, le hessien

H

est défini positif. Toutes ses valeurs propres

λ

k sont donc positives. Dans le cas d’un gradient déterministe, on a

w

t+1

≈ w

t

- εH w

t

= (I-εH) w

t

(5.4)

On suppose le gain

ε

constant. On peut alors identifier trois cas, selon la valeur du gain comparée aux valeurs propres

λ

idu hessien

H

.

• Si

ε<

1/maxkk}, la matrice

I-εH

est positive, de norme inférieure à 1. Les poids

w

converge donc vers

w

*

=0

.

• Si 1/maxkk}

< ε <

2/maxkk} , la norme de

I-εH

est encore inférieure à 1. Les poids

w

converge donc encore vers

w

*, mais en oscillant autour des axes pour lesquels le hessien possède une valeur propre

λ

k

>1/ε

.

• Si 2/maxkk}

< ε

, la valeur absolue des coefficients de

w

pour lequel le hessien possède une valeur propre

λ

k

>2/ε

augmentent d’une proportion

λ

k

ε-1

, supérieure à 1. S’ils sont non nuls, l’algorithme diverge: c’est une situation instable.

On voit donc que le gain

ε

est limité par la valeur de la plus grande valeur propre, c’est à dire par la courbure transversale d’un ravin. De plus, la norme de

w

est dominée par sa composante qui converge le plus lentement, celle associée à la valeur propre non nulle la plus faible du hessien, c’est à dire par la courbure longitudinale du ravin. Plus l’écart entre les valeurs propres extrêmes du hessien est important, plus le ravin est encaissé, plus la convergence est lente, même en sélectionnant un gain

ε

optimal.

Comme le montrent les deux exemples suivants, la qualité du conditionnement est extrêmement variable d’un algorithme à l’autre.

5.2.1.2 Exemple 1: k-means.

L’algorithme k-means, (cf §3.2.2) est un algorithme de minimisation de l’erreur de quantification.

Cette erreur s’écrit

C =  ⌠ ⌡ ˚

K

Min

k=1

˚(x −w

k

)

2

˚p(x )dx ˚ (5.5)

En notant

Ω(k)

la partition du diagramme de Voronoï associé au point

w

k,son gradient s’écrit

wk

C = -2 ∫ ˚ 1 1

k

(x)

˚

(x−w

k(x)

)˚p(x)dx = -2

k

˚(x −w

k(x)

)˚p(x)dx (5.6)

L’intégrande de ce gradient est malheureusement discontinu sur un ensemble de mesure nulle. Calculer le hessien requiert donc de connaître les variations des frontières de la partition de Voronoï, ce qui est un problème difficile.

Supposons, pour simplifier, que la distribution de

x

est discrète, c’est à dire qu’il y a un nombre fini d’exemples

x

k. La probabilité qu’un des

x

se trouve sur une frontière de la partition de Voronoï est alors nulle; les variations de

k n’ont plus d’influence sur

C

. On a alors:

2wk,wq

C = ∫ ˚2I˚ 1 1

k

(x)

˚

1 1

Ωq

(x)

˚

p(x)dx˚ = 2I P{x ∈Ω

k

& k=q} (5.7)

I

est la matrice identité. Le hessien est donc diagonal. Les coordonnées de chaque point

w

k constituent un espace propre de valeur propre

2P{x∈Ω

k

}.

Cela signifie que la convergence de chaque point est bien conditionnée. De plus, si les points initiaux ont été bien choisi, les probabilités

P{x∈Ω

k

}

sont très voisines.

On peut encore améliorer le conditionnement en décidant d’utiliser pour chaque point

w

k un gain

ε

k séparé, inversement proportionnel à une estimation empirique des probabilités

P{x∈Ω

k

}

. En pratique, cela n’est même pas nécessaire…

5.2.1.3 Exemple 2: Un perceptron multi-couches.

A l’opposé, les perceptrons multi-couches sont des exemples remarquables de systèmes mal conditionnés.

Considérons, par exemple, un perceptron multi-couches contenant une entrée, une unité cachée, une sortie. On l’entraîne à reproduire en sortie son entrée. La fonction

C

possède alors la forme

C(w) = ˚ ( x-ƒ(w

ƒ(w

1

x)) )

2

˚p(x)dx˚ (5.8)

ƒ

représente la sigmoïde, et

p(x)

la distribution des entrées, que l’on supposera localisée au voisinage de 1.

Il est facile d’avoir une idée de la forme de cette fonction de coût si

ƒ

est la fonction identité. On a alors

C(w) = (1-w

2

w

1

)

2

˚x

2

p(x)dx˚ (5.9)

Le coût est alors identiquement nul sur l’hyperbole

w

1

w

2

=1

. Cela signifie que les deux branches de l’hyperbole constituent deux ravins qui s’étirent le long des axes, et sont d’autant plus encaissés que l’on s’éloigne de l’origine.

w1 w2

Fig 5.2 - Forme de la fonction de coût dans un réseau 1-1-1 pour l’auto-association. En grisé, la zone des poids initiaux suggérée par l’heuristique de la section 5.2.2.1

En présence d’une sigmoïde ces deux ravins existent toujours. Leur fond n’est plus de coût constant, mais présentent deux minima aux environs des points (1,1) et (-1,-1).

De plus, ce qui aggrave les choses, le coût

C

, comme la fonction sigmoïde, est borné. La fonction de coût possède donc des plateaux lorsque

w

1 et

w

2 sont élevés, c’est à dire des régions où

C(w)

varie peu et où le gradient est presque nul (fig 5.2). Il faudrait alors un gain important pour se diriger rapidement vers le minimum. Mais un tel gain ne permet plus d’atteindre le minimum, au fond de sa crevasse.