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 hessienH
est diagonal. Un développement limité au voisinage du minimum donneC(w) = C
opt+ w
tH 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 aw
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 hessienH
.• Si
ε<
1/maxk{λk}, la matriceI-εH
est positive, de norme inférieure à 1. Les poidsw
converge donc versw
*=0
.• Si 1/maxk{λk}
< ε <
2/maxk{λk} , la norme deI-εH
est encore inférieure à 1. Les poidsw
converge donc encore vers
w
*, mais en oscillant autour des axes pour lesquels le hessien possède une valeur propreλ
k>1/ε
.• Si 2/maxk{λk}
< ε
, la valeur absolue des coefficients dew
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 dew
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 pointw
k,son gradient s’écrit∇
wkC = -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’exemplesx
k. La probabilité qu’un desx
se trouve sur une frontière de la partition de Voronoï est alors nulle; les variations deΩ
k n’ont plus d’influence surC
. On a alors:∇
2wk,wqC = ∫ ˚2I˚ 1 1
Ωk(x)
˚1 1
Ωq(x)
˚p(x)dx˚ = 2I P{x ∈Ω
k& k=q} (5.7)
où
I
est la matrice identité. Le hessien est donc diagonal. Les coordonnées de chaque pointw
k constituent un espace propre de valeur propre2P{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ésP{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ésP{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 formeC(w) = ∫ ˚ ( x-ƒ(w
2˚ƒ(w
1x)) )
2˚p(x)dx˚ (5.8)
où
ƒ
représente la sigmoïde, etp(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 alorsC(w) = (1-w
2w
1)
2∫ ˚x
2p(x)dx˚ (5.9)
Le coût est alors identiquement nul sur l’hyperbole
w
1w
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